Как сохранить текст, SVG, HTML, CSS все вместе эффективно - PullRequest
4 голосов
/ 11 августа 2011

В приложении я использую Fabric.js , который позволяет пользователям писать текст, рисовать SVG, вставлять изображения и т. Д.
Я хочу знать, как лучше всего хранить эти данные,

Требования:

  1. Возможность запрашивать данные (текст), что говорит мне, что я должен хранить их в БД (MySQL на данный момент)

  2. У меня есть изображения, и я нацеливаюсь также на IPad, поэтому изображения имеют важное значение с точки зрения того, как они хранятся.

  3. SVG и HTML / CSSтакже будет сохранено.

  4. Я также хочу сделать управление версиями контента, как это делает Quora, чтобы пользователь мог видеть изменения из предыдущей версии в текущую версию.Это также включает в себя версионирование изображений и SVG.

Мне интересно, как Google Docs делает это, потому что они также хранят наши документы, чертежи и т. Д.

Что такоелучший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 27 августа 2011

Не знаю, поможет ли это, но браузер Opera предлагает возможность сохранить веб-страницы в уникальный файл {расширение mht}, при этом все файлы {css, изображения, сценарии и т. Д.} Сохраняются в кодированном формате base64 для дальнейшего использования.используйте {когда документ открыт} ... возможно это может быть способ хранения данных: P

1 голос
/ 27 августа 2011

Я управляю веб-приложением, в котором пользователи генерируют отчеты, и обнаружил, что более эффективно хранить изображения и двоичные файлы в файловой системе и ссылаться на них из базы данных. Элементы, которые находятся в xml или тексте, хранятся в базе данных для облегчения поиска - в вашем случае это будет включать css / html и svg (то есть xml). Используйте базу данных для управления ревизиями.

Может также проверить эту тему на хранении изображений в базе данных .

Похоже, что Frabic.js использует веб-сервер javascript node.js на серверной стороне - раньше такого не использовал, но вы могли бы выяснить, какие базы данных проще всего использовать с node.js:

1 голос
/ 22 августа 2011

Вы можете взглянуть на NoSQL базы данных, такие как MongoDB или CouchDB

См. Также Хранение изображений в магазинах NoSQL

1 голос
/ 11 августа 2011

Если вы хотите эффективно запрашивать текст, то, возможно, наиболее эффективно поместить все биты информации в БД по отдельности.Может быть, вам нужно поиграть с OOXML или ODF , который может служить контейнером для всей необходимой вам информации, а затем для хранения XML (например, eXist ) для храненияэто и запрос (например, текст).Поскольку эти стандарты основаны на XML, вы можете преобразовать их в HTML (например, здесь или здесь ), но написать онлайн-редактор для этого - то, что может сделать такой монстр, как Google.

...