Javascript, текстовые аннотации и идеи

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

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

  1. Разрешить пользователям делать выбор текста, аннотировать его, а затем сохранять выделенный фрагмент и аннотацию для последующего использования.
  2. (UI) Поддержка представления перекрывающихся аннотаций. Например, если строка где:«Это тестовое предложение для моего примера тестового предложения», user1 может иметь аннотацию «это тестовое предложение для моего примера», а user2 может иметь аннотацию «для моего примера».
  3. Учет ситуаций, когда текст документа изменяется. Аннотации будут обновлены, если это возможно.

Как бы вы справились с этим с технической точки зрения?

У меня были следующие идеи:

  • Используйте диапазоны javascript и сохраните аннотацию в виде пары целых чисел, например: (document_start_char, document_end_char). Сохраните эту пару в базе данных
  • В качестве альтернативы, используя JS, выделите текст и фактически сохраните полный текст в базе данных. (не уверен, как тогда делать перекрывающиеся аннотации)
  • Представляйте перекрывающиеся аннотации, применяя стиль CSS для выделения текста, а затем затемняющего «стопку» аннотаций там, где они перекрываются. Самая маленькая аннотация всегда должна быть наверху «стопки».

Каковы ваши мысли или области для улучшения? Как черт я мог поддерживать обновление текста документа, не нарушая всех аннотаций?

12
задан ayaio 14 August 2015 в 12:04
поделиться