Промежуточные выводы

Значит в ходе дискуссии возникли корректировки. Было предложено вынести весь дополнительный функционал в плагины. Я согласен с такой идеей. Плагины по сути в livestreet — это есть отдельные куски приложения имеющие в себе контроллеры модели и вьюхи, как пакеты, модули или бандлы в других архитектурах. Сразу появляется возможность отключить/включить нужный функционал. Чтобы сэкономить время можно брать готовые куски кода из модулей и расфасовать их по плагинам с некоторыми корректировками. По ходу перенести все модули на ORM. Кстати возникает возможность подключить готовую библиотеку к фреймворку, например Doctrine или другую, до переноса на ORM.
Пусть основное приложение будет иметь определенный набор модулей и экшенов, самых основных.
Например:
пользователи и авторизация,
типы контента,
категории,
комментарии,
может еще что то.
Расставляем в ключевых местах хуки и приступаем к плагинам.
Плагинами окажутся:
Создание блогов
Подписки
Избранное
Друзья
Rbac, Acl
Ну и другое
По ходу работы над основными плагинами можно корректировать расстановку хуков.
Шаблон основного приложения станет выполнять рекомендательную функцию. В него можно сложить основные стили, компоненты, а плагины будут иметь и свою часть шаблона. Это усложняет работу по фронтэнду. Можно это компенсировать рекомендациями к разработке плагина — как можно меньше стилей и использование layouts основного шаблона. Но это тоже не выход, некоторые компоненты все равно останутся в плагине. Придется чем то жертвовать.

18 комментариев

avatar
Сразу появляется возможность отключить/включить нужный функционал.

Возможность конечно замечательная. Но зачем? Например кто то будет использовать livestreet без блогов, пользователей, подписок и т.д., именно ради этих функций в большинстве случаев используют livestreet. Опционально в админке иметь возможность выключить любую из этих функций — да, но выносить в плагины мне кажется это уже перебор.

Это усложняет работу по фронтэнду.

Кто нибудь знает более сложную в разаработке фронтенда систему, чем livestreet?
avatar
Но зачем?

Чтобы попробовать расширить аудиторию движка.

Опционально в админке иметь возможность выключить любую из этих функций — да

Тогда по фронту нужно будет всю работу все равно выполнять, а если нужна только часть функционала, зачем это делать. Правильнее идти от меньшего к большему, а не наоборот.
avatar
Чтобы попробовать расширить аудиторию движка.

Чтобы расширить аудиторию, логичнее работать с аудиторией.
Аудитория ЛС в данном контексте, это кто? Программисты, дизайнеры, верстальщики, вебстудии, маркетологи, школьники, гос или ком учреждения?

Если «копаться с кодом», то по факту получите перекладывание из пустого в порожнее. Какие-то «доработки» привлекут в лучшем случае единицы разработчиков или возможно чуть-чуть улучшат жизнь текущих разработчиков. Коих, кстати, не так уж и много…

Хотите расширять аудиторию, работайте в первую очередь с аудиторией.

Например, примерно год назад Максиму предлагал выход на московскую аудиторию школьников и студентов. Чтобы провести курс обучения, чтобы ребята освоили основы программирования и сделали свои первые сайты на ЛС. Максим ответил, что он не верит в эту историю. Мол он пробовал, не получилось и забил. Как-то так. Вариант еще был выхода на Банки, у банков клиенты предприниматели, им нужны сайты. Закончилось все тем, что не нашлись программисты, которые готовы были «воять» на ЛС.
Могу сказать, что есть веб студия, в которой когда-то я работал, заключила контракт с одним из топ банков на CMS сервис, теперь сидят как на нефтяной вышке.

Слабое место, это отсутствие разработчиков. Разработчики нет из-за отсутствия спроса. Спроса на сам ЛС движок нет, так как никто не работает с аудиторией.
avatar
Например кто то будет использовать livestreet без блогов, пользователей, подписок и т.д.

Ну у меня, к примеру, периодически возникала необходимость сделать тот же личный блог и лендинг на ЛС и всегда либо не хватало каких-то мелочей, либо лишнего через чур много было. Знаю, что можно было выбрать более подходящие движки под это, но нравится ЛС и привык к нему. И если у него эти возможности будут почему не использовать?

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

Кто нибудь знает более сложную в разаработке фронтенда систему, чем livestreet?

А в чем сложность то? Разве что работы больше только по сравнению с тем же Вордпресом, так и функционала больше…
avatar
Вы знаете структуру движка, можете сверстать под него шаблон. Просто представьте обычного пользователя, который будет делать на livestreet например лендинг или интернет магазин(без функций сообщества, которые есть сейчас в движке).

Кстати для лендингов лучше всего подходит modx, если у вас есть готовый каркас с настроенными модулями, все это разворачивается и делается под клиента в течении пары часов.
avatar
Вы знаете структуру движка, можете сверстать под него шаблон. Просто представьте обычного пользователя, который будет делать на livestreet например лендинг или интернет магазин(без функций сообщества, которые есть сейчас в движке).

Ага, ливстрит «сложный» потому что не разработчик не может разработать на нём интернет магазин. Логично.
avatar
Не интернет-магазин, а просто любой сайт, отличный от UGC-сайта. Во второй версии для того, чтобы разобраться в шаблонах, приходится параллельно учить второй язык — компонентов, это несколько… обескураживает.
avatar
Язык? Там ж ничего нового нет.
Раньше js и css «компонента» были глобальны и его шаблон использовался через {include ...}
Сейчас js и css перенесли в папку с компонентом, а его шаблон используется через {component ...}

Единственное, что надо изучить — так это jquery виджеты, но можно их и не использовать, а писать js модули в том же стиле какой был раньше.
avatar
Так уж сложилось, что тенденции идут к тому, что бОльшая часть рынка работает на готовые решения для обычных пользователей. Для разработчиков есть фреймворки, ну и конечно синтаксис языка :)

И на этом этапе у меня есть вопросы — новый livestreet будет CMS или фреймворком?
avatar
Наш вождь поставил ориентацию на CMS.
avatar
Создаем новый велосипед, который будет отличен и от 1-й версии, и 2-ой.

Логично все это будет, если вы имете какую-то базу (свой/чужой сайт, относительно стабильный рабочий проект) и от нее отталкиваетесь. Делаете и себе, и косвенно для других, проверяя и оттачивая сделанное «тестерами» лайвстрита, и т.д/т.п.
В обратном случае непонятно, что будет заставлять вас постоянно заниматься кодом/создавать абсолютно новый продукт, имеющий с лс общее — только одно название.
avatar
Создаем новый велосипед, который будет отличен и от 1-й версии, и 2-ой.

Так пока вроде отличия серьезного от 2-й версии не планируется, просто перемещение существующих вещей в другие места.
avatar
просто перемещение
Это все образно. Новый продукт, новая структура.

В любом случае что-то полезное из него можно будет использовать в своем 1,0,3. Поддерживаем начинания.
avatar
Это усложняет работу по фронтэнду.

Почему усложнит? Фронт работы останется прежним с тем лишь различием, что файлы будут разбросаны по плагинам ядра. Как по мне, так даже проще будет в том плане, что работа разобьется по логическим кускам — сделал одно, переходи к другому. А если нужен минимальный функционал, так и еще лучше — не нужно будет перелопачивать все, достаточно будет сделать необходимое.
avatar
Если не будет обратной совместимости с 1.0.3/1.0.4 — это тупик. Красивые обещания по новому фреймворку приглушаются опытом сообщества по 2.0, который не был поддержан владельцами сайтов и, следовательно, авторами плагинов.
Тег «обратная совместимость» (с последнего успешного сохранения) или есть у проекта, или проект не взлетит.
avatar
Всрались (извиняюсь) вам эти совместимости. Новый продукт дает новые возможности. Рубить на корню и двигаться вперед!
© Альтернативная точка зрения.
avatar
согласна по поводу «обратной совместимости».
avatar
Не знаю, как на это посмотрит Максим, но я предлагаю взять за аксиому, что ЛС это блого-движок / блого CMS. Как некоторые любят говорить «в стиле Хабр». Движок ЛС предназначен для определенных целей, задач.

Проведу параллель: Не стоит лепить кастом велосипед из легкового автомобиля (лэндинг, хотя это возможно), не стоит лепить и грузовой автомобиль (интернет-магазин).

Для каждой задачи есть свои инструменты, которые оптимально заточены по определенные задачи и аудиторию.

Как вариант, возможно стоит сделать «новый движок» основанные на ЛС и заточенный под определенные задачи. Что-то вроде как Linux Mint, которые отпочковался и был основан на Ubuntu. Например, если есть спрос на лэндинги, сделайте продукт для лэндингов. Чтобы клиент взял коробочную версию, установил/зарегистрировался легко и начал пользоваться, наполнять.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.