Николай Ланец
18 апр. 2013 г., 14:07

Обновленная сборка для типовых сайтов-визиток. Версия 0.0.6

Выпустил обновленную сборку.
Обновил phpTemplates до версии 1.5.0, а так же изменил классы документов с phpTemplateResource на modDocument. Теперь статические php-шаблоны будут работать на любых документах.
Так же добавил еще один шаблон BaseTemplate Non-cached. Вот это направление уже требует очень внимательного изучения и четкого понимания. По умолчанию используется BaseTemplate, и вы должны четко понимать, что на закешированном документе этот php-шаблон-контроллер не будет вызван дважды. То есть этот как бы пре-компилляция. Если документ кешируемый (а он как правило кешируемый), то при первом обращении шаблон будет отработан, туда так же попадет контент страницы, все это дело соберется в конечный HTML с MODX-тегами и все запишется в кеш документа. При повторном обращении к документу у вас уже не будет вызван шаблон, а сразу возьмется конечный HTML из кеша страницы, и обработаются только некешируемые MODX-теги. Так что если вы уже начали использовать modxSmarty с включенным кешированием и использованием флага nocached в Smarty-тегах, то вам надо это все учитывать, и или переключаться на шаблон BaseTemplate Non-cached (чтобы шаблон выполнялся каждый раз), или переводить некешируемые элементы на MODX-теги. А если не начали еще, то можете пока забыть про все, что я здесь написал, и смело использовать BaseTemplate и ни о чем не париться, так как все будет работать так, как вы привыкли.
UPD: Обновил пакет. На modxcloud.com выявился неприятный баг: при переустановке или обновлении MODX-а восстанавливаются базовые политики безопасности (при чем сами шаблоны не восстанавливаются, а именно политики восстанавливаются (Access Policies)). В общем сделал копии политик (Site Administrator и Site Content editor) и настроил все на них. Теперь можно не бояться переустановки MODX-а.
При переходе по ссылке «Выпустил обновленную сборку» — Ошибка: Нет доступа Доступ не для всех? Нет, я не настаиваю, просто хотел взглянуть что там.
Да, доступ только для полноправных членов клуба.
Есть такое общечеловеческое понятие как «правила», и все уважающие своих посетителей ресурсы всегда объявляют правила пользования, посещения и т.п., в том числе клубные и иные. Опять же, это не претензия, а замечание.
Постараюсь набросать правила в ближайшее время. Надеюсь изложенные на сайте справочные материалы и возможность задать какие-то вопросы будут вам хоть какой-то компенсацией.
Я выскажу личное мнение относительно любых профессиональных сообществ, предоставляющих ограничение по доступу к ресурсам- если это обусловлено отсевом флуда и т.п. — то имеет право на жизнь. Однако во всех случаях разумно просто предоставлять платный доступ (например без права каких то действий, типа вип-зритель). Опыт некоторых ресурсов, например торрент трекеров, в предоставлении альтернативного платного доступа кроме активного участия в раздачах, весьма примечателен. Почему я это высказываю? Только потому что интерес к клубному доступу может возникать лишь при наличии осведомленности «что там за закрытыми дверьми? стоит ли оно того?» :)) Как говорится, с наилучшими пожеланиями.
Если вы хоть как-то следите за MODX-сообществом и MODX-технологиями в целом, то наверняка знаете, что лучше меня MODX знают во всем мире единицы. Мой уровень можете оценить по топикам здесь. Я администратор форума community.modx-cms.ru, я же делал его обновленную версию. В нашем клубе есть ТОПы из команды MODX, и тот, кто в клуб вступает и получает полный доступ, знает зачем это делает:-) Цели давать вам платный доступ сюда, у нас нет. Или вы полезен как специалист, и получите доступ бесплатно. Или можете продолжать бесплатно следить за клубом.
Я бы добавил в пакет еще: 1. MIGX. Не знаю, как кто, но это следующий компонент за Ace, который я ставлю. 2. ClientConfig. Удобно собрать на полочки необходимые переменные вроде адреса, телефонов и прочей фигни. 3. dateAgo.
MIGX — Зло, без возможности поиска и сортировки на уровне базы данных. ClientConfig — постольку/поскольку. Есть словари. dateAgo — вообще кроме как в блогах и социалках вряд ли где нужен. Так что эти три компонента вряд ли будут включены. Но вы можете накатить на эту сборку и снять снимок заготовки для себя.
1. MIGX вполне можно использовать для создания, например, таблиц или мини-галерей (что для «визитки» очень даже нужно). Более сложные задачи, где нужен поиск/сортировка и прочее, связанное с базой, перекладываю на migxdb. Знаний для написания CMP по каждому поводу у меня недостаточно, а MIGX в этом плане предоставляет возможность быстрого и довольно удобного создания CMP под локальную задачу. Плюс переносимость конфигов. 2. Словари есть. Я говорил о клиентах — посылать клиента для правки значений в словаре несколько пугает. 3. В общем, да. Но визитки часто содержат хоть и небольшие, но ленты новостей, где он мог бы пригодиться.
Но ключевые слова мои были «Я бы» :)
Но ключевые слова мои были «Я бы» :)
Ясно. У нас в наших проектах этих потребностей нет. Тем же CMPgenerator-ом модель сгенерировать — 5 минут.
Копаю сборку — чувствую, что изучить работу с CMPgenerator в очень далеких планах ;) но в остальном очень интересно.
Настройка политик доступа для менеджера, наступил чуть раньше на грабли (админ терял доступ к собственному сайту), но наконец то могу вникая посмотреть изучить. И сразу вопросы тогда — зачем в политиках 2-й Site Administrator — нельзя ли первому добавить новых значений, зачем несколько копий шаблонов политик доступа — с нулевыми разрешениями — ContextTemplate, Media Source AdminTemplate. Все еще обязательно прописывать группе Администраторов разрешения на разграниченные ресурсы, вроде там допиливали что-то для судо юзера?
Все не привыкну как оригинально модекс разгранчивает права — дал админу права mgr на technical pages — они исчезли из mgr в группе менеджеров)). Еще в Technical pages, под алиасом 401 ссылка на 403 ошибку в системных настройках, и как ее получить? на серваке nginx отдают свою стандартную «access denied». Пока вроде все))
И сразу вопросы тогда — зачем в политиках 2-й Site Administrator — нельзя ли первому добавить новых значений
Я в топике писал:
UPD: Обновил пакет. На modxcloud.com выявился неприятный баг: при переустановке или обновлении MODX-а восстанавливаются базовые политики безопасности (при чем сами шаблоны не восстанавливаются, а именно политики восстанавливаются (Access Policies)). В общем сделал копии политик (Site Administrator и Site Content editor) и настроил все на них. Теперь можно не бояться переустановки MODX-а.
То есть приходится с копиями работать, так как иначе при переустановке слетают настройки.
зачем несколько копий шаблонов политик доступа — с нулевыми разрешениями — ContextTemplate, Media Source AdminTemplate
Я не знаю в какой момент они обнулились, но вообще у ни должны быть свои настройки. Я это уже пофиксил, просто не выпускал новый релиз ради этой мелочи. В следующем релизе там будут значения.
вроде там допиливали что-то для судо юзера?
Для sudo все разрешено. Но не всем же дашь sudo, а есть и те политики, которых нет из коробки, к примеру Debug для плагина Debug и console для компонента Console:) Ааа, еще и для CMPGenerator тоже настройка есть.
Еще в Technical pages, под алиасом 401 ссылка на 403 ошибку в системных настройках
В русской версии перевода путаница с 401 и 403. У MODX-а есть базовые хендлеры только на 404 и 401.
$this->sendForward($this->getOption('unauthorized_page', $options, '401'), $options);
Ну теперь все понятно!) Огромное спасибо. Еще по-мелочи взялся настраивать и политики доступа менеджеров к источникам файлов, чтобы они в корне сайта не копошились. Вроде все получилось — Administrators с правами на Filesystem — Media Source Admin, ContentManagers с правами на Картинки — Media Source Admin — Однако менеджеры могут загружать, но не могут удалять файлы? Какая то фича?
upd: похоже все таки, какой-то баг tracker.modx.com/issues/6746, в таком случае легче просто дефолтный источник указать, думаю не будут особо лазить.
Надо учитывать главное правило в политиках безопасности MODX — «Если ничего не запрещено — можно все и всем. Если хоть для кого-то настроены политики, то все остальные лесом ходят, если им явно не даны права». В сборке 5 медиасурсов. В трех из них кроме администраторов и разработчиков делать нечего (вся файловая система, шаблоны и контроллеры). Потому на них даны права только админам. Если группе разработчиков надо будет дать права на медиасурсы, это уже сами добавите. Менеджерам кроме как в картинках и файлах делать нечего. Чтобы картинки в картинки закидывали, а файлы в файлы (хотя я допускаю с большой долей вероятности, что картинки так же будут загружаться и в файлы, а файлы в картинки :-)). Переименовывать и удалять файлы и картинки им совершенно ни к чему, иначе структура сайта будет под угрозой и SEO-шники повешаются.
не баг — отредактировал политику Site Content Editor, добавил возможность file_remove, file_update
Ага, а теперь попробуй это развернуть на http;//modxcloud.com и переустановить MODX. Базовые политики восстанавливаются.
Site Content Editor — это вроде модифицированный Content Editor не базовая же? накатил обновление на локалке, вроде как все работает
Да, все, что с приставкой Site — это модифицированное.

Добавить комментарий