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

В uploads, как и раньше, содержаться все загруженные пользователем файлы, в основном изображения.
В application файлы приложения, т.е. функционал блогового движка. Содержание такое:

Здесь стоит обратить внимание, что все шаблоны, скрипты и языковые текстовки лежат в одном каталоге frontend. Файлы кроны вынесли из include в новый каталог utilities, что более логично. Еще одно полезное нововведение, это объединение всех временных файлов (файлы кеша, кеш js/css, компиленные шаблоны Smarty) в один каталог tmp. Изменения коснулись и языковых файлов, теперь каталог с текстовками называется i18n, а сами языковые файлы в виде двухбуквенных кодов, например, ru.php. В /application/config/config.php теперь содержаться настройки только приложения, настроек системных модулей (фреймворка) там нет.
Фреймворк мы вынесли в отдельный каталог framework и в отдельный репозиторий github.com/livestreet/livestreet-framework

Здесь стоит обратить внимание на каталог frontend, в нем находится полноценный fronend-framework, на базе которого создаются шаблоны LS.
Основная конфигурация путей в конфиге теперь выглядит так:
Дополнительно во фреймворке определяется константа с версией:
Основную структуру мы уже «зафиксировали», но перед релизом возможны незначительные изменения.
За ходом работы вы всегда можете следить на гитхабе — github.com/livestreet/
Начнем с новой файловой структуры движка.
Главное, что сделали — это ввели жесткое разделение между файлами приложения и файлами фреймворка. В итоге в корне получилось всего три каталога:

В uploads, как и раньше, содержаться все загруженные пользователем файлы, в основном изображения.
В application файлы приложения, т.е. функционал блогового движка. Содержание такое:

Здесь стоит обратить внимание, что все шаблоны, скрипты и языковые текстовки лежат в одном каталоге frontend. Файлы кроны вынесли из include в новый каталог utilities, что более логично. Еще одно полезное нововведение, это объединение всех временных файлов (файлы кеша, кеш js/css, компиленные шаблоны Smarty) в один каталог tmp. Изменения коснулись и языковых файлов, теперь каталог с текстовками называется i18n, а сами языковые файлы в виде двухбуквенных кодов, например, ru.php. В /application/config/config.php теперь содержаться настройки только приложения, настроек системных модулей (фреймворка) там нет.
Фреймворк мы вынесли в отдельный каталог framework и в отдельный репозиторий github.com/livestreet/livestreet-framework

Здесь стоит обратить внимание на каталог frontend, в нем находится полноценный fronend-framework, на базе которого создаются шаблоны LS.
Основная конфигурация путей в конфиге теперь выглядит так:
/** * Настройки путей * Основные */ $config['path']['root']['server']=dirname(dirname(dirname(__FILE__))); // Из расчета, что каталог с фреймворком лежит в корне сайта, иначе нужно переопределить настройку в конфиге /application/config/config.php $config['path']['root']['web']=isset($_SERVER['HTTP_HOST']) ? 'http://'.$_SERVER['HTTP_HOST'] : null; $config['path']['application']['server']='___path.root.server___/application'; $config['path']['application']['web']='___path.root.web___/application'; $config['path']['framework']['server']=dirname(dirname(__FILE__)); $config['path']['framework']['web']='___path.root.web___/'.trim(str_replace(dirname(dirname(dirname(__FILE__))),'',$config['path']['framework']['server']),'/\\'); // Подставляет название каталога в котором фреймворк, относительно корня сайта. Необходимо переопределить при изменении расположения фреймворка. /** * Производные */ $config['path']['application']['plugins']['server']='___path.application.server___/plugins'; $config['path']['application']['plugins']['web']='___path.application.web___/plugins'; $config['path']['framework']['libs_vendor']['server']='___path.framework.server___/libs/vendor'; $config['path']['framework']['libs_vendor']['web']='___path.framework.web___/libs/vendor'; $config['path']['framework']['libs_application']['server']='___path.framework.server___/libs/application'; $config['path']['framework']['libs_application']['web']='___path.framework.web___/libs/application'; $config['path']['framework']['frontend']['web']='___path.framework.web___/frontend/framework'; $config['path']['skin']['web']='___path.application.web___/frontend/skin/___view.skin___'; $config['path']['skin']['assets']['web']='___path.skin.web___/assets'; $config['path']['uploads']['base']='/uploads'; $config['path']['uploads']['images']='___path.uploads.base___/images'; $config['path']['tmp']['server']='___path.application.server___/tmp';
Дополнительно во фреймворке определяется константа с версией:
define('LS_VERSION_FRAMEWORK','2.0.0.dev');
Основную структуру мы уже «зафиксировали», но перед релизом возможны незначительные изменения.
За ходом работы вы всегда можете следить на гитхабе — github.com/livestreet/
132 комментария
2. Сразу хотелось бы попросить поправить под новую структуру папок плагин автокомплита для шторма.
3. Спасибо за новую версию :)
2. здесь проблема не в структуре, т.к. у меня работает на phpStorm 5, разбираемся с этим
выложим в ближайшее время
Готов принять участие в разработке админке если необходимо.
Подробнее будет сообщено в топиках, касающихся релиза.
Я очень хорошо понмю плачь ярославны от людей с 0.5.1. И знаю кучу сайтов котороые на старых ветках по сей день. И, поверьте, совсем не потому что им лень переходить или им не нравится новая версия. СТрого потому что перейди — слишком дорого.
Серьёзный не молодой сайт обросший специфическими плагинами и доработками — нужно очень большие резоны иметь чтобы дорогостоящий переход на новую версию начинать.
Мы начали чуть больше года назад с версии 1.0.1. Но я точно скажу что у нас по крайне мере два больших и важных для нас плагина используются, которые больше не поддерживаются. Но они работают прекрасно и нас устраивает. Т.е. переход означает не просто пере адаптацию шаблона. Нам придётся не просто адаптировать плагины которые мы разрабатывали сами — тут то ладно, сами писали — сами допилим. Нам придётся искать замену целым пластам функционала, или заказывать.
А у нас всего-то 16 плагинов, всё просто :) А люди сайты имеют где плагинов 40+.
К тому же, у нас например целый ряд изменений непосредственно в коде движка. Да, часть внесена была на начальных этапах внедрения по неопытности, но вторая часть — баг фиксы либо изменения которые по другому было не вделать. Я, очень хорошо помню как весело нам дался переход с 1.0.1 на 1.0.2 по этой причине. А это же был апгрейд минорной версии.
Думаете мы такие одни кто движок ковырял? :)
Вообще понятие обратной совместимости оно не от балды людьми придумано, знаете ли.
livestreet.ru/blog/dev_livestreet/16499.html#comment266084
застояться чтобы не потерять обратную совместимость или рости. Я бы выбрал второе.
Но да ладно, пусть это мы такие криворукие и это наш косяк. Проблему потерянных плагинов и шаблонов это не решит. Напомнить вам сколько прикольных плагинов не пережили появление версии 1.0.x? — можно легко оценить в каталоге.
но во многих бесплтаных CMS такая фигня :) заглянитика в жумлу сколько там крутых плагинов остались на 15 и так и не вышли в 25 и дальше
Так, что да — надо считать, стоит ли овчинка выделки. Движок сайта надо менять не ради того, чтобы просто идти «в ногу со временем», нужны более серьезные основания, да.
Дополню, что новая версия имеет более продвинутый подход к структуре и отделению «мух от котлет», а так же избавление от некоторых детских болезней, что потенциально может сделать переход на следующие версии менее болезненным.
1. Устарнение уязвимостей и/или существенно улучшение производительности — это реальные причины перехода на 1.0.3 сболее старых версий.
2. Новая интересная функциональность
3. Факт того что вы жутко хотите плагин/шаблон который не поддерживается в более старых версиях — а это общая практика, никто не разрабатывает новые плагины и шаблоны под старые версии.
Вообщем, причин весомых хватает.
Например н
а второй и третий пункт относится именно к тому, насколько новые вкусности прибавят вам радости по сравнению с геморроем перехода. Да, переход на эту версию будет более болезненный, чем с 0.5.1 на 1.х, но оно того стоит — мне кажется дальше всё должно быть более «плавно».
Встроенные в 1.0.3 и которые не были пофиксены в 0.5.1?
есть развитие — больно его внедрять.
как же так? в любом случае плохо?
нужно радоваться. как минимум новые проекты смогу стартовать с более широким функционалом.
Так, что лучше уж переделать как лучше, чем плодить эти костыли. Конечно с учетом предыдущего опыта и с заделом на будущее. На мой взгляд.
1.0 всегда была стабильной и отлично работала, если нужно было сделать проект без всех новинок и который в будущем вряд ли бы развивался — это 1.0.
А все новое добавляли в 2.5. Затем 2.5 стал стабильным релизом а 3.х стал тестовым. Может быть разработчиками LS тоже стоит позаимствовать удачный опыт у зарубежных коллег?
а то мой таск так и игнорируется :) в гите, да и вообще эта тема игнорируется в этом сообществе разработчиками LS
и это не выход, если не переносить на новые версии jquery, то шаблоны так и останутся от него зависимыми и когда исключат этот плагин их нужно будет снова переделывать. так что лучше все сделать за 1 раз.
шаблоны все все нужно будет переделывать с НУЛЯ? я правильно вас понял или не туда меня унесло?
с другой стороны не понятно зачем так менять структуру шаблона, вполне жизнеспособная такая структура…
хотя они обещают блочную систему, с которой я давно знаком через питон проекты, да и мне мои питон-кодеры говорят что ЛС все больше и больше напоминает ДЖанго, так то да хорошо, но так то оно плохо, все уже давно взрослые мальчики и давно надо с позиционироваться себя.
Например, как поступают взрослые девочки например в WP и Joomla, когда выпускается новая линейка 20 или 30, не кто не забывает про старую версию, она так же по чутьчуть развивается параллельно в том плане, что в ней допиливаются баги пишутся какие то миграторы на новую линейку, в том понимание хочешь переходи, хочешь не переходи твое право…
все конечно понимают, что старая линейка из себя не чего нового уже не выжмет, НО про нее не забывают наФИГ… в ЛС стоит понимать, что у команды девелоперов, не так много сил, как в этих многоденежных цмс… и им при всем своем конечно же желании, всем не угодиш
очень много разных проблем с шаблонами, которые все во так просто взять и не вспомнить. адаптации плагинов, например, под шаблоны.
А новый tinyMce как раз требует min jQuery 1.9
а выхода потому что нету, вкладывать силы и терпения и поиск разработчиков и опять вкладывать деньги в переделку проекта :) у меня вот был план целый год вкладываться в проект, теперь он на самоокупаемости, и дал себе слово в него больше часа в неделю не вкладывать, так и делаю…
а с такими обновлениями движка :) надо иметь кучу времени и средств чтобы обновлять проект, так он не когда не окупится :) если это не супер крутой проект
открытый проект не подразумевает под собой потакание пользователем, пользователи его не покупают, он предоставляется им как есть
в данном случае потеряв может быть какое то доверие единиц все окупится в будушем, поэтому все правильным чередом идет.
если бы была платная подписка каждый год на поддержку — возможно, набралось бы людей, которые вели каждую ветку самостоятельно.
А когда я покупаю Битрикс, то правообладатели безусловно имеют долю в моём проекте? Видимо вы погорячились или мысль не очень хорошо изложили.
вас же не смущает что, например, в лс переписывались полностью жс файлы, а альто потом просто брала и копировала их по-тихому в свою ветку (уже после того как «отделилась») в больших и долгих коммитах с комментариями «рефакторинг»? никто же в топиках про нововведения в альто не сообщал что кроме проделанной ими работы они снова включили часть кода из лс? нет. но убрать ссылку «based on LiveStreet CMS» они успели в последних коммитах…
Это было с самого начала, есть и сейчас, никто это не удалял и удалять не собирается. Разумеется, если код будет оставаться без особых изменений, а не будет переписан практически полностью, как в некоторых компонентах. Хотя и не удивлюсь, если PSNet потребует копирайтов на названия переменных или файлов. Уж очень неровно он дышит в нашу сторону
Конечно. Ведь ЛС требует этого. Если альто полностью построен на лс, значит должен наследовать условия лицензии.
как и говорил в комментарии на гите (которые ты по-быстрому удалял) — копирайты — одни из первых изменений, которые вносились в альто.
но, как упомянул выше — лс требует ссылки, а ты просто «сам себе хозяин» удалил её. она же в комментариях к коду есть, этого достаточно.
переписанных или написанных с нуля? в первом случае — это рефакторинг и все равно тот же код.
я не люблю вранье, на котором выстроилась альто. «дружественный форк, который поможет развитию лс»? если бы ты с самого начала сказал что это маленький бизнес — вопросов не было бы. а так — создать по-быстрому ветку на волне недовольства, когда Максим был по уши занят оформлением юр. лица для каталога т.к. этого требовало развитие и не мог уделять времени движку и сообщить при этом что «мы поможем развитию лс» — это лицемерие.
знаешь карикатуру про «есть 10 несовершенных стандартов, плохо совместимых один один с другим»? так вот, ты создал 11-й…
Альто основан на ЛС и использует коды из: ЛС, Smarty, Jevix, phpMailer и т.д., и т.п. Все это коды на открытых лицензиях — GPL, MIT, BSD. Если какая-то из этих лицензий нарушена — указывай конкретно, а не высасывай из пальца свои придумки.
Объяснял тебе тогда и сейчас повторю: гитхаб — это для кода. Есть замечания по коду — пиши. А детский сад разводить там не нужно
Есть написанные с нуля (но ты их, разумеется, не видишь, ибо тебе оформление комментов важнее, чем код). А есть те, что полностью переписаны, т.е. старого кода там практически нет.
Тут я, наверное, заплакать должен? Ну совсем уж откровенную хрень писать не нужно, тем более человеку, который и создавал, и покупал, и продвал компании — оформление (если полностью сам) это два-три рабочих дня. Если через юриста — два-три часа в общей сложности.
А утверждать, что я такое говорил — откровенное вранью и очередной вброс на вентилятор
помогает — ты какие-то тз, документацию или строение архитектуры пишешь по тому, как это нужно делать или ещё что-то?
ты не знаешь что лс требует ссылки внизу?
там по коду замечания и были, но ты же их удалил и теперь можно сказать что там стихи маяковского печатались.
практически? он либо есть либо нет. странное обьяснение «старого кода почти не осталось поэтому я позволю себе не выполнять требований старого разработчика».
разработчики будут боятся писать что-либо под альто с такими инновациями когда их код могут взять и использовать как хотят, потому что был добавлен новый код и кода предыдущего разработчика практически не осталось, значит можно игнорировать все его замечания.
ем:
Врешь. Там было в духе «а-яй-яй что за безобразие»
Нет, конечно, если считать использованные буквы — то да, буквы использовались те же самые, из английского алфавита. Ах, еще названия методов нередко остались. Для тебя, видимо, это важнее, чем сам код? Выше я предполагал, что ты копирайты на названия методов можешь повесить — ты сейчас к этому ведешь?
И вообще — не надоело? Когда-то ты славился хорошими аналитическими статьями по коду, находил уязвимости и просто узкие места в коде. А сейчас смыслом жизни стало пинание Альто? Причем, заметь — Максу ты оказываешь этим медвежью услугу, т.к. чем чаще (или наглее) пинаешь, тем больше вероятность, что приду я, и расскажу, что все это — троллинг и провокация. Но Максу обсуждения про Альто (даже в негативном ключе) — совсем не в дугу.
Поэтому давай либо предельно конкретно высказывай претензии, либо лучше промолчи. Не мне этот срач вредит больше всего.
аргументы заканчиваются?..
нет, ни в коем случае. Просто мне не нравиться частично его код, полностью не нравится то, как он непрокомментирован и план развития альто (его торможение в попытках совместимости с лс), я писал уже об этом (что ему нужно было отделятся от лс).
брехня. я написал факты в комментарии, который стал отправной точкой: у лс была раньше модифицирована структура каталогов, альто копировал файлы из дев-вертки лс в свою, никак это не комментируя и альто убрал активную ссылку на сайт лс, которую лс требовал.
где здесь тролинг и провокация — ума не приложу. казалось бы — что можно было прокомментировать? хорошо, что ты хоть признался и не стал отрицать этих фактов.
как могу *пардон*. почему ты думаешь о вреде для лс?
livestreetcms.ru/download/
прикидываемся шлангом?..
1) «Проект» не может распространяться под GPL, под этой лицензией может распространяться только программное обеспечение. Поэтому считаем, что именно код ЛС распространяется под этой лицензией.
2) Во всех исходных файлах, где действительно используется код ЛС, на это явно указывается в комментариях, как того и требует лицензия GPL — имя, сайт, мыло, все данные, которые Максим указывал в своих файлах.
3) Второе предложение является полным бредом, потому что вообще не понятно, о чем это. Это дополнительное условие к официальному тексту GPL? Но тогда это еже НЕ GPL-лицензия, а производная от него. Или все ж движок на GPL-лицензии? Тогда это доп.условие — всего лишь хотелка, выходящая за рамки лицензии.
Дополнительным условием — чего? «Распространения проекта»? Так мы не не занимаемся и не собираемся заниматься «распространением проекта Livestreet». Кстати этим не занимаются и те, кто создают сайты на ЛС (и уж тем более те, кто делает их на Альто). Так что получается, что это ни для нас, ни для них, а вообще непонятно для кого и для чего этот пункт.
И тебя почему-то не смущает, что в ЛС нет ни одной активной ссылки на полтора десятка чужих разработок, там используются, а один только jQuery по объему вложенного труда превосходит ЛС не то что в разы — на порядки. Про то, что весь механизм автонаследования классов в плагинах, на котором сейчас ВСЕ плагины для ЛС пишутся, была придумана и реализована мной — ты об этом, конечно же, случайно забыл. И про то, что нужно делать шаблоны с наследованием — про это написан не один топик, здесь на ЛС (конечно, если не выпилили их, как некоторые другие мои топики).
Сергей, я тебе не раз уже говорил: есть претензии — пиши открыто и развернуто, в чем они заключаются. А то троллишь исподтишка, в расчете на людей неопытных и не владеющих информацией.
И начал-то ведь хорошо, что дальше случилось? Обратная совместимость для проекта, который ещё не вышел? зачем? вот:
ты же знаешь что не получится за двумя зайцами? создал, а потом загнал в яму проект. я даже писал некоторые комментарии, но вместо вытягивания здравого смысла из них, ты «оборонялся».
и что, трудно было написать, что была захвачена часть кода из дев-ветки лс? доверие, знаешь ли. помимо прочего, есть ещё люди которые смотрят коммиты и способны к анализу. и таких не мало.
но ни одна из этих разработок не требует ссылок.
не забыл. но причем здесь это? ты требовал ссылки?
это совсем не так. вот ты признался что да, таки вливания кода из дев-ветки лс были в альто, но раньше об этом нигде не говорил и не писал. то, выходит что наоборот — я информирую людей?..
ты на каждый комментарий «обороняешься», пробуй проще. те же жс файлы — Денис их очень долго переписывал, оптимизировал, а они приехали в альто голым кодом (без копирайтов и любой другой идентификации авторства). и если кто посмотрит код их в альто, то даже не узнает кто реальный автор того кода.
И да, была идея и в будущих версиях эту совместимость поддерживать. Но в какой-то момент стало ясно, что в ЛС изменения столь кардинальны, что смысла в этом нет.
Мы получаем очень разные отзывы, иногда очень резкие и нелицеприятные, но содержащие конструктивную критику. И они очень внимательно изучаются и делаются выводы. Твои же комменты относительно Альто — почти всегда троллинг. Ты даже на сайте нашем начал с того, что зарегал кучу клонов и стал накручивать себе рейтинг. Поэтому вытаскивать из такой кучи здавый смысл — занятие тухлое. Много раз говорил (и предлагал тебе лично) — есть конструктивные замечания, а не соплежуйство — пиши. А троллить не надо.
Вот опять твой излюбленный приемчик — и в лужу умудрился пукнуть, чтоб брызги в нужную сторону полетели, и вроде ничо такого особенного не сказал. Но ты прекрасно знаешь, что никаких копирайтов не удалялось. Зачем врать так нагло?
И влезу в разговор, мне вообще не нравится архитектура LS, по мне она не правильная, и я уверен на 100% что там куча лишнего кода.
А если критически смотреть на сам движок LS, то он хуже чем форумный движок esotalk, по технологии esotalk превосходит LS в разы, только шаблон сделать такой же и все.
это мое личное мнение. тут каждый комментарий любого — его личное мнение.
и возможно, что альто закроют т.к. не перспективно и Вадим займется альтернативными источниками энергии? что за выдумки?
на данный момент альто не беспокоится за свою безопасность — они недавно добавили обработку изображений. стал ждать когда же будет заметен очевидный факт заполнения места на диске
(несколько лет назад я написал подобную архитектуру для обработки изображений т.к. проект требовал разбор очень большого потока фото в разных размерах, на основе правил. поэтому я имел опыт в этом деле). когда кто-то сообщил об этом баге, то Вадим просто ответил «либо используйте как есть либо отключайте». вот такая безопасность. это шокировало.
вы лично помогаете стать движку лучше?
Все люди меняются, я помню когда то давно сидел тут, вы помогали почти всем подряд, писали плагины за бесплатно(просто так) а сейчас все изменилось.
возможно закроется, я тут не поспорю, но Вадим явно много времени и денег вбухал в проект, еще и на конференцию какую то ходил по CMS там он представлял LS и AltoCMS разве не так? эта была не польза? там до сих пор логотип Livestreet стоит а по идее должно стоять AltoCMS cmsconf.ru/
можно на ты я не против. Лично я не помогаю движку стать лучше, но если что то хочу сделать, могу найти ошибки, и соответственно я выкладываю их тут.
P.S. Польза есть от каждого человека, не важно что он делает и как он это делает.
и что? он по своему желанию туда пошел и хотел позже представить именно альто, но ему орги не дали это сделать (менять установленный формат почти перед самой конфой). пиар ему нужен был. пора бы видеть дальше своего участка.
да ну.
Не важно пиар это был или нет, если бы он не пошел, LS там в помине не было бы.
Чем чаше человек видит тем интересней ему.
Надеюсь так вам понятно.
Бесплатный проект, Максим никого не втягивал за уши.
ты же разработчик и сразу этого не понял?
Всегда ждал когда же ты про это спросишь. Ну так нужно и дорассказать зачем это было сделано, зачем были с одного айпи созданы клоны, ползок на самый вверх в списке людей? Потому что в лс с этим проблемы: у людей существуют клоны, они голосуют пачками и никакого автомодерируемого сообщества почти не получается. Кому-то под хвост что-то попадет — он пойдет голосовать пачкой. Максим об этом знает, но не особо фиксирует нарушение клонов. И поэтому первое что я сделал на голом сайте альто — пошел создал клонов, накрутил рейтинг и стал ждать. Реакция порадовала — всех убрали, рейтинг вернули, значит «милиция» там работает и срачей там можно не боятся.
я не сказал что они удалялись, их не было (Денис забыл поставить). но они приехали в альто и понимаешь как это выглядит: люди смотрят коммиты альто и даже не понимают что там может быть код дев-ветки из лс. и думают что это так альто старается, развивается.
тут идея в том, что если ты так любишь менять копирайты — мог бы добавить их сам. такие, как в 173 файлах…
В чем претензия?
Как долго ты думал что жс файлы обеспечат совместимость? Неужели не понятно что «совместимость» альто с лс будет ровно до выхода новой версии лс. ты же сам загнал альто в пещеру.
абзац с заголовком «лс — ничто, я молодец и другие разработчики». Давайте тогда начнем мусолить тему что все говно кроме С-языков, до поры, пока подтянутся асм-разработчики.
пардон, если бы ты не выделил слово «ВСЕ», я бы пропустил, но ты так пишешь как будто это большая такая часть без которой ну не было бы ничего. твой механизм автонаследования — это цепочка алиасов классов на автозагрузке. Идея хорошая, да, но не настолько чтобы говорить «ВСЕ плагины для ЛС пишутся» на ней, далеко не все и не на ней прямо. твои заслуги несомненны, но почему-то такое ощущение что ты прямо весь лс сам написал.
продолжаем: написан, вот только в лс это уже сделано, а в альто этого и на горизонте не видно. Написан топик? Да. Создан альто потому что ты хотел внести правки которые лс не делал? Да. Так почему в альто с самого начала было внесено не то идеологическое, за что ты боролся и чего не было в лс, а платный плагин типов топиков? Это не идеология, это просто быстрое привлечение пользователей на плюшки. Поэтому не стоит говорить, что альто делал новшества т.к. если бы это было так, что первыми изменениями было то, что ты описывал в топиках и что приводишь в пример.
Вот так целый абзац твоего комментария — вода, потому что факты не вяжутся с тем, за что ты боролся.
Потому как по таким комментариям видно что не все люди понимают что не смотря на отсутствия движения на этом сайте ort двигает дело вперед.
по теме — очень все ждем новой информации, 2014 обещает быть очень продуктивным.
Теперь это так:
/application
/bootstrap
/framework
/uploads