Mozilla Raindrop

Материал из Национальной библиотеки им. Н. Э. Баумана
Версия от 00:48, 9 июня 2016; roman vinogradov (обсуждение | вклад) (Новая страница: «'''Raindrop''' это социальный агрегатор, собирающим комментарии или обновления с различных са…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Raindrop это социальный агрегатор, собирающим комментарии или обновления с различных сайтов

Raindrop - это приложение для обмена сообщениями, созданное на основе CouchDB Apache, который используется через веб-интерфейс. Основная идея Raindrop Mozilla агрегатора заключается в установке приоритетов для сообщений, а также отслеживании обновлений буквально везде где это только возможно.

Основная идея

Основная идея Raindrop.io заключается в сохранении не просто ссылки на заинтересовавшую вас страницу, а и расположенного на ней контента. То есть, если вы читаете статью, то сохранится ее текст с иллюстрациями, на странице фотогалереи сохранится соответствующее фото, а с YouTube – видео. Причем все это происходит автоматически, так как сервис в состоянии самостоятельно распознавать основное содержание страницы. Неважно где пользователь начал обсуждение новой темы, в электронной почте, твиттере, блоге, социальной сети или ленте RSS, Raindrop собирает переписку из всех этих источников вместе, чтобы не приходилось отслеживать все эти ресурсы по отдельности. При этом важной частью работы Raindrop является определение приоритета тех или иных сообщений для пользователя. К примеру некоторые письма могут быть очень важными, а часть из них является обычным спамом. Raindrop должен определять это автоматически и в первую очередь информировать о действительно важных событиях.

Raindrop.jpg

Возможности

Raindrop.io сохраняет контент в зависимости от типа страницы. A также доступны следующие возможности:

500px
  • Подписки - На публичные коллекции можно подписываться
  • Поиск - Возможность искать контект по заголовку, описанию, тегам, сайту или типу закладки
  • Импорт и экспорт закладок - Из любого браузера и некоторых сервисов

Бэк-энд

Работа системы Raindrop и части системы на CouchDB. Сервер на Python при запуске raindrop.py выполняет процесс 'начальной загрузки', когда он запускается. Создает базу данных, если это необходимо, а затем создает определенные couch документы, необходимые для работы Raindrop - эти файлы включают в себя все настройки пользовательского интерфейса, сведения об учетной записи и так далее.

В то время как среда Raindrop выполняет загрузку свеого содержимого из базы данных, процесс начальной загрузки всегда сравнивает файлы в исходном дереве Raindrop с версией в Couch и обновляет Couch документы в соответствии с требованиями. Это делается в первую очередь, чтобы сделать инструмент простым для разработчиков Raindrop,а также, чтобы поддерживать первоначальное состояние в системе и управленять версиями.

Очередность работы

Очередность работы описывает, как Raindrop расширение работает над документами. Есть 2 различных "очереди", по-разному сообщающие об изменениях, внесенных в базу данных в порядок того, как они произошли или происходят.

Входящая очередь

'Входящая очередь' - это код, который запрашивает CouchDB на изменения базы данных сразу, как они происходят. Каждый раз, когда новое изменение видно, Raindrop определяет идентификатор для элемента, определяет, какие расширения нужно запустить над элементами и выполняет эти расширения.

Отстающая очередь

В то время как "входящая очередь" отлично работает в идеальном мире, реальность такова, что в некоторых случаях нам необходимо выполнить расширения над информацией, которая ранее существовала в базе данных. В этой модели все расширения выполняются независимо друг от друга в том порядке, в каком они были созданы в базе данных. "Состояние" (то есть именно там, где в этом расширение список изменений находится в настоящее время) поддерживается независимо для каждого внутреннего абонента, поэтому, когда Raindrop перезапускает расширение, он продолжает с того моменте, где прервался.

Фронт-энд

Фронт энд Raindrop является частью, которая создает пользовательский интерфейс. Пользовательский интерфейс написан на HTML, JavaScript и CSS и служит в качестве надстройки для обработки файлов с CouchDB.

Уровни кода

  1. JavaScript Data Api обрабатывает запросы к CouchDB (в /клиент/Raindrop/Lib/rd/API)
  2. UI виджеты, которые используют в API JavaScript (в /клиент Raindrop /Lib /RDW)
  3. Веб-приложения, использующие UI виджеты (в raindrop/клиент/директории, не относящиеся к "lib", "dojo" или "bespin")

JavaScript Data API

500px