Zope and Plone in the DSD

50 %
50 %
Information about Zope and Plone in the DSD

Published on February 14, 2008

Author: brighteyes

Source: slideshare.net

Description

Zope and Plone in the DSD

Zope and Plone in the DSD David Konerding DSD Group Meeting 3/5/2004

Zope is an App Server Python-based Transactional object database Dynamic HTML (Python-like scripting) Powerful “through-the-web” management and development Tightly integrated security model Can load “products” which add features such as content management Supports WebDAV, XML-RPC, external RDBMS connections, SOAP

Python-based

Transactional object database

Dynamic HTML (Python-like scripting)

Powerful “through-the-web” management and development

Tightly integrated security model

Can load “products” which add features such as content management

Supports WebDAV, XML-RPC, external RDBMS connections, SOAP

Zope is a way of life (your new life begins now) The fundamentals are: Zope is a framework into which you publish objects Zope objects include folders, so you can create hierarchical structures Objects “acquire” (similar to inherit) behavior from their ancestors The Zope object instance hierarchy maps to the URL model

The fundamentals are:

Zope is a framework into which you publish objects

Zope objects include folders, so you can create hierarchical structures

Objects “acquire” (similar to inherit) behavior from their ancestors

The Zope object instance hierarchy maps to the URL model

Zope is a way of life (a reading from the Book) Your web browser sends a request to the Zope server. The request specifies a URL in the form protocol://host:port/path?querystring", e.g. http://www.zope.org:8080/Resources?batch_start=100. Zope separates the URL into its component "host", "port" "path" and "query string" portions (http://www.zope.org, 8080, /Resources and ?batch_start=100, respectively). Zope locates the object in its object database corresponding to the "path" (/Resources). Zope "executes" the object using the "query string" as a source of parameters that can modify the behavior of the object. This means that the object may behave differently depending on the values passed in the query string. If the act of executing the object returns a value, the value is sent back to your browser. Typically a given Zope object returns HTML, file data, or image data. The data is interpreted by the browser and shown to you. Zope's seminal duty is to "publish" the objects you create. The way it does this is conceptually straightforward.

Your web browser sends a request to the Zope server. The request specifies a URL in the form protocol://host:port/path?querystring", e.g. http://www.zope.org:8080/Resources?batch_start=100.

Zope separates the URL into its component "host", "port" "path" and "query string" portions (http://www.zope.org, 8080, /Resources and ?batch_start=100, respectively).

Zope locates the object in its object database corresponding to the "path" (/Resources).

Zope "executes" the object using the "query string" as a source of parameters that can modify the behavior of the object. This means that the object may behave differently depending on the values passed in the query string.

If the act of executing the object returns a value, the value is sent back to your browser. Typically a given Zope object returns HTML, file data, or image data.

The data is interpreted by the browser and shown to you.

Example of constructing a small home page. We already have a place for per-developer pages: https://bosshog.lbl.gov/people

We already have a place for per-developer pages: https://bosshog.lbl.gov/people

Imagine I want to add a new page. To enter the Zope management interface (you must have permission), simply add “/manage” to the URL Example: https://bosshog.lbl.gov/people -> https://bosshog.lbl.gov/people/manage

To enter the Zope management interface (you must have permission), simply add “/manage” to the URL

Example:

https://bosshog.lbl.gov/people ->

https://bosshog.lbl.gov/people/manage

To add a new folder…

To add a new folder…

To add a new folder…

To add a page to your new folder

To add a new page to your folder

Editing the new page

Viewing the new page

Viewing the new page

Accessing content via WebDAV

Accessing content from WebDAV a

WebDAV Drag and drop files and folders into Zope! In my experience WebDAV is kind of flaky, especially on Windows. The linux command line client “cadaver” works just fine. There is also FTP support, but it’s currently disabled due to plaintext passwords.

Drag and drop files and folders into Zope!

In my experience WebDAV is kind of flaky, especially on Windows. The linux command line client “cadaver” works just fine.

There is also FTP support, but it’s currently disabled due to plaintext passwords.

Some other fundamental Zope concepts Acquisition: objects “acquire” (like inherit) behavior from their ancestors. Many behaviors can be defined at the root of the Zope site and acquired across the site- nice way to provide headers, footers, etc. Security: Zope has a sophisticated, yet hard to understand security model. Effectively, users are assigned roles and roles have permissions on objects. Administrative tasks can be delegated to users. Security ties in with acquisition to allow for very sophisticated access mechanisms

Acquisition: objects “acquire” (like inherit) behavior from their ancestors. Many behaviors can be defined at the root of the Zope site and acquired across the site- nice way to provide headers, footers, etc.

Security: Zope has a sophisticated, yet hard to understand security model. Effectively, users are assigned roles and roles have permissions on objects. Administrative tasks can be delegated to users. Security ties in with acquisition to allow for very sophisticated access mechanisms

Products add features to Zope Products are Python packages which can be integrated within Zope. After integration (stop server, copy a folder into the Zope tree, start server), you can add product instances within your site. ZWiki- a Wiki component Plone- a sophisticated Content Management Framework ZSQL VirtualHostMonster

Products are Python packages which can be integrated within Zope. After integration (stop server, copy a folder into the Zope tree, start server), you can add product instances within your site.

ZWiki- a Wiki component

Plone- a sophisticated Content Management Framework

ZSQL

VirtualHostMonster

Plone- the ultimate Zope product Plone lives on top of the Content Management Framework product. It allows you to create sophisticated sites with a minimum of work. Easy to add files, manage document publishing workflows (such as author writes document, editor edits it, then reviewer approves it) Wikis (and more plones) can be embedded within a Plone, allowing sub-projects complete control

Plone lives on top of the Content Management Framework product.

It allows you to create sophisticated sites with a minimum of work.

Easy to add files, manage document publishing workflows (such as author writes document, editor edits it, then reviewer approves it)

Wikis (and more plones) can be embedded within a Plone, allowing sub-projects complete control

Our site’s usage of Zope and Zope Products Our external site tree (rooted at https://bosshog.lbl.gov ) /people /projects DSDCluster – Plone documenting the cluster pyGrid (virtual server published at https://pygrid.dsd.lbl.gov ) pyGlobus pyGridware /proposals DOERenewals The pyGrid site is actually a Plone, with 2 more Plones and a Wiki inside. Sensitive parts of the site are only accessible by authenticated users (basic HTTP auth over HTTPS). The “true root” of the Zope web site is not publicly accessible, and is only used for administrative purposes

Our external site tree (rooted at https://bosshog.lbl.gov )

/people

/projects

DSDCluster – Plone documenting the cluster

pyGrid (virtual server published at https://pygrid.dsd.lbl.gov )

pyGlobus

pyGridware

/proposals

DOERenewals

The pyGrid site is actually a Plone, with 2 more Plones and a Wiki inside.

Sensitive parts of the site are only accessible by authenticated users (basic HTTP auth over HTTPS).

The “true root” of the Zope web site is not publicly accessible, and is only used for administrative purposes

The Python Grid Community Plone (pygrid.dsd.lbl.gov)

Plone example- the pyGrid web site /projects pyGrid pyGridPlone pyGridWiki pyGridware pyGridwarePlone pyGlobus pyGlobusPlone The Plone sites provide news and document publishing- good for publicizing releases The Wiki sites allow community involvement- answering FAQs, showing examples, writing tutorials

/projects

pyGrid

pyGridPlone

pyGridWiki

pyGridware

pyGridwarePlone

pyGlobus

pyGlobusPlone

The Plone sites provide news and document publishing- good for publicizing releases

The Wiki sites allow community involvement- answering FAQs, showing examples, writing tutorials

Viewing My Folder

Adding a new document

Publishing the document (submit for review)

Publish or Perish

Add a comment

Related presentations

Related pages

Zope and Plone in the DSD, SlideSearchEngine.com

Zope and Plone in the DSD David Konerding DSD Group Meeting 3/5/2004 Zope is an App Server Python-based Transactional object database Dynamic HTML (Python ...
Read more

Zope | LinkedIn

Senior Web/Python/Zope/Plone developer and analyst at IMIO Past Senior Web/Python/Zope/Plone developer at CommunesPlone.org, ... Zope and Plone in the DSD.
Read more

Fabricio Vertamatti | LinkedIn

View Fabricio Vertamatti’s professional profile on LinkedIn. ... Zope and Plone. ... Development in DSD language ...
Read more

The goodies of zope, pyramid, and plone (2) - Technology

1.The goodies that Zope begat Pyramid, Plone, buildout + more Dylan Jay @djay75 . 2. Who am I? ... Zope and Plone in the DSD. Deploying Zope and Plone Portals.
Read more

Online exhibits in Plone - Technology - documents.mx

1.Online Exhibits in Plone A Project Sponsored ByDumbarton Oaks Sally Kleinfeldt, Jazkarta Plone Symposium East May, ... Zope and Plone in the DSD
Read more

Retired Gentoo Developers – Gentoo Linux

Retired Gentoo Developers. Developers; ... Plone and Zope: battousai: Bryan Stine: Northampton, ... dsd: Daniel Drake: London, UK:
Read more

Index of Packages Matching 'tool' : Python Package Index

... (DSD) ducktoolkit 0.9.2: 6 ... A site migration tool for Plone that uses the site's theme egg version releases: ... Install zope sites content in ...
Read more

- Objectis - Non-existing or disabled site

Ce service d'hébergement Plone gratuit vous est offert par Pilot Systems, spécialiste des technologies Python, Zope et Plone. Apéros plone.
Read more