Админка Ruby on Rails
Админка Ruby on Rails (RoR) (CMS (content management system) (система управления содержимым, контентом сайта, система администрирования сайта))
Хочешь сделать хорошо - сделай сам!
Решения пользовательского интерфейса взял из предыдущего проекта - "Админка PHP", так как интерфейс показал на практике свою состоятельность - пользователям удобно и понятно, что самое главное для интерфейса, хотя и постарался сделать интерфейс еще более симпатичным и удобным, облегчить управление контентом веб-сайта. Удобство системы администрирования для пользователей, владельцев сайта - один из важнейших факторов, определяющих качественный веб-сайт.
Для себя как для программиста постоянно добавляю новые возможности, дополняю функционал - этот проект постоянно развивается и совершенствуется. Реализована модульная структура веб-приложения, что позволяет использовать предыдущие наработки. Сама административная часть реализована в виде Engine, который удобно подключать в структуру сайта, и который можно будет впоследствии оформить в отдельный gem.
Это инструмент - "посредник" между программистом и пользователем. Для пользователя - удобство, простота и ясность интерфейса, множество возможностей для работы с содержимым, контентом сайта, с данными, для программиста - структурированное хранение данных, программный интерфейс для работы с контентом, данными, полезные функции для написания сайта, возможность расширения и дополнения функциональности. Собственная разработка предоставляет мне неограниченную гибкость и расширяемось инструмента, возможность реализации любых реальных механизмов обработки данных, например, управление списком товаров, заказами, загрузка прайс-листов, каталоги категорий товаров, фотогалереи и т.д., и т.п..
Но все-таки этот инструмент предназначен прежде всего для программиста - у пользователя не получится создать сайт с помощью этой админки, не написав ни строчки программного кода, как это любят рекламировать во многих "универсальных" CMS как самую привлекательную функциональность. Я всегда пишу сайт под конкретного клиента, пользователя, учитываю все его потребности, а не стараюсь сделать какой-то универсальный инструмент с размытыми возможностями "для всех и для каждого на все случаи жизни", так как считаю, что "чюдисов на свети ни бываит" ;-) - хороший, качественный сайт всегда требует профессиональной разработки.
Вот с этого проекта и началось мое использование Ruby, Ruby on Rails. Интересно получилось - "с места и сразу в карьер" - от теоретических знаний Ruby сразу к написанию такой довольно сложной системы, но это была действительно хорошая практика.
Проект начат 10 июля 2012 года.
copyright 2012-2015 © ESV Corp.
Возможности:
- приложение реализовано в виде самостоятельного Engine, что позволяет легко подключать его к сайту
- модульная структура приложения
- структурированное хранение контент-страниц сайта
- "привязка" изображений и файлов к контент-странице
- возможность элемента в дереве иметь одновременно и список, и подэлементы в дереве
- кнопки добавить/удалить на самом элементе дерева
- возможность в списке переключения видимости/невидимости контент-страницы
- легкая возможность изменения порядка следования контент-страниц в дереве элементов, изображений путем простого перемещения "drag&drop"
- редактирование контента с помощью WYSIWYG-редактора (является аббревиатурой от англ. What You See Is What You Get, «что видишь, то и получишь»)
- дополнение контент-страниц любой дополнительной информацией
- редактирование произвольных параметров контент-страницы в списке, не открывая страницу редактирования контент-страницы, например, цены товара, количество и т.п.
- произвольная локализация - возможность добавлять любое количество языковых версий контент-страницы
- разделение ролей пользователей - доступ к определенным частям контент-страниц, к определенным контент-страницам, модулям, выполнение определенных действий
- ограничение действий пользователя на выполнение действий над контент-страницами - редактирование, добавление, запрет/разрешение редактирования отдельных параметров контент-страницы
- программный интерфейс для работы с контент-страницами, с файлами контента, с изображениями контента: изменение размеров изображения, "подрезка" изображений, наложение изображений, маска изображений
- модуль генерации sitemap.xml
- модуль управления пользователями сайта: пользователи, типы пользователей, группы пользователей
- модуль управления структурами данных в виде "дерева"