LostSoul Posted September 16, 2017 · Report post Здравствуйте. Хочется сделать для себя очередную версию велосипеда, по смыслу что-то среднее между 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 с переделкой под себя, но.... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
murano Posted September 16, 2017 · Report post Yii2 - по праву занимает лидерские позиции. Немного тяжеловес, но у меня многие проекты уровня ENTERPRISE на нем в продакшене работают с довольно высокой нагрузкой. Попробуйте. Может то, что нужно Вам. С CoreManager будет один гемморой. На родном для него С++ документация по API не соответствует на 85%. А писать просто плагины к нему на других языках как-то не айс... ибо это уже костылинг будет, а не расширение/модификация функционала и поведений. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 16, 2017 · Report post Yii2 давно пробовал. Получил какой-то унылый каркас без всяких намеков на ajax , инлайн редактирование, прокрутку и.т.п. и с необходимостью почти вручную править хренову тучу файлов для каждой модели/вьюва и.т.п. В общем по лёгкости вхождения где-то на уровне "ассемблера". Может быть у вас есть какой-нить howto с конкретным списком и порядком костылей которыми его нужно обвешать из коробки чтоб получить то что написано выше? А то что у CoreManager ядро на c++ , так его по сути можно рассматривать как компилятор/интерпретатор собственного языка. "1С Конфигуратор" тоже на сях, но это ж не мешает огромной развернутой ими индустрии и области внедрения. Потенциал у CoreManager высокий, но конкретные "типовые схемы" доступные для модификации очень расстраивают своей кривоватостью. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted September 16, 2017 · Report post Yii2. Если совсем нужно что-то интимное и постоянно падающее - можно на python jango попробовать писать Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stalker86 Posted September 16, 2017 · Report post А чего рельсы никто не рассматривает/ не предлагает? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
murano Posted September 16, 2017 (edited) · Report post "А то что у CoreManager ядро на c++ , так его по сути можно рассматривать как компилятор/интерпретатор собственного языка" - Вы или пошутили сейчас, или .... Где там "компилятор/интерпретатор собственного языка" Вы видели? Если Вам нужны графические тыкалки, либо битрикс, либо друпал рассматривайте, либо пишите свою обвязку. В YII прекрасно реализован и AJAX, и PJAX. Они даже во второй версии бутстрап туда воткнули. Извинити, но если Вы совсем далеки от программирования на родном языке фрэймворка/CMS, то Вас и визуальный редактор не спасет. Для "передвигания мышкой" придуман WIX. На счет порога вхождения - не особо он в нем высок, если Вы владеете ООП, умеете пользоваться нейпспейсами и исключениями. Можете еще Laravel рассмотреть. Просто Вы даже сами понятия CMS и CMF смешиваете. Тот же битрикс хоть и заявлен как фреймворк, таковым по сути не совсем является. Если исходить из Ваших хотелок, то в природе, в принципе, не существует такого продукта. Есть фундаментальная база, на которой Вы строите свое приложение. Edited September 16, 2017 by murano Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 17, 2017 · Report post 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) с системной различного ограничения прав пользователей на таблицы ( как по колонкам , так и по строкам - чтоб например руководитель группы видел все задачи, а сотрудник только те где исполнитель он , и чтоб хитрой подстановкой запросов нельзя было отредактировать чужую строку ) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 17, 2017 · Report post 9 часов назад, stalker86 сказал: А чего рельсы никто не рассматривает/ не предлагает? Не хочу ruby, от обилия разных языков каша в голове начинается. хватит мне уже perl , php , bash , python , lua еще и всякие ruby c go я уже не выдержу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stalker86 Posted September 18, 2017 · Report post Кстати LUA.. А подскажите какой букварь хороший... Нечто типа The Pragmatic Programmers - Sam Ruby, но для LUA Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted September 19, 2017 · Report post В 17.09.2017 в 08:17, LostSoul сказал: Не хочу ruby, от обилия разных языков каша в голове начинается. хватит мне уже perl , php , bash , python , lua еще и всякие ruby c go я уже не выдержу. Нужно сделать оценку - сколько времени разбираться с чужим конструктором и подстраивать под свои нужды или запилить своё, даже from scratch. ajax запросы на том же jQuery реализуются очень даже хорошо. Подстрочников тоже всяких полно. Да даже jquery ui на фронтэнд, а бекэнд на чём угодно - хоть перл, хоть питон Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 19, 2017 · Report post 39 минут назад, ichthyandr сказал: Нужно сделать оценку - сколько времени разбираться с чужим конструктором и подстраивать под свои нужды или запилить своё, даже from scratch. ajax запросы на том же jQuery реализуются очень даже хорошо. Подстрочников тоже всяких полно. Я как бы вообще не программист а интегратор. Мой уровень это патч в несколько строк типа "здесь добавим подкрутку нужной прибитой гвоздями переменной или хук какой-нибудь" на с++ или несколько скриптов-костылей по 200-400 строк. CMS такого уровня о которой идет речь я буду писать лет 10 и с 10 попытки. Я хочу что-то уровня типа битрекс , только опенсорц и на питоне :-) А пилить подобное очень тяжко - сериализация и взаимодействие компонентов интерфейса в контроллере на сервере, да еще с контролем прав доступа с различными хитрыми ACL и группами, автоматическая актуализиация гуя и контроллера при изменениях модели данных. В общем совсем не уровень новичка, а тем более человека у которого кодинг - вспомогательная прикладная задача. В идеале мне нужно что - чтоб я формально задал структуру БД ( типа таблицы юзеров, устройств, настроек , привязок , документов, счетов , трафика , параметров , обьявил допустимые связи между полями (обязательно/не обязательно одно к одному, одно к многим ) , указал названия полей и условия проверки.... А мне система на выходе дала бы прямо готовую админку с инлайн-редактированием таблиц по заданной модели, с нарезкой таблиц по страницам ( лучше динамической прокруткой а-ля гугл-док ) И чтоб ко всему этому был движок регистрации пользователей готовый с авторизацией через всякие соцсети и госуслуги и готовые биллинговые примитивы ( счета , списания ) и заготовки платежных модулей под всякий там приём платежей ( чтоб взял какой-нить модуль paypal и переделал под что тебе нужно ) Смотрел например odoo но там слишком много не по русскому документообороту понаделано и вообще многое не совсем так как нравится. Более-менее ещё годится django - там относительно легко прикрутить биллинг, платежи, авторизацию.... но когда речь заходит уже об визуальном отображении таблиц , да с инлайн редактированием , да с моделью разграничения доступа ( чтоб скажем админ видел все строки с устройствами в таблице устройств, а клиент - только свои устройства, и никакими ухищрениями не мог увидеть или модифицировать чужие строки ) - вот тут мне уже просто не хватает понимания и опыта как скрестить такое количество библиотек и компонент ( acl , сериализаторы , jquery и.т.п. ) в один работающий мегакомбайн. А писать абсолютно всю cms с нуля -- этот титанический труд для сотен человек. То есть я к примеру хочу один мега-контролер который выдавал бы на редактирование нужную мне таблицу ( например устройств ) , некоторые поля обновлял и подгружал динамически ( скажем статусы зеленый/красный ) позволял бы тыкать на выключатели ( типа чекбоксов ) , позволял бы выбор элемента из списка с подстрочником и динамически обновлял БД не забыв проверить права доступа. Вот скажем представьте компонент GUI где нужно выбирать "много из много". Скажем для персоны - список проектов к которым он относится. Чтоб в табличном виде это были несколько "стикеров" с возможностью двойным кликом удалить любой, а для добавления открывался бы вспомогательный диалог с перечнем проектов и подстрочным поиском и там собираешь перечень. Писать такое самому? Да это же опупеешь. И самое главное - есть такие вроде бы готовые компоненты под тот же yii или drupal. И компоненты динамической загрузки страниц есть. Но попытки собрать потом это всё в один контроллер ( да еще так чтоб не писать отдельный контроллер с кучей сходного повторяющегося кода для каждой таблицы ) у меня заканчиваются взрывом мозга. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 19, 2017 · Report post Все зависит от бюджета. На малом бюджете используете готовое, на большом бюджете заказываете разработку. На среднем бюджете скорее всего придется терпеть. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted September 19, 2017 · Report post 2 часа назад, LostSoul сказал: А писать абсолютно всю cms с нуля -- этот титанический труд для сотен человек. Я так понимаю цмс писать не надо, вам нужно решить задачу или с помощью готовой цмс или же чтото сделать своё. Если своё, то получится узкоспециализированный проект именно с теми хотелками, которые нужны или же искать нечто подобное в виде цмс, близкое к данной задаче, но скорее всего не с теми хотелками, которые нужны. Универсальных систем не бывает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 19, 2017 · Report post 2 часа назад, alibek сказал: Все зависит от бюджета. Бюджетов нет совсем. Просто терпеть адское сочетание из utm5 + billmgr + 1c + куча всего беспорядочно документированного абы как нет больше сил и по мере роста хочется велосипедов. Поиск "наиболее близкого к задаче" и есть цель создания этой темы. Наиболее близкое что нашел я - это Django , CoreManager чтоб было понятнее, хочется CMF подходящий под чуть разноплановые задачи 1) личный кабинет под продажу мелких нестандартных телеком услуг ( типа управления "умными розетками" ) с регистрацией, оплатой , а так же продвинутым гуем для управления всякой фигней и ее увязкой в разных сочетаниях 2) примитивная система документирования сети типа таблицы оборудования, IP-сетей, вланов, железок типа Dude ( а может его и взять местами? ) 3) учет услуг, привязок услуг по оборудованию, денег, счетов, актов 4) управленческий учет затрат и денежных потоков в простейшем виде для себя на данный момент : юрлица платящие ежемесячно по счету в utm5 физлица платящие всякими sbol и не по счетам а "пополнение баланса" - в billmanager всякие иные виды услуг - вообще на коленке в папочках вордах и экселях Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 19, 2017 · Report post Только что, LostSoul сказал: Бюджетов нет совсем. Ну тогда первый вариант — адаптируйте свои хотелки к готовым типовым решениям. Разумеется, уже поставленные бизнес-процессы почти наверняка придется переделывать или ломать. На рынке ПО провал в среднем ценовом сегменте не просто так имеется. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 19, 2017 · Report post 9 минут назад, alibek сказал: Ну тогда первый вариант — адаптируйте свои хотелки к готовым типовым решениям. Я могу копать хочу допилить типовое решение под свои хотелки. Вот как с 1С общепринято практически - берешь типовую конфигурацию, дорабатываешь какие-то мелочи под свои хотелки. billmgr в этом смысле очень похож на 1С концептуально - там почти все можно доработать в конфигурации или обвязке. Но к сожалению гибкость и функциональность ядра немного хромает. Поэтому в обмен на "почти все готово и надо немного допилить" - получаешь в ответ "а теперь сломай мозг, как в рамках ограничений языка разметки их xml-конфигурации красиво получить то что ты хочешь". ищу еще альтернативы. Ибо то о чём говорю я - достаточно универсальная задача. Нужен генератор веб-админки на базе структуры таблиц готовой SQL БД. Но такой, чтоб был на базе какой-то распространенной CMS чтоб туда ещё и систему пользователей с регистрацией через соцсети готовую прикрутить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 19, 2017 · Report post Это только кажется, что задача типовая. На деле у всех свои хотелки, которые практически невозможно свести к универсальным абстракциям — если попытаться, то получится настолько «сферический» продукт, что его пусконаладка по сложности будет сопоставима с разработкой. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted September 19, 2017 (edited) · Report post 7 минут назад, alibek сказал: Это только кажется, что задача типовая. На деле у всех свои хотелки, которые практически невозможно свести к универсальным абстракциям — если попытаться, то получится настолько «сферический» продукт, что его пусконаладка по сложности будет сопоставима с разработкой. даже не так. Если взять к примеру ту же 1С, то наблюдая ее развитие начиная с первых версий, можно заметить, что в итоге они разработали ... свой язык программирования с генератором форм и отчетов :) Edited September 19, 2017 by ichthyandr Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 19, 2017 · Report post 20 минут назад, ichthyandr сказал: что в итоге они разработали Они добавили новый слой абстракции. Есть разработчики самого продукта 1С. Есть разработчики конфигураций 1С. Есть консалтеры и интеграторы, которые адаптируют типовую конфигурацию (которая сама по себе является надстройкой над 1С) к конкретным бизнес-процессам. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted September 19, 2017 · Report post 32 минуты назад, alibek сказал: Есть консалтеры и интеграторы, которые адаптируют типовую конфигурацию (которая сама по себе является надстройкой над 1С) к конкретным бизнес-процессам. Ну и набором основных приемуществ , для тех кто хочет "почти как у всех но немножко свое" 1) наличие открытых и документированных исходников ( имеется ввиду слой конфигурации ) 2) наличие собственно той самой готовой конфигурации, где есть почти все, причем в вариантах Вот меня интересует нечто похожее. Какой-нибудь продукт , почти такой как нужно, в открытых исходниках и удобный для допилки. Желательно с широким набором средств допилки в в виде готовых процедур, проверок, виджетов и.т.п. :-) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...