조페

Zope
조페
Zope logo.png
사이트 유형
파이썬 웹 프레임워크 발전
이용가능기간:영어
작성자조페
에디터조페
URLzope.readtheadocs.이오
상업의아니요.
등록.없음.
개시.1999년 7월(1999-07)
현황활동적인
콘텐츠 라이선스
Zope 퍼블릭 라이선스

Zope는 Python 및 관련 온라인 커뮤니티로 작성된 무료 오픈 소스애플리케이션 서버 제품군입니다.Zope는 "Z Object Publishing Environment"의 약자로,[1][2] 현재는 일반적인 웹용 객체 퍼블리싱 방법론을 사용한 최초의 시스템입니다.Zope는 Python 킬러 앱으로 불리며 Python을 [3][4]주목받게 한 어플리케이션이다.

지난 몇 년 동안 Zope 커뮤니티는 서로 다른 목적과 원칙을 가지고 있지만 철학, 사람 및 소스 코드를 공유하는 몇 가지 추가프레임워크를 생성했습니다.Zope 2는 Zope 2에서 실행되는 Plone 콘텐츠 관리 시스템 덕분에 여전히 이러한 프레임워크 중 가장 널리 보급되어 있습니다.BlueBream(이전의 Zope 3)은 그다지 보급되어 있지 않지만, Launchpad를 포함한 몇 개의 대규모 사이트에 기반을 두고 있다.Grok는 프로그래머 친화적인 프레임워크인 "Zope 3 for carbemen"으로 시작되었고, 2009년 피라미드는 Zope 원칙에 기초한 미니멀리즘 프레임워크로 Zope 커뮤니티에서 인기를 얻었다.

역사

Zope Corporation은 1995년 Virginia Fredericksburg에서 Digital Creations라는 이름으로 InfiNet(합작 신문 체인 벤처)과 합작하여 설립되었습니다.그 회사는 인터넷을 위한 기밀 광고 엔진을 개발했다.1997년에 이 회사는 개인 소유가 되었습니다.이 회사의 소프트웨어 엔지니어는 Jim Fulton CTO가 이끌고 있습니다.Python의 크리에이터인 PythonLabs는 2000년에 회사의 일부가 되었다([5]Python의 창업자 Guido van Rossum은 2003년에 Zope Corp를 떠났다).

현재 Zope 2로 알려진 것은 Bobo, Document Template 및 BoboPOS라는 세 가지 소프트웨어 제품이 Principia 애플리케이션 서버에 병합되면서 시작되었습니다.Principia는 최대 투자자인 Opticality Ventures의 요청에 따라 1998년 Zope라는 이름으로 무료 소프트웨어로 다시 출시되었습니다.Bobo, 즉 Zope는 최초의 객체 퍼블리싱 솔루션입니다.[1][2]

2004년 11월, Zope 3가 발매되었습니다.Zope 3은 원래 ZODB 객체 데이터베이스만 보존하는 완전한 개서입니다.이는 최신 개발 패러다임을 사용하여 엔터프라이즈 웹 애플리케이션 개발을 직접 목적으로 합니다.그러나 Zope 3은 Zope 2와 호환되지 않으므로 Zope 3에서 Zope 2 응용 프로그램을 실행할 수 없습니다.원래는 Zope 2 소프트웨어가 Zope 3에서 실행되도록 하위 호환성 계층을 도입하려고 했습니다.대신 Five로 알려진 모듈이 새로운 Zope 3 패러다임을 Zope 2에 도입했습니다. 하지만 완전한 호환성은 이 방법으로도 가능하지 않습니다.

Zope라고 불리는 호환되지 않는 두 개의 웹 프레임워크의 존재는 많은 혼란을 야기했다.이에 대응하여 2010년 1월, Zope 3는 "BlueBream"[6][7]으로 이름이 변경되었습니다."Zope"와 "Blue Bream"은 물고기의 일종인 발레러스 발레러스의 이름이다.

조페 재단

조페 재단
설립.2006년 3월, 16년 전(2006-03)
유형비영리적인
초점오픈 소스 소프트웨어
방법Zope 퍼블릭 라이선스
웹 사이트foundation.zope.dev

Zope Foundation은 관련 소프트웨어 컴포넌트를 개발하고 관리하는 커뮤니티를 지원함으로써 Zope 플랫폼의 개발을 촉진하는 조직입니다.커뮤니티에는 오픈 소스 소프트웨어, 문서 및 웹 인프라스트럭처의 기여자뿐만 아니라 소프트웨어 플랫폼의 비즈니스 및 조직 소비자도 포함됩니다.오픈 소스 콜라보레이션을 위한 인프라스트럭처인 zope.org 웹사이트를 관리합니다.

Zope 버전

조페
스크린샷
Zope-screenshot.png
웹 브라우저 창의 Zope 관리 인터페이스.
개발자조페
초기 릴리즈1998년; 24년 전(1998년)
안정된 릴리스
5.1.1[8] / 2021년 2월 10일; 17개월 전 (2월 10일)
기입처파이썬
운영 체제크로스 플랫폼
유형응용 프로그램 서버
면허증.Zope 퍼블릭 라이선스
웹 사이트www.zope.dev Edit this on Wikidata

Zope 2

Zope 웹 사이트는 보통 대부분의 웹 서버에서와 같이 파일 시스템의 파일이 아닌 Zope 개체 데이터베이스 내의 개체로 구성됩니다.이를 통해 캡슐화와 같은 객체 기술의 이점을 활용할 수 있습니다.Zope는 이러한 객체의 격납 계층을 사용하여 URL을 객체에 매핑합니다. 메서드도 객체에 포함된 것으로 간주됩니다.데이터는 다른 데이터베이스나 파일 시스템에도 저장할 수 있지만 ZODB가 가장 일반적인 솔루션입니다.

Zope는 HTML 템플릿을 위한 두 가지 메커니즘을 제공합니다.문서 템플릿 마크업 언어(DTML) 및 Zope 페이지 템플릿(ZPT).DTML은 태그 기반 언어이며 템플릿에 간단한 스크립트를 구현할 수 있습니다.DTML에는 변수 포함, 조건 및 루프에 대한 규정이 있습니다.그러나 DTML은 문제가 될 수 있습니다.DTML 태그는 HTML 형식의 유효하지 않은 HTML 문서에 삽입되어 있으며, 이 태그의 사용은 코드를 읽기 쉽게 하기 위해 로직을 템플릿에 포함할 때 주의가 필요합니다.많은 주요 Zope 개발자들에 의해 DTML 사용이 권장되지 않습니다. ZPT는 DTML의 단점을 해결하는 기술입니다. ZPT 템플릿은 적절한 형식의 XML 문서 또는 HTML 문서일 수 있습니다. ZPT 템플릿에서는 모든 특수 마크업이 매우 제한된 CPT 도구에 대한 속성으로 제공됩니다.XML 요소의 추가 및 반복.따라서 템플릿은 보통 매우 단순하며 대부분의 논리는 Python 코드로 구현됩니다.ZPT 템플릿의 중요한 장점은 대부분의 그래픽 HTML 에디터에서 편집할 수 있다는 것입니다.ZPT는 국제화를 직접 지원합니다.

Zope 2는 Plone 콘텐츠 관리 시스템과 ERP5 오픈 소스 엔터프라이즈 리소스 플래닝 시스템을 기반으로 합니다.

블루브람

블루브람
개발자조페
초기 릴리즈2004년; 18년 전(2004년)
안정된 릴리스
1.0 / 2011년 1월 18일, 11년 전(2011-01-18)[9]
기입처파이썬
운영 체제크로스 플랫폼
유형응용 프로그램 서버
면허증.Zope 퍼블릭 라이선스
웹 사이트bluebream.zope.org

BlueBream은 Zope 2 웹 어플리케이션서버의 Zope 개발자에 의한 리라이트입니다."Zope 3"라는 이름으로 만들어졌지만, 같은 이름의 호환되지 않는 두 개의 프레임워크가 존재하여 많은 혼란을 일으켰고,[10][11] 2010년 1월 "BlueBream"으로 명칭이 변경되었습니다.BlueBream은 Zope Public[12] License 조건에 따라 배포되므로 무료 소프트웨어입니다.

Zope 2는 웹 애플리케이션 개발에 유용한 프레임워크로 입증되었지만, 그 사용은 몇 가지 단점을 [citation needed]드러냈습니다.예를 들어, Zope 2 제품을 작성하려면 많은 보일러 플레이트 코드('매직' 코드)를 복사해야 하며, 내장된 관리 인터페이스는 수정하거나 교체하는 것이 어렵습니다.Zope 3는 Zope의 인기를 이끌었던 장점을 유지하면서 이러한 단점을 해결하고자 하는 소프트웨어를 다시 쓴 것입니다.BlueBream은 Python으로 작성된 다양한 기원의 소프트웨어 컴포넌트를 쉽게 혼합할 수 있는 컴포넌트 아키텍처[13] 기반으로 합니다.원래 Zope 2를 대체하기 위한 것이었지만, Zope 2.8부터 Zope 2로 역수출되었습니다.Plone과 같은 많은 Zope 플랫폼은 동일한 유형의 개서를 거치고 있습니다.새로운 소프트웨어의 첫 번째 프로덕션 릴리스인 Zope X3 3.0.0은 2004년 11월 6일에 출시되었습니다.

역사

Zope 3 프로젝트는 2001년 2월에 Zope의 새로운 버전을 거의 완전히 다시 쓰기 위한 노력의 일환으로 시작되었으며, Zope 2의 일부 단점을 수정하면서 성공적인 기능을 유지하는 것을 목표로 하고 있습니다.목표는 Zope 2보다 웹 애플리케이션을 프로그래밍하기 위한 개발자 친화적이고 유연한 플랫폼을 만드는 것이었습니다.이 프로젝트는 컴포넌트 아키텍처의 개발로 시작되었습니다.이 아키텍처를 통해 코드를 내성적인 인터페이스를 가진 작고 구성 가능한 단위로 구성할 수 있습니다.인터페이스는 Python 언어에 명시적으로 선언된 인터페이스의 기능을 제공하기 위해 인터페이스 패키지에 의해 지원됩니다.소프트웨어의 첫 번째 프로덕션 릴리스인 Zope X3는 2004년 11월 6일에 출시되었습니다.2010년 1월에 Zope 3는 BlueBream으로 [10]이름이 변경되었습니다.

테크놀로지

이 프로젝트의 목표는 프로그래머가 Zope를 사용하여 임의의 Python 개체를 모델 개체로 웹에 노출할 수 있도록 하는 것이었습니다.이러한 개체는 특정 동작 요건을 충족시킬 필요가 없습니다.Zope 2에서는 오브젝트를 프레임워크에 참여시키기 위한 많은 동작 요건이 있었고, 이로 인해 많은 의 믹스인 기본 클래스와 특수 속성이 생성되었습니다.BlueBream은 모델/뷰 아키텍처를 사용하여 프레젠테이션 코드와 문제 도메인 코드를 구분합니다.뷰와 모델은 구성 요소 아키텍처에 의해 서로 연결됩니다.

BlueBream의 기반이 되는 라이브러리는 단일 단일 애플리케이션 서버가 아닌 웹 애플리케이션 개발을 위한 유용한 라이브러리 모음으로 발전하고 있습니다.BlueBream에는 인터페이스, 컴포넌트 아키텍처, HTTP 서버, 퍼블리셔, Zope Object Database(ZODB), Zope Page Templates, I18N, 보안 정책 등의 개별 패키지가 포함되어 있습니다.컴포넌트 아키텍처는 이들을 접착하기 위해 사용됩니다.컴포넌트 아키텍처는 XML 기반의 컨피규레이션파일 언어인ZCML(Zope Configuration Markup Language)을 사용하여 설정합니다.

Zope 3 프로젝트는 오픈 소스 소프트웨어 [14]개발을 위한 스프린트의 관행을 개척했습니다.스프린트는 종종 다른 나라에서 온 프로그래머들이 한 방에 모여 며칠 또는 몇 주 동안 함께 작업하는 집중적인 개발 세션입니다.스프린트 중에는 신속한 변화를 위한 소프트웨어 개발에서 도출된 페어 프로그래밍테스트 주도 개발다양한 실천이 사용됩니다.스프린트는 소프트웨어 개발이라는 목표 외에도 지리적으로 분리된 개발자들이 직접 만나 새로운 사람들을 프로젝트에 끌어들이는 데도 유용합니다.그들은 또한 참가자들이 서로에게서 배울 수 있는 수단 역할을 한다.

BlueBream은 전 세계 프로덕션 프로젝트, 특히 Launchpad에서 사용되는 안정적인 프레임워크로 간주됩니다.

Zope 툴킷

Zope 툴킷
기타 이름ZTK
개발자조페 재단
초기 릴리즈2010년 6월 26일, 12년 전(2010-06-26)
안정된 릴리스
1.1.6 / 2013년 5월 1일, 9년 전(2013-05-01)
프리뷰 릴리즈
2.0a1 / 2013년 5월 1일, 9년 전(2013-05-01)
저장소github.com/zopefoundation/zopetoolkit
기입처파이썬
운영 체제크로스 플랫폼
유형웹 프레임워크
면허증.Zope 퍼블릭 라이선스
웹 사이트zopetoolkit.readtedocs.이오

Zope 3 / BlueBream의 개발로 BlueBream의 일부로서 사용되고 개발된 많은 독립된 Python 패키지가 있으며, BlueBream 이외에서는 많은 패키지를 사용할 수 있지만, 많은 패키지는 사용할 수 없습니다.Zope Toolkit(ZTK) 프로젝트는 BlueBream 외부에서 사용할 수 있는 패키지를 명확히 하고 패키지의 재사용 가능성을 개선하기 위해 시작되었습니다.따라서 Zope Toolkit은 Zope 프레임워크의 기반입니다.Zope 2.12는 Zope Toolkit을 기반으로 하는 웹 프레임워크의 첫 번째 릴리스이며, Grok와 BlueBream은 2010년에 ZTK를 기반으로 한 릴리스로 설정되었습니다.

그록

Grok 프로젝트는 Zope 3 기술을 보다 민첩하게 사용하고 신규 사용자에게 보다 쉽게 접근하고자 하는 다수의 Zope 3 개발자들에 의해 2006년에 시작되었습니다.그 후 Grok은 정기적으로 출시되어 그 핵심 기술(Martian, grokcore.component)이 다른 Zope 3 및 Zope 2 기반 프로젝트에서도 활용되고 있습니다.

Zope 4

2017년 말, Zope [15]4에서 개발이 시작되었습니다. Zope 4는 Zope 2.13의 후속 제품으로 Zope 2와 역호환되지 않는 많은 변경 사항이 있습니다.

조프 5

Zope 5는 2020년에 출시되었습니다.

Zope 페이지 템플릿

앞에서 설명한 바와 같이 Zope 페이지 템플릿은 그 자체가 XHTML 문서이므로 일반 HTML 편집기 또는 XHTML 호환 도구를 사용하여 보고 편집할 수 있습니다(웹 응용 프로그램에 사용되는 다른 템플릿 언어에 비해 큰 이점).템플릿은 XHTML 준수 여부도 확인할 수 있으므로 적절한 XHTML로 자동으로 확장됩니다.

그러나 이러한 페이지 템플리트는 그대로 렌더링되지 않습니다.대신 특수 XML 네임스페이스에 추가 요소 및 속성이 표시됩니다(아래 참조).이 추가 정보는 페이지 템플릿의 최종 처리 방법을 설명하는 데 사용됩니다.

여기 몇 가지 기본적인 예가 있습니다.조건부로 특정 요소를 포함하려면div요소, 단순히 추가만 하면 됩니다.tal:condition다음과 같이 요소에 속성을 부여합니다.

<div talcondition="...> ...</div>

요소 내부에 표시되는 내용을 제어하려면tal:content다음과 같은 속성:

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

마지막으로 Atribute 값을 도입 또는 대체하려면tal:attributes다음과 같은 속성입니다.실행 시 Python을 사용하여 href를 변경할 수 있습니다.

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

Zope 페이지 템플릿에 대한 간단한 설명입니다.Zope 페이지 템플릿의 동작은 TAL, TALES 및 METAL 사양에 따라 템플릿 언어로 거의 완전히 설명되어 있습니다.

Zope를 사용한 주목 소프트웨어

School Tool은 Zope를 사용하는 오픈 소스 학생 정보 시스템입니다.
Plone은 Zope를 사용하는 오픈 소스 콘텐츠 관리 시스템입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Reuven M. Lerner. "At the Forge - Assessing Ruby on Rails". Linux Journal. Retrieved 2010-03-26. Zope also pioneered the idea of object publishing, in which a URL describes the method that should be called on a particular object.
  2. ^ a b Philip J Eby (2003-12-11). "Comment on "Lisp and Productivity"". Joel on Software. Retrieved 2010-03-26. In 1997, Jim Fulton (the CTO at Zope Corp) developed a technique he called "Object Publishing", and implemented in a library called the Python Object Publisher (aka Bobo). The object publishing metaphor is found in many Python toolkits today; in other languages it's found only in crippled form, at best.
  3. ^ Lutz, Mark (2006). "18: Advanced Internet Topics". Programming Python (3 ed.). O'Reilly Media. ISBN 9780596554613. Retrieved 2010-03-27. The use of Zope has spread so quickly that many Pythonistas have looked to it as a Python Killer Application - a system so good that it naturally pushes Python into the development spotlight.
  4. ^ Jon Udell (2000-02-07). "Zope Is Python's Killer App". BYTE. Archived from the original on 2000-03-02. Retrieved 2011-06-04.
  5. ^ "Guido van Rossum Leaves Zope.com - Slashdot". developers.slashdot.org.
  6. ^ "BlueBream documentation". Retrieved 2010-01-17.
  7. ^ "Zope Foundation Board of Directors meeting 2010-10-14". Retrieved 2010-01-17.
  8. ^ https://github.com/zopefoundation/Zope/releases/tag/5.1.1 를 참조해 주세요.
  9. ^ "bluebream 1.0". pypi.python.org. 2011-01-18. Retrieved 2020-11-04.
  10. ^ a b "1. Introduction — BlueBream v1.0b4 documentation". bluebream.zope.org.
  11. ^ http://foundation.zope.org/minutes/zfbod-minutes-20100114
  12. ^ "FAQ - General 5: What is the license of Zope 3?". Zope 3 is licensed under Zope Public License, Version 2.1 (ZPL).
  13. ^ "Zope 3 wiki Component Architecture". 9 May 2008. Archived from the original on 9 May 2008.
  14. ^ "Archived copy". Archived from the original on August 14, 2012. Retrieved August 17, 2012.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  15. ^ "Changelog — Zope documentation 4.0 documentation". zope.readthedocs.io.

외부 링크