Zope - Zope - Wikipedia

Zope
Zope logo.png
Тип сайта
Python веб-фреймворк разработка
Доступно ванглийский
СделаноZope Corporation
редакторZope Corporation
URLзоп.readthedocs.io
КоммерческийНет
Постановка на учетникто
ЗапущенИюль 1999 г. (1999-07)
Текущее состояниеАктивный
Лицензия на контент
Общественная лицензия Zope

Zope это семья бесплатно и с открытым исходным кодом сеть серверы приложений написано в Python, и связанное с ними онлайн-сообщество. Zope расшифровывается как «Z Object Publishing Environment» и была первой системой, использующей теперь распространенный объект методология публикации в сети.[1][2] Zope называют Python приложение-убийца, приложение, которое помогло привлечь внимание к Python.[3][4]

За последние несколько лет сообщество Zope породило несколько дополнительных веб-фреймворки с разными целями и принципами, но разделяя философию, людей и исходный код. Zope 2 до сих пор остается самым распространенным из этих фреймворков, во многом благодаря Plone система управления контентом, который работает на Zope 2. BlueBream (ранее называвшийся Zope 3) менее распространен, но лежит в основе нескольких крупных сайтов, включая Панель запуска. Grok был запущен как более удобный для программистов фреймворк, «Zope 3 для пещерных людей», а в 2009 году Пирамида приобрел популярность в сообществе Zope как минималистичный фреймворк, основанный на принципах Zope.

История

Корпорация Zope была образована в 1995 г. Фредериксбург, Вирджиния под названием Digital Creations, как совместное предприятие с InfiNet (совместное предприятие сети газет). Компания разработала систему тематической рекламы для Интернета. В 1997 году компания стала частной и независимой. Инженеров-программистов компании возглавляет технический директор Джим Фултон. PythonLabs, создатели Python, вошли в состав компании в 2000 г. (основатель Python Гвидо ван Россум покинул Zope Corp в 2003 году).[5]

То, что сейчас известно как Zope 2, началось с объединения трех отдельных программных продуктов - Bobo, Document Template и BoboPOS - в сервер приложений Principia. По просьбе своего крупнейшего инвестора, Opticality Ventures, Principia была переиздана как бесплатное программное обеспечение под названием Zope в 1998 году. Bobo, а следовательно, и Zope, были первой веб-платформой. объект издательское решение.[1][2]

В ноябре 2004 года вышел Zope 3. Zope 3 - это полностью переписать что сохраняет только оригинал ЗОДБ объектная база данных. Он непосредственно предназначен для разработки корпоративных веб-приложений с использованием новейших парадигм разработки. Zope 3, однако, несовместим с Zope 2, поэтому вы не можете запускать приложения Zope 2 на Zope 3. Первоначально он был предназначен для внедрения уровня обратной совместимости, чтобы программное обеспечение Zope 2 могло работать на Zope 3. Вместо этого модуль, известный как Five представила новые парадигмы Zope 3 в Zope 2, хотя полная совместимость и в этом случае невозможна.

Существование двух несовместимых веб-фреймворков под названием Zope вызвало большую путаницу. В ответ в январе 2010 года Zope 3 был переименован в BlueBream.[6][7] «Зопе» и «голубой лещ» - названия разновидностей рыб, Ballerus Ballerus.

Фонд Zope

Фонд Zope
ОснованМарт 2006 г.; 14 лет назад (2006-03)
Типнекоммерческий
ФокусПрограммное обеспечение с открытым исходным кодом
МетодОбщественная лицензия Zope
Интернет сайтФонд.zope.org

Zope Foundation - это организация, которая способствует развитию платформы Zope, поддерживая сообщество, которое разрабатывает и поддерживает соответствующие программные компоненты. Сообщество включает участников как программного обеспечения с открытым исходным кодом, документации и веб-инфраструктуры, так и потребителей программной платформы из бизнеса и организаций. Он управляет веб-сайтами zope.org, инфраструктурой для совместной работы с открытым исходным кодом.

Zope 2

Zope 2
Скриншот
Интерфейс управления Zope в окне веб-браузера.
Интерфейс управления Zope в окне веб-браузера.
Разработчики)Zope Corporation
изначальный выпуск1998; 22 года назад (1998)
Стабильный выпуск
5.1[8] Отредактируйте это в Викиданных / 12 ноября 2020; 36 дней назад (12 ноября 2020 г.)
Написано вPython
Операционная системаКроссплатформенность
ТипИнтернет сервер приложений
ЛицензияОбщественная лицензия Zope
Интернет сайтwww.zope.org Отредактируйте это в Викиданных

Zope интернет сайт обычно состоит из объектов в База данных объектов Zope, а не файлы на файловая система, как обычно с большинством веб-серверы. Это позволяет пользователям использовать преимущества объектных технологий, таких как инкапсуляция. Карты Zope URL к объектам, использующим иерархию включения таких объектов; методы также считаются содержащимися в своих объектах. Данные также могут храниться в других базах данных или в файловой системе, но ZODB является наиболее распространенным решением.

Zope предоставляет два механизма для HTML создание шаблонов: язык разметки шаблонов документов (DTML) и шаблоны страниц Zope (ZPT). DTML - это язык на основе тегов, который позволяет реализовать простые сценарии в шаблонах. DTML имеет условия для включения переменных, условий и циклов. Однако DTML может быть проблематичным: теги DTML, перемежающиеся с HTML, образуют недействительные HTML-документы, и его использование требует осторожности при включении логики в шаблоны, чтобы сохранить читаемость кода. Многие ведущие разработчики Zope не одобряют использование DTML. ZPT - это технология, устраняющая недостатки DTML. Шаблоны ZPT могут быть либо правильно сформированными XML документы или документы HTML, в которых вся специальная разметка представлена ​​как атрибуты в TAL (Язык атрибутов шаблона ) пространство имен. ZPT предлагает очень ограниченный набор инструментов для условного включения и повторения XML-элементов. Следовательно, шаблоны обычно довольно простые, а большая часть логики реализована в коде Python. Одним из значительных преимуществ шаблонов ZPT является то, что их можно редактировать в большинстве графических редакторов HTML. ZPT также предлагает прямую поддержку интернационализация.

Zope 2 лежит в основе Plone система управления контентом, так же хорошо как ERP5 Открытый исходный код Планирование ресурсов предприятия система.

BlueBream

BlueBream
Разработчики)Zope Corporation
изначальный выпуск2004; 16 лет назад (2004)
Стабильный выпуск
1.0 / 18 января 2011 г.; 9 лет назад (2011-01-18)[9]
Написано вPython
Операционная системаКроссплатформенность
ТипИнтернет сервер приложений
ЛицензияОбщественная лицензия Zope
Интернет сайтBluebream.zope.org

BlueBream - это переписанный разработчиками Zope Zope 2 сеть сервер приложений. Он был создан под названием «Zope 3», но существование двух несовместимых фреймворков с одинаковым именем вызвало большую путаницу, и Zope 3 был переименован в «BlueBream» в январе 2010 года.[10][11] BlueBream распространяется на условиях Общественная лицензия Zope[12] и таким образом бесплатно программное обеспечение.

Zope 2 зарекомендовал себя как полезный фреймворк для разработки веб-приложений, но его использование выявило некоторые недостатки.[нужна цитата ] Чтобы назвать несколько, создание продуктов Zope 2 включает в себя копирование большого количества шаблонный код - «волшебный» код - он просто должен быть там, а встроенный интерфейс управления сложно изменить или заменить. Zope 3 был переписанным программным обеспечением, которое пытается устранить эти недостатки, сохраняя при этом преимущества Zope, которые привели к его популярности. BlueBream основан на компонентная архитектура[13] что позволяет легко смешивать программные компоненты различного происхождения, написанные на Python. Первоначально задумывавшаяся как замена Zope 2, архитектура компонентов Zope была перенесена в Zope 2, начиная с Zope 2.8. Многие платформы Zope, такие как Plone проходят тот же тип поэтапного переписывания. Первый производственный выпуск нового программного обеспечения Zope X3 3.0.0 был выпущен 6 ноября 2004 года.

История

Проект Zope 3 стартовал в феврале 2001 года как попытка разработать новую версию Zope как почти полностью переработанную, с целью сохранить успешные особенности Zope 2, пытаясь исправить некоторые из его недостатков. Целью было создать более удобную для разработчиков и гибкую платформу для программирования веб-приложений, чем Zope 2. Проект начался с разработки компонентная архитектура, который позволяет структурировать код в небольшие составные блоки с интуитивно понятными интерфейсами. Интерфейсы поддерживаются пакетом интерфейса, чтобы обеспечить функциональность явно объявленных интерфейсов для Язык Python. Первая производственная версия программного обеспечения, Zope X3, была выпущена 6 ноября 2004 года. В январе 2010 года Zope 3 был переименован в BlueBream.[10]

Технологии

Целью проекта было дать программистам возможность использовать Zope для предоставления произвольных объектов Python в качестве объектов модели в сети без необходимости заставлять эти объекты выполнять определенные требования к поведению. В Zope 2 было много требований к поведению, позволяющих объектам участвовать в структуре, что привело к большому количеству миксин базовые классы и специальные атрибуты. BlueBream использует архитектуру модель / представление, отделяя код представления от кода проблемной области. Представления и модели связаны друг с другом архитектурой компонентов.

Библиотеки, лежащие в основе BlueBream, превратились в набор полезных библиотек для разработки веб-приложений, а не в единый монолитный сервер приложений. BlueBream включает отдельные пакеты для интерфейсов, компонентной архитектуры, HTTP-сервера, издателя, базы данных объектов Zope (ZODB), шаблонов страниц Zope, I18N, политики безопасности и т. Д. Компонентная архитектура используется для их склеивания. Архитектура компонента настраивается с использованием ZCML (язык разметки конфигурации Zope), языка файлов конфигурации на основе XML.

Проект Zope 3 стал пионером в практике спринты за программное обеспечение с открытым исходным кодом разработка.[14] Спринты - это интенсивные занятия, когда программисты, часто из разных стран, собираются в одной комнате и работают вместе пару дней или даже несколько недель. Во время спринтов различные практики, взятые из гибкая разработка программного обеспечения используются, такие как парное программирование и разработка через тестирование. Помимо цели разработки программного обеспечения, спринты также полезны для географически разделенных разработчиков, чтобы встретиться лично и привлечь новых людей в проект. Они также позволяют участникам учиться друг у друга.

BlueBream считается стабильной структурой, используемой в производственных проектах по всему миру, в первую очередь Панель запуска.

Zope Toolkit

В результате разработки Zope 3 / BlueBream в настоящее время существует множество независимых пакетов Python, используемых и разрабатываемых как часть BlueBream, и хотя многие из них можно использовать за пределами BlueBream, многие из них - нет. Проект Zope Toolkit (ZTK) был начат, чтобы прояснить, какие пакеты можно использовать за пределами BlueBream, и улучшить возможность повторного использования пакетов. Таким образом, Zope Toolkit является основой для фреймворков Zope. Zope 2.12 - это первый выпуск веб-фреймворка, основанного на Zope Toolkit, и Grok и BlueBream должны были выпустить релизы на основе ZTK в течение 2010 года.

Grok

В 2006 году проект Grok был запущен рядом разработчиков Zope 3, которые хотели сделать технологию Zope 3 более гибкой в ​​использовании и более доступной для новичков. С тех пор Grok регулярно выпускает релизы, и его основная технология (Martian, grokcore.component) также находит применение в других проектах на основе Zope 3 и Zope 2.

Zope 4

Zope
Разработчики)Zope Corporation
Предварительный выпуск
4.0b5 / 18 мая 2018 г.; 2 года назад (2018-05-18)
Написано вPython
Операционная системаКроссплатформенность
ТипИнтернет сервер приложений
ЛицензияОбщественная лицензия Zope
Интернет сайтwww.zope.org Отредактируйте это в Викиданных

В конце 2017 года началась разработка Zope 4.[15] Zope 4 является преемником Zope 2.13, в него внесено множество изменений, которые не имеют обратной совместимости с Zope 2.

Шаблоны страниц Zope

Как упоминалось ранее, шаблоны страниц Zope сами по себе являются документами XHTML, что означает, что их можно просматривать и редактировать с помощью обычных редакторов HTML или совместимых с XHTML инструментов (большое преимущество по сравнению с другими языками шаблонов, используемыми для веб-приложений). Шаблоны также можно проверять на соответствие XHTML, поэтому вы можете быть уверены, что они автоматически превратятся в правильный XHTML.

Однако эти шаблоны страниц не предназначены для отображения в исходном виде. Вместо этого они помечаются дополнительными элементами и атрибутами в специальных пространствах имен XML (см. Ниже). Эта дополнительная информация используется для описания того, как в конечном итоге должен обрабатываться шаблон страницы.

Вот несколько основных примеров. Чтобы условно включить определенный элемент, например div элемент, просто добавьте tal: состояние атрибут элемента следующим образом:

<div tal: состояние="...">  ...</div>

Чтобы управлять тем, что появляется внутри элемента, используйте tal: content атрибут вроде этого:

<h1><охватывать tal: content="..."/></h1>...

Наконец, чтобы ввести или заменить значения атрибутов, используйте tal: атрибуты атрибут, как показано ниже. Вы можете использовать Python для изменения href во время выполнения.

<а href="" tal: атрибуты="href python: 'http: //someurl.com/%s'%someobject">...</а>

Это очень краткое объяснение шаблонов страниц Zope. Поведение шаблонов страниц Zope почти полностью описывается язык шаблона, исправлено в спецификациях TAL, TALES и METAL:

Известное программное обеспечение с использованием Zope

SchoolTool это открытый исходный код информационная система для студентов который использует Zope.

Смотрите также

Рекомендации

  1. ^ а б Реувен М. Лернер. «В кузнице - оценка Ruby on Rails». Linux журнал. Получено 2010-03-26. Zope также является пионером идеи публикации объектов, в которой URL описывает метод, который должен быть вызван для конкретного объекта.
  2. ^ а б Филип Дж. Эби (11 декабря 2003 г.). "Комментарий на" Lisp и производительность"". Джоэл о программном обеспечении. Получено 2010-03-26. В 1997 году Джим Фултон (технический директор Zope Corp) разработал технику, которую он назвал «Публикация объектов», и реализовал ее в библиотеке под названием Python Object Publisher (также известной как Bobo). Метафора публикации объектов сегодня встречается во многих инструментах Python; в других языках он встречается в лучшем случае только в искалеченной форме.
  3. ^ Лутц, Марк (2006). «18: Продвинутые Интернет-темы». Программирование на Python (3-е изд.). O'Reilly Media. ISBN  9780596554613. Получено 2010-03-27. Использование Zope распространилось так быстро, что многие питонисты смотрели на него как на Python. Убийственное приложение - система настолько хороша, что естественно выдвигает Python в центр внимания разработчиков.
  4. ^ Джон Уделл (7 февраля 2000 г.). "Zope Is Python's Killer App". БАЙТ. Архивировано из оригинал на 2000-03-02. Получено 2011-06-04.
  5. ^ "Гвидо ван Россум покидает Zope.com - Slashdot". developers.slashdot.org.
  6. ^ «Документация BlueBream». Получено 2010-01-17.
  7. ^ "Заседание Совета директоров Zope Foundation 14.10.2010". Получено 2010-01-17.
  8. ^ «Релиз 5.1». 12 ноября 2020 г.. Получено 18 декабря 2020.
  9. ^ "bluebream 1.0". pypi.python.org. 2011-01-18. Получено 2020-11-04.
  10. ^ а б «1. Введение - документация BlueBream v1.0b4». bluebream.zope.org.
  11. ^ http://foundation.zope.org/minutes/zfbod-minutes-20100114
  12. ^ "FAQ - Общие 5: Какая лицензия у Zope 3?". Zope 3 находится под лицензией Zope Public License, версия 2.1 (ZPL).
  13. ^ "Архитектура компонентов вики Zope 3". 9 мая 2008. Архивировано с оригинал 9 мая 2008 г.
  14. ^ «Архивная копия». Архивировано из оригинал 14 августа 2012 г.. Получено 17 августа, 2012.CS1 maint: заархивированная копия как заголовок (связь)
  15. ^ «Журнал изменений - документация Zope Documentation 4.0». zope.readthedocs.io.

внешняя ссылка