Scitems
От: c-smile Канада http://terrainformatica.com
Дата: 30.07.06 23:10
Оценка: 30 (2)
В рамках проекта Sciter разрабатывается Sciter application (sciter.exe -> html/css/script)
под названием Scitems — персональная синхронизируемая база данных.
Модель — occasionally connected application.

Scitems это приложение позволяющее хранить данные разных типов.
Идея в общем-то не нова — типа "О сколько их упало в эту бездну".

UI представляется пока как некий микс Outlook и EverNote:
три панели: keywords, list и current item.

keywords они же categories это в общем-то 1 в 1 то что есть в EverNote или в KnowBase.
База хранит items — типизированные сущности произвольной структуры: webclips, notes, bug reports, etc.

Вот один из ранних прототипов UI того что имеется ввиду:


Имплементация же принципиально отличная от того что есть.

Немного о Database & storage:
Sciter имеет встроенный persistence engine — база данных произвольной структуры.
Объекты аллоцируются как обычно в javascript c пом. оператора new и если какой-либо
объект виден по ссылкам от storage.root объекта то он автоматчески попадает в storage — становится persistent.
Также в Sciter есть встроенная поддержка JSON — т.е. в принципе можно DB выгружать в JSON файл или в XML.

Item в такой базе есть object c полями type, id, keywords.
Все остальные поля определяются драйвером типа item.

Драйвер типа есть опять же script/html/css связка отвечающая за инициализацию
объекта типа и представление его пользователю — показ, редактирование и прочие синхронизации например.
Драйверы типов могут жить как локально так и в сети.

Предполагается что где-то будет жить публичная библиотека этих самых драйверов.
Что-то типа klips для klipfolio например.
Да и вообще все приложение — открытое — в том смысле что морда лица Scitems это html/css/script
который лежит тут же.

Sciter.exe включает в себя htmlayout последней версии, tiscript, agg (class Graphics) (спасибо Максу Ш.),
dybase от Кости Книжника и работает сейчас на Windows и Windows Mobile.

Очень уважаемая фирма попросила меня спортировать Sciter на Linux поэтому будет и там.

Предполагается что на всех десктопах один и тот же комплект html/css/script будет работать
без изменений.

В проект приглашаются все желающие.
С точки зрения UI и usability проект представляет определенный challenge —
нужно сделать простой но мощный UI.

Штука должна быть очень удобной в работе — для себя делаем — не для дяди.

Если у кого есть желание — свистите.
Я не знаю где лучше обсуждать сие — у меня или здесь.
Ну да разберемся.

Вот и все собственно .
Re: Scitems
От: 0rc Украина  
Дата: 21.09.06 15:53
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Scitems это приложение позволяющее хранить данные разных типов.

CS>Идея в общем-то не нова — типа "О сколько их упало в эту бездну".

А можно поподробнее получить информацию, интересуют следующие аспекты:
1. Что собой представляет в этом случае хранилище данных
2. Что послужило за основу (т.е. любая информация: книги, проекты) при создании хранилища.

Интересуюсь этим вопросом, так как сам реализую(точнее реализовал но хочется большей универсальности) в текущий момент хранилище с подобным функционалом ("rsdn@unix") .
Re[2]: Scitems
От: Liris Россия http://lifeondvd.narod.ru/
Дата: 09.10.06 09:11
Оценка:
Здравствуйте, 0rc! На глаза попались Ваши байтики:
0rc>2. Что послужило за основу (т.е. любая информация: книги, проекты) при создании хранилища.
Посмотрите технологию, которая используется в 1С:Предприятие 8.0. Там есть хранилище.
CS>Scitems это приложение позволяющее хранить данные разных типов.
у 1С на новой платформе (1С:Предприятие 8.0) тоже есть такое. Только там нужно заранее определить хранимые типы, но описать их можно какие хочешь.
Забыл как называется. Вспомню, допишу.
... << LifeOnDVD — память в цифре >> http://LifeOnDVD.narod.ru/
Re[2]: Scitems
От: c-smile Канада http://terrainformatica.com
Дата: 10.10.06 21:37
Оценка: 11 (1)
Здравствуйте, 0rc, Вы писали:

0rc>Здравствуйте, c-smile, Вы писали:


CS>>Scitems это приложение позволяющее хранить данные разных типов.

CS>>Идея в общем-то не нова — типа "О сколько их упало в эту бездну".

0rc>А можно поподробнее получить информацию, интересуют следующие аспекты:

0rc>1. Что собой представляет в этом случае хранилище данных
0rc>2. Что послужило за основу (т.е. любая информация: книги, проекты) при создании хранилища.

Хранилище это модифицированный dybase от Кости Книжника.

В dybase дистрибуции есть примеры для Ruby, PHP, Python.
Там обертки написаны на самих этих языках.

Мы решили пойти по другому пути и "вмуровали" persistence в рантайм языка.

Т.е. у любого объекта можно спросить его isPersistent флаг и обратиться к его storage:

var obj = {one:1; two:....}
....
....
if(obj.isPersistent)
  obj.storage.commit();


В рантайм JavaScript добавлены два объекта Storage и Index.
Index это упорядоченный map поддерживающий ranges. Т.е.
можно делать например так:

var index = ....;
for( var item in index["alpha".."omega"] )
  stdout << item.toString();


Сам по себе dybase расширен доп. типами данных — там очень хороший и чистый код — поэтому это было легко сделать.


0rc>Интересуюсь этим вопросом, так как сам реализую(точнее реализовал но хочется большей универсальности) в текущий момент хранилище с подобным функционалом ("rsdn@unix") .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.