Перейти к контенту

Блог команды AlterVega

  • запись
    121
  • комментария
    4
  • просмотров
    106 518

Редактор сообщений


AlterVega

1 521 просмотр

Красиво оформленное сообщение - это не только приятное глазу форматирование, но и средство расстановки акцентов в тексте. А добавленные медиа-данные (изображения, видео) позволяют лучше передавать суть сообщения.

 

Таким образом возможность оформлять сообщения - одна из важнейших возможностей, предъявляемых к современным системам создания сообществ. Важно, чтобы оформление сообщений было удобно, эффективно и безопасно. Мы, при проектировании AlterVega, очень подробно рассмотрели возможные реализации данной возможности. Сейчас мы хотели бы поделиться с вами нашими исследованиями в этой теме.

 

Существуют три основных подхода к реализации оформления текста в сообществах:

  • BB-код
  • Вики-подобный синтаксис
  • WYSIWYG | RTE (HTML)

 

BB-код

 

Появился, как безопасный аналог HTML, с появлением первых систем для создания сообществ. Скорее всего вы уже работали с ним, по-крайней мере встречали записи вида: жирный текст, тегов HTML специальными тегами BB-кода. Так как BB-код разрабатывался, как заменитель, правила его использования аналогичны правилам использования HTML (уникальность имен тегов, парность открывающихся/закрывающихся тегов, правильная вложенность).

 

Вики-подобный синтаксис

 

Для простого пользователя BB-код ничем не лучше HTML, так как он требует соблюдения правил оформления (вспомните про парность, вложенность и т.д.). Он также требует знания имен тегов. В вики-форматировании попробовали совместить безопасность BB-кодов и легко запоминаемые условные обозначения для форматирования текста. Например: //текст курсивом//, **жирный текст*, [[http://altervega.ru]]

 

WYSIWYG (What You See Is What You Get) | RTE (Reach Text Editor)

 

Аббревиатура, в переводе с английского, означает, «что видишь, то и получишь». Перевод точно отражает принцип оформления текста в WYSIWYG. Данный способ избавляет пользователя от необходимости заучивать теги или условные обозначения. Более того, современный пользователь уже встречался с похожим инструментом форматирования текста в текстовых редакторах. Однако, WYSIWYG работает с HTML, что полностью исключает его использование, как безопасного инструмента форматирования текста сообщений.

 

Давайте вспомним задачу, которая стояла перед нами, на момент начала поиска решения. Нам был необходим удобный и безопасный способ оформления сообщений. Очевидно, что ни один из рассмотренных выше вариантов не решает 100% эту задачу. Но других решений нет. Чтож, начинаем выбор правильного направления.

 

BB-код:

  • требует знания специфических тегов и правил их расположения. Опытные пользователи не раз замечали, как новички портят свои сообщения просто случайно удалив закрывающий тег.
  • в конечном итоге BB-код преобразовывается в HTML, при этом механизм, правильно осуществляющий это преобразование, должен учитывать огромное количество нюансов для создания валидного HTML.
  • BB-код синтаксически ограничен в угоду безопасности. Но пользователи хотят больше возможностей оформления, в итоге разработчики начинают расширять синтаксис, что влечет к усложнению обработки тегов и появлению проблем в безопасности.
  • BB-код не стандартизирован. В одном продукте может быть один набор, в другом другой. Это не позволяет пользователю выработать навык обращения с этим псевдо-языком. В итоге он (пользователь) всегда будет ощущать дискомфорт.

 

Вики-подобный синтаксис:

  • требует знания сокращений. Более придирчив к шаблону сокращения, например _текст_ и __текст__ уже не одно и тоже. А значит заставляет пользователя все время контролировать правильность.
  • в конечном итоге преобразуется в HTML. Проблема схожа с BB-кодом.
  • опять же ограничен в угоду безопасности и содержит мнемонику только для основных вариантов оформления. Если нужны другие варианты оформления начинает смешиваться с BB-кодом.
  • мало знаком пользователям современных форумов. Фактически ни один, существующий на рынке продукт, не имеет поддержки вики-подобного синтаксиса. Пользователям нужно будет переучиваться с одного варианта оформления на другой.

 

WYSIWYG

  • много браузеров, много вариантов реализаций работы wysiwyg функциональности. Где-то может работать одно, но не работать другое и наоборот.
  • HTML на выходе. Однако HTML-валидный и у современных редакторов с отфильтрованными недопустимыми тегами.

 

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

 

Наш продукт направлен на удобство пользователей, потому мы отказались от использования BB-кода и вики-подобного синтаксиса. Однако мы не забыли и про безопасность. Мы доработали и внедрили необходимые функции для анализа DOM отправляемых текстов, что позволяет отсечь нежелательные теги, атрибуты и умышленные вредоносные конструкции.

 

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

 

Вставка видео

Наш визуальный редактор позволяет также с легкостью вставлять в публикации ваших пользователей видео-ролики с популярных сервисов. Для этого нужно просто взять и вставить в сообщение тексты ссылки на видео. Вот такой:

http://www.youtube.com/user/alterwega

 

Наш редактор поддерживает следующие сервисы:

  • YouTube
  • Видео@Mail.ru
  • Facebook
  • Вконтакте
  • RuTube
  • Google Video
  • Smotri.com
  • Rambler.Vision

 

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

0 комментариев


Рекомендуемые комментарии

Комментариев для отображения не найдено.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.