Jump to content
Калькуляторы

Подскажите CMS/framework для своего велосипеда

Здравствуйте.

Хочется сделать для себя очередную версию велосипеда, по смыслу что-то среднее между UserSide и is ISPmanager

Но совсем даже не универсальное, а чисто своё.

 

Нужен "движок",  по возможностям и технологиям похожий на Microsoft Access или 1С Конфигуратор.

 

А именно:

-CMS для создания вебморды доступа к базе данных из 20-30 таблиц с связанными ключами.

-Готовый нормальный GUI для отображения этих самых таблиц, с такими возможностями как:

1. inline-редактирование полей ( как в гуглодоке ) с использование AJAX

2. удобная возможность выбора и ввода при заполненении/редактировании таблиц  ( Например - начинаем редактировать поле - подстрочник подсказывает варианты, если жмем кнопку ...   то там можно в всплывающем диалоге выбрать из справочника , и в том числе завести новый объект если подходящего нет )

3. динамическая ajax-загрузка больших таблиц с готовой полосой прокрутки справа ( а-ля эксель или гугл-док )

4. возможности связей полей "один к одному" , "один к многим"

5. готовые удобные предопределенные типы элементов такие как дата, время,  изображение jpg , деньги ну и возможность сравнительно легкого определения своих типов с человеческим редактированием/проверкой ( ip , мегабайты, e-mail и.т.п. )

 

6. Текстовый конфигуратор.  В идеале - в виде обьектов с наследованием.  Чтоб например от GenericDevice унаследовать например Switch , а от Switch унаследовать Switch_L3  ( и для этих обьектов в текстовом конфиге описывать поля, их типы и правила проверки,   связи полей  с другими таблицами, и.т.п . )

 

Из подобных комбайнов в достаточно близкой степени вроде бы подошел  CoreManager

https://www.ispsystem.ru/software/coremanager

но подход авторов к определению разных примитивов и бизнес-логики очень угнетает.

скажем в иерархии обьектов billmanager принципиально нельзя детализировать какую-либо продаваемую единицу учета ( например трафик ) с детальностью выше чем мб/день (  определено как уникальный ключ ).  Так же раздражает автоматическое удаление неоплаченных услуг (  с всеми пользовательскими данными ) в шаблонах по умолчанию.

Так же раздражает то что при любом вынужденном простое системы ( например выключили на 3 дня )  уезжают даты и расчеты всех услуг, срок действия которых должен был продлится/обновится в пропущенный интервал.

И ещё многое-многое другое раздражает.

Система в целом годная, но задумана под продажи копеечного хостинга по принципу "я одна а вас много" , с нулевым участием админа в работе проекта.

 

Знает ли кто-то описанный каркас для удобного построения своей подобной системе?

В идеале на python.

 

Пробовал ковырять Django но там всё очень плохо с GUI элементами, ajax , динамической подгрузкой и.т.п. , то есть чтоб получить на его базе годный движок с описанным функционалом надо провести титаническую работу.

Интуиция подсказывает что возможно частично пригодны какие-нибудь opencart  с переделкой под себя, но....

 

 

 

 

 

Share this post


Link to post
Share on other sites

Yii2 - по праву занимает лидерские позиции. Немного тяжеловес, но у меня многие проекты уровня ENTERPRISE на нем в продакшене работают с довольно высокой нагрузкой. Попробуйте. Может то, что нужно Вам. С CoreManager будет один гемморой. На родном для него С++ документация по API не соответствует на 85%. А писать просто плагины к нему на других языках как-то не айс... ибо это уже костылинг будет, а не расширение/модификация функционала и поведений.

Share this post


Link to post
Share on other sites

Yii2 давно пробовал.

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

и с необходимостью почти вручную править хренову тучу файлов для каждой модели/вьюва и.т.п.

В общем по лёгкости вхождения где-то на уровне "ассемблера".

Может быть у вас есть какой-нить howto с конкретным списком и порядком костылей которыми его нужно обвешать из коробки чтоб получить то что написано выше?

 

 

 

А то что у CoreManager ядро на c++  , так его по сути можно рассматривать как компилятор/интерпретатор собственного языка.

"1С Конфигуратор" тоже на сях,  но это ж не мешает огромной развернутой ими индустрии и области внедрения.

Потенциал у CoreManager высокий, но конкретные "типовые схемы" доступные для модификации очень расстраивают своей кривоватостью.

 

Share this post


Link to post
Share on other sites

"А то что у CoreManager ядро на c++  , так его по сути можно рассматривать как компилятор/интерпретатор собственного языка" - Вы или пошутили сейчас, или .... Где там "компилятор/интерпретатор собственного языка" Вы видели? Если Вам нужны графические тыкалки, либо битрикс, либо друпал рассматривайте, либо пишите свою обвязку. В YII прекрасно реализован и AJAX, и PJAX. Они даже во второй версии бутстрап туда воткнули. Извинити, но если Вы совсем далеки от программирования на родном языке фрэймворка/CMS, то Вас и визуальный редактор не спасет. Для "передвигания мышкой" придуман WIX. На счет порога вхождения - не особо он в нем высок, если Вы владеете ООП, умеете пользоваться нейпспейсами и исключениями. Можете еще Laravel рассмотреть. Просто Вы даже сами понятия CMS и CMF смешиваете. Тот же битрикс хоть и заявлен как фреймворк, таковым по сути не совсем является. Если исходить из Ваших хотелок, то в природе, в принципе, не существует такого продукта. Есть фундаментальная база, на которой Вы строите свое приложение.

Edited by murano

Share this post


Link to post
Share on other sites

1 час назад, default_vlan сказал:

Yii2. 

Если совсем нужно что-то интимное и постоянно падающее - можно на python jango попробовать писать

Пробовал и то и другое ( мучился по несколько дней )

Порог вхождения высокий!

Хотелось бы нечто такое чтоб сначала тупо создал структуру базы данных , права галочками расставил - и сразу начал работать.

а украшательства , более удобный вид, подписи итп - всё потом по мере того как дойдут руки.

 

То есть в идеале вообще как вот это вот этот проект - там просто создаешь один файлик с именем таблицы и вот уже она в вебморде и готова к редактированию.

( структура таблицы сама из mysql берется, включая типы полей ).  а если какое-то поле это ссылка то аккуратно прописывается в одну строчку.

http://www.ajaxcrud.com/examples.php

 

Как пример создания таблицы mp3-шек с ссылкой на таблицу жанров ( для выбора жанра )

 

 
#include the class
include ('ajaxCRUD.class.php');

#this one line of code is how you implement the class
$tblDemo = new ajaxCRUD(
	"MP3 File", "tblMyMp3CollectionDemo2", "pkMP3ID");

$tblDemo->defineRelationship("fkGenreID", "tblGenres", "pkGenreID",
"fldGenre");

$tblDemo->omitPrimaryKey();
#actually show to the table
$tblDemo->showTable();

( пример с содержанием таблиц и работой http://www.ajaxcrud.com/demo_createrelationship.php )

 

Вот такой простоты хочется, а не как в yii2 когда для хелло ворлд надо три тонны моделей, вьювов  и контроллеров строчить.

Недостатки указанного проекта: 

1) отсутствие нормальной безопасности - кто и какие поля пытается обновить в БД нет никакой нормальной проверки.

2) таки нету динамической подгрузки, хоть  и есть нарезка на страницы с цифрами ( inline редактирование через ajax есть )

 

Для "админок одного человека" - применяю это и клепаю быстрые "админки за час".

 

Вот хочется тоже самое, но:

1)  с встроенной системой пользователей и их регистрацией через госуслуги/соцсети/sms/почту ( с всякими готовыми проверками )

2) с системной различного ограничения прав пользователей на таблицы ( как по колонкам , так и  по строкам - чтоб например руководитель группы видел все задачи, а сотрудник только те где исполнитель он , и чтоб хитрой подстановкой запросов нельзя было отредактировать чужую строку )

 

Share this post


Link to post
Share on other sites

9 часов назад, stalker86 сказал:

А чего рельсы никто не рассматривает/ не предлагает?

Не хочу ruby,  от обилия разных языков каша в голове начинается.

хватит мне уже perl , php , bash , python , lua   еще и всякие ruby c go я уже не выдержу.

 

Share this post


Link to post
Share on other sites

Кстати LUA..

А подскажите какой букварь хороший...

Нечто типа The Pragmatic Programmers - Sam Ruby, но для LUA

Share this post


Link to post
Share on other sites

В 17.09.2017 в 08:17, LostSoul сказал:

Не хочу ruby,  от обилия разных языков каша в голове начинается.

хватит мне уже perl , php , bash , python , lua   еще и всякие ruby c go я уже не выдержу.

 

Нужно сделать оценку - сколько времени разбираться с чужим конструктором и подстраивать под свои нужды или запилить своё, даже from scratch. ajax запросы на том же jQuery реализуются очень даже хорошо. Подстрочников тоже всяких полно.

Да даже jquery ui на фронтэнд, а бекэнд на чём угодно - хоть перл, хоть питон

Share this post


Link to post
Share on other sites

39 минут назад, ichthyandr сказал:

Нужно сделать оценку - сколько времени разбираться с чужим конструктором и подстраивать под свои нужды или запилить своё, даже from scratch. ajax запросы на том же jQuery реализуются очень даже хорошо. Подстрочников тоже всяких полно.

 

Я как бы вообще не программист а интегратор.

Мой уровень это патч в несколько строк типа "здесь добавим подкрутку нужной прибитой гвоздями переменной или хук какой-нибудь"  на с++   или несколько скриптов-костылей  по 200-400 строк.

CMS такого уровня о которой идет речь я буду писать лет 10 и с 10 попытки.

Я хочу что-то уровня типа битрекс , только опенсорц и на питоне :-)

 

А пилить подобное очень тяжко - сериализация и взаимодействие компонентов интерфейса в контроллере на сервере,  да еще с контролем прав доступа с различными хитрыми ACL и группами,  автоматическая актуализиация гуя и контроллера при изменениях модели данных.

В общем совсем не уровень новичка, а тем более человека у которого кодинг - вспомогательная прикладная задача.

 

В идеале мне нужно что - чтоб я формально задал структуру БД  ( типа таблицы юзеров, устройств, настроек , привязок , документов, счетов , трафика , параметров , обьявил допустимые связи между полями (обязательно/не обязательно одно к одному, одно к многим ) , указал названия полей и условия проверки....

А мне система на выходе дала бы прямо готовую админку с инлайн-редактированием таблиц по заданной модели, с нарезкой таблиц по страницам ( лучше динамической прокруткой а-ля гугл-док )

И чтоб ко всему этому был движок регистрации пользователей готовый с авторизацией через всякие соцсети и госуслуги и готовые биллинговые примитивы ( счета , списания  ) и заготовки платежных модулей под всякий там приём платежей ( чтоб взял какой-нить модуль paypal и переделал под что тебе нужно )

 

Смотрел например odoo но там слишком много не по русскому документообороту понаделано и вообще многое не совсем так как нравится.

 

Более-менее ещё годится django - там относительно легко прикрутить биллинг, платежи, авторизацию....  но когда речь заходит уже об визуальном отображении таблиц , да  с инлайн редактированием , да с моделью разграничения доступа ( чтоб скажем админ видел все строки с устройствами в таблице устройств, а клиент - только свои устройства, и никакими ухищрениями не мог увидеть или модифицировать чужие строки ) - вот тут мне уже просто не хватает понимания и опыта как скрестить такое количество библиотек и компонент ( acl , сериализаторы , jquery и.т.п. ) в один работающий мегакомбайн.

А писать абсолютно всю cms  с нуля -- этот титанический труд для сотен человек.

 

То есть я к примеру хочу один мега-контролер который выдавал бы на редактирование нужную мне таблицу ( например устройств ) , некоторые поля обновлял и подгружал динамически ( скажем статусы зеленый/красный ) позволял бы тыкать на выключатели ( типа чекбоксов )  , позволял бы выбор элемента из списка с подстрочником и динамически обновлял БД не забыв проверить права доступа.

 

Вот скажем представьте компонент GUI где нужно выбирать "много из много".   Скажем для персоны  - список проектов к которым он относится.  Чтоб в табличном виде это были несколько "стикеров" с возможностью двойным кликом удалить любой, а для добавления открывался бы вспомогательный диалог с перечнем проектов и подстрочным поиском и там собираешь перечень.

Писать такое самому? Да это же опупеешь.

И самое главное - есть такие вроде бы готовые компоненты под тот же yii или drupal.    И компоненты динамической загрузки страниц есть.  Но попытки собрать потом это всё в один контроллер ( да еще так чтоб не писать отдельный контроллер с кучей сходного повторяющегося кода для каждой таблицы ) у меня заканчиваются взрывом мозга.

 

 

Share this post


Link to post
Share on other sites

Все зависит от бюджета.

На малом бюджете используете готовое, на большом бюджете заказываете разработку.

На среднем бюджете скорее всего придется терпеть.

Share this post


Link to post
Share on other sites

2 часа назад, LostSoul сказал:

А писать абсолютно всю cms  с нуля -- этот титанический труд для сотен человек.

Я так понимаю цмс писать не надо, вам нужно решить задачу или с помощью готовой цмс или же чтото сделать своё. Если своё, то получится узкоспециализированный проект именно с теми хотелками, которые нужны или же искать нечто подобное в виде цмс, близкое к данной задаче, но скорее всего не с теми хотелками, которые нужны. Универсальных систем не бывает.

Share this post


Link to post
Share on other sites

2 часа назад, alibek сказал:

Все зависит от бюджета.

 

Бюджетов нет совсем.

Просто терпеть адское сочетание из utm5 + billmgr + 1c + куча всего беспорядочно документированного абы как нет больше сил и по мере роста хочется велосипедов.

 

Поиск "наиболее близкого к задаче" и есть цель создания этой темы.

Наиболее близкое что нашел я - это Django , CoreManager

 

чтоб было понятнее, хочется CMF подходящий под чуть разноплановые задачи

1) личный кабинет под продажу мелких нестандартных телеком услуг ( типа управления "умными розетками"  ) с регистрацией, оплатой , а так же продвинутым гуем для управления всякой фигней и ее увязкой в разных сочетаниях

2) примитивная система документирования сети типа таблицы оборудования, IP-сетей, вланов,  железок типа Dude ( а может его и взять местами? )

3) учет услуг,   привязок услуг по оборудованию, денег, счетов, актов

4) управленческий учет затрат и денежных потоков в простейшем виде для себя

 

на данный момент :

юрлица платящие ежемесячно по счету в utm5

физлица платящие всякими sbol и не по счетам а "пополнение баланса" - в billmanager

всякие иные виды услуг - вообще на коленке в папочках вордах и экселях

 

 

 

Share this post


Link to post
Share on other sites

Только что, LostSoul сказал:

Бюджетов нет совсем.

Ну тогда первый вариант — адаптируйте свои хотелки к готовым типовым решениям.

Разумеется, уже поставленные бизнес-процессы почти наверняка придется переделывать или ломать.

На рынке ПО провал в среднем ценовом сегменте не просто так имеется.

Share this post


Link to post
Share on other sites

9 минут назад, alibek сказал:

Ну тогда первый вариант — адаптируйте свои хотелки к готовым типовым решениям.

 

Я могу копать   хочу допилить типовое решение под свои хотелки.

Вот как с 1С общепринято практически - берешь типовую конфигурацию,  дорабатываешь какие-то мелочи под свои хотелки.

 

billmgr в этом смысле очень похож на 1С концептуально - там почти все можно доработать в конфигурации или обвязке.

Но к сожалению гибкость и функциональность ядра немного хромает.

Поэтому в обмен на "почти все готово и надо немного допилить" - получаешь в ответ "а теперь сломай мозг, как в рамках ограничений  языка разметки их xml-конфигурации красиво получить то что ты хочешь".

 

ищу еще альтернативы.

Ибо то о чём говорю я - достаточно универсальная задача.

Нужен генератор веб-админки на базе структуры таблиц готовой SQL БД.

Но такой, чтоб был на базе какой-то распространенной CMS  чтоб туда ещё и систему пользователей с регистрацией через соцсети готовую прикрутить.

 

Share this post


Link to post
Share on other sites

Это только кажется, что задача типовая.

На деле у всех свои хотелки, которые практически невозможно свести к универсальным абстракциям — если попытаться, то получится настолько «сферический» продукт, что его пусконаладка по сложности будет сопоставима с разработкой.

Share this post


Link to post
Share on other sites

7 минут назад, alibek сказал:

Это только кажется, что задача типовая.

На деле у всех свои хотелки, которые практически невозможно свести к универсальным абстракциям — если попытаться, то получится настолько «сферический» продукт, что его пусконаладка по сложности будет сопоставима с разработкой.

даже не так. Если взять к примеру ту же 1С, то наблюдая ее развитие начиная с первых версий, можно заметить, что в итоге они разработали ... свой язык программирования с генератором форм и отчетов :)

Edited by ichthyandr

Share this post


Link to post
Share on other sites

20 минут назад, ichthyandr сказал:

что в итоге они разработали

Они добавили новый слой абстракции.

Есть разработчики самого продукта 1С.

Есть разработчики конфигураций 1С.

Есть консалтеры и интеграторы, которые адаптируют типовую конфигурацию (которая сама по себе является надстройкой над 1С) к конкретным бизнес-процессам.

Share this post


Link to post
Share on other sites

32 минуты назад, alibek сказал:

Есть консалтеры и интеграторы, которые адаптируют типовую конфигурацию (которая сама по себе является надстройкой над 1С) к конкретным бизнес-процессам.

Ну и набором основных приемуществ , для тех кто хочет "почти как у всех но немножко свое"

 

1) наличие открытых и документированных исходников  ( имеется ввиду слой конфигурации )

2) наличие собственно той самой готовой конфигурации, где есть почти все, причем в вариантах

 

Вот меня интересует нечто похожее.

Какой-нибудь продукт , почти такой как нужно, в открытых исходниках и удобный для допилки.

Желательно с широким  набором средств допилки в в виде готовых процедур, проверок, виджетов и.т.п.  :-)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.