- Общая информация
- Технологии и библиотеки
- Аутентификация и регистрация
- Мультиадминистративный интерфейс
- Визуальный редактор
- Файловый менеджер
- Система внутренних сообщений
- Персональные данные
- Избранное
- Создание и редакция публикаций
- Черновики
- Редакция тегов
- Фотогалерея
- Опросы и голосования
- Административная часть. Редакция статических данных
- Административная часть. Сервис управления рекламой
- Административная часть. Редакция пользователей
- Административная часть. Настройки сайта
- Система поиска
- Экспорт данных
- Рекомендации по работе системы
- Стоимость и установка
1. Общая информация
Многопользовательский новостной сайт с блоговой системой и опросами.
Публикации каталогизированы по двум категориям: новости и блоговые записи.
Доступны следующие сервисы: экспорт в формате RSS (XML); подключение опросов и фотогалерей к публикациям.
2. Технологии и библиотеки
Все технологии современны и имеют запас актуальности не менее 5-ти лет.
Все используемые библиотеки бесплатны и с открытым исходным кодом.
Проектирование базы данных и запросы в базу оптимизированы на высокое посещение.
Аутентификация пользователей реализована на сессиях.
Перед удалением любых данных реализован сервис подтверждения.
Серверный язык — PHP (кодировка UTF-8, RewriteEngine On).
База данных — MySQL (кодировка utf8mb4_unicode_ci, система хранения MyISAM).
Шаблонизатор — Smarty.
Экспорт данных — XML (RSS).
Responsive Filemanager — файловый менеджер, бесплатная библиотека с открытым исходным кодом.
Class.upload — бесплатная библиотека с открытым исходным кодом для загрузки изображений на сервер.
PHPMailer — бесплатная библиотека с открытым исходным кодом для отправки почтовых писем, уведомлений и сообщений.
CKEditor — свободный WYSIWYG-редактор.
Bulma — ультрасовременный CSS-Framework с открытым исходным кодом, который зависит от модуля flexbox для разработки адаптивной структуры макета.
Balloon — CSS-библиотека для всплывающих подсказок с открытым исходным кодом.
jQuery — JavaScript Framework с открытым исходным кодом.
jQuery UI — библиотека с открытым исходным кодом для создания пользовательского интерфейса в веб-приложениях, часть проекта jQuery.
jQuery Fancybox — библиотека с открытым исходным для адаптивных галерей и модельных окон.
jQuery Confirm — библиотека с открытым исходным кодом для создания диалоговых окон.
jQuery Nprogress — библиотека с открытым исходным кодом для показа прогресс-бара.
jQuery Number — библиотека с открытым исходным кодом для работы с числовыми данными.
jQuery Tablesorter — библиотека с открытым исходным кодом для динамической сортировки столбцов.
JS Clipboard — библиотека с открытым исходным кодом для копирования данных в буфер обмена.
JS Chief Slider — библиотека с открытым исходным кодом для создания адаптивных слайдеров.
JS Spectrum color picker — библиотека с открытым исходным кодом для редакции цвета.
JS Font Awesome (free) — иконочный шрифт (использованы только свободные объекты).
3. Аутентификация и регистрация
Для аутентификации используются E-mail и пароль. При входе зарегистрированного пользователя предоставляется сервис "запоминания" аутентификации на семь дней с помощью "куков". Если пользователь пытается попасть на страницу, к которой доступ запрещён, то происходит удаление сессионных переменных (автоматически удаляются "куки"), выход из системы и переход на главную страницу.
Сервис восстановления входа при потере пароля отправляет на предоставленный E-mail, который находится в базе пользователей, автоматическое письмо с новым сгенерированным паролем.
Открытая регистрация отсутствует. Регистрировать новых пользователей могут только администраторы.
4. Мультиадминистративный интерфейс
Все зарегистрированные пользователи делятся на две категории (по мере возрастания прав): пользователи и администраторы.
Пользователи:
- редакция персональных данных (имя, о себе, E-mail, пароль, аватара);
- избранное;
- создание, редакция и удаление своих публикаций;
- сервис черновиков (отложенных публикаций);
- фотогалерие;
- опросы и голосования;
- система внутренней переписки;
- файловый менеджер.
Администраторы:
- создание, редакция и удаление всех (не только своих) публикаций;
- редакция статических (тексты) и динамических (актуальность, актуарность) данных;
- управление рекламой;
- тонкие настройки сайта;
- управление пользователями.
5. Визуальный редактор
Для создания текстовых блоков в публикациях и редакции статических текстовых данных сайта используется визуальный редактор, в котором:
- оптимизированное меню;
- подключена русская языковая адаптация;
- подключена проверка орфографии;
- встроен файловый менеджер для загрузки файлов и изображений с сервера.
6. Файловый менеджер
Сервис предоставлен для обмена файлами и вставки файлов в статические тексты при работе визуального редактора.
Сервис встроен в двух местах:
- самостоятельно в заглавном меню;
- в визуальном редакторе при добавлении изображения (кнопка "выбор на сервере").
При работе с файловым менеджером необходимо учитывать отсутствие поддержки кириллицы в именах файлов, все загружаемые файлы должны иметь имена на латинице.
7. Система внутренних сообщений
Для оперативной связи и внутреннего общения предоставлен сервис сообщений:
- индикация в заглавном меню (общее количество непрочитанных сообщений);
- индикация в выпадающем списке заглавного меню (количество непрочитанных сообщений по конкретному контакту);
- добавление, редакция и удаление без перезагрузки страницы по технологии AJAX;
- фиксация даты изменения сообщения;
- сообщение автоматически становится прочитанным при наведении курсора мыши;
- автоподгрузка истории сообщений (актуальность регулируется администратором в настройках актуальных данных сайта).
8. Персональные данные
Система управления персональными данными и данными аутентификации.
Редакция имени, о себе, E-mail, пароля и аватары.
Реализован сервис отправки нового пароля на персональный E-mail.
Редакция данных реализована по технологии AJAX без перезагрузки страницы (кроме аватары).
9. Избранное
Пользователям доступен сервис добавления публикаций в "избранное". Сортировка листинга публикаций производится по дате добавления в "избранное", но не по дате публикации материалов.
10. Создание и редакция публикаций
Форма добавления публикаций состоит из следующих основных полей:
- выбор категории (новости, блоговая запись);
- выбор размещения в слайдере;
- выбор показа или скрытия подписи создателя публикации;
- заголовок;
- переключатель для работы сервиса по автоматическому созданию ЧПУ (человеко-понятный URL);
- заголовок латиницей для ЧПУ;
- загрузка презентационного изображения;
- аннотация;
- основной текст публикации (часть 1);
- выбор подключения галереи к публикации;
- выбор подключения опроса к публикации;
- основной текст публикации (часть 2);
- поле для ввода тегов (автопоказ и подстановка из выпадающего списка, можно вводить новые теги);
- добавление ссылок по тематике публикации;
- дата публикации;
- выбор помещения публикации в черновики (отложить публикацию);
- выбор перехода после публикации (к созданной публикации, к списку публикаций, к черновикам, добавить ещё одну публикацию).
Кнопка редакции доступна авторизованным авторам на странице конкретной публикации.
В аналогичную форму подставляются данные материала из базы.
11. Черновики
Предоставлен сервис отложенных публикаций для дальнейшей редакции и опубликования.
Любой, уже опубликованных материал можно поместить на доработку в черновики.
13. Фотогалерея
Загружаемые файлы будут автоматически переформатированы в *.jpg.
Формат файлов для загрузки: *.jpg, *.jpeg, *.png, *.gif.
Максимальный размер любого файла регулируется в административной интерфейсе (актуарность).
После загрузки доступны редакция, удаление, дополнение, сортировка и аннотации к фото.
Сортировка по порядку отображения производится путём простого перетаскивания объектов.
После необходимо произвести сохранение сортировки.
Сортировка и редакция комментариев осуществляется без перезагрузки страницы по технологии AJAX.
Пользователю доступны только его галереи, администратору – все.
14. Опросы и голосования
Форма добавления опроса состоит из следующих основных полей:
- вопрос;
- сервис автоматического формирования ЧПУ;
- вопрос латиницей (если включено автоматическое формирование ЧПУ, то поле недоступно);
- выбор типа (возможность выбора только одного ответа или несколько);
- выбор респондента (все могу голосовать или только зарегистрированные пользователи);
- дата окончания опроса (дата начала недоступна для редакции);
- сервис добавления ответов.
Пользователям доступны для редакции только его опросы, администраторам – все.
15. Административная часть. Редакция статических данных
К статическим данным относятся тексты блоков на главной странице, текст страниц "Техническая информация" и "Реклама на сайте".
Для редакции используется WYSIWYG-редактор.
Настройки WYSIWYG-редактора:
- оптимизированное меню;
- подключение файлового менеджера;
- подключение русской языковой адаптации;
- подключение проверки орфографии.
16. Административная часть. Сервис управления рекламой
Каждый рекламный блок управляется следующими параметрами:
- показы (числовой показатель, имеет опцию обнуления);
- активация блока (в неактивном положении рекламный блок не показывается);
- дата начала показа рекламы;
- дата окончания показа рекламы (если меньше текущей даты, то рекламный блок автоматически не показывается);
- текст рекламы (код).
Редакция и обнуление счётчика показов происходит без перезагрузки страницы по технологии AJAX.
17. Административная часть. Редакция пользователей
Интерфейс управления пользователями состоит из двух блоков:
- форма добавления;
- выборка с результирующей таблицей данных (пользователи, администраторы).
Форма добавления состоит из следующих основных полей:
- выбор статуса (пользователь, администратор);
- имя;
- имя латиницей (для формирования ЧПУ в блоговой системе);
- E-mail;
- сервис выбора действий (автоматическая генерация пароля и отправка уведомления на E-mail, задать пароль и отправить уведомление на E-mail, задать пароль и не отправлять уведомление на E-mail);
- пароль с подтверждением (если выбрана опция задать пароль).
Меню выборки пользователей состоит из следующих фильтров:
- статус (пользователи, редакторы, администраторы);
- по дате регистрации (прямая и обратная сортировки);
- по алфавиту (прямая и обратная сортировки);
- актуальность (количество данных на странице).
Колонки таблицы выборки:
- порядковый номер;
- идентификатор;
- дата регистрации;
- дата последней аутентификации (входа);
- аватара;
- имя;
- имя латиницей;
- E-mail;
- о себе;
- количество опубликованных тегов;
- количество публикаций;
- селектор изменения статуса;
- переключатель блокировки (администратор сам себя не может заблокировать);
- кнопка редакции имени латиницей (сервис редакции без перезагрузки страницы по технологии AJAX);
- кнопка удаления пользователя из системы (администратор сам себя не может удалить).
При добавлении нового пользователя автоматически создаётся на сервере его личная папка, которая для пользователя в файловом менеджере считается корневой.
Администраторы видят полное дерево файловой системы по всем пользователям.
При изменении статуса, состояния блокировки и удалении происходит обязательное подтверждение.
Если пользователь или администратор разместили хотя бы одну публикацию, то удаление неактивно (можно только заблокировать).
18. Административная часть. Настройки сайта
Редакция мета-данных всей системы для поисковых роботов:
- описание;
- ключевые слова;
- классификация (Global, News, Blog, Science).
Название сайта в шапке:
- Title;
- Subtitle.
RSS:
- Title:
- Link:
- Description.
Контакты и почта:
- телефоны (используется только в шаблоне писем);
- E-mail;
- SMTP;
- защита соединения (SSL);
- порт;
- пароль (в явном виде);
- название URL;
- URL (включая протокол).
Актуальность:
- количество публикаций на странице при перелистывании;
- количество опросов на странице при перелистывании;
- количество сообщений в переписке при автоподгрузке;
- количество аннотаций публикаций новостей на индексной странице;
- количество аннотаций публикаций блогов на индексной странице;
- количество актуальных тегов на индексной странице.
Актуарность:
- максимальный размер (вес) файла презентационного изображения в публикации, в мегабайтах;
- максимальный размер (вес) файла изображения в галерее, в мегабайтах.
Слайдер:
- выбор (показывать слайдер или скрыть);
- выбор зацикленности;
- выбор автопрокрутки;
- выбор интервала, в миллисекундах;
- выбор смахивания, для тактильных экранов;
- выбор цвета фона слайдера;
- выбор максимального количества слайдов на главной странице.
Хлебные крошки: название ссылки на главную страницу.
Код вставки регистрационных кнопок статистики посещений.
19. Система поиска
В поисковом запросе должно быть не менее 3-х (трёх) и не более 128-ми (ста двадцати восьми) символов.
При нахождении слова в запросе происходит автоматическое визуальное выделение изменением фона и цвета текста самого слова.
Поиск осуществляется по новостным и блоговым публикациям.
Поиск осуществляется по алгоритму "хоть одно слово".
20. Экспорт данных
Экспорт данных предоставляется в формате XML (RSS).
Виды экспорта:
- по новостям;
- по блогам;
- по тегу.
В каждом канале (ссылке) присутствует последний GET-параметр "limit=10". Это значит, что Вы получите листинг из 10-и публикаций. Меняя значение параметра, можно добиться необходимой актуальности (актуарности) данных. Программное ограничение на максимум - не более 100 публикаций.
21. Рекомендации по работе системы
Даже самый идеальный алгоритм транслитерации данных на латиницу не сможет сделать полностью адаптированным строку для формирования ЧПУ (человекопонятного URL). Поле латиницей в базе данных проиндексировано и сделано уникальным, поэтому необходимо максимально внимательно следить за преобразованиями и по возможности корректировать исходя из суждений понятливости (узнаваемости) и здравого смысла.
Если вы разместили публикацию общего характера на тему космологии, но в самом тексте нет слова "космос", то для создания коллекции добавьте тег "космос". Мыслите широко.
Используя визуальный редактор не вставляйте текст из Microsoft Word, он "тянет" за собой огромное количество ненужной разметки и стилей. Предварительно загружайте текст в текстовый блокнот. Обязательно перед публикацией нажмите на кнопку "Источник" для выявления ненужных сущностей.
Перед загрузкой файлов в файловый менеджер обязательно следите, чтобы не было названий на кириллице, все файлы должны иметь имена на латинице.
22. Стоимость и установка
Если Вы желаете приобрести функционал сайта, то стоимость: 100 000 рублей.
Весь комплекс (набор скриптов, библиотек, шаблонов и дамп базы данных) предоставляется без публикаций и тегов.
После импорта дампа таблиц базы измените данные подключения в конфигурационном файле.
Папка с html-шаблонами должна иметь права на запись.
При покупке более детальная информация будет в сопровождающем файле.