Jump to content

Зопе

Зопе
Оригинальный автор(ы) Зопе Корпорация
Разработчик(и) Зопе Корпорация
Первоначальный выпуск июль 1999 г. ( 1999-07 )
Стабильная версия
5.8.6 [1] / 4 октября 2023 г .; 9 месяцев назад ( 4 октября 2023 г. )
Доступно в Питон
Тип веб-фреймворк
Лицензия Общественная лицензия Zope
Веб-сайт опа .readthedocs .что

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

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

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

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

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

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

Фонд Зопе

[ редактировать ]
Фонд Зопе
Основан март 2006 г .; 18 лет назад ( 2006-03 )
Тип некоммерческая организация
Фокус Программное обеспечение с открытым исходным кодом
Метод Общественная лицензия Zope
Веб-сайт фундамент .zope .dev

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

Версии Zope

[ редактировать ]
Зопе
Разработчик(и) Зопе Корпорация
Первоначальный выпуск 1998 год ; 26 лет назад ( 1998 )
Стабильная версия
5.6.0 [9]  Отредактируйте это в Викиданных / 9 сентября 2022 г .; 22 месяца назад ( 9 сентября 2022 г. )
Написано в Питон
Операционная система Кросс-платформенный
Тип веб -приложений Сервер
Лицензия Общественная лицензия Zope
Веб-сайт www .zope .dev  Edit this on Wikidata

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 с открытым исходным кодом системы планирования ресурсов предприятия .

Голубец
Разработчик(и) Зопе Корпорация
Первоначальный выпуск 2004 г .; 20 лет назад ( 2004 )
Стабильная версия
1.0 / 18 января 2011 г .; 13 лет назад ( 18 января 2011 ) [10]
Написано в Питон
Операционная система Кросс-платформенный
Тип веб -приложений Сервер
Лицензия Общественная лицензия Zope
Веб-сайт Голубик .zope .org

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

Zope 2 зарекомендовал себя как полезная среда для разработки веб-приложений, однако ее использование выявило некоторые недостатки. [ нужна ссылка ] Например, создание продуктов Zope 2 предполагает копирование большого количества шаблонного кода – «магического» кода – который просто обязан присутствовать, а встроенный интерфейс управления сложно модифицировать или заменить. Zope 3 представлял собой переписанную версию программного обеспечения, которая пытается устранить эти недостатки, сохраняя при этом преимущества Zope, которые привели к его популярности. BlueBream основан на компонентной архитектуре. [14] это позволяет легко смешивать программные компоненты различного происхождения, написанные на Python . Хотя изначально архитектура компонентов Zope задумывалась как замена Zope 2, вместо этого она была перенесена в 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. [11]

Технология

[ редактировать ]

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

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

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

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

Набор инструментов Zope

[ редактировать ]
Набор инструментов Zope
Другие имена ЗТК
Разработчик(и) Фонд Зопе
Первоначальный выпуск 26 июня 2010 г .; 14 лет назад ( 26.06.2010 )
Стабильная версия
1.1.6 / 1 мая 2013 г .; 11 лет назад ( 01.05.2013 )
Предварительный выпуск
2.0а1 / 1 мая 2013 г .; 11 лет назад ( 01.05.2013 )
Репозиторий github /zopefoundation /zopetoolkit
Написано в Питон
Операционная система Кросс-платформенный
Тип Веб-фреймворк
Лицензия Общественная лицензия Zope
Веб-сайт zopetoolkit .readthedocs .что

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

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

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

Zope 5 вышел в 2020 году.

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

[ редактировать ]

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

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

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

<div tal:condition="...">
  ...
</div>

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

<h1><span tal:content="..."/></h1>
...

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

<a href="" tal:attributes="href python:'http://someurl.com/%s'%someobject">...</a>

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

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

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Журнал изменений — документация Zope 5.8.6» .
  2. ^ Jump up to: а б Реувен М. Лернер. «В кузнице — оценка Ruby on Rails» . Linux-журнал . Проверено 26 марта 2010 г. Zope также был пионером идеи публикации объектов, при которой URL-адрес описывает метод, который следует вызвать для конкретного объекта.
  3. ^ Jump up to: а б Филип Дж. Эби (11 декабря 2003 г.). «Комментарий к статье «Лисп и производительность» » . Джоэл о программном обеспечении. Архивировано из оригинала 18 февраля 2009 г. Проверено 26 марта 2010 г. В 1997 году Джим Фултон (технический директор Zope Corp) разработал метод, который он назвал «Публикация объектов», и реализовал его в библиотеке под названием Python Object Publisher (также известной как Bobo). Метафора публикации объектов сегодня встречается во многих инструментах Python; в других языках оно встречается в лучшем случае только в искалеченном виде.
  4. ^ Лутц, Марк (2006). «18: Продвинутые темы Интернета» . Программирование на Python (3-е изд.). О'Рейли Медиа . ISBN  9780596554613 . Проверено 27 марта 2010 г. Использование Zope распространилось так быстро, что многие питонисты рассматривали его как приложение-убийцу Python — систему настолько хорошую, что она естественным образом выдвигает Python в центр внимания разработчиков.
  5. ^ Джон Уделл (7 февраля 2000 г.). «Zope — убийственное приложение для Python» . БАЙТ . Архивировано из оригинала 02 марта 2000 г. Проверено 4 июня 2011 г.
  6. ^ «Гвидо ван Россум покидает Zope.com — Slashdot» . Developers.slashdot.org .
  7. ^ «Документация BlueBream» . Архивировано из оригинала 22 января 2010 г. Проверено 17 января 2010 г.
  8. ^ «Заседание совета директоров Zope Foundation 14 октября 2010 г.» . Проверено 17 января 2010 г.
  9. ^ «Журнал изменений» . 9 сентября 2022 г. Проверено 18 октября 2022 г.
  10. ^ "голубик 1.0" . pypi.python.org. 18 января 2011 г. Проверено 4 ноября 2020 г.
  11. ^ Jump up to: а б «1. Введение — документация BlueBream v1.0b4» . bluebream.zope.org . Архивировано из оригинала 22 января 2010 г. Проверено 17 января 2010 г.
  12. ^ «Zope.dev — ресурсы и информация zope» .
  13. ^ «Часто задаваемые вопросы – Общие сведения 5: Какова лицензия Zope 3?» . Архивировано из оригинала 22 августа 2009 г. Проверено 17 августа 2012 г. Zope 3 распространяется по лицензии Zope Public License версии 2.1 (ZPL).
  14. ^ «Архитектура компонентов вики Zope 3» . 9 мая 2008 г. Архивировано из оригинала 9 мая 2008 г.
  15. ^ «Zope 3 wiki SprintSchedule» . Архивировано из оригинала 14 августа 2012 года . Проверено 17 августа 2012 г.
  16. ^ «Журнал изменений — Документация Zope 4.0» . zope.readthedocs.io .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f14db56def4dcd21811e631ef018c4d4__1700405040
URL1:https://arc.ask3.ru/arc/aa/f1/d4/f14db56def4dcd21811e631ef018c4d4.html
Заголовок, (Title) документа по адресу, URL1:
Zope - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)