Я выбираю второй подход. Ключевые изменения в новой версии будут такие:
- Отказ от поддержки совместимости со старым Лайвстритом (на всякий случай отмечу — поддержки с новым ЛС даже и не намечается, его никогда не будет), удаление кучи старого кода, который станет не нужным из-за этого.
- Новая организация папок, конфигурационных файлов, одновременная работа с несколькими базами
- Поддержка Composer и обновление всех используемых библиотек, как на бекенде, так и на фронтенде
- С точки зрения фронтенда — поддержка «плиточного» размещения контента в «коробочных» шаблонах
Вот, как-то так обстоит дело, если очень крупными мазками обрисовать.
58 комментариев
Это исключительно вопрос доброй воли разработчика...обновлять плагин или повторно продавать его...
Потом, Вадим много экспериментирует, часть этих экспериментов не завершена, но придумаем, как довести до ума, ресурсов на все не хватает(это не оправдание). https://skidki.market не завершен, сразу скажу, это такой модный тренд, витрина+блог(блог для seo хорошо). Но это еще не все фишки конкретно этого проекта. Но раньше времени не буду говорить.
Есть и еще новое и интересное, Вадим будет выкладывать и обновлять, но на это тоже нужно время ((((
Для себя мы Альто не списали — АльтОрнативы нет )))))
Для этого необходимы инвесторы и краудфандинг, который нужно организовывать не только локально на AltoCMS, но и на крупных площадках таких как серч, cmsmagazine, тематические каналы youtube, группы в соцсетях и т.д.
Чтобы добиться успеха в сборе средств нужно наглядно показать пользователям, что они получат в конечном итоге — скриншоты, инфографика, видео, etc.
В краудфандинге шаблона Experience я задействовала свои аккаунты на некоторых популярных ресурсах веб мастеров. Рисовала инфографику, скриншоты, публиковала посты и анонсы. И у нас получилось! Благодаря разработчикам Alto — Вадиму и Андрею, всем неравнодушным пользователям Альто, а так же людям, которые заинтересовались проектом после анонса.
Но без денежных вливаний выйти на ранок крупных игроков таких как drupal, wordpress, joomla и т.д. достаточно сложно. У Alto есть потенциал, т.к. систем для построения web 2.0 сообществ не так уж и много.
При этом грамотный маркетинг едва ли не важнее внутреннего устройства CMS.
Ничего не получится. Потому что в этом списке отсутствует единственный, действительно важный персонаж. Руководитель проекта.
Автор может не быть руководителем проекта. автор написал код. выложил — и пошел заниматься своими делами. А как там проект развивается, как там он набирает сообщество- а трава не расти :)
Специально привлеченный программист — не обязан понимать проект в целостности. Он пишет маленький кусочек кода — и счастлив.
Верстальщик — тут вообще все..мда.. творчески...
Дизайнер.. даже программировать может не уметь...
Контент менеджер.. пиар менеджер...блоггеры...
Кстати там еще копирайтер бывает... :)
Вобщем в этом списке нет человека, который бы понимал проект в целостности, имел волю и возможность его развивать. Без такого человека все усилия отданы на волю случая. И как правило — энтропия побеждает.
Вот как-то так....
Речь о том, что если собрать некоторую сумму, люди занимающиеся разработкой, могут вкладывать гораздо больше ресурсов и времени в работу над системой.
Что касается проджект менеджера, думаю тут вариантов немного...
Приведу пример, правда, понятен он будет лишь тем, кто немного в коде разбирается. Как сейчас происходит добавление в базу или обновление записи какой-то сущности? А так: пишется SQL-запрос, где явно перечисляются все добавляемые или обновляемые поля. Если в каком-то плагине возникает необходимость свое поле к сущности добавить, то для того, чтоб в процессе работы сущности нормально добавлялись/обнавлялись — вот тут начинаются танцы с бубнами и костылями, кто-то через хуки это делает, кто-то методы и SQL-запросы переписывает, иные еще как-то изгаляются. А потом начинаются несовместимости плагинов, плагинов с движком новой версии, проблемы обновления и все такое. Не поленился, посмотрел, как в ЛС 2.х сейчас это решается — а все так же, как был этот гемор, так и остался.
Нормально это? Нет! Можно убить этот гемор и всем разработчиками хорошо сделать? Элементарно! Но! Вот только одно это улучшение сразу ломает совместимость со многими плагинами и старыми версиями напрочь. И все равно встает этот выбор — либо продолжать плясать по старым граблям, либо избавиться от них, но и от старых плагинов тоже.
И таких вот узких мест в движке — полно! Я уж не говорю о том, что 100%-ной совместимости со старыми ЛС-плагинами все равно уже не получается добиться — что-то работает, а что-то нет. А поддерживать эту самую совместимость становится все сложнее и сложнее. И в какой-то момент, рано или поздно все равно придется бросить этот «чемодан без ручки», набитый милым и привычным, но устаревшим барахлом. Так, может, лучше сделать это сейчас?
Я понимаю, что люди не будут годами ждать обновлений. Ну, ок, если они найдут что-то лучше — значит, так тому и быть. Значит буду продолжать пилить Альто для себя. И для того числа людей, кому движок интересен, сколько бы их ни было.
1. Возможно ли будет безболезненно оформить свои нестандартные допилы двигла из форка первой версии во вторую версию и далее в жирный пулл-реквест нового проекта? Или это будет принципиально новая кодовая база (божечки, пусть это только она и будет) со своими новыми болячками?
2. Насколько лучше/круче/оптимизированнее новый движок? Или это будут старые грабли под новым соусом?
3. Отвал старых модулей не страшен в принципе, миграция кастомных сборок на новые рельсы матёрых прогеров никогда не пугала. С другой стороны, в анонсе нет никакой технической информации кроме «мы всё переписали». Что там будет под капотом? К чему нам готовиться, Вадим?
4. Ну и последнее, если вы реально причесали кодовую базу и сделали проект менее запутанным, я бы вписался в дальнейшую разработку. Иначе придётся форкать и переносить всё на свежую Лару или причёсывать под актуальную Симфони.
1. «Возможно ли...?» — надо смотреть, что за допилы и как они вписываются в движок
2. «Насколько лучше/круче/оптимизированнее...?» — да, лучше, но в чем мерить?
3. «Что будет под капотом?» — для начала все то же, но с обновленными сторонними библиотеками, со значительно уменьшенной массой легаси кода
4. А вот на реально или нет вообще не знаю как ответить. Разумеется, буду только приветствовать, если кто-то впишется в разработку. Но вот вписываются ли ближайшие изменения в чужое понимание «хорошо/плохо» — этого я не знаю.
Вообще, кардинальный способ реально одним махом сделать все правильно — это начать с чистого листа. При этом взять за основу какую-то готовую кодовую базу (Лару, Симфони, Уии2, может, даже ПхПикси, либо что-то более низкоуровневое — например, классы от Ауры, или вообще Слим какой-нибудь, в общем, выбор широк) — и уже на этом наворачивать, чего хочется. И можно даже плюсы дополнительные получить, вызвав интерес у уже сложившегося сообщества выбранного фреймворка (о! цмс на нашем любимом фреймворке!). Но я не готов к такому кардинальному шагу. Мне такое предлагали уже несколько раз, но каждый раз подразумевалось, что мне расскажут, как надо правильно делать, а реализовывать я это буду сам. Но у меня не так много свободного времени, чтоб я мог один это все потянуть, и не так много свободных денег, чтоб под это дело кого-то нанять.
Поэтому мой план иной — сначала выбросить то, что уже точно не нужно (ту же пресловутую ЛС-совместимость). Потом, сохраняя концепцию построения движка, заменять отдельные компоненты более современными разработками. Например, сохраняя нынешнюю гибкость роутинга и настройку его через конфиги, собственно сам роутинг построить на Aura.Router.
В общем, давайте так: я выкачу на днях драфт новой версии, а там будет видно — либо «фу, все плохо, я ухожу», либо «а ничо так, из этого может что-то получиться, предлагаю то-то и то-то»
С этой,или с подобной мысли, начинается любой (читай — каждый) проект. Никто не начинает проект с мысли — делаем «все неправильно». В текущем проекте выбрана монолитная ООП архитектура. Это не Эрланг и не микросервисы. Это значит, что вне зависимости от MVC там или не MVC — нельзя просто так взять и заменить кусок функционального кода.
А это значит, что по мере накопления раздраженности от «нельзя просто так взять и сделать иначе"- будет возникать желание опять все начать с чистого листа.
Конечно будет грустно если в новой версии не будут работать старые плагины. Но похоже это судьба любых проектов. Кроме вордпресса. :) Им как-то удается сохранять совместимость. „Написано раз — работает в любой версии“...
Если сейчас брать, то в разумные сроки можно уложиться в миграцию кодовой базы на Symfony но никак не на Laravel. А уж тем более меня в Ларе бесят процедура миграций БД и его отбитый на всю голову RBAC. Короче, я за более чистый code-first подход.
Но вот смотрите, парни — вас двое, но уже один топит за Лару, другой за Симфони. Это наглядный пример, того, что какой бы вариант не был выбран, все равно он кого-то разочарует и у этого варианта будут противники. Переписывать ядро вообще с нуля — такого ни в мыслях, ни в планах нет. Чисто в теории, в принципе, вариант переписывания с нуля я готов рассматривать, но при двух условиях:
1) Нужно какое-то более аргументированное обоснование. Не потому что «это круто и популярно», а как-то более сухо и безэмоционально — «раз..., два..., три...»
2) Человек не просто аргументирует, но и берет на себя определенный объем работ, вот буквально: «зуб даю, что сделаю то-то и то-то при миграции на такой фреймворк».
Не обещаю, что обязательно соглашусь ядро Альто переводить на сторонний фреймворк, но без этих двух критериев даже рассматривать такой вариант не стану. Я уже не раз говорил, что Альто мне нужен самому, и пусть он будет не идеальный, но рабочий, чем классно спроектированный, но дохлый.
Я топлю не за какой-то конкретный фреймворк, а за грамотную организацию кода и избавление от насточертевшего легаси с техническим долгом. На чём оно соберётся — это уже совершенно десятое дело, лишь бы было хоть какое-то подобие MVC.
И, да, для меня сейчас Альто — рабочий инструмент, на котором мы поднимаем региональную площадку (пытаемся) и у меня есть шкурный интерес в развитии платформы.
Конечно Вадиму решать что и как делать... Ну я высказал свое мнение. Quiz вот не одобряет. Но я говорю, что два проекта фактически загнулись и реанимировать их прической кода вряд ли получится. Как то так.
1. Фукциональность
2. Простота использования
А на каком фреймворке или какой код у Wordpress или DLE обычных пользователей (которых большинство) не волнует совсем.
От разработчиков. Обычный пользователь ведь код не пишет. Он берет то что есть и компонует как сумеет.
Нет разработчиков- нет функциональности.
А чтобы были разработчики — нужно чтобы писать под нее было удобно/выгодно/перспективно.
И получается что функциональность и простота использования- тесно связаны с тем как воспринимают код разработчики.
Если например разработчик не понимает внутренностей программы — он вряд ли захочет связываться с ней.
В любом случае это пространные рассуждения. Существуют живые примеры, того как системы с далеко не идеальным кодом становятся успешными. Рекомендую почитать https://habrahabr.ru/post/251257/
В Вордпресс плагины работают на любой старшей версии, без рассуждений о вредности легаси кода. Если у вас есть плагин — вы уверены что с обновлением версии движка- он у вас останется рабочим.
И много еще существенных различий генезиса между живым примером и бигстрит и потомками...
Во-первых, говнокодить и криво строить архитектуру движка успешно можно на любом фреймворке и на любой платформе. Поэтому сам по себе переход на какой-то фреймворк — не панацея. Да, это может вызвать некоторый интерес со стороны сообщества фреймворка, но не более. Чтобы кто-то начал писал расширения, нужно сначала выкатить готовый результат, который удовлетворит это сообщество. Никто не ломанется писать ядро движка, люди будут ждать, чего из этого выйдет. Есть тут желающие переписывать с нуля Альто на какой-то иной фреймворк? Нет? Ну, значит, проехали.
С этим хрен поспоришь. Но если танцевать «от печки» (то бишь, от «удобно»), то, значит, нужно разбирать вполне конкретные недостатки архитектуры Альто, и предлагать решения, как их исправить. И возможно (подчеркиваю — ВОЗМОЖНО, но не наверняка) может оказаться, что большинство решений базируется на использовании тех или иных классов/библиотек из какого-то популярного фреймворка. И тогда уже вполне естественным образом встает вопрос о переезде на этот фреймворк целиком. Вот такой подход мне кажется вполне логичным. А все остальное — это как-то за уши притянутое и надежда на маленькое волшебство.
Я, кстати, не раз пытался заводить дискуссии относительно тех или иных решений, но как-то не очень они получались. В основном, все сводилось к тому, что «та сделай, а мы посмотрим, что у тебя получится». Не, я не обижаюсь нисколько, просто констатирую.
В общем, резюмирую — я считаю, что портировать CMS на сторонний фреймворк имеет смысл только при следующих условиях:
1) Будет совершенно четко понятно, какие именно болячки Альто и каким способом будут вылечены.
2) Будет кто-то еще, кроме вашего покорного слуги, кто готов будет пилить код, а не ждать готового результата
Пока же я продолжаю улучшать движок теми путями, что описал в топике
Опять же, где я уже где-то писал — у меня шкурный интерес. Если сейчас тот портальчик, что мы пилим, взлетит — вопрос о развитии функционала движка превратится в насущную необходимость.
Что касается перевода прям всего движка — вот как-то не вижу в этом реальной необходимости (кроме чисто маркетингового хайпа). Но готов обсудить, если будут какие-то серьезные аргументы, а не просто «это круто и клево».
У меня же к проекту Альто совсем другие чувства и планы.
Но мне, кстати, очень интересно (и даже полезно) было бы узнать о чувствах и планах относительно Альто всех, кому этот проект не безразличен
Когда-то в бородатом 2013 сделал сайт на alto, но потом забросил. Сейчас хочу вернуться к развитию проекта. Долго думал, уйти на LS, сделать на Wordpress, или кастомно заказывать у кого-то.
Почитал внимательно последнюю активность и решил остаться на alto. Буду потихоньку разбираться сам (жаль, я не программист, но логику альто и то, как ручками правил tpl-ки помню еще), привлекать профессионалов, и думаю, все получится.
Переписать CMS на другой фреймворк — это переписать 90% кода....от альто останется... что? морда и название? :)
И будем читать вот такие посты: Как поступить с фальшивыми деньгами?, Топ 10 – лучших фильмов о казино.
P.S. Печально что даже ни кто не может удалить данный спам.
Авадим не появляется, разработчики плагинов без энтузиазма относятся к доработке под версию альто 1.1...
#альтоживи
Квалифицированным разработчикам потенциал не показался хорошим, а неквалифицированные ничего даже с имеющимся потенциалом сделать толком не могут.