Лучшая CMS для малого бизнеса

Den1xxx

Разрушитель (V)
Сообщения
126
Симпатии
69
Баллы
1 016
Тема создана для выработки идей и условий для создания CMS для малого бизнеса.
Добрый день, друзья.
Когда я начинал свою деятельность как ИП, я искал лучшую систему управления для малого бизнеса.
12 лет назад прошло, но идеальной системы для малого бизнеса так и не сделали, все пользуются либо вордпрессом, либо движком магазина.
В общем, что ни возьмут люди, при развитии бизнеса начинаются проблемы: то вордпресс тормозит под нагрузкой, то движку не хватает модулей и трудно найти спецов для доработки, то цена кусается, то слишком сложен. В общем, пора разработать самим, я считаю. Ведь по количеству предприятий малый бизнес — самый многочисленный. Ему нужен свой движок, бесплатный, и с возможностью роста. И в этой теме хотел бы обсудить требования к такой системе управления сайтом. Типа ТЗ к разработке.
Итак, что должна делать и как должна быть устроена CMS для малого бизнеса?
1. Структура
1.1. Системные файлы.
Файлы для работы с файловой системой. Файлы для подключения к БД.
Основной объект типа синглтон. Единый системный конфиг, доступный глобально.
Пользователи. Имеют права пользователя и группы, в которую входят. Имеют уровень доступа (число), в зависимости от него есть доступ к модулям п. 1.2. Возможность отключения регистрации.
1.2. Модули расширения
Обязательные: публикации, статичные блоки, магазин с каталогом, галерея. Все модули должны наследоваться от одного объекта «публикации». Имеют уровень доступа (число). Таким образом релизуются скрытые разделы статей, каталога, форума и пр.
13. Папка шаблонов.
1.4. Папка системных расширений: js-скрипты, файлы css, системные картинки.
1.5. Админка с поддержкой шаблонов и изменение доступа в зависимости от прав.
2. Интересные функции (в том числе подсмотренные у других).
2.1. Вход админа в другого пользователя (как в ISPmanager)
2.2. Возможность переключения языка «на лету» (есть)
2.3. Возможность переключения шаблона сайта «на лету» (есть)
2.4. Логика отображения модуля расширения на странице. Например, если адрес равен «магазин», то модуль показывается, иначе нет. Неограниченные функции таких настроек благодаря применению чистого PHP. (есть)
2.5. Функциональный файловый менеджер. (есть)
2.6. Функциональный редактор для публикаций.
Выбрал TinyMCE бесплатную редакцию, осталось прикрутить менеджер картинок. Хотя должна быть возможность замены.
2.7. Для разработчика: исполнение PHP и MySQL кода внутри фреймворка. (есть)
2.8. Для администратора: редактор шаблонов ( спасибо @CAPAXA ).
2.9. Установка движка путем закачки 1 файла, остальное он закачивает и распаковывает сам. (есть)
2.10. API для интеграции со сторонними сервисами. Возможность переименования точки входа.
2.11. Конструктор для API 2.10.
2.12. Возможность работы с разными SQL-совместимыми БД (для начала MySQL, PostgreSQL, SQLite). Переключение БД с возможностью конвертации и импорта/экспорта данных.
Вообще, по идее, большинству сайтов-хомячков для стартового сайта даже SQLite за глаза). Однако по мере роста должна предусматриваться возможность перехода. Для реализации такой возможности придется написать независимые функции для работы с БД, а драйверы БД переключать при смене конфига. Естественно, сложные запросы при такой реализации идут лесом, что может иметь проблемы при работе с некоторыми модулями, особенно в магазине. Пока как рабочий вариант: начинать совместимым ядра с SQLite, при установке более сложных модулей требовать переход на MySQL и пр. В том числе возможно при разработке требованиями к модулю прописывать совместимость с БД. До конца этот вопрос пока не продуман.
2.13. Для разработчика: режим отладки.
2.14. Для администратора: режим публикации контента: html, txt, txt&smiles, php
2.15. Ограничение доступа к сайту по пользователю, по IP, возможность запрета регистрации
2.16. Возможность включения капчи в комментариях, выбор капчи
2.17. Возможность замены штатного редактора. Скрипт подключения редактора вынести в шаблон.
2.18. Версионирование движка и модулей.
2.19. Журналирование действий, вкл и выкл. Если получится, то и откат. Хотя это сложно.
2.20. Компилятор sass → css https://scssphp.github.io/scssphp/
2.21. Шаблонизатор на bootstrap
2.22. Генератор цветовых схем сайта по типу https://colorscheme.ru/

12.09 — дополнил пп. 1.1, 1.2., дописал пп 2.4. до 2.9.
13.09 — дописал 2.10 - 2.13
21.10 — дописал 2.14 - 2.19
21.11 — дописал 2.20 - 2.22

To be continued...

Топик будет дописываться и дополняться по моим идеям и Вашим предложениям.
Готовые пункты — отмчены (есть)
Прошу поучаствовать, если есть клёвые идеи!
 
Последнее редактирование:
Каждый программист в своей жизни обязан написать свою cms или framework.
А если серьезно мне только одна цмс магазина сильно приглянулась, а остальные используются вынужденно.
Если что вот она
 
Хороший вопрос однако :)
Если мылись здраво и рассматривать такой проект со всех точек зрения, то проект должен быть похож на битрикс в опенсурс варианте.
Я не занимаюсь хейтерством, просто пытаюсь отговорить от наполеоновских планов и зря потраченного времени.
Причины вот в чём:
Нужно большое комьюнити сообщество, так как без него нет смысла развиваться, то есть не для кого.
Нужны программисты, администраторы, модераторы, сео-оптимизаторы, юристы, и прочие ****ы в штате.
Это если про универсальный движок.


Если предположить, что я не вразумил вас, и размах не такой колоссальный, то давайте так же рассмотрим со всех точек зрения и зададим вопросы:
Для кого в первую очередь делается движок? Для программиста в большую сторону или же для покупателя?
Какого типа будет движок? Визитка/блог, корпоративный сайт, магазин, форум и тд.
Как часто будут выходить обновления "ядра" и модулей/компонентов/плагинов?

Вопросов и их вариативность ещё куча.

Из описаного вами выше, на мой взгляд больше подходит joomla.
Но некоторые моменты из вашего описания попадают под разряд - выберите два параметра из 3 в виде ползунков: Быстро, Дёшево, Качественно.
Когда двигая один из ползунков в большую сторону, уменьшаете значение, есть свободный ход для других

_DL5S1bcuXk.jpg
 
Я участвовал в свое время в одном опенсорсном проекте. Главный разработчик обещал никогда не бросать свое детище. Но оказалось что через пару лет он попросту его забросил. Хотя система была и масштабируемая и очень лёгкая.
  • Проект должен быть опенсорсным, но при этом зарабатывать деньги своему автору и/или иметь спонсора. Иначе это все не взлетит. Выше я уже привел пример. Автор планировал найти спонсора, и зарабатывать на своей разработке, но ничего у него не сложилось.
  • Проект должен быть лёгким как для разработчика, так и для пользователя. Потому что, то что я вижу в современных системах, меня часто пугает своими абстракциями на абстракции.
  • Должен иметь сильный конструктор шаблона. Тогда отпадает проблема уникальных шаблонов для системы, а это я думаю, один из основных критериев при выборе системы.
 
А если серьезно мне только одна цмс магазина сильно приглянулась
CMS магазина напридумано столько, хоть попой ешь. Однако половине доброй половине малых предпиятий, например оказывающих услуги, они нафик не нужны. По ссылке на gplcart он заморожен, к сожалению. Но если подскаже сильные стороны, что там были, можно попробовать реализовать.
Какого типа будет движок? Визитка/блог, корпоративный сайт, магазин, форум и тд.
Общая концепция отдаленно напоминает джумлу: система публикаций, но к ней можно подключать модули магазина, форума и т.д.
Раньше это называлось «система портального типа».
Проект должен быть опенсорсным, но при этом зарабатывать деньги своему автору и/или иметь спонсора.
Схема монетизации придумана, она не похожа на другие. Говорить об этом рановато, потому что не все детали реализации ясны. С юридической точки не ясны, с технической всё ясно и реализуемо. Конечно, без системы монетизации это остановится в развитии. Имхо должно быть как биткойн: непонятно, кто начал, но уничтожить уже невозможно и это стоит денег.
Проект должен быть лёгким как для разработчика, так и для пользователя.
Я на самом деле работаю не на пустом месте. На заре своей деятельности протестировал около 50 систем управления. Выбрал наиболее простую, понятную и расширяемую и с тех пор делаю сайты на ней. Код и структура настолько просты и понятны, что не требуют комментариев в коде. И для пользователя довольно просто всё. Получилось так, что тот проект, на чем основано, почти мёртв. А то, что я пилил, мне не совсем нравится. Хочу переписать, учтя ошибки.
Должен иметь сильный конструктор шаблона.
Вот за это отдельное спасибо, добавлю в «то до». Это действительно важно, для новой системы управления часто не хватает шаблонов. Это один из тех пунков, что я хотел написать, но не вспомнил. Интересно, что я уже делал конструктор шаблона и это даже работало))) С помощью jquery выбираешь размер текста и блока, цвет фона и текста в модальном окне, а на сайте сразу видно измененния, сохраняешь. Только простейшие настройки, но играться было интересно) С тех пор появились фреймворки типа бутстрап и шрифты типа font awesome, с их помощью всё гораздо проще сделать.
 
Последнее редактирование:
Из практики, для малого бизнеса очень важна интеграция с соцсетями, мессенжерами и службами доставки, возможность расчета через интернет-банкинг.
 
Из практики, для малого бизнеса очень важна интеграция с соцсетями, мессенжерами и службами доставки, возможность расчета через интернет-банкинг.
сейчас если посмотреть, банки имеют свой API как и сервисы доставки, соц сети, месенджеры и т.д.
так то проще используя фреймворк написать ядро и модули расширения под определенные задачи, чем брать готовое (платное/бессплатное) и мучатся с избыточным функционалом, или покупать нужное как доп опцию, у меня пока нету времени заморочится для себя, другу на опенкарте сделал, много лишнего, частично не хватает, везет что есть складчины на моды и шабы, а то расширить нужный функционал это как битрикс лицензионный купить
 
сейчас если посмотреть, банки имеют свой API как и сервисы доставки, соц сети, месенджеры и т.д.
так то проще используя фреймворк написать ядро и модули расширения под определенные задачи, чем брать готовое (платное/бессплатное) и мучатся с избыточным функционалом, или покупать нужное как доп опцию, у меня пока нету времени заморочится для себя, другу на опенкарте сделал, много лишнего, частично не хватает, везет что есть складчины на моды и шабы, а то расширить нужный функционал это как битрикс лицензионный купить
Так в этом то и есть краеугольный камень опенсорсной е-коммерс системы. Ее изначально никто не планирует делать идеальной! А что же тогда будет продаваться на маркетплейсе? А продажа на маркетплейсе - основной доход разработчика. Вот и получается что бесплатно, но очень дорого.
 
сейчас если посмотреть, банки имеют свой API как и сервисы доставки, соц сети, месенджеры и т.д.
так то проще используя фреймворк написать ядро и модули расширения под определенные задачи, чем брать готовое (платное/бессплатное) и мучатся с избыточным функционалом, или покупать нужное как доп опцию, у меня пока нету времени заморочится для себя, другу на опенкарте сделал, много лишнего, частично не хватает, везет что есть складчины на моды и шабы, а то расширить нужный функционал это как битрикс лицензионный купить

Опенкарт, битрикс - разницы нет. Дело в комьюнити сообществе.
Допустим, вам написали магазин на каком нибудь фреймворке, например laravel.
Сделали импорт в яндекс маркет/гугл мерчант/прочие торговые площадки, различные расчёты транспортных компаний и обмен с ними и кучу всего что только можно.

Прошло некоторое время, магазин продаёт, бизнес развивается.
Поменяла ТК свои API, и у вас не работает ни расчёт, ни обмен с ней.
Поменял яндекс маркет или гугл мерч формат - нет продаж


Пока вы вспоминаете и ищите человека, который писал, пока он вспоминает что делал уйдёт время.
А если не найдёте его, пропал как часто бывает, то придётся искать нового исполнителя, который не факт что сделает.

А если есть комьюнити сообщество, эта проблема решается в считанные дни, если не часы
 
Опенкарт, битрикс - разницы нет. Дело в комьюнити сообществе.
Допустим, вам написали магазин на каком нибудь фреймворке, например laravel.
Сделали импорт в яндекс маркет/гугл мерчант/прочие торговые площадки, различные расчёты транспортных компаний и обмен с ними и кучу всего что только можно.

Прошло некоторое время, магазин продаёт, бизнес развивается.
Поменяла ТК свои API, и у вас не работает ни расчёт, ни обмен с ней.
Поменял яндекс маркет или гугл мерч формат - нет продаж


Пока вы вспоминаете и ищите человека, который писал, пока он вспоминает что делал уйдёт время.
А если не найдёте его, пропал как часто бывает, то придётся искать нового исполнителя, который не факт что сделает.

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

@Den1xxx - начальному уровню бизнеса хватает вордпресса, а то и тильды. Когда бизнес вырастает до среднего то маловероятно, что для него будет существовать коробочное решение, везде нужен будет кастом, а если запихнуть по максимуму в CMS, то как результат она станет тяжелая и неповоротливая, со всем вытекающими. И все нужны будут допилы.
 
@Den1xxx - начальному уровню бизнеса хватает вордпресса, а то и тильды. Когда бизнес вырастает до среднего то маловероятно, что для него будет существовать коробочное решение, везде нужен будет кастом, а если запихнуть по максимуму в CMS, то как результат она станет тяжелая и неповоротливая, со всем вытекающими. И все нужны будут допилы.
Да, всё верно. Про тильду не знал кстати, оказывается есть такой конструктор сайтов.
Когда бизнес вырастает до среднего, может понадобиться мультисайт, канбан система, система тикетов и много чего ещё. Интегрировать в сайт такое изначально нет смысла. Однако существуют подобные сервисы и на сторонних площадках. Может и такое быть, что начальный бизнес не хочет отказываться от использования другого сервиса. Тогда становится вопрос интеграции сайта и сторонних сервисов с помощью встроенного конструктора. Значит, нужно сделать АПИ с внешним доступом и конструктором запросов! Добавлю в то до. Также, по опыту работы с Вордпресс, нужно сделать возможность переименовать точки входа АПИ, чтобы сделать уникальными и послать в хyй мамкиных хакеров с попытками подбора ключа.
ЗЫ дописал в шапку
 
Последнее редактирование:
Здесь надо понять кто целевая аудитория такой CMS. На хомячков нет смысла ориентироваться т.к. есть Тильда, WIX, Ucoz и куча других. Остается веб-мастер - спрашивается нафига ему вторая Joomla, WordPress, DLE, Битрикс (нужное подчеркнуть). Мне вот (с позиции веб-мастера) понравился подход Headless CMS.
Например: https://strapi.io/
Да, она написана на Node.js , но не суть. Такой подход позволяет пилить хоть приложения, хоть сайты. То есть бэк настраивается легко, а фронт ты делаешь тот , который тебе нужен.
 
Здесь надо понять кто целевая аудитория такой CMS.
Как бы с этим всё понятно давно, написано в шапке: предприятия малого бизнеса.
На хомячков нет смысла ориентироваться т.к. есть Тильда, WIX, Ucoz и куча других.
Ну не ориентируйтесь. А есть фирмы и фрилансеры, что ориентируются. Рынок-то большой, и не всем подходит юкоз, тильда и пр.
Остается веб-мастер - спрашивается нафига ему вторая Joomla, WordPress, DLE, Битрикс (нужное подчеркнуть). Мне вот (с позиции веб-мастера) понравился подход Headless CMS.
Например: https://strapi.io/
Да, она написана на Node.js , но не суть. Такой подход позволяет пилить хоть приложения, хоть сайты. То есть бэк настраивается легко, а фронт ты делаешь тот , который тебе нужен.
Это замечательный пример. Теперь ещё нужно подобное сделать на PHP, ибо это есть на всех хостингах и дёшево, а node.js нет.
Зы за идею HeadLess спс
 
Как бы с этим всё понятно давно, написано в шапке: предприятия малого бизнеса.
Предприятия малого бизнеса не существуют в вакууме. Одно, когда предположим, директор фирмы из 3 человек - зашел на упомянутую Тильду, и набросал сайт без знания верстки - ему нафиг не нужны никакие CMS и тратить на специалистов он не хочет. Другое, когда фирма несколько больше и есть веб-мастер или сисадмин . То есть люди, которые по крайней мере могут забросить в корень Ваш самораспаковывающийся index.php . Вот я и спрашиваю зачем этим людям ваша CMS, если уже есть много PHP-CMS с модульной архитектурой, которые развиваются с лохматых годов и исповедуют одни и те же паттерны MVC? Кстати, именно по этой причине в них разработка фронта лишена гибкости и сводится к поиску шаблончика. Часто достаточно просто зайти на сайт - уже понимаешь на какой CMS он работает.
Теперь ещё нужно подобное сделать на PHP, ибо это есть на всех хостингах и дёшево, а node.js нет.
Было бы классно, конечно, увидеть подобное на PHP. Ну, а по поводу хостинга с node.js - этого много и недорого:
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
 
Последнее редактирование:
А для начала необходимо определиться с конкретными целями бизнеса и требованиями рынка/регуляторов рынка. Или: отчего нет универсальной таблетки (cms). Чего вам хватит на данном этапе для привлечения аудитории? Зачем это все? В свое время были сделаны сайты, цель которых быть вспомогательным объединяющим интернет-каталогом. Только для того, чтобы сориентировать в офисе клиента и предоставить актуальную информацию для менеджера. Вообще без социальной раскрутки и экспорта в сторонние сервисы. Тематика: похоронная. Согласитесь: тут с рекламой и продвижением сложновато будет. Ну, гхм. Только разве что уход за могилами. Там Joomla CMS выше крыши. Были сделаны проекты, где бизнес - это оценка деятельности (как например) школ и вузов. Здесь только Bitrix. Потому как только он лицензирован на территории РФ. Хотя сложная расчетная часть на C++ идет неделями и непрерывно/да не на одном сервере. Очень большой объем данных. Контент менеджеры: родители, студенты, учителя, профессора и т.п.
Ну а в целом из практики реализации огромного количества сайтов можно добавить следующее:
1) Ваш проект на cms должен быть документирован (платите за документацию, настаивайте на ней: документацию пользователя/разработчика)
2) Ваш проект должен быть версирован, чтобы можно было отследить изменения от базового проекта cms и процесс обновления не становился жуткой загадкой
3) Ваш проект должен быть настроен на периодический полный бекап с возможностью быстрой миграции/восстановления
4) Ну и да, как уже говорилось: широкое commnuity.

Также, когда вы арендуете cms (tilda, да? wix?), помните, ваша информация (ее доступность) зависит от третьей стороны. Которая: а) оставляет за собой право усложнить максимально перенос этой информации на другие платформы б) стабильно хреново поддерживает этот велосипед, в том числе отвечает за скорость его работы в) очень пассивна в плане внесения обновлений по просьбе заказчика г) и вас всегда может постигнуть судьба нульки.
 
Ну а в целом из практики реализации огромного количества сайтов можно добавить следующее:
1) Ваш проект на cms должен быть документирован (платите за документацию, настаивайте на ней: документацию пользователя/разработчика)
2) Ваш проект должен быть версирован, чтобы можно было отследить изменения от базового проекта cms и процесс обновления не становился жуткой загадкой
3) Ваш проект должен быть настроен на периодический полный бекап с возможностью быстрой миграции/восстановления
4) Ну и да, как уже говорилось: широкое commnuity.
Ок. Бекап уже запланирован и даже реализован. Правда, неполный бекап с восстановлением на заданное число тоже бы не помешал, но пока для меня это сложно.
Также, когда вы арендуете cms (tilda, да? wix?), помните, ваша информация (ее доступность) зависит от третьей стороны.
Это не в тему и не планируется.

PS
Добавил пп. 2.14-2.19
 
Все же лучшая joomla, имеет открытый код и на нее можно повесить любой магазин, большое комьюнити.
 
Все же лучшая joomla, имеет открытый код и на нее можно повесить любой магазин, большое комьюнити.
Ничего нет тормознутей Джумлы, поверьте. И для малого бизнеса вот уж Джумла точно не годится.
Поработал над одним проектом, это ппц. Стили подтягиваются абы-откуда, шаблоны размазаны по модулям.
Платные модули часто шифрованы и стоят от 200 евро, бррр...
Имхо не может быть нормальным движок, в котором лидеры из часто задаваемых вопросов — как отредактировать главную страницу и как поставить шаблон. И эти проблемы, млять, с рождения. И ничего не меняется, зато поставили бутстрап 5.
Один только плюс — многоязычность нормальная, но такое далеко не всем нужно.
PS добавил 2.20-22
 
Последнее редактирование:
Ничего нет тормознутей Джумлы, поверьте. И для малого бизнеса вот уж Джумла точно не годится.
Поработал над одним проектом, это ппц. Стили подтягиваются абы-откуда, шаблоны размазаны по модулям.
Платные модули часто шифрованы и стоят от 200 евро, бррр...
Имхо не может быть нормальным движок, в котором лидеры из часто задаваемых вопросов — как отредактировать главную страницу и как поставить шаблон. И эти проблемы, млять, с рождения. И ничего не меняется, зато поставили бутстрап 5.
Один только плюс — многоязычность нормальная, но такое далеко не всем нужно.
PS добавил 2.20-22
Это уже к разработчикам сайта. Есть у них такое звание кочегар-программист, они делают что бы работало. И как гласит правило программиста: работает- не трогай)

Делать можно на любом движке, это только инструмент, а вот результат зависит о прямо/криво-рукости разработчика
 
Ничего нет тормознутей Джумлы, поверьте. И для малого бизнеса вот уж Джумла точно не годится.
Поработал над одним проектом, это ппц. Стили подтягиваются абы-откуда, шаблоны размазаны по модулям.
Платные модули часто шифрованы и стоят от 200 евро, бррр...
Имхо не может быть нормальным движок, в котором лидеры из часто задаваемых вопросов — как отредактировать главную страницу и как поставить шаблон. И эти проблемы, млять, с рождения. И ничего не меняется, зато поставили бутстрап 5.
Один только плюс — многоязычность нормальная, но такое далеко не всем нужно.
PS добавил 2.20-22
Не соглашусь насчет Joomla. Есть до сих пор каталог CCK электроприборов, который на обычном хостинге на Joomla 1.5 держит под пол миллиона товаров. Не каждая cms из коробки такое может. Платные модули могут быть шифрованы под любую cms. А бутстрап я уже выкидываю нахрен. Причем Joomla относится к cms, которые проповедуют стиль MVC + PSR.
 
Назад
Верх