четверг, 20 декабря 2012 г.

установка paster в buiildout

Для установки  добавляем в  секцию part ссылки на  секции zopeskel и  paster, и  добавляем  сами эти секции
parts = 
    instance
    zopepy
    i18ndude
    zopeskel
    test
    paster

[paster]
recipe = zc.recipe.egg
eggs =
   ZopeSkel
   PasteScript
   PasteDeploy
   zopeskel.dexterity
   ${instance:eggs}
entry-points = paster=paste.script.command:run
# create ZopeSkel command
[zopeskel]
unzip = true
recipe = zc.recipe.egg
eggs =
    ZopeSkel
    Paste
    PasteDeploy
    PasteScript
    zopeskel.dexterity
    ${instance:eggs}
entry-points = paster=paste.script.command:run

четверг, 8 ноября 2012 г.

Темы курсовых работ по дисциплине "Web-дизайн"

Все темы связаны с разработкой специальных редакторов для управления графами (семантическими сетями)

1. Доработка  редактора онтологий
     Редактор разработан на JavaScript. Необходимо  доработать дизайн редактора и реализовать некоторые уже имеющиеся функции с использованием AJAX.

2. Редактор задач пользователя
  Клиентская программа позволяет  определять задачи пользователя для проектирования сайта.  Описание задачи  формируются по специальному шаблону. После формулировки задача записывается на сервере в виде графа.

3. Редактор разметки динамической страницы. Определяется структура страницы в виде дерева. Каждому элементу страницы в редакторе можно привязать источник данных. Также  каждому элементу страницы можно привязать команду управления этим элементом. Например для элемента списка  определить шаблон и указать, что элемент повторяется определенное количество раз. Созданная модель сохраняется на сервере в виде графа.

4. Редактор навигационной структуры сайта. Моделируется система переходов между узлами сайта. Каждому узлу сопоставляется адрес, источник данных и способ представления этих данных. Созданная модель сохраняется на сервере в виде графа.

Все задачи частично реализованы. Функции работы с графами на сервере уже есть. Более подробная информация  после выбора темы. При получении хороших результатов будем оформлять  выступление на международную конференцию в январе 2013 г.

воскресенье, 5 июня 2011 г.

Генерация темы и NameMapper

При генерации темы Plone  с использованием встроенного paster  появляется сообщение;
"You don't have the C version of NameMapper installed! I'm disabling Cheetah's useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper."
Для получить скомпилированную версию NameMapper можно с http://www.cheetahtemplate.org/download.html . Для Plone 3 нужен файл _namemapper.pyd2.4 . Переименоваваем его в _namemapper.pyd  и помещаем в папку Plone/Python.
Для Plone 4 нужно установить Cheetah в установленный в систему Python 2.6 (дистрибутив по указанному выше адресу) и скопировать соответствующий файл из папаки C:\Python26\Lib\site-packages\Cheetah.

пятница, 3 июня 2011 г.

Plone 4 и debug-mode

Иногда в  Windows при запуске Plone 4  в режиме отладки с помощью команды  bin\plonectl fg  появляется  сообщение "To run the program in the foreground, please stop it first. ", но посмотр служб показывает  что Zope Instance не запущен. Для решения  этой проблемы в папке Plone\var  нужно удалить файлы instance.pid и  instance.lock, которые появляются там в результате не корректной остановки сервера.

суббота, 28 мая 2011 г.

анонимный пользователь с ролью Manager

Иногда нужно чтобы анонимный пользователь мог выполнять 
действия с ролью Manager.
 В случае использования Python Scripts такая возможность 
реализуется  использованием proxy- роли. Для метода класса
вида это может быть выполнено следующим образом:
  
from AccessControl.SecurityManagement  
import newSecurityManager, noSecurityManager
...

user = self.context.getWrappedOwner()
newSecurityManager(self.request, user)

self.doProtectedMethod()

noSecurityManager()
 
В результате выполнения кода создается временный 
пользователь с правами администратора. Созание такого
пользователя внутри метода класса позволяет анонимному
пользователю (при наличии соответствующих 
методов и интерфейса доступа) действовать как
 администратор.

Всероссийский конкурс  научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...