Video.js, ViewerJS и WYSIWYG редактор в JohnCMS

1.19K
.
Хотелось бы увидеть возможность вставки кодов Video.js, ViewerJS и WYSIWYG редактор в JohnCMS.

1. Video.js - open source HTML5 & Flash video player
Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 and Flash video, as well as YouTube and Vimeo (through plugins). It supports video playback on desktops and mobile devices. This project was started mid 2010, and the player is now used on over 50,000 100,000 200,000 websites.
Веблинки:
http://videojs.com/
http://docs.videojs.com/
https://github.com/videojs/vid ... eases
https://github.com/videojs/vid ... eases

2. ViewerJS combines a number of excellent open source tools that are built on HTML and javascript. ViewerJS was funded by NLnet foundation and developed by KO GmbH. The heavy lifting in ViewerJS is done by these awesome projects:
- WebODF
WebODF is a JavaScript library created by KO GmbH. It was started by Jos van den Oever at KO and is now developed by a growing team including external collaborators. It makes it easy to add Open Document Format (ODF) support to your website and to your mobile or desktop applications. It uses HTML and CSS to display ODF documents.
- PDF.js
PDF.js is a library created by Andreas Gal and others at Mozilla Labs. It is an HTML5 technology experiment that explores building a faithful and efficient Portable Document Format (PDF) renderer without native code assistance.
Веблинки:
http://viewerjs.org/getit/
http://viewerjs.org/examples/
https://github.com/kogmbh/ViewerJS
https://github.com/kogmbh/View ... eases
https://github.com/kogmbh/View ... lease
https://github.com/kogmbh/View ... eases
Fork
https://github.com/Ryusei217/ViewerJS
Document viewer component for PDF and ODF documents. Done with just HTML, CSS, and JavaScript. Powered by pdf.js and WebODF.
PDF.js (by Mozilla) + WebODF (by KO GmbH)
http://mozilla.github.io/pdf.js/
http://webodf.org/download/

Эти два приложения позволяют слушать аудио и смотреть видео в наиболее популярных медиаформатах, читать документы в файлах PDF и ODF прямо с сайта, не прибегая к услугам внешних (следовательно, ненадежных) провайдеров услуг типа Гугл, Ютуб и иже с ними. Приведенный в веблинках форк имеет небольшие отличия в оформлении.

Думается, что их можно ввести как BBcodes.

3. Приличный WYSIWYG редактор типа TinyMCE, CKEditor, Summernote и т.п.
.
ValekS
Ей 25
не прибегая к услугам внешних (следовательно, ненадежных) провайдеров услуг типа Гугл, Ютуб и иже с ними

Что? С чего ты взял что гугл ненадежный? Или в поставим вопрос по другому: что для тебя тебя значит "надежный провайдер услуг" ?
.
что для тебя тебя значит "надежный провайдер услуг" ?

дцмс жЫ
.
Поясню на примере.
Ваш сайт разместил коды на использование Гугла для чтения документов в форматах PDF и т.п. В Интернет "кто-то" организовал очередную атаку "забития" серверов Гугла по чтению документов. Этот "кто-то" с удовольствием использует коды ссылок Вашего сайта для этой атаки. В результате Ваш сайт станет невольным участником бандитского нападения в сети Интернет. Лично Вам это надо? Я бы на Вашем месте подправил коды JOHNCMS, чтобы в аналогичную ситуацию не попал сайт johncms.com. Представляете, что будет, если какой-нибудь "робот" начнет "прощупывать" папки CMS, а все ошибки со всех сайтов "посыпятся" на johncms.com?..
.
Кадило крутится, лавэха мутится
# Smolenkov_BN (28.12.2016 / 21:45)
Поясню на примере.
Ваш сайт разместил коды на использование Гугла для чтения документов в форматах PDF и т.п. В Интернет "кто-то" организовал очередную атаку "забития" серверов Гугла по чтению докуме
Сам то понял что написал?))
.
Написано все правильно. А чтобы было понятнее, подготовил сообщение.

СУБЪЕКТИВНО О CMS

С конца 2010 года в свободное от основной и домашней работы время я начал исследовать особенности бесплатных CMS с открытым исходным кодом на языке программирования PHP. Через мои руки прошло около 1000 CMS различного функционального назначения, некоторое число которых по уважительным причинам уже не имеет поддержки авторов и Интернет сообщества. В результате этих исследований были получены интересные выводы, с основными из которых я хочу познакомить уважаемых гостей и пользователей форума.

1. Первая из уважительных причин прекращения поддержки CMS сообществом Интернет - это выявление в поставляемом пакете "мусорных" файлов:
а) архивы (иногда запароленные) типа *.7z, *.bz, *.rar, *.tar, *.zip и т.п.;
б) исполняемые файлы типа *.bat, *.bin, *.cmd, *.com, *.dll, *.exe и т.п.;
в) ссылочные файлы типа *.lnk, desktop.ini, thumbs.db и т.п.;
г) прочие ненужные папки и файлы типа *.git, *.github, *.idea, *.scripts, *.svn, *.tx, *_macos*, *ds_store*, cvs и т.п.
Вторая уважительная причина - это обнаружение множественных уязвимостей в программных кодах.

2. Каждая из исследованных CMS по сути представляет собой совокупность объектов типа "Каталог" ("Раздел"). Например, "Блоги", "Веблинки", "Галереи", "Группы", "Документы", "Загрузки", "Карты", "Книги", "Контакты", "Настройки", "Новости", "Опросы", "Подписки", "Пользователи", "Признаки", "Справки", "Статьи", "Страницы", "Товары", "Файлы", "Форумы" и т.д.
Каждый объект типа "Каталог" ("Раздел") представляет собой совокупность объектов типа "Рубрика" ("Категория"). Например, "Блог" (персональный, событийный, тематический и т.п.), "Веблинк" (внешний, внутренний, редирективный и т.п.), "Галерея" (аудио, видео, фото и т.п.), "Группа" (администраторы, редакторы, авторы и т.п.), "Документ" (инструкция, лицензия, сертификат и т.п.), "Загрузка" (драйвер, программа, чертеж и т.п.), "Карта" (местоположения, папок и файлов, сайта и т.п.), "Книга" (аннотация, реферат, текст и т.п.), "Контакт" (автор, издательство, редактор и т.п.), "Настройка" (отображение, обслуживание, хранение и т.п.), "Новость" (научная, политическая, технологическая и т.п.), "Опрос" (регуляционный, тематический, технический и т.п.), "Подписка" (внутренняя, внешняя, почтовая и т.п.), "Пользователь" (имя, логин, пароль и т.п.), "Признак" (ключ, тэг, ярлык и т.п.), "Справка" (вопрос-ответ, поддержка, помощь и т.п.), "Статья" (автор, рубрика, текст и т.п.), "Страница" (титул, рубрика, текст и т.п.), "Товар" (название, производитель, стоимость и т.п.), "Файл" (владелец, дата, размер и т.п.), "Форум" (автор, дата, тема и т.п.) и т.д.
Каждый объект типа "Рубрика" ("Категория") представляет собой совокупность объектов типа "Публикация" ("Сообщение"). Например, "Блок" ("Таблица") с графическим и текстовым наполнением.
К слову, меню сайта также соответствует вышеуказанной структуре:
CMS_МЕНЮ => КАТАЛОГ_ВЕБЛИНКОВ => БЛОК_МЕНЮ (ТАБЛИЦА_МЕНЮ)
Следовательно, для нормальной работы CMS достаточно иметь всего 3 функциональных процессора:
а) функциональный процессор многоуровневых каталогов (разделов) - "Каталогизатор";
б) функциональный процессор многоуровневых рубрик (категорий) - "Рубрикатор";
в) функциональный процессор многоуровневых публикаций (сообщений) - "Публикатор", который обычно эффективно реализуется непосредственно в HTML/CSS на базе блоков (таблиц) с графическим и текстовым наполнением в скинах, темах и шаблонах.
Подобный подход позволяет формировать нужные аддоны, модули и расширения непосредственно внутри самой CMS.

3. Необоснованное применение вспомогательных "контейнеров" и "шаблонизаторов" для объектов, упоминаемых в п.1, всегда приводит к значительным потерям производительности CMS. Например, разработчики Opencart еще в 2006 году показали, что при чтении динамических страниц в "шаблонизаторах" за счет дополнительных преобразований теряется не менее 40 % быстродействия, а попытки его восстановления за счет кэширования статических страниц тянет за собой многократное возрастание требований к объемам дискового пространства и буферов оперативной памяти. К сожалению, не все разработчики CMS ознакомились с результатами этих исследований, но еще можно заглянуть в коды экспериментальных релизов Opencart:
https://sourceforge.net/projec ... iles/
Отсутствие "контейнеров" и "шаблонизаторов" позволяет реализовать простейшие логические и математические операции прямо в скинах, темах и шаблонах без вмешательства в коды движка CMS. Например, такой подход позволил мне с минимальными затратами времени и ума создать в Opencart "Категории анонсов, блогов и новостей" и "Анонсы, блоги и новости" на базе "Категорий товаров" и "Товаров" соответственно:
- "Free announcements, articles, blogs, news and more in Opencart 2.3.x"
http://forum.opencart.com/view ... 66508

4. Особым спросом пользуются CMS с респонсивными скинами, темами и шаблонами, которые позволяют выполнить автоматическое масштабирование и размещение элементов изображения страницы сайта на экране дисплея. Хочу особо отметить, что чрезмерное внедрение JS для отображения страниц сайта очень часто приводит к неприятным искажениям изображения в различных браузерах и мобильных устройствах. Следует обязательно проверять качество изображения страниц сайта при отключенных JS. Кроме того, для CMS с респонсивными скинами, темами и шаблонами просто необходим WYSIWYG редактор.

5. Некоторые CMS содержат встроенные коды скриптов для вывода аудио, видео, фото, а также графической и текстовой информации из медиафайлов с помощью серверов сторонних провайдеров услуг типа Google, YouTube и т.п. Но не будем забывать, что подобные CMS могут стать базой для проведения массированных спамерных атак на те же сервера сторонних провайдеров услуг. Хочу ли я, чтобы мой сайт стал невольным участником хулиганских действий преступных лиц в сети Интернет? Не хочу! Поэтому я выберу CMS с кодами скриптов для автономного воспроизведения аудио, видео, фото, графической и текстовой информации из медиафайлов с моего сайта. С этой целью можно использовать следующие бесплатные продукты:
а) AudioJS - форк VideoJS (см. ниже) для воспроизведения аудио со всеми темами из VideoJS
https://github.com/kolber/audi ... r.zip
http://kolber.github.io/audiojs/
http://jedfoster.com/AudioJS/
https://github.com/jedfoster/audiojs
б) VideoJS - HTML5 и Flash видео проигрыватель с открытым исходным кодом
http://videojs.com/
http://docs.videojs.com/
https://github.com/videojs/vid ... eases
https://github.com/videojs/vid ... eases
в) ViewerJS - компонент для чтения документов в формате PDF и ODF
http://viewerjs.org/getit/
http://viewerjs.org/examples/
https://github.com/kogmbh/ViewerJS
https://github.com/kogmbh/View ... eases
https://github.com/kogmbh/View ... lease
https://github.com/kogmbh/View ... eases
https://github.com/Ryusei217/ViewerJS
на базе
http://mozilla.github.io/pdf.js/
http://webodf.org/download/
Для воспроизведения медиафайлов можно применить Flash проигрыватели, но почти все из них с нужными характеристиками являются платными.
Любителям торговли будет интересно ознакомиться с SimplecartJS:
http://simplecartjs.org/
https://github.com/wojodesign/ ... aster
Как пишут разработчики, там нет баз данных, никакого программирования и головной боли. Простая javascript корзина, которую можно установить за минуты. Она легковесна, быстра, проста для использования и полностью настраиваемая. Необходимы лишь базовые знания HTML.

6. Большинство CMS имеют серьезные проблемы с нумерацией страниц в многостраничных публикациях (сообщениях). Например, практически невозможно сразу попасть на страницу с нужным номером. Поэтому я бы рекомендовал нумерацию страниц выполнять следующим образом (например, для 255 страниц с текущей 127):
[1] [<] [127] [>] [255]
где "<" и ">" означают "Предыдущая" и "Последующая" страница соответственно. Поле текущей страницы (127) надо обязательно сделать редактируемым для осуществления возможности прямого перехода на нужную страницу. Кроме того, мне бы хотелось иметь нумерацию страниц в боковом навигационном меню сайта, если оно соответствует требованиям конкретного норматива (например, документу "Рубрикатор ГРНТИ").

7. В последние годы появились т.н. "гибридные" CMS, в которых осуществляется весьма эффективное распределение хранимой информации между базой данных и файлами. Например, в базе данных хранятся параметры настройки сайта по умолчанию, данные пользователей, доступ групп, информация SEO и т.п., а в файлах - блоки (таблицы) с графическим и текстовым наполнением. Автоматическое распределение файлов по отдельным папкам каталогов (разделов), рубрик (категорий) и публикаций (сообщений) исключает вероятность появления папок с многотысячными группами файлов, что значительно облегчает работу администраторов сайтов.

8. Формирование и хранение информации публикаций (сообщений) в файлах позволяет реализовать многоязычность с помощью кодов интернационализации (ISO 639-1, ISO 639-2, ISO 639-3):
https://en.wikipedia.org/wiki/ ... _code
https://en.wikipedia.org/wiki/ ... codes
https://en.wikipedia.org/wiki/ ... codes
https://en.wikipedia.org/wiki/ISO_639-3
Например, запись с помощью BB-кодов типа
"My CMS - [en]the best in the world content management system[/en][ru]лучшая в мире система управления контентом[/ru]"
будет воспроизводиться как
"My CMS - the best in the world content management system"
при выборе английского языка и как
"My CMS - лучшая в мире система управления контентом"
при выборе русского языка. При этом следует обязательно учесть язык сайта по умолчанию, если будет отсутствовать перевод на языке посетителя сайта.

9. Хорошим подспорьем в продвижении бесплатной CMS может служить ее применение в учебных процессах средней и высшей школ, для реализации которого нужен хороший "мануал". Лично мне понравились описания:
- Yellow
https://developers.datenstrom.se/help/
- UliCMS
http://en.ulicms.de/

10. Теперь расскажу об источниках заработка разработчиков CMS на Востоке. Вот основные принципы тамошнего хостинга:
а) некоммерческое и неполитическое применение CMS на хостинге бесплатное;
б) коммерческое применение CMS на хостинге платное (хостер и разработчик CMS получают фиксированные проценты от сумм месячных продаж);
в) политическое применение CMS на хостинге платное (хостер и разработчик CMS получают фиксированные проценты от сумм месячных рент).

Вышеизложенное не позволило мне сегодня назвать субъективного лидера среди бесплатных CMS. Предлагаю пользователям форума самим дополнить вышеприведенный список собственными пожеланиями и предложениями.
.
если ты такой умный, где же твоя цмс?
.
ValekS
Ей 25
# ramzes (07.01.2017 / 23:38)
если ты такой умный, где же твоя цмс?
У тебя хватило терпения прочитать тот длиннопост? Гг Я пока его прокручу вниз, уже терпение кончается.
.
# ValekS (07.01.2017 / 23:42)
У тебя хватило терпения прочитать тот длиннопост? Гг Я пока его прокручу вниз, уже терпение кончается.
я дочитал до какой то фигни про шаблонизаторы, и понял что уже сыт
.
У меня болит лицо после прочтения поста про то, что .git это теперь ненужные файлы и что разработчики опенкарта что-то там доказали. Опенкарт конечно не самое говно что мне приходилось видеть и использовать, но он все таки говно. И их система шаблонов хоть и простая как топор по сути, но они ее сделали максимально неудобной. Они просто написали ссаную витрину с говнистой админкой, с неправильной структурой бд и кучей говнокода. Свои функции кое как делает, и хрен с ним. Уже давно настало время, когда любой проект проще и быстрее написать на основе какого либо фреймворка, с блэкджеком и блудницами, и работать он будет быстро - хотя если человек начинает гнаться за миллисекундами генерации сурипта в начале написания проекта, у него ничего не получится - пользователю будет заметен только новый функционал, а не то что страница генерится за 50мс, а не 150 мс. Движки по факту дают возможность новичкам быстро запилить какую-то основу проекта, который если выживет то принесет разрабам проекта попаболь, когда заказзчику потребуется функционал, который вследствии архитектуры движка сложно будет реализовать.
Всего: 13