1. Скачиваем http://www.python.org/ftp/python/2.4.4/python-2.4.4.msi и устанавливаем Python2.4.4.
2. Скачиваем файл ez_setup.py
3. Помещаем этот файл в C:\Python24 и запускаем python ez_setup.py. Этот скрипт установит пакет setuptools.После этого в Python24\Scripts должен появиться файл easy_instal.exe. Во все время выполнения должен быть обеспечен доступ в интернет.
4. Из папки С:\Python24\Scripts запускаем easy_install.exe archgenxml
и ждем, пока через Интернет будет устанавливаться Archgenxml и все дополнительные пакеты. После установки в C:\Python24\Scripts должен появиться файл archgenxml.exe, его и надо будет использовать для генерации продуктов из модели.
5. В Python24 найдите файл ArchGenXMLprofile.xmi - это профиль для генерации продукта.
6. Создаем папку для хранения профиля profiles (например C:\profiles) и помещаем ArchGenXMLprofile.xmi туда.
7. Создаем файл с именем .agx_zope_path и содержимым:
C:\Plone3\Zope\lib\python
8. Этот файл помещаем в свою личную папку - C:\Documents and Settings\имя пользователя\ При необходимости в этом файле скорректируйте путь в соответствии с Вашей инсталяции Plone.
9. Для удобства в папке C:\Plone3\Data\Products создаем файл generate.bat c содержимым:
C:\Pythin24\Scripts\archgenxml.exe --profile-dir=C:\profiles %1.zargo -o 1%
В файле generate.bat должны быть указаны пути, указывающие на реальное положение archgenxml.exe и папки с ArchGenXMLprofile.xmi
10. Помещаем файл модели тоже в C:\Plone3\Data\Products.
Генерация продукта производится вызовом generate.bat модель.zargo, где модель - имя файла модели. При удачной генерации в папке Products появится папка с именем Вашей модели.
вторник, 25 мая 2010 г.
воскресенье, 16 мая 2010 г.
Получение значения поля объекта
Вопрос:Во всех шаблонах, встроенных в Plone используется работа с полями. Как получить значение по полю, зная имя поля? Нужно ли для этого обращаться к самому созданному объекту?
Ответ:
К полю можно обратиться и отобразить его в шаблоне можно несколькими способами, это зависит от задачи.
Если нужно отобразить поле с его виджетом, определенным в схеме, то
<metal:field use-macro="python:here.widget('title', mode='view')"> Title </metal:field> отображает виджет со значением поля как в форм просмотра,
<metal:field use-macro="python:here.widget('title', mode='edit')"> Title </metal:field> отображает виджет со значением поля как в форме редактирования
Получение значения поля в шаблоне:
obj python:item.getObject(); - получение самого объекта.
К объекту обращаться нужно всегда, просто часто это делается неявно. В шаблоне и классе шаблона мы обращаемся к объекту как context. Если используется предварительная обработка в классе шаблона, то обращение к классу шаблона происходит через view:
tal:content="view/myprop",
tal:content="python:view.myMethod()"
В классе (и в шаблоне тоже) можно получить значение поля объекта:
context.getTitle(), в общем случае context/getИмя_поля_с_заглавной буквы(): context.getMyprop() - это получение значения через accessor. Accessor - автоматически создаваемый метод доступа к полю (аналог get метода в С++)
context используем в шаблоне и в классе шаблона. В классе конитент-типа используем self.
Общий способ получения значения поля:
password= self.getField('password').get(self).
Используется при переопределении accessor. Так при создании класса генерируется метод getPassword(), но его можно переопределить:
class myClass():
......
security.declarePublic('getPassword') # объявление режима доступа к методу
def getPassword(self):
mypass=self.getField('password').get(self)
..... # что-то делаем
return mypassword
Ответ:
К полю можно обратиться и отобразить его в шаблоне можно несколькими способами, это зависит от задачи.
Если нужно отобразить поле с его виджетом, определенным в схеме, то
<metal:field use-macro="python:here.widget('title', mode='view')"> Title </metal:field> отображает виджет со значением поля как в форм просмотра,
<metal:field use-macro="python:here.widget('title', mode='edit')"> Title </metal:field> отображает виджет со значением поля как в форме редактирования
Получение значения поля в шаблоне:
<tal:entry tal:repeat="item folderContents">
<tal:block tal:define="item_url item/getURL|item/absolute_url;
item_id item/getId|item/id;
item_title_or_id item/pretty_title_or_id;
item_description item/Description;
item_type item/portal_type;
item_type_title item/Type;
item_modified item/ModificationDate;
item_created item/CreationDate;
item_icon python:plone_view.getIcon(item);
item_type_class python:'contenttype-' + normalizeString(item_type);
item_wf_state item/review_state|python: wtool.getInfoFor(item, review_state', '');
item_wf_state_class python:'state-' + normalizeString(item_wf_state);
item_creator item/Creator;
item_start item/start/ISO|item/StartDate|nothing;
item_end item/end/ISO|item/EndDate|nothing;
obj python:item.getObject();
">
..............
</tal:block>
</tal:entry>
В этом примере различные формы получения значений.obj python:item.getObject(); - получение самого объекта.
К объекту обращаться нужно всегда, просто часто это делается неявно. В шаблоне и классе шаблона мы обращаемся к объекту как context. Если используется предварительная обработка в классе шаблона, то обращение к классу шаблона происходит через view:
tal:content="view/myprop",
tal:content="python:view.myMethod()"
В классе (и в шаблоне тоже) можно получить значение поля объекта:
context.getTitle(), в общем случае context/getИмя_поля_с_заглавной буквы(): context.getMyprop() - это получение значения через accessor. Accessor - автоматически создаваемый метод доступа к полю (аналог get метода в С++)
context используем в шаблоне и в классе шаблона. В классе конитент-типа используем self.
Общий способ получения значения поля:
password= self.getField('password').get(self).
Используется при переопределении accessor. Так при создании класса генерируется метод getPassword(), но его можно переопределить:
class myClass():
......
security.declarePublic('getPassword') # объявление режима доступа к методу
def getPassword(self):
mypass=self.getField('password').get(self)
..... # что-то делаем
return mypassword
вторник, 23 февраля 2010 г.
Вебинар об использовании Plone для электронного обучения
22 февраля провел вебинар для участников сообщества e-Learning PRO (http://elearningrus.ning.com). На мой взгляд слушатели проявили большой интерес. Добавил тему форума для обсуждения:
http://elearningrus.ning.com/forum/topics/ispolzovanie-cms-plone-dlya. Неожиданно для себя становлюсь популяризатором Plone.
http://elearningrus.ning.com/forum/topics/ispolzovanie-cms-plone-dlya. Неожиданно для себя становлюсь популяризатором Plone.
понедельник, 15 февраля 2010 г.
вторник, 9 февраля 2010 г.
Получение списка тегированных значений
Для получения полного списка тегированных значений достаточно запустить на выполнение программу bin/agx_taggedvalues из папки Archgenxml и перенаправить вывод в файл, например так:
agx_taggedvalues>val.txt
agx_taggedvalues>val.txt
вторник, 29 декабря 2009 г.
Вузы использующие Plone
Список охватывает лишь малую часть ВУЗов, используюших Plone. Для зарубежных университетов расширенный список доступен по адресу:
http://www2.le.ac.uk/Members/nd51/plonedocs/university-sites
Российские и СНГ
- Пермский государственный университет
- Научно-образовательный Центр "Лингва" Тюменского государственного нефтегазового университета
- Электронная библиотека Санкт-Петербургского государственного политехнического университета
- Евразийский национальный университет им. Л.Н. Гумилева
- Уральская государственная архитектурно-художественная академия
- Appalachian State University
Зарубежные
- Arizona State University
- Bard College at Simon's Rock
- Central Piedmont Community College
- Cornell University - Ornithology Lab
- Duke University
- Harvard University School of Engineering and Applied Sciences
- Iowa State University - Department of English
- Lamar University
- Michigan State University
- MIT - Museum without Walls
- Nazareth College
- North Carolina Department of Public Instruction (not a university)
- Northwestern University
- https://pixzilla.at.northwestern.edu/
- http://www.discovernano.northwestern.edu/
- http://opensource.at.northwestern.edu:8080/origami/open-source
- Oxford University
- Penn State University
- Rice University
- San Jose State University
- Simon Frasier University
- University of California - Berkeley
- http://www.coe.berkeley.edu/ ("shurik" from #plone)
- University of California - Davis
- http://foodscience.ucdavis.edu/
- http://asucd.ucdavis.edu/
- http://steps.its.ucdavis.edu/
- http://www.longviewinstitute.org/
- http://sociology.ucdavis.edu/
- http://mindbrain.ucdavis.edu/
- http://cse.ucdavis.edu/
- https://svn.cse.ucdavis.edu/trac/UCDPloneSkin (Campus skin project site)
- University of California - Los Angeles
- http://commstudies.ucla.edu/
- http://www.oid.ucla.edu/
- http://www.psych.ucla.edu/ (Paul Yuergens - "pyuergens" and Michael Miller - "FuzzGTR" from #plone)
- http://psychnet.psych.ucla.edu/ (Paul Yuergens - "pyuergens" and Michael Miller - "FuzzGTR" from #plone)
- University of California, Merced
- University of California, San Diego
- University of Connecticut
- University of Georgia
- University of Jyväskylä
- University of Kansas
- University of Leicester
- University of Louisville
- http://louisville.edu/web/
- http://louisville.edu/panafricanstudies/
- http://louisville.edu/provost/
- http://louisville.edu/education/
- http://louisville.edu/medschool/
- http://louisville.edu/dental/
- http://louisville.edu/sphis/
- http://researchlouisville.org/
- many, many, more.
- University of Maryland - Electron Ring
- University of Mass - Amherst - Scientific Reasoning Research Group
- University of Michigan
- University of North Carolina
- http://pharmacy.unc.edu/
- http://www.med.unc.edu/
- http://galapagos.unc.edu/
- http://ncwomenshospital.org/
- http://sonjahaynesstonectr.unc.edu/
- http://www.ncchildrenshospital.org/
- http://www.cpc.unc.edu/measure
- http://wunc.org/
- http://www.unchcsbenefits.com/
- http://www.climate.unc.edu/
- University of North Texas
- University of Oregon
- University of Pittsburgh
- University of South Bohemia (Czech Republic):
- University of Toronto
- http://www.sustainability.utoronto.ca/
- http://www.physics.utoronto.ca/ *http://www.artsci.utoronto.ca/main/
- University of Washington
- Department of Radiology
- http://www.cphi.washington.edu/
- http://www.nwcphp.org/
- http://myph.org/
- Library intranet
- http://plone.org/events/community/plone-at-uw-libraries
- http://www.nabble.com/Fwd:--plone_seattle--Plone-in-UW-Libraries----January-Seattle-Plone-gathering-t2960994.html
- University of Utah
- Utah State University
- West Virginia University
- York College/CUNY
воскресенье, 1 ноября 2009 г.
Подписаться на:
Сообщения (Atom)
Всероссийский конкурс научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...
-
Всероссийский конкурс научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...
-
PyKnow - библиотека Python для разработки экспертных систем, реализующая подход CLIPS . Реализует продукционный подход к построению экспе...
-
Конкурс исследовательских и проектных работ школьников «Высший пилотаж» страница проекта https://olymp.hse.ru/projects/ О конкурсе Ко...