Zope and Plone in the DSD
-
Upload
brighteyes -
Category
Business
-
view
1.425 -
download
0
description
Transcript of Zope and Plone in the DSD
![Page 1: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/1.jpg)
Zope and Plone in the DSD
David Konerding
DSD Group Meeting
3/5/2004
![Page 2: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/2.jpg)
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
![Page 3: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/3.jpg)
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
![Page 4: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/4.jpg)
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.
![Page 5: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/5.jpg)
Example of constructing a small home page.
• We already have a place for per-developer pages: https://bosshog.lbl.gov/people
![Page 6: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/6.jpg)
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
![Page 7: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/7.jpg)
To add a new folder…
![Page 8: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/8.jpg)
To add a new folder…
![Page 9: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/9.jpg)
To add a new folder…
![Page 10: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/10.jpg)
To add a page to your new folder
![Page 11: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/11.jpg)
To add a new page to your folder
![Page 12: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/12.jpg)
Editing the new page
![Page 13: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/13.jpg)
Viewing the new page
![Page 14: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/14.jpg)
Viewing the new page
![Page 15: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/15.jpg)
Accessing content via WebDAV
![Page 16: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/16.jpg)
Accessing content from WebDAV
a
![Page 17: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/17.jpg)
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.
![Page 18: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/18.jpg)
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
![Page 19: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/19.jpg)
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
![Page 20: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/20.jpg)
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
![Page 21: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/21.jpg)
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 clusterpyGrid (virtual server published at https://pygrid.dsd.lbl.gov)
pyGlobuspyGridware
/proposalsDOERenewals
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
![Page 22: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/22.jpg)
The Python Grid Community Plone (pygrid.dsd.lbl.gov)
![Page 23: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/23.jpg)
Plone example- the pyGrid web site
/projectspyGrid
pyGridPlonepyGridWikipyGridware
pyGridwarePlonepyGlobus
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
![Page 24: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/24.jpg)
Viewing My Folder
![Page 25: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/25.jpg)
Adding a new document
![Page 26: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/26.jpg)
Publishing the document (submit for review)
![Page 27: Zope and Plone in the DSD](https://reader035.fdocuments.us/reader035/viewer/2022062312/55517475b4c905723b8b4f59/html5/thumbnails/27.jpg)
Publish or Perish