Zope
Le Zope est une ouvrir-source , le serveur d'application orienté objectivement de de Web du écrit dans le langage de programmation de du python . Zope représente le " ; Objet de Z éditant Environment." ; Il peut être presque entièrement contrôlé avec une interface utilisateurs basée sur le WEB. Zope édite sur les objets de python de Web qui sont typiquement persistés dans une base de données d'objet, le ZODB . Les types d'objet de base, tels que des documents, des images, et des calibres de page, sont disponibles pour que l'utilisateur crée et pour contrôle par le Web. Les types d'objet spécialisés, tels que les blogs de Wikis et les galeries de photos, sont disponibles en tant que tiers adjonctions (appelées les produits), et il y a une communauté prospère de petites entreprises créant des applications Web faites sur commande comme produits de Zope.
Il y a deux générations importantes du logiciel en service aujourd'hui. En date du juillet 2007, Zope 2.4 est le dernier dégagement stable du codebase de Zope 2, et Zope 3.1 est le dernier dégagement de Zope 3. Zope est distribué en vertu du permis public , un permis de Zope de de logiciel gratuit de .
Histoire
Zope Corporation a été formé en 1995 dans le Fredericksburg , le VA , comme entreprise en participation avec InfiNet (une entreprise commune de chaîne de journal). La compagnie a développé un moteur classifié de publicité pour l'Internet, puis dans 1997 est devenue une entreprise privée anonyme indépendamment possédée. À la demande de son plus grand investisseur, Opticality Ventures, Zope Corporation a libéré son logiciel comme logiciel gratuit, se concentrant sur fournir des services premiers de personnalisation. Les Software Engineers de la compagnie sont menées par CTO Jim Fulton. PythonLabs, créateurs de python, est allé bien à une partie de la compagnie en l'an 2000. Le Guido van Rossum de fondateur de python n'est plus utilisé par Zope, cependant.
Ce qui est maintenant connu comme Zope 2 commencé avec la fusion de trois logiciels séparés - Bobo, calibre de document, et BoboPOS - dans le serveur d'application de Principia. La compagnie écrivante, créations de Digitals, ouvrir-originaires leur produit de navire amiral en 1998, influencé par leur spécialiste du capital-risques, Hadar Pedhazur . Ce produit a été retitré " ; Zope" ; avec ce dégagement. En novembre 2004, Zope 3 a été libéré. Zope 3 est une réécriture complète qui préserve seulement la base de données d'objet originale de ZODB. La conception de Zope 3 est conduite par les besoins de grandes compagnies, les clients de Zope Corporation, des schémas complexes d'affaires. On le prévoit directement pour le développement d'application Web d'entreprise using les paradigmes du plus nouveau développement. Zope 3 est, cependant, non compatible avec Zope 2, ainsi vous ne peuvent pas courir Zope 2 applications sur Zope 3. Par conséquent, un effort (appelé cinq) de fusionner le nouveau Zope 3 paradigmes dans Zope 2 a été continu depuis Zope 2. Son but est de permettre à des lotisseurs d'écrire les applications et les bibliothèques qui fonctionnent sous Zope 3 et Zope 2.
Dispositifs techniques
Un site Web de Zope se compose d'objets dans une base de données d'objet par opposition aux dossiers, de même qu'habituel avec beaucoup d'autres systèmes du web server . Cette approche permet à des utilisateurs d'armer les avantages des technologies d'objet, telles que l'encapsulation . Zope trace les URL aux objets using la hiérarchie de retenue de tels objets ; des méthodes sont considérées être aussi bien contenues dans leurs objets.
Zope vient avec la base de données d'objet de Zope , qui persiste d'une manière transparente (python ) des objets dans une base de données transactionnelle.
Un en particulier dispositif innovateur de Zope est son utilisation répandue d'acquisition. L'acquisition est une technique parallèle à la transmission de classe, dans laquelle objecte le " ; inherit" ; comportement de leur contexte dans une hiérarchie de composition, par opposition à leur classe dans une hiérarchie de classe. Ceci permet certaines manières de structurer le code source il est autrement plus difficile d'accomplir que, et peut encourager la décomposition d'application. Un d'usage courant est en structurant la manière que des éléments de disposition sont employés dans une page Web. L'acquisition comme mise en application dans Zope 2 est également perçue comme source des bogues, car elle permet beaucoup de comportements inattendus. L'utilisation de l'acquisition a été sévèrement rétrécie dans Zope 3.
Zope fournit plusieurs mécanismes pour HTML templating : Langage de balisage dynamique de calibre (DTML), et calibres de page de Zope (ZPT). DTML est une langue étiquette-basée qui permet l'exécution de scripting simple dans les calibres. DTML prévoit l'inclusion, les conditions, et les boucles variables. Cependant, DTML a des inconvénients importants : Les étiquettes de DTML entremêlées avec le HTML forment les documents non-valides de HTML, et l'inclusion négligente de la logique dans des calibres a comme conséquence le code très illisible. ZPT est une technologie qui fixe ces points faibles. Les calibres de ZPT peuvent être les documents bien formés du XML ou les documents de HTML, dans lesquels tout le marge bénéficiaire bénéficiaire spécial est présenté en tant qu'attributs dans le namespace de TAL (langue d'attribut de calibre). ZPT offre juste un ensemble d'outils très limité pour l'inclusion conditionnelle et la répétition des éléments de XML, ainsi les calibres sont habituellement tout à fait simples, avec la plupart de logique mise en application en code de python. Un avantage significatif des calibres de ZPT est qu'ils peuvent être édités dans la plupart des rédacteurs graphiques de HTML. ZPT offre également le soutien direct de l'internationalisation .
Zope 2 est la base derrière le Nuxeo cps , le Plone , et les systèmes de gestion de contenu de de Silva aussi bien que la base derrière la planification de ressource d'entreprise de de source ouverte du ERP5 . Cependant, vers la fin de 2006 Nuxeo a annoncé que de futures versions de son CMS seraient mises en application dans Java.
Zope 3
Une nouvelle version de Zope, Zope 3 , a été à l'étude pendant quelques années. Zope 2 s'est prouvé comme cadre utile pour le développement d'applications Web, mais son utilisation a indiqué quelques points faibles. Pour appeler uns, créant Zope 2 produits implique de copier beaucoup de code de texte constant - " ; magic" ; il est difficile modifier ou remplacer le code - qui juste doit être là, et l'interface intégrée de gestion. Zope 3 est une réécriture du logiciel qui essaye d'adresser ces points faibles tout en maintenant les avantages de Zope que cela a mené à sa popularité. Zope 3 est basé sur une architecture composante qui le rend facile de mélanger des composants de logiciel de diverses origines écrites dans le python . Le premier dégagement de production du nouveau logiciel, Zope X3 3.0, a été libéré le 6 novembre , le 2004 . Le dégagement courant de production, Zope 3.1, a été libéré le 14 janvier , le 2007 .
Cinq et le futur de Zope
Le projet cinq est une prolongation de Zope 2 qui permet à utilisation de Zope 3 technologies dans Zope 2.À l'origine libérés séparément, cinq est devenus une partie intégrale de la ligne principale du développement de Zope 2.0 ont été intégrés avec Zope 2 commençant par Zope 2. Chaque dégagement successif de Zope 2 a intégré plus des dispositifs de Zope 3.
Les cinq nommés est un peu d'une plaisanterie : Zope 2 + Zope 3 = cinq.
Dans un futur scénario probable, proposé par Jim Fulton, Zope 3 mai se refocalisent sur fournir les composants indépendants multiples d'infrastructure, alors que Zope 2 et cinq deviendrait un projet concentré sur fournir un cadre de serveur d'application Web (un but auxiliaire est de réduire la confusion au sujet de ce qui exactement " ; Zope" ; est).
Calibres de page de Zope
Comme mentionné précédemment, les calibres de page de Zope sont eux-mêmes des documents de XHTML que des moyens ils peuvent être regardés et être édité using les outils conformes de XHTML (qui est un grand avantage comparé à d'autres langues de calibre utilisées pour des applications Web). Cependant, ces calibres de page ne sont pas censés pour être rendus comme est. Au lieu de cela ils sont identifiés vers le haut par les éléments complémentaires et les attributs dans les namespaces spéciaux de XML (voir ci-dessous). Ces informations supplémentaires sont employées pour décrire comment le calibre de page devrait finalement être traité.Voici quelques exemples de base. Pour inclure conditionnellement un élément particulier, comme un élément de div, ajoutent simplement le tal : attribut de condition à l'élément comme suit :
lang=" de
Pour commander ce qui apparaît à l'intérieur d'un élément, employer le tal : l'attribut de content aiment ceci :
lang=" de …
En conclusion, présenter ou remplacer des valeurs des attributs emploient le tal : attribut d'attributes comme suit : La puissance du python a pu également être utilisée pour changer dynamiquement le href au temps d'exécution.
lang=" de
Puisque les calibres de page de Zope sont eux-mêmes XHTML non seulement peuvent eux être édités using les rédacteurs normaux de HTML mais ils peuvent également être examinés pour assurer la conformité de XHTML sous la forme de calibre. En conséquence, vous pouvez être assez confiant que ces calibres seront augmenté dans XHTML approprié automatiquement.
Ceci une explication très cursive des calibres de page de Zope. Le comportement des calibres de page de Zope presque totalement est décrit par une langue de calibre de , fixe sur des caractéristiques de TAL, de CONTES, et EN MÉTAL :
Langue (TAL) d'attribut de calibre de ,
Syntaxe d'expression de langue d'attribut de calibre (CONTES ),
Langue d'attribut de calibre de macro expansion (MÉTAL ).
Voir également
cadre content de gestion de Zope
Plone
ERP5
Nuxeo cps
Gestion contente
Gestion de contenu de Web de
Zwiki
cadres de pplication
.
| Random links: | Ethan Hawke | Sri Sri Ravi Shankar | Barbet Cramoisi-affronté | Usines de porcelaine de Dehua | Personnes de Spinifex | Zope |