Alto CMS v.1.0 RС-4 - долгий путь к финальному релизу

Вообще-то, так, конечно, не делается — объявить Release Candidate (и даже не один) и вдруг затеять такие объемные доработки. Версия RC — это уже финишная прямая, с которой обычно не сворачивают. Но мы пошли против правил, и дали такой крюк, что мама не горюй. Но я уверен, что оно того стоило.

Результат — Alto CMS выйдет в релиз с собственным замечательным скином и новой системой шаблонов.
Современный адаптивный (основанный на Bootstrap 3) скин Start-kit с тремя цветовыми темами стал дефолтным шаблоном нашего движка. И не лишним, думаю, будет напомнить, что дизайн подготовила Alyona, а в основу верстки легли наработки Владимира (aka vOFFka), спасибо им обоим большое!

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

Понимаю прекрасно, что кто-то, возможно, ожидал от этой версии большего, да и у меня хотелок, которые еще не реализованы, выше крыши. Но надо уметь остановиться. Уже сейчас формируется «лист желаний» для версии 1.1. Скажу больше — постепенно вырисовываются контуры и версии 2.0.

Но это планы на будущее. А сейчас стоит задача выпустить стабильный релиз 1.0, и потом двинемся дальше.

Скачать можно здесь: https://github.com/altocms/altocms/releases/tag/1.0-rc4

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

  • Вышла версия Alto CMS v.1.0.8
    Релиз версии 1.0.8 слегка затянулся, но таки состоялся. И, несомненно, значительную роль в его подготовке сыграл andreyv, который в последнее время активно занимался багфиксом и приближал дату релиза не по дням, а по ...
  • Alto CMS версия 1.0. Финал!
    Да, этот день настал. Сегодня я объявляю о финальном релизе версии 1.0 нашей CMS. Я говорю «нашей», имея ввиду все наше сообщество, всех тех, кто помогал словом и делом, кто тестировал и советовал, критиковал и...
  • Alto CMS v.1.0 Release Candidate
    Думаю, мы уже вплотную подошли к стабильному релизу. Спасибо всем, кто помог выявить и исправить ошибки. Со времени выхода второй бета-версии (кроме исправления ошибок) было выполнено несколько доработок. Наиболее...
  • Релиз Alto CMS 1.0-beta
    Вот и вышла бета-версия. Много писать не буду, по сравнению с альфа-версией, о которой писалось здесь, чего-то принципиально нового в функционал не добавилось. Не потому, что нечего (ой, как много чего еще нужно и...

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

0
Спасибо, Вадим, за апдейт. Приятно слышать что планируются и последующие версии, и тем более есть роадмап. Так что думаю мы (я то точно) дождемся пока финальная версия 1.0 не станет дейтсвительно финальной. Когда примерно вы планируете релиз?
+2
Фиксим последние обнаруженные баги — и релиз
0
Я наивно ожидал релиз еще в январе\феврале :D

Крайне полезной была бы опция отключения автоматической подписки на комментарии созданного топика.

Желание прошерстить админку на ошибки не отпало, сейчас займусь и накидаю issues на гите.
+1
Я наивно ожидал релиз еще в январе\феврале :D
Не поверите — я тоже )))

Крайне полезной была бы опция отключения автоматической подписки на комментарии созданного топика.
Возможно, имеет смысл при создании топика «галку» такую показывать
0
Возможно, имеет смысл при создании топика «галку» такую показывать
Вполне, только хотелось бы возможность иметь по умолчанию снятую галку. Сейчас особой разницы до или после создания топика нет, если нужно отключить — необходим клик, про который еще надо и не забыть.))

Прежде чем постить баг, хотелось бы уточнить, а то вдруг я ослеп — каким образом пользователей можно приглашать в закрытые и тайные блоги?
Отредактирован:
0
каким образом пользователей можно приглашать в закрытые и тайные блоги?
При просмотре блога в меню шапки блога «Администрировать», и в сайдбаре будет виджет для приглашения
0
Есть какие-нибудь ограничения насчет копирайтов?
+2
На счет шаблона говорили, что можешь делать что хочешь.
Но все же, я думаю стоит оставить, люди старались :]
Отредактирован:
0
У меня проблема при установке. Не проходит вторая ступень инсталляции — та, где нужно настроить базу данных. База создается, но на след. страницу не переходит, сколько не жми «Далее»
0
Удали папку «Install», и сайт будет уже установлен.
Если ты обновлялся — то пароли слетят.
Опыт из прошлого)
0
При установке подсунул базу от существующего сайта.
1. сразу появилась ошибка что нет шаблона который был на сайте, где он прописан так и не смог найти, пришлось поменять название шаблона Start Kit что бы запустить сайт.
(можно сделать проверку и если нет шаблона то запускать сайт с дефолтным шаблоном?)
2. не создались таблицы blog_type в результате чего не работает в админменю пункт Типы блогов а так же не могу прочитать ни один топик из-за той же ошибки.
При установке указал что необходимо конвертировать базу 0.9.7.1 в релиз версию.

Как правильно установить релиз версию на существующую базу что бы все работало?
0
Инструкция по миграции с 0.9.7 на 1.0 скоро будет
0
Буду ждать )
0
отличная работа. установилось без проблем. каких-то явных ошибок не видно.
0
Вроед как релиз близко. Только вот не понятно, что с миграцией 0.9.7.1 будет? По этому не ясность с миграцией, как то настораживает.
0
Сразу же назрел вопрос, будет ли текущий шаблон start-kit кардинально изменятся и можно ли уже на основе его приступать к разработке?
Не хотелось бы повторить свою ошибку, разработал сайт(если можно так назвать =) ) в январе — феврале на основе шаблона synio (если мне память не изменяет), и буквально через месяц выходит start-kit и все кардинально меняется, и теперь придется переходить на start-kit.
Отредактирован:
+1
1) Новая структура шаблонов сейчас окончательно «устаканилась» и в обозримом будущем меняться не будет.
2) Старые шаблоны тоже должны работать. Честно скажу, что глубоких тестов в этом плане не проводилось, но если будут вылезать какие-то проблемы с совместимостью — будем фиксить.

На мой взгляд, новая структура шаблонов стала гораздо понятнее и логичнее (собственно, для того и затевалась реструктуризация), поддерживать и развивать новые шаблоны будет проще. Но если есть желание запустить сайт на старом шаблоне — надо пробовать. Если что — пишите, будем разбираться.
+2
Вадим разбираться сейчас у меня и времени нет и сил, лето на дворе, легче будет перетянуть все на новый шаблон, просто хотел уточнить, пора ли мне начинать или стоит еще подождать. Если все пройдет хорошо, то выложу сайт, похвастаюсь =)
Да и вообще, спасибо вам, да и всем кто принимает участие в разработке alto, что вообще занимаетесь этим.
0
Не знал куда написать, но написал сюда.
Вопрос интересует следующий, сделал сайт в iFrame окне на другом сайте. В итоге, сайт который в iFrame — не прокручивается с помощью обычного пролистывания, приходится пользоваться навигацией по топикам, но это тоже не удобно, ведь в личном профиле нет этой навигации.
Нужно поправить, я думаю.
0
… не прокручивается с помощью обычного пролистывания...
Не понял — скроллбара нет? Или о чем-то ином речь?
0
Наличие отдельной от аватара фотографии может работать только в соц.сетях, но в блогах, как правило, нужны только аватары. Почему бы тем, кому «Фотографии» не нужны, не добавить опцию в админке, благодаря которому любая загруженная фотография автоматически становилась бы аватаром?
0
P.S.: Ну и, да, с шаблонами беда. Ничего кроме Start-Kit'а поставить невозможно, тут же возникает ошибка
Exception: Can not find the template "actions/index/action.index.index.tpl" in skin "НазваниеСкина"
которая не решается описанными на сайте способами.
0
Для поддержки старых шаблонов нужно активировать плагин Ls. Тщательно не тестировал, но активировал у себя сейчас этот плагин и бегло проверил несколько шаблонов — явных багов не обнаружил.
0
Увы, но даже активация плагина не спасает.
Иначе я бы не писал об этой проблеме.
0
Немного странно. Но, значит, нужна более конкретная информация — что за шаблон?
0
Пробовал сменить шаблон на Fortune, активировал плагин Ls, не помогло.

Exception: Can not find the template «menus/menu.main_pages.tpl» in skin «fortune» (from: actions/index/action.index.index.tpl; header.tpl; window_write.tpl; window_favourite_form_tags.tpl; header_top.tpl;
0
я думал, было бы не плохо, если бы добавили функцию для загрузки аватара при регистрации :]
Точнее при первом успешном входе на сайт :)
0
Заставлять не нужно, да и в принципе редко встречаются сайты с отсутствием аватаров.
0
Установил RC-4 с «нуля». Пытался прокомментировать свою же запись — «failed...». Может что не так делаю, а может свою запись вовсе нельзя комментировать?
0
В добавок: когда удаляется топик… или любой типа контента, «сопутствующие файлы» (загруженные картинки, файлы) после удаления продолжают занимать место на диске.
0
Есть некоторые проблемы с автоудалением, когда на один сайт вешается несколько алиасов, и контент активно редактируется с разных доменов. Поэтому автоудаление пока отключено
0
Будет ли публичный roadmap? Слышать про 2.0 мне вот не очень приятно — обычно это значит, что все старые плагины придется выбрасывать. Их ведь и так немного. Вру, их настолько мало, что это просто отпугивает.
0
Слышать про 2.0 мне вот не очень приятно — обычно это значит, что все старые плагины придется выбрасывать.
На основании чего сделаны подобные выводы?

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

Много-мало — понятия относительные. Вам не достает какого то функционала?
Мне недостает самого элементарного функционала: разметки opengraph (нужно для продвижения в соцсетях), поддержки oembed (для встраивания в сайт контента со сторонних сайтов), отложенной публикации постов, линейного представления для личной переписки, приложенных файлов с защитой от личеров. Это если не углубляться в специализацию сайта. Все это мне, скорее всего, придется разрабатывать с нуля.
0
Хм, Вас больше устроило бы, если б движок застыл в своем развитии?

Речь ведь не идет о том, что выпустив 1.0 сразу же возьмемся за 2.0. Разумеется, в течение какого-то времени будет развиваться ветка 1.х, улучшаясь, насыщаясь функционалом и т.д. Но надо же понимать, в какую сторону должно быть развитие. И рано или поздно количественные изменения должны будут перейти в качественные. Поэтому некоторые ключевые моменты того, что из себя будет представлять версия 2.0, формируются уже сейчас. И со временем, когда они будут более-менее четко сформулированы, то, конечно, они будут озвучены и вынесены на обсуждение.

… разметки opengraph...
Это не столько от движка зависит, сколько от шаблона. В новом Start-kit, может, и не в полной мере, но основные теги есть.

… поддержки oembed...
А много CMS поддерживают oEmbed? И многим ли сайтам, создаваемым на Alto нужен этот функционал из коробки? Я не знаю. Фишка классная, конечно, но, скорее всего, имеет смысл отдельным плагином ее реализовывать

… отложенной публикации постов...
О да, вот это действительно нужно, соглашусь, что этого остро не хватает.

линейного представления для личной переписки
А это чисто вопрос дизайна/шаблона. Авось, кто-нибудь и сделает такое когда-нибудь
0
Хм, Вас больше устроило бы, если б движок застыл в своем развитии?
Нет, ни в коем случае. Но как раз этого вы и добьетесь, если будете и дальше ломать обратную совместимость. Те же drupal, joomla, wp до упора поддерживают свои дико устаревшие ядра, потому что знают, что из-за сломавшихся плагинов новая версия потеряет больше возможностей, чем приобретет. Но что у вас, что у ls от версии к версии ломается чуть ли не все. Причем феерически ломается, простой пользователь после этого будет в панике. Это дорога в пропасть.

Это не столько от движка зависит, сколько от шаблона.
Ну так стоит вынести это из шаблона, чтобы перестало зависеть. Многие верстальщики даже не подозревают о существовании такого рода разметки. Кстати, наверное, стоит заменить логотип startkit на логотип системы, т.к. сразу после установки пользователь может решить, что система так и называется :P

А много CMS поддерживают oEmbed? И многим ли сайтам, создаваемым на Alto нужен этот функционал из коробки? Я не знаю. Фишка классная, конечно, но, скорее всего, имеет смысл отдельным плагином ее реализовывать
У большинства популярных систем есть такие плагины. А в wp оно так и вообще из коробки. В пользу такого плагина говорит то, что возможности тега <video> им полностью покрывается.

А это чисто вопрос дизайна/шаблона. Авось, кто-нибудь и сделает такое когда-нибудь
Ну, я все-таки говорю о том, что мне нужно, так что мне и делать, если не найду движок получше.
0
Но что у вас, что у ls от версии к версии ломается чуть ли не все
У ЛС это традиция, да :) Там даже каждая новая минорная версия несовместима с предыдущей. У Альто, конечно, релизов пока не так много, но с самого начала вопросам совместимости уделяется огромнейшее внимание (иногда мне это даже в упрек ставят, что слишком большое). У нашего движка есть принципиально иные механизмы расширения, нежели у стареньких WP и проч., поэтому есть возможность, развивая ядро движка, обеспечивать обратную совместимость.

Что из себя будет представлять 2.0, как там будет решаться проблема совместимости с веткой 1.х — об этом пока рано говорить. В нашей сфере так быстро все меняется…

Что касается других вопросов (oEmbed, og) — подумаю
0
У ЛС это традиция, да :)
Ну так что вижу — о том и пишу. А вижу я, что на RC4 мне пока не удалось найти ни одного рабочего плагина. Судя по тому, что вы говорили о новой системе шаблонов, рабочих шаблонов найти тоже не получится. На минуточку, форк существует уже больше года, и я уже не надеюсь, что дождусь хоть какой-нибудь стабильности.

Что касается других вопросов (oEmbed, og) — подумаю
Зачем? Это просто фичи, их может реализовать кто угодно. Вам бы сосредоточиться на ядре, которое все равно можете дорабатывать только вы.
0
Кстати, наверное, стоит заменить логотип startkit на логотип системы, т.к. сразу после установки пользователь может решить, что система так и называется :P
Следуя вашей логике, сразу после установки ls пользователь может подумать, что система называется YourSiteName. Я так понимаю под логотипом вы подразумеваете текст «startkit», который является всего лишь текстом и он конечно может быть «ALTOCMS», но логотипом не является.
поддержки oembed… мне, скорее всего, придется разрабатывать с нуля
У большинства популярных систем есть такие плагины.
Так может сделаете и выложите в каталог? Будет отличный плагин :)
линейного представления для личной переписки

Лучшая реализация личной переписки из коробки на сегодняшний день у ls/alto. Это одно из главных преимуществ, почему выбирают эти системы. Что касается линейного представления, трудно даже представить во что превратится несколько сотен моих сообщения если перевести их в линейный вид =)
отложенной публикации постов
Это одна из двух вещей, наряду с управлением файлами при редактировании поста, в которых есть острая необходимость. Добавлю только, что не хватает возможности указывать произвольную дату публикации поста — как прошлую(возможно только для администрации) так и будущую.
0
Следуя вашей логике, сразу после установки ls пользователь может подумать, что система называется YourSiteName. Я так понимаю под логотипом вы подразумеваете текст «startkit», который является всего лишь текстом и он конечно может быть «ALTOCMS», но логотипом не является.
Да, подразумеваю текстовый логотип «startkit». Нет, вне зависимости от намерения автора, это все равно логотип — он располагается на месте для логотипа (и обычно на этом месте ставится именно логотип системы) и имеет отдельную от остального сайта гарнитуру, как и положено логотипу. YourSiteName по обоим признакам логотипом не является — этот текст расположен на месте для названия сайта и имеет стандартную для веба гарнитуру.

Так может сделаете и выложите в каталог? Будет отличный плагин :)
Отличная идея! Может быть сделаю и выложу. Но вы его все равно использовать не сможете — к тому времени выйдет новая версия Alto, которая с ним уже не будет совместима.

Лучшая реализация личной переписки из коробки на сегодняшний день у ls/alto.
Лучшая для вас, не для меня. Я отвечал на вопрос о нужном мне функционале. По моему мнению, такая реализация хороша для обсуждений и мозговых штурмов, но совершенно не годится, когда надо договориться до чего-то конкретного, например, согласовать пункты в ТЗ: если в обычном линейном представлении можно подвести итог всему, что сказано выше, то с древовидным это не получится, так как новые замечания будут рассыпаться по отдельным веткам. Опять же, говорю за себя, у вас может быть на этот счет другое мнение.
0
Я тоже считаю, что личные переписки можно было бы сделать более удобнее, и понятнее. Пример, обычные диалоги FB и VK. Просто и красиво.
+1
и имеет отдельную от остального сайта гарнитуру, как и положено логотипу.

Гарнитура Roboto, та же что и на остальной части страницы.

Лучшая для вас, не для меня. Я отвечал на вопрос о нужном мне функционале.

Т.е достаточно просто выключить древовидную структуру сообщений?
0
Гарнитура Roboto, та же что и на остальной части страницы.
Действительно, не заметил. Тогда аргумент про гарнитуру снимается.

Т.е достаточно просто выключить древовидную структуру сообщений?
Не все так просто. Нужно, чтобы это делалось на уровне плагина, а не шаблона, иначе каждое обновление движка будет пыткой.
0
… отложенной публикации постов...
О да, вот это действительно нужно, соглашусь, что этого остро не хватает.
Оно в ядре нужно, или обязательно плагином? Если делать без завязки на cron (т.е. чтобы публиковалось все точно в срок), то нужно будет подправить модель топиков — не давать отображать топики, у которых дата создания ещё не наступила. Плагин такой будет очень хрупким.
0
Да в том-то и дело, что реализация многих, казалось бы простых и очевидных функций, на деле оказывается не такой простой. Во всяком случае, сложнее, чем, скажем, в том же Вордпрессе. И пример с отложенными постами это показывает: мало ведь просто добавить дату-время показа и по нему, надо еще и уведомления разослать, когда срок наступит. Делать это по крону? Значит, нужно еще крон-модуль написать, который будет дергаться по расписанию. А как быть тем, у кого нет возможности крон настроить? Нужно и для них некий механизм предусмотреть. В общем, длинная цепочка получается.

Но если задача стоит просто показывать/не показывать топики (без всяких уведомлений и прочих телодвижений), то это можно сделать и на уровне плагина. Благо даже поле соответствующее для топиков в базе предусмотрено
+1
И пример с отложенными постами это показывает: мало ведь просто добавить дату-время показа и по нему, надо еще и уведомления разослать, когда срок наступит.

По сути не будет работать только рассылка на email, на сомом сайте можно выводить уведомления в момент обращения пользователя к странице?

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

Думаю для базового функционала этого будет вполне достаточно.
+1
Здесь так: есть событие — публикация топика. И мы либо реагируем на него (шлем уведомления, показываем в ленте и т.д.), либо нет. А получит ли юзер уведомление на мыло, либо на сайте увидит — это уже дело десятое. Вот единого такого механизма «реагирования» на отложенные события в движке пока нет
+1
Да, с уведомлениями я как-то пропустил. Тогда проще всего, наверное, доработать крон до асинхронного запуска, чтобы с каждой отложенной публикацией пересчитывалось время до ближайшего события. Такая система может ещё много где пригодиться, так что скорее всего попробую так и сделать. Хотя я не смотрел, может оно так и работает :)

Но все-таки мне это кажется полумерами. Сейчас в движке некоторые вещи расширяются отлично (равноправие моделей/контроллеров между ядром и плагинами — очень хороший принцип), а другие прибиты даже не гвоздями, а шурупами: те же типы полей в постах зашиты в методы контроллера, и если встанет задача добавлять новые, то придется или делать copy/paste кода методов, что ставит крест на возможности расширения двумя и более плагинами плюс завязывает их на конкретную версию ядра, или, опять завязываясь на реализацию, окружать методы своим кодом.

Я знаю два решения этой проблемы: или до упора рефакторить эти методы, разбивая их на самые базовые единицы, которые потом можно будет переопределять наследованием и тем самым добиваться нужного поведения, или принимать от писателей плагинов патчи с добавлением новых хуков во всякие места, с доказательством их необходимости. Собственно, оба подхода я видел в деле в форумных движках — первый реализован в xenforo, второй (частично) в vbulletin. Считаю, если убрать побольше повторяющегося кода, чтобы хуков было разумное количество, вам подойдет как раз второй.
+1
Тогда проще всего, наверное, доработать крон до асинхронного запуска...
Идея «центрального крона» (т.е. некоего единого компонента, который должен дергаться каким-то образом и разруливать все отложенные события) высказывалась давно, еще в обсуждениях ЛС до рождения Альто. Но пока просто руки не дошли до него. И этот функционал, конечно же, должен быть в ядре, тут плагином не обойтись.

… а другие прибиты даже не гвоздями, а шурупами: те же типы полей...
Про кастомные поля — абсолютно верное замечание, переделывать нужно однозначно.

А какие еще вещи «шурупами прикручены»? Свежий незамыленный взгляд и конструктивная критика — это всегда полезно
Отредактирован:
+1
А какие еще вещи «шурупами прикручены»? Свежий незамыленный взгляд и конструктивная критика — это всегда полезно
Да я пока не разбирался особо — так, на что взгляд упал, о том и пишу. Я как-нибудь постараюсь изложить свои мысли обо всем этом в отдельном топике, раз уж вы не против. Система достаточно запутанная, скорее всего конструктив появится только в процессе изучения и реализации того, о чем говорил выше. Отложенная публикация мне нужна по-любому.

Кстати, мне льстит, что вы выслушали. Тот же ort, походу, забронзовел и развернул у себя банно-прачечный комбинат :)
+1
Я как-нибудь постараюсь изложить свои мысли обо всем этом в отдельном топике, раз уж вы не против
Не то что бы не против — я категорически ЗА!

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

Я понимаю, что движок еще очень далек от идеала, и какие-то недостатки сам вижу, а где-то, наверняка, глаз замыливается. Поэтому не устану повторять: приветствуется любая конструктивная критика, пожелания и предложения.
0
Иногда критика высказывается в не очень приятной форме
Сам такой критики не получал, но да, было бы неприятно. Исключение делаю для одинэсников и битриксойдов — у них спеси и глупости такие вагоны, что грех их не попинать :)

Потихоньку осваиваюсь с движком (и правлю баги — по-моему, далек он ещё от релиза), но очень не хватает информации.

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

От некоторых просто корежит:

Способ вызова методов хелперов через подчеркивание безнадежно ломает подсветку синтаксиса во всех ide.

Структура папок… таинственная. Без проводника в ней можно заблудиться и погибнуть.

Повсеместно используется DbSimple, хотя на всех хостингах уже давно поддерживается PDO (терпеть не могу Котерова, а сама библиотека у меня занимается откровенным вредительством, без мелкого патча на windows она тормозит движок почти на секунду).
0
Какие-то решения, скажем так, исторически сложились. Например, тот же вызов методов через подчеркивание. Да, в перспективе хотелось бы уйти от этого, и даже есть некоторые наработки:
altocms.ru/blog/339.html
altocms.ru/blog/extensions/374.html

Но на текущем этапе, считаю, есть более насущные задачи.

Структура папок…
Структура папок движка в целом: altocms.ru/blog/dev/418.html
Структура папок нового шаблона: altocms.ru/blog/skins/551.html

Повсеместно используется DbSimple, хотя на всех хостингах уже давно поддерживается PDO
Юзать PDO в чистом виде все равно не удобно, нужна обертка по любому (обработка ошибок, логгирование, разные DB, плейсхолдеры, выборки разных видов и т.д.). И DbSimple выполняет роль этой обертки. Причем, это давно уже не оригинальная котеровская библиотека, а, как бы, форк форка оригинала. Я думал о том, чтоб сменить библиотеку, но не смог подобрать что-то близкое по интерфейсу, а ломать совместимость напрочь не хотел.

По умолчанию подключение идет через mysqli, но можно и через PDO подключаться. Сейчас есть люди, которые работают с PostgresSQL, и уже немало замечаний было выдано относительно работы с этой базой. Если возьметесь оттестировать работу через PDO, будет здорово.

без мелкого патча на windows она тормозит движок почти на секунду
А что за патч? Только под Виндой он нужен?
+1
Да, в перспективе хотелось бы уйти от этого, и даже есть некоторые наработки
О, здорово. Рад, что не я один так думаю. Я бы сделал немного не так, как у них, добавив в базовые классы что-то типа такого (псевдокод, сильно упрощенный):

function __get($name) {
    $this->$name = $name::getInstance();
    return $this->$name;
}

Тогда первый вызов модуля станет просто дешевым (не будет кучи обработок строк), а остальные будут бесплатны (т.к. ссылка на модуль пропишется в переменную и __get повторно вызываться не будет). Насколько я понимаю, такое упрощение сэкономит тысячи вызовов функций на каждую страницу (в цифрах это прирост производительности где-то на 1/4). А для подсказок в ide там же прописать имена классов всех стандартных модулей через @var.

Кстати, переход на такую схему совсем не сложен, достаточно написать парсер, который перепишет все вызовы на новый синтаксис. Совместимость со старым можно оставить, тогда писатели модулей не пострадают.

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

Структура папок…
Почитаю, спасибо. Вообще, такие вещи стоит вынести в какой-нибудь faq. Ну или сделать что-то типа вики или вопросов-и-ответов.

Юзать PDO в чистом виде все равно не удобно, нужна обертка по любому
Вообще, неудобства вы преувеличиваете — напрямую база используется относительно мало (если искать строку «oDb->», найдется файлов на 300кб) и в абсолютном большинстве случаев это просто запросы с подстановкой. Кроме того, библиотека слабовата, и ей все равно нужна дополнительная обертка. Например, вот от таких «паттернов» явно надо избавляться:

isset($aFilter['id']) ? $aFilter['id'] : DBSIMPLE_SKIP,
isset($aFilter['email']) ? $aFilter['email'] : DBSIMPLE_SKIP,
isset($aFilter['password']) ? $aFilter['password'] : DBSIMPLE_SKIP,
isset($aFilter['ip_register']) ? $aFilter['ip_register'][0] : DBSIMPLE_SKIP,
isset($aFilter['ip_register']) ? $aFilter['ip_register'][1] : DBSIMPLE_SKIP,

Ну и, чисто теоретически, кэширование, профилирование и логирование запросов все-таки ближе к приложению, чем к сторонней библиотеке.

Думаю, вместо dbsimple нужно взять что-то типа zend_db, где простые select-ы реализованы методами. Подобные простыни кода тогда сократятся вдвое-втрое.

И еще, по-моему mapper-ы можно сделать удобнее и производительнее, если снабдить их описаниями таблиц: методы для CRUD тогда не нужно будет прописывать вручную, плагинами можно будет расширять таблицы, не боясь, что ядро потеряет какие-то поля, а если сделать двойную буферизацию полей, то в запросы на сохранение будут передаваться только измененные данные (сумбурно, постараюсь потом более развернуто объяснить идею).

А что за патч? Только под Виндой он нужен?
Да даже не патч, а хак. У Винды есть трудноуловимый баг, когда она лезет резолвить 'localhost' в интернет, причем делает это медленнее, чем обычно (у меня получалось полсекунды-секунда). Сейчас воспроизвести не могу, но с первой публичной версией движка я на него наткнулся — почему-то смена в конфиге 'localhost' на '127.0.0.1' не помогала — и я тупо прошил этот адрес в библиотеке, сразу после парсинга DSN. На Линуксе с этим не сталкивался ни разу.
0
Да я пока не разбирался особо — так, на что взгляд упал, о том и пишу. Я как-нибудь постараюсь изложить свои мысли обо всем этом в отдельном топике,

Было бы действительно интересно. Все, что конструктивно и обоснованно — принимается к сведению, и к обсуждению.
+1
Хотелось бы переустановить систему с нуля. Но при этом, нужно чтобы сохранилась информация.
Естественно нужно сделать бэкап БД, сохранить папку /uploads. Помимо этого, что ещё посоветуете? :)

upd. Уже не нуждаюсь в совете, не обратил внимания на личные сообщения, где получил совет.

спасибо aVadim за пояснение.

Идея такова, что конфигурация сайта должна выполняться через файл /app/config/config.local.php, файл /common/config/config.php трогать не нужно. Если в нем что-то меняли, то строки с этими изменениями нужно скопировать в /app/config/config.local.php

И вот тогда можно будет полностью перезаписывать весь движок без опаски. Сохранять (и восстанавливать после обновления) надо лишь папки /app и /common/plugins.
Отредактирован:
0
В шаблоне я заметил header-banner[1,2,3] — но почему, активный только один?
Или же это было сделано просто для разнообразия, захотел — поменял ?
+2
а) для разнообразия (захотел — поменял)
б) для того, чтоб можно было отключить виджет topbanner_image и включить виджет topbanner_slider здесь: common/templates/skin/start-kit/settings/config/widgets.php Тогда вместо статичного баннера будет автослайдер.
0
Вариант «б» — замечателен, спасибо ;)
0
О, в последнем обновлении появился долгожданный редактор комментариев, спасибо!

Очень интересует такой момент: при переключении на визуальный редактор, каким образом можно добавить тег «cut» в топик? Если просто написать, то он не срабатывает, а идет как текст.
Отредактирован:
0
Будет специальная кнопочка в редакторе. Честно говоря, забыл про нее
+1
Кстати, я тут просмотрел, загруженные изображения, хранятся в базе данных с абсолютными адресами, с прописанным доменом. Однако, в случае смены домена все изображения станут невалидны и придётся изменять всё вручную. Это довольно не удобно. Может изменить адреса на относительные? Во многих движках это так и есть.
0
aVadim, будете ждать окончания верстки Experience, или релиз без него будет? И когда же уже (по-доробму)??
0
Просто нужен мануал для переезда работающего проекта с 0.9.7.1 на 1.0.
0
да, присоединяюсь, мануал хотелось бы, ато в шаблоне столько всего переписывать, везде ошибки вылазят)
+1
Ждать окончания верстки Experience не буду. Релиз готовится независимо от него.

Мануал подготовлю на днях. И по нему сам же буду этот сайт переводить.

… ато в шаблоне столько всего переписывать...
Не, мануал по переезду — это одно, а перевод старого шаблона на новую структуру — это совсем другое. Старые шаблоны должны работать без особых проблем при включенном плагине Ls — это специально обученный плагин совместимости. Если вылезают ошибки при нем — пишите, не стесняйтесь
0
Старые шаблоны должны работать...
Например, шаблон «bootstrap» даже с плагином сразу не работает, сначала ему не нравятся прежний вид имён файлов и что они не в тех папках, когда их переименовываешь и переносишь, старые пути подключения файлов шаблона в самом коде тоже начинают ссылаться не туда, приходится искать и переписывать и их, потом выяснилось что $oType выдаёт ошибку и нужно писать $oContentType…
В общем хотелось бы хотябы узнать что именно поменялось чтоб уже знать что ковырять и переписывать) Надеюсь на мануал)
Отредактирован:
0
… сначала ему не нравятся прежний вид имён файлов и что они не в тех папках...
Сейчас один из проектов переносится на 1.0 с шаблоном Fortune. Это тоже шаблон старого типа, и там тоже были проблемы с путями и именованиями файлов. Но самая последняя версия плагина Ls (с гитхаба) с этим успешно справляется. Если что-то осталось еще «кривое», то мне надо знать точно, что и где.

Единственная вещь, которую не исправляет плагин совместимости, и которую надо руками исправить — это в двух файлах переменную $oType заменить на $oContentType. Вот эти файлы:
common/templates/skin/fortune/topic_topic.tpl
common/templates/skin/fortune/actions/ActionContent/add.tpl

А все остальное должно работать.

А так, если переводить весь шаблон на новую структуру, то, конечно, много всего надо ковырять. Возможно, проще будет взять тот же StartKit и на него уже натянуть свои стили и его под свои нужды допилить
0
Хорошо, спасибо за подсказки, буду думать)
0
Бегло просмотрел комментарии, но не нашел подобного, возможно это только у меня.
Поставил с нуля, версия v.1.0 RС-4.
OS CENTOS 6.
Теперь сама проблема:
Добавляю статьи, ставлю «выводить на главной». Но после публикации статьи не появляются на главной, так-же их нет в блогах к которым их публикую. Но в количестве статей в блоге они отображаются. Увидеть статьи можно только в ленте(сайт.ру/feed/).
Проходит время, приблизительно час, +-, и статьи появляются на главной и в блогах.
В чем может быть проблема?
0
У меня такая же проблема, тоже последнюю версию движка скачал и с 0-ля установил.
Отредактирован:
0
Похоже, корень проблем в том, что временнЫе зоны для php и mysql задаются разные. Т.е. дело тут в настройках серверных. Но я подумаю, как решить проблему
0
У меня проблема решилась после замены на новый файл Topic.mapper.class.php
0
Ещё 1 странная штука. Установил 1.0, потом решил переставить. Снёс все файлы движка с хостинга, залил оригиналы с архива. Удалил БД, создал новую. Однако, двиг пишет что он уже установлен и нужно удалить папку install, но без неё вообще ничего не работает. Несколько раз повторял, не могу понять как это и где хранится упоминание о завершении установки. Как ещё можно переустановить движок?
0
Всё, сори, вопрос закрыт. Просто с последнего шага установщик запускался, нужно было отмотать назад)
0

При попытке нажать на «Показать ещё фото», выскакивает ошибка.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.