Всерьёз занявшись разработкой проекта с использованием BlueBream я столкнулся с одним существенным неудобством. В конфигурационном файле приложения необходимо было подключить конфигурации всех компонентов, которые я использую. Под словом "всех" я понимаю не только те компоненты функционал которых я использую непосредственно, но и те от которых зависят первые. А это уже не менее сотни компонентов и уследить за ними всеми не так просто - очень легко допустить ошибку. Ну и сам факт того, что один и тот же пакет надо подключать к проекту в двух местах (в setup.py и configure.zcml) тоже увеличивает шанс появления ошибок.
Мысли, идеи, удачи и провалы. Всё что можно забыть, но надо вспомнить потом. То, чем не жалко поделиться с другими.
понедельник, 11 апреля 2011 г.
пятница, 18 февраля 2011 г.
Buildout-рецепт для создания Django проекта
На днях опубликовал в "сырной лавке" свой buildout-рецепт для создания Django проекта - cykooz.djangorecipe. Рецепт основан на коде давно не обновляющегося рецепта от Jeroen Vloothuis - djangorecipe.
Ярлыки:
django,
python,
recipe,
zc.buildout
понедельник, 14 февраля 2011 г.
Напутствие для начинающих изучать BlueBream
Для меня в своё время наиболее сложным в изучении Zope3 (BB) было перейти на другой способ абстракции, который предоставляется базовым и вездесущим для ZCA паттерном "Адаптер". Около года я в вялотекущем режиме переваривал мануалы, изучал примеры и пытался, что то делать сам, но с трудом понимал - как все те кусочки, из которых состоит Zope3 и описаны в книге Филиппа, объединить в один работающий сайт.
вторник, 5 октября 2010 г.
Установка gevent в FreeBSD
Один из моих сайтов на Zope2 использует в качестве WSGI сервера стандартный сервер из Paste. Я решил заменить его на более быстрый вариант - gevent.
Только вот незадача - setup.py из пакета gevent написан без учёта особеностей FreeBSD. В результате инсталятор не находил libevent, который необходим для компиляции расширеня для питона. Кроме того, setup.py содержал в себе вызов функции, которая пересобирала С-расширение в случае изменения исходников. При этом происходил прямой вызов компилятора cython, который в FreeBSD не доступен как системная команда (расположен в другой папке), и у обычных пользователей даже нету прав на его вызов.
Единственное подходящее в моём случае решение - пропатчить setup.py.
Написал о косяке в русскую группу gevent, надеюсь мой патч примут.
Только вот незадача - setup.py из пакета gevent написан без учёта особеностей FreeBSD. В результате инсталятор не находил libevent, который необходим для компиляции расширеня для питона. Кроме того, setup.py содержал в себе вызов функции, которая пересобирала С-расширение в случае изменения исходников. При этом происходил прямой вызов компилятора cython, который в FreeBSD не доступен как системная команда (расположен в другой папке), и у обычных пользователей даже нету прав на его вызов.
Единственное подходящее в моём случае решение - пропатчить setup.py.
Написал о косяке в русскую группу gevent, надеюсь мой патч примут.
четверг, 9 сентября 2010 г.
Делаем из Plone 4 сервер CAS
Идея центрального сервиса авторизации (CAS) интересует меня довольно давно - с тех пор как я начал задумываться о том, как сделать удобнее авторизацию пользователей на нашем интернет-портале, состоящем из нескольких сайтов.
вторник, 17 февраля 2009 г.
Перспективы Zope3 в современном мире?
Каждому необходимо знать, что он делает всё правильно. Важно верить,
что выбранный путь является верным и обязательно приведёт к успеху. Но
когда огромная масса людей повернула в другую сторону и с радостным
видом несётся на всех парусах вперёд, начинаешь чувствовать себя
дураком, когда ты решился забираться по бездорожью в гору. При этом
вершину этой горы уже несколько лет скрывают непроглядные тучи, и ты
незнаешь что тебя ждёт наверху - награда или кучка камней.
что выбранный путь является верным и обязательно приведёт к успеху. Но
когда огромная масса людей повернула в другую сторону и с радостным
видом несётся на всех парусах вперёд, начинаешь чувствовать себя
дураком, когда ты решился забираться по бездорожью в гору. При этом
вершину этой горы уже несколько лет скрывают непроглядные тучи, и ты
незнаешь что тебя ждёт наверху - награда или кучка камней.
Ярлыки:
zope3
среда, 8 октября 2008 г.
Особености работы IntIds при создании объекта "сайт".
Вот решил тут перейти от теории к практике и написать небольшую CMS-ку. Написал скин использующий z3c.layer.pagelett. Написал объект "Сайт". Сделал форму для его добавления используя z3c.forms. Естественно любой сайт должен содержать стандартный набор утилит, которые надо в нём создать и зарегистрировать. И первая из этих утилит это генератор уникальных числовых идентификаторов для объектов сайта - IntIds. Эта утилита обрабатывает событие добавления объекта в контейнер, тем самым регистрируя добавленный объект. Вот тут я и натолкнулся на мистику.
Подписаться на:
Сообщения (Atom)