Ну, и что дальше? — спросите вы. А дальше — Alto CMS v.2.0

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

Я выбираю второй подход. Ключевые изменения в новой версии будут такие:
  • Отказ от поддержки совместимости со старым Лайвстритом (на всякий случай отмечу — поддержки с новым ЛС даже и не намечается, его никогда не будет), удаление кучи старого кода, который станет не нужным из-за этого.
  • Новая организация папок, конфигурационных файлов, одновременная работа с несколькими базами
  • Поддержка Composer и обновление всех используемых библиотек, как на бекенде, так и на фронтенде
  • С точки зрения фронтенда — поддержка «плиточного» размещения контента в «коробочных» шаблонах
Совместимость со старыми плагинами, в большинстве своем, тоже сломается. Но пытаться как-то ускориться с гирями на ногах — это невозможно в принципе.

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

Похожие статьи


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

+3
Даты?
0
Дело в том, что приходится выбирать — пилить новые фичи на том же коде, что есть сейчас, или сначала обновить кодовую базу, и на ней уже реализовывать новый функционал.
Очень сомневаюсь, что что то получится:( Данный проект загнется также как и LS потому, что люди не будут ждать годами обновлений. А начинать все с переписывания ядра, и соответственно плагинов и шаблонов — попытка заново продать существующие плагины и шаблоны для уже новой версии. Думаю затраты на разработку не окупятся. Не проще ли развивать то, что уже есть?
0
>заново продать существующие плагины и шаблоны для уже новой версии
Это исключительно вопрос доброй воли разработчика...обновлять плагин или повторно продавать его...
0
в некоторых нишах, альто альтернативы я не нашел. а по поводу окупаемости все зависит от маркетологов — ели найдут грамотный подход, то все очень быстро окупиться. Для примера по поводу окупаемости — я сейчас делаю сообщество легкоходов, так вот сейчас готовность проекта 40% — а производители снаряжения и магазины уже готовы платить)) поэтому все зависит от маркетологов))
0
На самом деле, при кажущемся затишье, происходит очень много всего разного. Почему? Да потому что Альто нужен самому Вадиму — он на Альто все делает. Я давала ссылку на picture.plus — это наш стартап, сделанный, разумеется, на Альто. И это не самый слабый, с технологической стороны, сервис.

Потом, Вадим много экспериментирует, часть этих экспериментов не завершена, но придумаем, как довести до ума, ресурсов на все не хватает(это не оправдание). https://skidki.market не завершен, сразу скажу, это такой модный тренд, витрина+блог(блог для seo хорошо). Но это еще не все фишки конкретно этого проекта. Но раньше времени не буду говорить.

Есть и еще новое и интересное, Вадим будет выкладывать и обновлять, но на это тоже нужно время ((((
Для себя мы Альто не списали — АльтОрнативы нет )))))
Отредактирован:
+4
Не секрет, что на разработку нужны средства. Не только для авторов CMS, но и для привлечения в работу над системой программистов, верстальщиков, дизайнеров, контент менеджеров, пиар менеджеров, блогеров и т.д.

Для этого необходимы инвесторы и краудфандинг, который нужно организовывать не только локально на AltoCMS, но и на крупных площадках таких как серч, cmsmagazine, тематические каналы youtube, группы в соцсетях и т.д.

Чтобы добиться успеха в сборе средств нужно наглядно показать пользователям, что они получат в конечном итоге — скриншоты, инфографика, видео, etc.

В краудфандинге шаблона Experience я задействовала свои аккаунты на некоторых популярных ресурсах веб мастеров. Рисовала инфографику, скриншоты, публиковала посты и анонсы. И у нас получилось! Благодаря разработчикам Alto — Вадиму и Андрею, всем неравнодушным пользователям Альто, а так же людям, которые заинтересовались проектом после анонса.

Но без денежных вливаний выйти на ранок крупных игроков таких как drupal, wordpress, joomla и т.д. достаточно сложно. У Alto есть потенциал, т.к. систем для построения web 2.0 сообществ не так уж и много.

При этом грамотный маркетинг едва ли не важнее внутреннего устройства CMS.
0
полностью согласен — маркетинг рулит всегда!
+1
>нужны средства. Не только для авторов CMS, но и для привлечения в работу над системой программистов, верстальщиков, дизайнеров, контент менеджеров, пиар менеджеров, блогеров и т.д.

Ничего не получится. Потому что в этом списке отсутствует единственный, действительно важный персонаж. Руководитель проекта.
Автор может не быть руководителем проекта. автор написал код. выложил — и пошел заниматься своими делами. А как там проект развивается, как там он набирает сообщество- а трава не расти :)
Специально привлеченный программист — не обязан понимать проект в целостности. Он пишет маленький кусочек кода — и счастлив.
Верстальщик — тут вообще все..мда.. творчески...
Дизайнер.. даже программировать может не уметь...
Контент менеджер.. пиар менеджер...блоггеры...
Кстати там еще копирайтер бывает... :)
Вобщем в этом списке нет человека, который бы понимал проект в целостности, имел волю и возможность его развивать. Без такого человека все усилия отданы на волю случая. И как правило — энтропия побеждает.
Вот как-то так....
Отредактирован:
+1
Кстати там еще копирайтер бывает
Обычно этим занимается контент менеджер и в случае если не справляется, то нанимает копирайтеров со стороны.

Речь о том, что если собрать некоторую сумму, люди занимающиеся разработкой, могут вкладывать гораздо больше ресурсов и времени в работу над системой.

Что касается проджект менеджера, думаю тут вариантов немного...
+6
Даты?
В черновом варианте планирую в паблик выложить в конце этой недели. Но сколько времени уйдет на доводку, багфиксы и проч., трудно спрогнозировать

Не проще ли развивать то, что уже есть?
Приведу пример, правда, понятен он будет лишь тем, кто немного в коде разбирается. Как сейчас происходит добавление в базу или обновление записи какой-то сущности? А так: пишется SQL-запрос, где явно перечисляются все добавляемые или обновляемые поля. Если в каком-то плагине возникает необходимость свое поле к сущности добавить, то для того, чтоб в процессе работы сущности нормально добавлялись/обнавлялись — вот тут начинаются танцы с бубнами и костылями, кто-то через хуки это делает, кто-то методы и SQL-запросы переписывает, иные еще как-то изгаляются. А потом начинаются несовместимости плагинов, плагинов с движком новой версии, проблемы обновления и все такое. Не поленился, посмотрел, как в ЛС 2.х сейчас это решается — а все так же, как был этот гемор, так и остался.

Нормально это? Нет! Можно убить этот гемор и всем разработчиками хорошо сделать? Элементарно! Но! Вот только одно это улучшение сразу ломает совместимость со многими плагинами и старыми версиями напрочь. И все равно встает этот выбор — либо продолжать плясать по старым граблям, либо избавиться от них, но и от старых плагинов тоже.

И таких вот узких мест в движке — полно! Я уж не говорю о том, что 100%-ной совместимости со старыми ЛС-плагинами все равно уже не получается добиться — что-то работает, а что-то нет. А поддерживать эту самую совместимость становится все сложнее и сложнее. И в какой-то момент, рано или поздно все равно придется бросить этот «чемодан без ручки», набитый милым и привычным, но устаревшим барахлом. Так, может, лучше сделать это сейчас?

Я понимаю, что люди не будут годами ждать обновлений. Ну, ок, если они найдут что-то лучше — значит, так тому и быть. Значит буду продолжать пилить Альто для себя. И для того числа людей, кому движок интересен, сколько бы их ни было.
+1
Я тут как уже пять лет молчаливый, но идейный, имею несколько вопросов:
1. Возможно ли будет безболезненно оформить свои нестандартные допилы двигла из форка первой версии во вторую версию и далее в жирный пулл-реквест нового проекта? Или это будет принципиально новая кодовая база (божечки, пусть это только она и будет) со своими новыми болячками?
2. Насколько лучше/круче/оптимизированнее новый движок? Или это будут старые грабли под новым соусом?
3. Отвал старых модулей не страшен в принципе, миграция кастомных сборок на новые рельсы матёрых прогеров никогда не пугала. С другой стороны, в анонсе нет никакой технической информации кроме «мы всё переписали». Что там будет под капотом? К чему нам готовиться, Вадим?
4. Ну и последнее, если вы реально причесали кодовую базу и сделали проект менее запутанным, я бы вписался в дальнейшую разработку. Иначе придётся форкать и переносить всё на свежую Лару или причёсывать под актуальную Симфони.
Отредактирован:
+4
Тут аккурат подошел бы статус из ВК «Всё сложно» ))) Вопросы понимаю, но не знаю, как ответить на них максимально конкретно.

1. «Возможно ли...?» — надо смотреть, что за допилы и как они вписываются в движок
2. «Насколько лучше/круче/оптимизированнее...?» — да, лучше, но в чем мерить?
3. «Что будет под капотом?» — для начала все то же, но с обновленными сторонними библиотеками, со значительно уменьшенной массой легаси кода
4. А вот на реально или нет вообще не знаю как ответить. Разумеется, буду только приветствовать, если кто-то впишется в разработку. Но вот вписываются ли ближайшие изменения в чужое понимание «хорошо/плохо» — этого я не знаю.

Вообще, кардинальный способ реально одним махом сделать все правильно — это начать с чистого листа. При этом взять за основу какую-то готовую кодовую базу (Лару, Симфони, Уии2, может, даже ПхПикси, либо что-то более низкоуровневое — например, классы от Ауры, или вообще Слим какой-нибудь, в общем, выбор широк) — и уже на этом наворачивать, чего хочется. И можно даже плюсы дополнительные получить, вызвав интерес у уже сложившегося сообщества выбранного фреймворка (о! цмс на нашем любимом фреймворке!). Но я не готов к такому кардинальному шагу. Мне такое предлагали уже несколько раз, но каждый раз подразумевалось, что мне расскажут, как надо правильно делать, а реализовывать я это буду сам. Но у меня не так много свободного времени, чтоб я мог один это все потянуть, и не так много свободных денег, чтоб под это дело кого-то нанять.

Поэтому мой план иной — сначала выбросить то, что уже точно не нужно (ту же пресловутую ЛС-совместимость). Потом, сохраняя концепцию построения движка, заменять отдельные компоненты более современными разработками. Например, сохраняя нынешнюю гибкость роутинга и настройку его через конфиги, собственно сам роутинг построить на Aura.Router.

В общем, давайте так: я выкачу на днях драфт новой версии, а там будет видно — либо «фу, все плохо, я ухожу», либо «а ничо так, из этого может что-то получиться, предлагаю то-то и то-то»
0
>кардинальный способ реально одним махом сделать все правильно — это начать с чистого листа

С этой,или с подобной мысли, начинается любой (читай — каждый) проект. Никто не начинает проект с мысли — делаем «все неправильно». В текущем проекте выбрана монолитная ООП архитектура. Это не Эрланг и не микросервисы. Это значит, что вне зависимости от MVC там или не MVC — нельзя просто так взять и заменить кусок функционального кода.

А это значит, что по мере накопления раздраженности от «нельзя просто так взять и сделать иначе"- будет возникать желание опять все начать с чистого листа.

Конечно будет грустно если в новой версии не будут работать старые плагины. Но похоже это судьба любых проектов. Кроме вордпресса. :) Им как-то удается сохранять совместимость. „Написано раз — работает в любой версии“...
0
Да пес с ней, с совместимостью. Зачем вообще писать заново ядро и практически весь функционал с нуля? Потом все это дело будет возможно обрастать плагинами, шаблонами и ... возможно новыми проблемами. В какой то момент захочется создать 3-ю версию, которая будет лишена недостатков 2-й версии и т.д. до бесконечности:) У меня предложение к авторам проекта — начните создавать такой движок на фреймворке Laravel. Такая идея может выстрелить, потому как подобных проектов opensource я не встречал да и платных один только в природе crea8social. Ведь вы продвинутые в программировании люди, зачем писать свой велосипед если сейчас огромная популярность у LARAVEL. Если вы начнете создавать движок на нем — я уверен, что это привлечет внимание и разработчиков и просто пользователей. Интерес к Laravel в последнее время огромен и он набирает обороты. Мое мнение — будет очень круто если вы создадите проект на этом фреймворке и я думаю у проекта будет успех и большая аудитория учитывая какой интерес сейчас к Laravel. У кого какие мнения ребята?
+1
Оно и так начиналось с фреймворка, уж не упомню с какого именно.
Если сейчас брать, то в разумные сроки можно уложиться в миграцию кодовой базы на Symfony но никак не на Laravel. А уж тем более меня в Ларе бесят процедура миграций БД и его отбитый на всю голову RBAC. Короче, я за более чистый code-first подход.
Отредактирован:
0
Оно начиналось с форка Livestreet... http://livestreet.ru/blog/addons/14906.html
+1
Не-не-не, сам лайвстрит на каком-то движке ещё был собран.
+3
Да, что-то такое было, Макс начинал с каким-то напарником, а потом отпочковался в ЛС. Это особо не афишировалось, как в истории с Альто, но было. Но исходный движок был что-то еще более стихийным и бессистемным, чем ЛС.

Но вот смотрите, парни — вас двое, но уже один топит за Лару, другой за Симфони. Это наглядный пример, того, что какой бы вариант не был выбран, все равно он кого-то разочарует и у этого варианта будут противники. Переписывать ядро вообще с нуля — такого ни в мыслях, ни в планах нет. Чисто в теории, в принципе, вариант переписывания с нуля я готов рассматривать, но при двух условиях:
1) Нужно какое-то более аргументированное обоснование. Не потому что «это круто и популярно», а как-то более сухо и безэмоционально — «раз..., два..., три...»
2) Человек не просто аргументирует, но и берет на себя определенный объем работ, вот буквально: «зуб даю, что сделаю то-то и то-то при миграции на такой фреймворк».

Не обещаю, что обязательно соглашусь ядро Альто переводить на сторонний фреймворк, но без этих двух критериев даже рассматривать такой вариант не стану. Я уже не раз говорил, что Альто мне нужен самому, и пусть он будет не идеальный, но рабочий, чем классно спроектированный, но дохлый.
+1
По поводу моей неприязни к Ларе — это чисто субъективное мнение и понимание её болячек. Я лично не буду категорически против неё, просто некоторые болячки в процессе разработки доставляют попаболь, да как и в любом фреймворке.
Я топлю не за какой-то конкретный фреймворк, а за грамотную организацию кода и избавление от насточертевшего легаси с техническим долгом. На чём оно соберётся — это уже совершенно десятое дело, лишь бы было хоть какое-то подобие MVC.
И, да, для меня сейчас Альто — рабочий инструмент, на котором мы поднимаем региональную площадку (пытаемся) и у меня есть шкурный интерес в развитии платформы.
Отредактирован:
+1
Бигстрит )))) был такой движок когда-то.
0
Не-не-не, сам лайвстрит на каком-то движке ещё был собран.
Symfony
0
Это какой-то совсем бородатый Симфони потому что сейчас он выглядит совершенно по-другому (я начинал знакомиться с ним с версии 2.4)
0
Мне кажется использование Laravel придаст жизнеспособность и обеспечит развитие проекта на большое время вперед. Большое количество людей интересуется, изучает и применяет его в своих проектах. А тут такая возможность — социальная сеть на этом фреймворке... Будет полно людей, которые разбираются в программировании и захотят участвовать в создании расширений для движка, будет полно людей, которые изучают фреймворк и которые захотят создавать проекты на этом движке. Это конечно не 100% что я сказал и так и будет, но это мое предположение и твердое убеждение. Хотя бы потому, что подобного не существует на Laravel в природе, такого проекта нет. Все остальное — переписывание и улучшение, избавление от костылей и пусть даже самая крутая модернизация кода ничего не изменят. Посмотрите на сайт Livestreet, вышла версия 2.0.1 и что? Проект мертв. Кое кто изредка заходит, что то пишут.... но это конец, по всем признакам проекту кирдык:( И автору тоже все пофиг:( В принципе альто не далеко ушло от LS в этом плане и не намного лучше обстоят дела. В этих самописных проектах что LS, что Alto хорошо разбираются создатели ядра и с десяток программистов единомышленников, которые заинтересованы в написании плагинов. Верстальщики и дизайнеры тоже кое что создадут... несколько шаблонов. Конечно любой, хорошо разбирающийся в программировании сможет вникнуть в код, разобраться и что то сделать под себя или для других. Вопрос в том — много ли таких? Я думаю единицы. LS — живое подтверждение этому.
Конечно Вадиму решать что и как делать... Ну я высказал свое мнение. Quiz вот не одобряет. Но я говорю, что два проекта фактически загнулись и реанимировать их прической кода вряд ли получится. Как то так.
Отредактирован:
0
Да с чего бы я не одобрял? Одобряю, конечно же. И выбор платформы должен остаться на совести основоположника проекта. Просто все сейчас топят за Лару и я высказал своё мнение — это не самый идеальный фреймворк. Что Вадим выберет, то и выберет, а мы уже будем подстраиваться. Мне не влом и под Лару адаптироваться, хотя я её не очень-то и люблю. Но всё лучше, чем есть сейчас.
Отредактирован:
+3
Ребята! Секрет успеха CMS лежит не в том насколько чистый код из которого она состоит и не от того насколько крутой фреймворк на котором она построена. Лишь два фактора влияют на популярность CMS:

1. Фукциональность
2. Простота использования

А на каком фреймворке или какой код у Wordpress или DLE обычных пользователей (которых большинство) не волнует совсем.
0
Ну а функциональность — откуда берут?
От разработчиков. Обычный пользователь ведь код не пишет. Он берет то что есть и компонует как сумеет.
Нет разработчиков- нет функциональности.
А чтобы были разработчики — нужно чтобы писать под нее было удобно/выгодно/перспективно.
И получается что функциональность и простота использования- тесно связаны с тем как воспринимают код разработчики.
Если например разработчик не понимает внутренностей программы — он вряд ли захочет связываться с ней.
+1
А чтобы были разработчики — нужно чтобы писать под нее было удобно/выгодно/перспективно.
Безусловно. Речь о том, что попытка создать «идеальный код» или выбор «идеального фреймворка» ни к чему не приведет. Конечной целью любого продукта должно быть удобство и функциональность для пользователя. Потому, что залог успеха — это пользователи и чем их больше тем успешнее продукт — CMS, автомобиль, телефон и т.д. Мы уже видели систему «не для всех» — livestreet. С одной стороны это делает ее более выгодной для разработчиков с финансовой точки зрения, а сдругой такой продукт становится уязвимым в силу небольшого комьюнити.

В любом случае это пространные рассуждения. Существуют живые примеры, того как системы с далеко не идеальным кодом становятся успешными. Рекомендую почитать https://habrahabr.ru/post/251257/
+1
Вордпресс не драл бабло с несчастного десятка пользователей. А лайвстрит был задуман ради этого.
В Вордпресс плагины работают на любой старшей версии, без рассуждений о вредности легаси кода. Если у вас есть плагин — вы уверены что с обновлением версии движка- он у вас останется рабочим.
И много еще существенных различий генезиса между живым примером и бигстрит и потомками...
0
Согласна, каждое новое обновление с отсутствием совместимости — это обнуление комьюнити. Решение этого вопроса раз и навсегда на порядок превзойдет все улучшения по кодовой базе и логике вместе взятые.
+1
По поводу Вордпресса — это не совсем так, конечно. Одно время прилично так довелось с сайтами на нем ковыряться, так поверьте — до фига там было проблем совместимости и плагинов с версиями движка, и плагинов друг с другом, и с шаблонами. Другое дело, что там этих плагинов и шаблонов немерянно, и если с каким-то возникают проблемы, то, как правило, можно альтернативу найти. Но в целом не так радужно там, проблем хватает
+2
Давайте я еще раз попробую объяснить.

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

А чтобы были разработчики — нужно чтобы писать под нее было удобно/выгодно/перспективно.
С этим хрен поспоришь. Но если танцевать «от печки» (то бишь, от «удобно»), то, значит, нужно разбирать вполне конкретные недостатки архитектуры Альто, и предлагать решения, как их исправить. И возможно (подчеркиваю — ВОЗМОЖНО, но не наверняка) может оказаться, что большинство решений базируется на использовании тех или иных классов/библиотек из какого-то популярного фреймворка. И тогда уже вполне естественным образом встает вопрос о переезде на этот фреймворк целиком. Вот такой подход мне кажется вполне логичным. А все остальное — это как-то за уши притянутое и надежда на маленькое волшебство.

Я, кстати, не раз пытался заводить дискуссии относительно тех или иных решений, но как-то не очень они получались. В основном, все сводилось к тому, что «та сделай, а мы посмотрим, что у тебя получится». Не, я не обижаюсь нисколько, просто констатирую.

В общем, резюмирую — я считаю, что портировать CMS на сторонний фреймворк имеет смысл только при следующих условиях:
1) Будет совершенно четко понятно, какие именно болячки Альто и каким способом будут вылечены.
2) Будет кто-то еще, кроме вашего покорного слуги, кто готов будет пилить код, а не ждать готового результата

Пока же я продолжаю улучшать движок теми путями, что описал в топике
+2
Есть тут желающие переписывать с нуля Альто на какой-то иной фреймворк? Нет?
Есть. Но в данном случае ты босс, ты и решай. Я со своей стороны постараюсь подключиться к разработке какое бы решение не было принято.
Опять же, где я уже где-то писал — у меня шкурный интерес. Если сейчас тот портальчик, что мы пилим, взлетит — вопрос о развитии функционала движка превратится в насущную необходимость.
+2
Так в том-то и цимус, что у меня тоже интерес сугубо шкурный — мне нужен пусть далекий от идеала, но реально работающий движок. Но у меня слишком много уже накопилось всяческих наработок в виде плагинов, аддонов и просто хардкодных костылей, которые я сейчас хочу перенести уже в движок, а то сам иногда путаюсь, где что как реализовано
+1
Кстати, о Ларавел — вот что мне у них нравится, так это их Eloquent ORM. Какое-то время ходил кругами вокруг него, но так и не придумал, как это в Альто ввинтить, не круша всей архитектуры. А было б весьма неплохо, ИМХО.

Что касается перевода прям всего движка — вот как-то не вижу в этом реальной необходимости (кроме чисто маркетингового хайпа). Но готов обсудить, если будут какие-то серьезные аргументы, а не просто «это круто и клево».
+1
Опустим все детали.. первичны информационный вакуум и это:
В черновом варианте планирую в паблик выложить в конце этой недели.
+2
Окей, подловил :) Никак не могу убить в себе перфекциониста. Завтра вечером выложу, как есть, хотя еще много чего хотел обновить
+3
Как известно, в аду перфекционистов нет пламени, смрада, криков истязуемых... Просто слегка щербатые котлы стоят слегка не по линии... :)
0
Вадим, подловил, это когда заинтересован чтобы похоронить, или хотя бы умыть...
У меня же к проекту Альто совсем другие чувства и планы.
+2
Да ладно, без обид )))
Но мне, кстати, очень интересно (и даже полезно) было бы узнать о чувствах и планах относительно Альто всех, кому этот проект не безразличен
0
в определенной нише — не заменимая CMS для сайтостроителей))) которые не очень разбираются в программировании! жаль что пока у меня не получается коммерческих проектов на ней сделать((
+1
жаль что пока у меня не получается коммерческих проектов на ней сделать
Главное — идея ;)
0
идеи есть, много не могу реализовать из-за нехватки времени, а иногда разработчика (ов) необходимого мне функционала.
0
На Ларе есть интересная CMS — octobercms. Предлагаю посмотреть в её сторону при определении фреймворка
0
Я правильно понимаю что это было предлоджение переписать альто на другом фреймворке?
Переписать CMS на другой фреймворк — это переписать 90% кода....от альто останется... что? морда и название? :)
0
здесь в этом обсуждении это уже предлагали, также в обсуждении упоминается такой путь развития alto, как один из возможных в перспективе
Отредактирован:
0
Ну что Вы... это не предложения на перспективу, а рассуждение «от противного».
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.