Project

General

Profile

Общие размышления

RSS - это XML-based протокол распространения новостей.

  • *R*ich *S*ite *S*ummary (RSS 0.9x) - обогащённая сводка сайта;
  • *R*DF *S*ite *S*ummary (RSS 0.9 и 1.0) - сводка сайта с применением инфраструктуры описания ресурсов;
  • *R*eally *S*imple *S*yndication (RSS 2.x) - очень простое приобретение информации.

Идеология обмена:

  1. Приложение подключается к источнику XML. Обычно это web источник с протоколом http, но возможны и другие варианты.
  2. Источник отдает приложению XML, содержащий 2 части - описание собственно источника и набор новостных элементов
    1. Описание источника содержит название, ссылку, указание языка и прочее описание.
    2. Каждый новостной элемент содержит одинаковый набор полей, в т.ч. обязательный уникальный идентификатор новости (произвольного вида)
  3. Приложение просматривает полученные ранее от данного источника новости и игнорирует те, которые у него уже есть, остальные (т.е. новые) считывает.
  4. Через некоторое время процедура повторяется.

Содержимое новости

Пример

<item> 
 <title>The Engine That Does More</title>
 <link>http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp</link>
 <description>Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly.  Theproposed VASIMR engine would do that.</description>
 <pubDate>Tue, 27 May 2003 08:37:32 GMT</pubDate>
 <guid>http://liftoff.msfc.nasa.gov/2003/05/27.html#item571</guid>
</item> 


Основные поля:

* title - название

* link - ссылка на новость, при открытии ссылки обычно отображается страница сайта со все баннерами, меню и пр. требухой, содержащая, в т.ч. новость целиком

* description - описание новости. По стандарту - текстовый анонс. Т.е. не вся новость, а именно анонс. На практике встречается:

* нормальный анонс

* включение начала текста новости, обрезанного на Х символов. Может окончится на половине слова

* включение в этот тег части HTML потока сайта, содержащего всю новость целиком, включая описание встроенного видеоплеера, картинки и пр.

  • pubdate - дата публикации
  • guid - уникальный ид

Применение

В настоящее время поддержки у нас RSS нет. Основной причиной является особенность чтения, требующая самостоятельного выбора новых элементов (ДБ Импорт так не умеет) и необходимость хранения ссылки на основной материал (пока в МБД такого нет).

Представляется возможным написание приложения по импорту RSS потоков в МБД, аналогичное ДБИмпорту. Программа формирует обычные текстовые эл-ты МБД.
На начальном этапе содержимым элемента МБД будет текстовое представление descriprion и указание линки на всю новость, с возможностью перехода на нее из окна редактора текста.

Ориентировочно, данный этап оценивается в 3 недели работы.

Применительно к проекту Energy - неплохо бы заранее узнать, к каким именно источникам (и в каком количестве) они хотят подключаться. Если есть конкретные новостные потоки - очень желательно получить примеры. Это потому, что бывают частные отличия в формате RSS потока, отличающиеся от стандартного. Об этом лучше знать заранее.

Кроме этого, у нас до сих пор нет нормальной поддержки Юникода, без чего поддержку работы с интернациональными материалами не сделать. Но с одноязычным, типа немецким или французским - можно. С китайским - нет.

Add picture from clipboard (Maximum size: 742 MB)