Zope

Zope er en berørt med en gratis og open-source, objektorienteret web applikationsserver skrevet i programmeringssproget Python samfund projekt. Zope står for "Z Object Publishing miljø", og var det første system ved hjælp af den nu fælles objekt udgivelse metode til internettet. Zope er blevet anerkendt som en Python killer app, et program, der hjalp med at sætte Python i søgelyset.

I løbet af de sidste par år har Zope samfund opfostrede flere ekstra web rammer med forskellige mål og principper, men deling filosofi, mennesker og kildekode. Zope 2 er stadig den mest udbredte af disse rammer, især takket være den Plone content management system, der kører på Zope 2. BlueBream er mindre udbredt, men ligger til grund for flere store steder, herunder Launchpad. Grok blev startet som en mere programmør-venlige rammer, "Zope 3 for hulemænd", og i 2009 Pyramide vundet popularitet i Zope samfund som en minimalistisk ramme baseret på Zope principper.

Historie

Den Zope Corporation blev dannet i 1995 i Fredericksburg, Virginia under navnet Digital Creations, som et joint venture med Infinet. Virksomheden udviklede et klassificeret annonce motor til internettet. I 1997 blev virksomheden selvstændigt ejet og privat. Virksomhedens software ingeniører ledes af CTO Jim Fulton. PythonLabs, skaberne af Python, blev en del af virksomheden i år 2000. Python grundlægger Guido van Rossum forlod Zope Corp i 2003.

Det, der nu er kendt som Zope 2 begyndte med sammenlægning af tre separate softwareprodukter - Bobo, dokument skabelon, og BoboPOS - ind Principia applikationsserver. På foranledning af sin største investor, Opticality Ventures blev Principia genudgivet som fri software under navnet Zope i 1998. Bobo, og derfor Zope, var den første Web objekt publicering løsning.

I november 2004 blev Zope 3 frigivet. Zope 3 er en komplet omskrivning, der bevarer kun den originale ZODB objekt database. Den er direkte beregnet til virksomhedens web-applikation udvikling ved hjælp af de nyeste udviklings- paradigmer. Zope 3 er dog ikke kompatibel med Zope 2, så du kan ikke køre Zope 2 programmer på Zope 3. Det var oprindeligt hensigten at indføre en bagud-kompatibilitet lag, således at Zope 2-software vil køre på Zope 3. I stedet et modul kaldet Fem introducerede nye Zope 3 paradigmer i Zope 2, selv om fuld kompatibilitet ikke er muligt på den måde heller.

Eksistensen af ​​to uforenelige web rammer kaldes Zope har forårsaget en masse forvirring. Som svar, i januar 2010, Zope 3 blev omdøbt til "BlueBream". "Zope" og "blå brasen" er navne på en slags fisk, ballerus ballerus.

Zope Foundation

Den Zope Foundation er en organisation, der fremmer udviklingen af ​​Zope-platformen ved at støtte samfund, der udvikler og vedligeholder de relevante softwarekomponenter. Samfundet omfatter både open source software, dokumentation og web infrastruktur bidragydere, samt forretnings- og organisation forbrugere af softwareplatform. Det styrer zope.org hjemmesider, en infrastruktur for åbent samarbejde kilde.

Zope 2

En Zope hjemmeside er normalt sammensat af objekter i en Zope Object Database, ikke filer på et filsystem, som det er sædvanligt med de fleste webservere. Dette giver brugerne mulighed for at udnytte fordelene ved objekt teknologier, såsom indkapsling. Kort Zope URL'er til objekter ved hjælp af inddæmning hierarki af sådanne genstande; metoder anses for at være indeholdt i deres objekter så godt. Data kan lagres i andre databaser samt, eller i filsystemet, men ZODB er den mest almindelige løsning.

Zope indeholder to mekanismer til HTML templating: Dokument skabelon Markup Language og Zope Side skabeloner. DTML er et tag-baseret sprog, der tillader implementering af et enkelt scripting i skabelonerne. DTML har bestemmelser for variabel integration, betingelser og sløjfer. Men DTML har store ulemper: DTML tags spækket med HTML-formular ikke-gyldige HTML-dokumenter, og skødesløs inddragelse af logik i skabeloner resulterer i meget ulæselig kode. ZPT er en teknologi, der løser disse mangler. ZPT skabeloner kan enten velformet XML-dokumenter eller HTML-dokumenter, hvori alle særlige markup præsenteres som attributter i TAL navnerummet. ZPT tilbyder en meget begrænset sæt af værktøjer til betinget inklusion og gentagelse af XML elementer. Derfor skabelonerne er normalt ganske enkel, med de fleste logik implementeret i Python kode. En væsentlig fordel ved ZPT skabeloner er, at de kan redigeres i de fleste grafiske HTML-editorer. ZPT tilbyder også direkte støtte til internationalisering.

Zope 2 ligger til grund for Plone content management system, samt ERP5 open source enterprise resource planning system.

BlueBream

BlueBream er en omskrivning af Zope udviklerne af Zope 2 web applikationsserver. Det blev oprettet under navnet "Zope 3", men eksistensen af ​​to uforenelige rammer med samme navn forårsagede megen forvirring, og Zope 3 blev omdøbt til "BlueBream" i januar 2010. BlueBream distribueres under betingelserne i Zope Public License og er således fri software.

Zope 2 har vist sig som en nyttig ramme for web-applikationer udvikling, men dens anvendelse afslørede en række mangler. For at nævne et par stykker, skaber Zope 2 produkter indebærer kopiering en masse standardteksten kode - "magisk" kode - der bare skal være der, og den indbyggede styring interface er svært at ændre eller udskifte. Zope 3 var en omskrivning af den software, der forsøger at afhjælpe disse mangler og samtidig bevare fordelene ved Zope, der førte til dens popularitet. BlueBream er baseret på en komponent arkitektur, der gør det nemt at blande software af forskellig oprindelse, skrevet i Python. Selvom oprindeligt tænkt som en erstatning for Zope 2 har Zope Component Architecture i stedet blevet tilbageført til Zope 2, begyndende med Zope 2.8. Mange Zope platforme såsom Plone er på vej gennem den samme type stykke-for-stykke omskrivning. Den første produktion udgivelsen af ​​den nye software, Zope X3 3.0.0, blev udgivet den 6. november 2004.

Historie

Den Zope 3 Projektet startede i februar 2001 som et forsøg på at udvikle en ny version af Zope som en næsten komplet omskrivning, med det mål at fastholde de vellykkede funktioner i Zope 2 under forsøget på at løse nogle af sine mangler. Målet var at skabe en mere udvikler-venlig og fleksibel platform til programmering webapplikationer end Zope 2 er. Projektet begyndte med udviklingen af ​​en komponent arkitektur, der tillader struktureringen af ​​koden i små, sammensættelige enheder med introspectable grænseflader. Grænsefladerne er understøttet af en grænseflade pakke med henblik på at tilvejebringe den funktionalitet udtrykkeligt angivet grænseflader til Pythonsproget. Den første produktion frigivelse af softwaren, Zope X3, blev udgivet den 6. november 2004. I januar 2010 Zope 3 blev omdøbt BlueBream.

Teknologi

Målet med projektet var at gøre det muligt for programmører at bruge Zope for at eksponere vilkårlige Python objekter som model objekter til internettet uden behovet for at gøre disse genstande opfylde særlige adfærd krav. I Zope 2 havde der været mange adfærd krav for at tillade genstande for at deltage i rammen, hvilket resulterede i en stor mængde af MixIn stamklasser og særlige egenskaber. BlueBream bruger en model / visning arkitektur, der adskiller præsentationen koden fra problemområdet kode. Og modeller er bundet sammen af ​​komponenten arkitektur.

Bibliotekerne underliggende BlueBream har udviklet sig til en samling af nyttige biblioteker til web-applikation udvikling snarere end en enkelt, monolitisk applikationsserver. BlueBream omfatter separate pakker for interfaces, komponent arkitektur, server, Publisher, Zope Object Database, Zope sideskabeloner, i18n, sikkerhedspolitik, og så videre. Komponenten arkitektur anvendes til at lime disse sammen. Komponenten arkitektur er konfigureret ved hjælp af en ZCML, en XML baseret konfigurationsfil sprog.

Den Zope 3-projektet banebrydende praksis af sprints for open source software udvikling. Sprints er intensive udvikling sessioner når programmører, ofte fra forskellige lande, samles i ét rum og arbejde sammen for et par dage eller endda flere uger. I løbet af sprints anvendes forskellige former for praksis hentet fra agil softwareudvikling, såsom par programmering og test-drevet udvikling. Udover det mål at udvikle software, sprints er også nyttige for geografisk adskilte udviklere at mødes personligt og tiltrække nye mennesker til projektet. De tjener også som en måde for deltagerne at lære af hinanden.

BlueBream betragtes som en stabil ramme, bruges på produktionsprojekter på verdensplan, især Launchpad.

Zope Toolkit

Som følge af udviklingen af ​​Zope 3 / BlueBream, der nu er mange uafhængige Python pakker brugt og udviklet som en del af BlueBream, og selvom mange af disse er anvendelige uden for BlueBream, mange er ikke. Den Zope Toolkit-projektet blev startet for at afklare hvilke pakker var brugbare uden BlueBream, og for at forbedre genbrugelighed af pakkerne. Således Zope Toolkit er en base for Zope rammer. Zope 2.12 er den første udgivelse af et web ramme, der bygger på Zope Toolkit, og grok og BlueBream blev sat til at have udgivelser baseret på ZTK i løbet af 2010.

Grok

I 2006 grok projektet blev startet af en række Zope 3 udviklere, der ønskede at gøre Zope 3 teknologi mere adræt i brug og mere tilgængelige for nytilkomne. Grok har siden da oplevet regelmæssige udgivelser og dens kerne-teknologi er også at finde optagelse i andre Zope 3 og Zope 2 baserede projekter.

Zope Side Skabeloner

Som tidligere nævnt, Zope Sideskabeloner selv XHTML dokumenter, hvilket betyder, at de kan ses og redigeres med normale HTML-editorer eller XHTML-kompatible værktøjer. Skabeloner kan også kontrolleres for XHTML overholdelse, så du kan være temmelig sikker på, at de automatisk vil udvide til ordentlig XHTML.

Imidlertid er disse sideskabeloner ikke beregnet til at blive gengivet som er. I stedet er mærket op med yderligere elementer og attributter i særlige XML navnerum. Disse yderligere oplysninger bruges til at beskrive hvordan siden skabelonen skal i sidste ende skal behandles.

Her er nogle grundlæggende eksempler. At betinget omfatte et bestemt element, ligesom en div-element, skal du blot tilføje tal: tilstand attribut til elementet som følger:

At kontrollere, hvad der vises inde i et element, skal du bruge tal: attribut indhold som denne:

Endelig, for at indføre eller erstatte værdier for attributter bruge tal: attributter attribut som nedenfor. Du kan bruge Python til at ændre href på runtime.

Dette er en meget overfladisk forklaring af Zope Sideskabeloner. Adfærd Zope Side skabeloner er næsten helt beskrives af en skabelon sprog, fikseret på TAL, TALES, og METAL specifikationer:

  • Skabelon Egenskab sprog,
  • Skabelon Attribut Sprog Expression Syntaks,
  • Makro Expansion Skabelon Attribut sprog.
  0   0
Næste artikel Brugerdefineret

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha