Quick Upload

Zope and Plone in the DSD

from brighteyes, 10 months ago Add as contact

353 views | 0 comments | 0 favorites | 0 embeds (Stats)

Zope and Plone in the DSD

Embed customize close
 

Categories

Business & Mgmt

More Info

This slideshow is Public
CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Views: 353 Comments: 0 Favorites: 0 Downloads: 4

View Details: 353 on Slideshare
0 from embeds
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this slideshow as inappropriate.

If needed, use the feedback form to let us know more details.

Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer. To install it, go here.
Post to Twitter Post to Twitter
Share on Facebook Share on Facebook
Post to Blogger Post to Blogger
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

Presentation Transcript

  1. Slide 1: Zope and Plone in the DSD David Konerding DSD Group Meeting 3/5/2004
  2. Slide 2: 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
  3. Slide 3: 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
  4. Slide 4: Zope is a way of life (a reading from the Book) 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.
  5. Slide 5: Example of constructing a small home page. • We already have a place for per-developer pages: https://bosshog.lbl.gov/people
  6. Slide 6: 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
  7. Slide 7: To add a new folder…
  8. Slide 8: To add a new folder…
  9. Slide 9: To add a new folder…
  10. Slide 10: To add a page to your new folder
  11. Slide 11: To add a new page to your folder
  12. Slide 12: Editing the new page
  13. Slide 13: Viewing the new page
  14. Slide 14: Viewing the new page
  15. Slide 15: Accessing content via WebDAV
  16. Slide 16: Accessing content from WebDAV a
  17. Slide 17: 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.
  18. Slide 18: 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
  19. Slide 19: 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
  20. Slide 20: 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
  21. Slide 21: 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
  22. Slide 22: The Python Grid Community Plone (pygrid.dsd.lbl.gov)
  23. Slide 23: 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
  24. Slide 24: Viewing My Folder
  25. Slide 25: Adding a new document
  26. Slide 26: Publishing the document (submit for review)
  27. Slide 27: Publish or Perish