Как говориться, лучше поздно, чем никогда. Поэтому от всей души поздравляю наш DelphiFeeds.ru с Днем Рождения и, конечно, лично Александра Божко с тем, что его, не побоюсь этого слова, детище живет в Сети уже не много не мало, а целых 3 годика.
Думаю, что многие со мной согласятся, что нынче редко какой более-менее новый сайт по Delphi, да и по программированию, в принципе, переживает отметку в 1 год, а DelphiFeeds.ru живет и здравствует. И даже меняет медленно, но верно свой внешний вид и пополняется новыми интересными блогами. И это замечательно. В общем, Александр, поздравляю с пусть ещё не круглой, но датой и желаю тебе ещё отпраздновать дней рождений эдак 20 DelphiFeeds.ru :)
Ну, а для всех участников и постоянных посетителей DelphiFeeds.ru я представляю на обсуждение обновленный вариант клиентского приложения. Вообще-то план был таков, чтобы завершить работу над программой аккурат к 18-му числу (как раз в День Рождения DelphiFeeds), но планам сбыться было не суждено, поэтому выкладываю бетта-версию сегодня.
Надо сказать, что от первоначальной версии осталось мало чего…наверное пара кнопок и Grid :) Так что читаем далее и оцениваем.
XML-RPC
Как я уже сказал выше — DelphiFeeds сменил дизайн и, конечно же, это обстоятельство коренным образом отразилось на работе клиента — он просто перестал работать в силу того, что информацию по новым публикациям парсилась из HTML (тогда ещё доступа к XML-RPC у меня не было и «лепил из того, что было»). Новая версия клиента вообще не касается того, что содержится в HTML-коде, а использует XML-RPC для вытаскивания последних N записей из базы сайта. В результате обновление списка публикаций теперь проходит немного быстрее.
Рейтинг публикаций
В этой версии его нет. Во-первых, потому что на самом DelphiFeeds рейтинг теперь не показывается…во всяком случае пока, а во-вторых, раз сменился дизайн, то может смениться и плагин рейтинга или вообще смениться система оценки статей. В общем, пока «будем подождать». Если будет возможность обратно прицепить систему рейтинга в клиент — сделаем.
Внешний вид и новые функции
Теперь клиент стал вот таким:
Посмотрим, что здесь добавилось/убралось. Во-первых, ушла насовсем всплывающая панелька с описанием публикации. Вместо неё в нижней части главного окна обосновалась другая — с набором кнопочек и списком меток. С этой панельки и начнем обзор новых функций. Картинка с описанием всех кнопочек:
Так как сейчас клиент получает информацию по XML-RPC и использует в качестве описания публикации поле Excerpt, то вполне вероятно, что имеющегося описания может не хватить, поэтому в клиент была добавлена функция изменения описания публикации — делайте описание таким, какое Вам необходимо, используя вот такую простенькую форму:
Вполне вероятно, что какая-то статья Вам понравится на столько, что захочется сохранить её в виде PDF. Для этого в клиенте предусмотрена работа с JoliPrint API, о котором я рассказывал буквально на днях. Основной путь к PDF-копиям публикаций указывается в настройках клиента:
Далее работа с PDF-ками идет следующим образом:
если для статьи ещё нет PDF-копии, то запускается поток, который обращается к серверу API и «просит» отдать ему PDF-ку. Весь процесс показывается Вам:
После того, как документ получен и сохранен, он автоматически открывается в вашей pdf-читалке по умолчанию.
если же Вы ранее создавали PDF-копию публикации, то она просто откроется и обращений к серверу не будет.
Все файлы сохраняются следующим образом:
Основной_путь_к_PDF/Автор/Файл.pdf
Сразу скажу, чтобы ни для кого не стало открытием:
К сожалению обойти этот косяк пока никак нельзя. Можно, конечно, заменить этот API на платный ConvertAPI, но не думаю, что это хорошая идея для бесплатной по сути программы. Если у Вас есть информация по какому-нибудь API для генерации PDF из страниц сайта — поделитесь в комментах.
Далее на очереди — работа с метками публикаций.
Вот чего мне всегда не хватало на DelphiFeeds, так это именно меток, чтобы можно было в один клик отфильтровать весь список публикаций. По техническим причинам в DelphiFeeds это сделать довольно не просто в силу того, что публикации идут с блогов и сайтов, «крутящихся» на самых разных движках, а в клиенте это сделать было по-проще, тем более, что метки задаются вручную.
Итак, теперь для каждой публикации можно задавать сколько угодно меток, которые отображаются в списке:
Можно набивать метки руками (в поле ввода работает авто-подстановка), а можно нажать кнопочку «Выбрать» и добавить сразу «пачку» меток, которые уже были ранее использованы:
Эти же метки добавляются и в фильтр публикаций:
Пока публикации могут фильтроваться только по одной метке, а сами метки сохраняются в виде простого списка без наворотов типа родительских и дочерних меток (думаю это было бы лишним..или нет?)
Чтобы просмотреть использование меток в клиенте можно воспользоваться кнопкой в верхнем меню клиента: ![]()
В итоге получим вот такой простенький список в котором можно посмотреть количество публикаций для которых использовалась метка, а также отредактировать или удалить метку:
По-мелочам. В клиенте появился список авторов:
Здесь Вы можете добавить для каждого автора адрес его сайта или блога, чтобы потом быстро переходить на нужный сайт, а также посмотреть количество публикаций автора в ленте DelphiFeeds.ru. Чтобы добавить адрес сайта автора — просто дважды кликните по надписи «Неизвестно», введите адрес в поле и нажмите Enter:
Вот, пожалуй все, что можно сказать по новой версии клиента. Скачивайте, тестируйте, пишите в комментариях пожелания относительно дальнейшей доработки клиента для DelphiFeeds.ru — буду дописывать по мере сил и возможностей. Пока на очереди стоит — сделать проверку и обновление клиента с сайта.
Внутренности программы поменялись основательно, как собственно и база данных, поэтому в архиве лежит все — от exe-шника до файла БД и dll-ки для SQLite.












Заметил такую странность в приложении — при сворачивании приложения вылазит ошибка «Floating point divizion by zero», то же самое и при разворачивании с панели задач.
Nagrash, вот жеж блин :) Не Вы один такую ошибку заметили…причём в моем коде нет ни одной строки, которая выполнялась бы при сворачивании/разворачивании…ок, попробую ещё раз поискать этот странный глюк…
Мне кажется там что-то со стилями косяк.
Nagrash, у меня тоже такое ощущение складывается..надо проверить с дефолтным стилем работу программы.
Влад, отлично поздравил!
Небольшой косяк с данным стилем я тоже словил, причем на демке в Киеве.
>>что нынче редко какой более-менее новый сайт по Delphi, да и по программированию, в принципе, переживает отметку в 1 год
Вести регулярный блог — вопрос очень большой самодисциплины. Это как регулярно заниматься спортом/музыкой/живописью и др. интересным хобби. Мы все видим динамику… иногда вполне талантливые авторы забрасывают блоги, не хватает драйва. Где искать источник вдохновения? :)
Я к тому, что неплохо бы знать дату рождения webdelphi.ru, чтобы не пропустить и тоже достойно поздравить.
Всеволод Леонов, блогу WebDelphi в этом году тоже стукнуло 3 годика о чем я, собственно, написал :) А родился блог 15 июля 2009 года — об этом я напоминаю себе ежегодно :)
Здравствуйте!
Я всегда слежу за Вашем блогом. Спасибо, что есть такой блок.
Скачал прогу, запустил, словил баг как все — «деление на ноль» :) И еще, когда кликаю дважды на запись, в браузере открывается статья строкой выше.
Например, хочу смотреть статью «Изучаем отладчик, часть вторая» а открывается «Изображения в SQL Server….»
——
ЗЫ
У меня иногда такое случается когда приходится писать в вперемешку Delphi & VBA.
Неъматжон, спасибо за отзыв. Косяк с неправильным переходом на сайты из клиента поправил…осталось поймать «деление на ноль» чтоб ему пусто было :)
Добавь ещё Hint’ы к кнопкам.
DesweR, а они в FireMonkey есть? =) Если только CollautPanel’и воткнуть туда или самому какую систему подсказок замутить…
По предыдущему комменту: блога в списке нет, т.к. посты за 6 ноября (по публикациям на DelphiFeeds) не заносились в базу — не до обновлений видимо мне тогда было — в итоге посты прошли мимо, а сейчас клиент собирает максимум 10 последних. Как только в ленте появится пост с блога — твой блог автоматом занесется в список авторов.
Сейчас пока работаю над ошибками типа «деление на ноль»….
И ещё: в списке блогов нет меня и соответственно нет моих публикаций (я всего месяц как в ленте DelphiFeeds). Также заметил, что нет одной из записи из блога «Delphi 2010» (дальше не проверял, возможно и некоторых других нет).
http://delphifeeds.ru/index.php?option=com_content&view=article&id=3837:%D0%9C%D0%B0%D1%80%D0%BA%D0%BE%20%D0%9A%D0%B0%D0%BD%D1%82%D1%83%20%D0%B2%20Embarcadero&catid=39:delphi2010&Itemid=59
Спасибо за поздравления!
Надеюсь оправдать… ;)
Выложил обновление exe-файла клиента. В обновлении убрана ошибка «деление на ноль», исправлены кое-какие мелкие баги в программе, добавлена проверка обновлений программы и подсказки к кнопкам. Ссылку на скачивание см. в конце поста
[…] Свежие комментарииVlad к записи С Днем Рождения DelphiFeeds.ru!С Днем Рождения DelphiFeeds.ru! | Delphi в Internet к записи Delphi: создание PDF-документа из страниц […]
Круто получилось!)
«создание PDF-документа из страниц» — я ах..л!, очень удобно..
Рейтинги мне кажется всё таки нужны как элемент обратной связи, в отличии от комментов авторы не могут их удалять))
Георгий, спасибо за отзыв =) Рейтинг воткнуть обратно — не проблема. Главное, чтобы этот плагин внезапно не пропал с DelphiFeeds.ru :)
[…] Сам сайт DelphiFeeds.ru по-тихоньку, по-маленьку перерастает в нечто большее, чем просто аггрегатор RSS-каналов, что замечательно и также как и WebDelphi сменил дизайн и отметил свое трехлетие. […]