Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];

Вниз

Что за технология применяется в One Note (MS Office)   Найти похожие ветки 

 
SHM ©   (2009-05-17 16:07) [0]

Необходимо реализовать сложное поле для хранения контента, состоящие из различных визуальных объектов и системой взаимосвязи между ними. Выглядит как поле (контейнер для объектов), на котором могут размещаться различные визуальные объекты вроде RTF полей, ссылок на элементы файловой системы, Excel таблицы и.т.д. Очень удачно этот подход реализован в программе OneNote входящей в Microsoft Office. Данная технология применяется и в некоторых других проектах, допустим MindManager (по крайней мере интерфейс 1 в 1), что дает основание предположить, что это открытая технология.
Если кто сталкивался, подскажите в каком направлении искать документацию по ней? Название технологии, применяемые сборки, контейнеры... все что вам известно


 
pasha_golub ©   (2009-05-17 17:45) [1]


> Необходимо реализовать сложное поле для хранения контента

BLOB? XML?


 
blackman ©   (2009-05-17 22:12) [2]

сложное поле для хранения контента
Это просто blob поля. Пиши, что хочешь... В некоторых БД может быть ограничение на длину. Но я бы не рекомендовал заниматься такой ерундой.
Практичней хранить только адрес объекта на диске или в инете, но если приперло, то
Сохранение и чтение файлов в BLOB-полях
http://articles.org.ru/cfaq/index.php?qid=1492

Запись потока в BLOB-поле
http://articles.org.ru/cfaq/index.php?qid=1493

Можно конечно и XML...


 
SHM ©   (2009-05-17 22:45) [3]

Нет, не так поняли, либо я не так выразился. Под полем, я имел ввиду не поле базы данных, а визуальный контейнер для хранения объектов. Проще всего понять, о чем я говорю, запустив OneNote. Входит в состав MS Office 2003 и выше.

Суть такая: Стоит задача разработать механизм хранения сложного контента.  Контент должен формироваться из различных блоков (объектов), которые расположены на специальном контейнере (его и я называл выше полем). Каждый объект хранит свою специфичную единицу информации. Вот основные:
1. Блоки форматированного текста в RTF формате.
2. Таблицы. По возможностью в совместимом с Excel формате.
3. Графики. Также желательна MS Office совместимость.
4. Изображения.
5. Гиперссылки на элементы файловой системы
6. Еще ряд специфичных компонентов, не буду вдаваться в подробности

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

Для реализации этой задачи можно конечно написать все самому:
1. Создать специальный контейнер для объектов.
2. Разработать набор объектов.
3. Разработать связующие объекты.
но полноценная проработка всего это с нуля довольно трудоемка. И, как я уже писал выше, у меня есть предположение, что это уже разработано и открыто для разработчиков, но поиски ни к чему не привели. Нашел только несколько программ интерфейс контейнера контента, которых как 2 капли похож на интерфейс майкрософтовского контейнера в OneNote


 
DVM ©   (2009-05-17 22:54) [4]

А интерфейс визио не подойдет? вроде все описанное там есть?


 
SHM ©   (2009-05-17 23:02) [5]

Да, у визио похожая концепция. Тоже может подойти.
Знаешь как его реализовать в своей программе?


 
DVM ©   (2009-05-17 23:09) [6]


> SHM ©

Я никогда это не пробовал, но скорее всего это должно получиться, по крайней мере не вижу причин, которые этому препятствовали. Надо через COM задействовать MS Visio Application.


 
SHM ©   (2009-05-17 23:38) [7]

Попробовал через COM. Идет с Visio COM библиотека - Microsoft Office Visio 12.0 Drawinf Control VIOCX.DLL. Она позволяет использовать весь функционал Visio

Одно смущает. Могу ли я без нарушения требований лицензии включить эту библиотеку в свой проект...? Если я ничего не упустил, то не могу. Только с условием покупки лицензии на Visio


 
Andy BitOff ©   (2009-05-17 23:52) [8]

> SHM ©   (17.05.09 23:38) [7]

Хм... А ты предполагал, что реализация такого интерфейса может обойтись бесплатно?


 
SHM ©   (2009-05-18 00:15) [9]

Конкретно в случае с COM для Visio не предполагал. Но microsoft многое дает и бесплатно, если это так можно назвать. Для мотивации разработчиков и поднятия интереса к своим OS. Это может способствовать наличию библиотек необходимого функционала и в бесплатном доступе.
Под бесплатностью конечно все равно понимается плата за лицензию на OS. Но это уже не столь важно. Наличие в требованиях программы операционной системы Windows XP и выше заказчиков не удивит, а вот требование в наличии MS Visio уже перебор.


 
DVM ©   (2009-05-18 00:31) [10]


> SHM ©   (18.05.09 00:15) [9]


> а вот требование в наличии MS Visio уже перебор.

Визио всяко дешевле офиса.


 
DVM ©   (2009-05-18 00:33) [11]


> SHM ©   (18.05.09 00:15) [9]

Тогда делай сам. Год уйдет.
В принципе из 1)-6) только таблицы составляют наибольший гемор и поддержка совместимости с офисом. Остальное не очень сложно, но трудоемко.


 
SHM ©   (2009-05-18 01:08) [12]

Я собственно с чего начал: Есть несколько продуктов, по организации контента как 2 капли похожи друг на друга. Для примера Mind Manager. Контейнер контента 1 в 1 как в OneNote. Этому должно быть обьяснение.


 
DVM ©   (2009-05-18 01:15) [13]


> Этому должно быть обьяснение.

Даже если ты и найдешь этому обяснение в виде какой-либо общей библиотеки вовсе не факт. что она окажется бесплатной.


 
SHM ©   (2009-05-18 01:30) [14]

Разумеется :) Но сначала нужно найти



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.004 c
2-1243264032
Wadim005
2009-05-25 19:07
2009.07.19
Как на WinApi получить все дочерние окна приложения?


2-1243148245
CodeMaster
2009-05-24 10:57
2009.07.19
Поиск по неполному названию в TlistBox


15-1242636295
@!!ex
2009-05-18 12:44
2009.07.19
Реализация JumpHook на Delphi


15-1242481492
@!!ex
2009-05-16 17:44
2009.07.19
Не могу получить хэндл процесса.


2-1242918381
Alex_C
2009-05-21 19:06
2009.07.19
Парсинг HTML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский