O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Plone 3 for Education

Book Description

Break the webmaster bottleneck by empowering instructors and staff

About This Book

  • Enable instructors and staff to represent courses using Plone's built-in content types-news items, collections, and events-without writing a single line of code
  • Embed sound and video into your course materials, news feeds, or anywhere on your Plone site
  • Written by Erik Rose-member of the Plone 4 and 5 Framework Teams
  • Expert guidance on using the best plug-ins so that you can get the best out of your site right from the beginning

Who this book is for

Plone 3 for Education is for the makers of school web sites, from primary to university, from e-learning to public-facing, from tech-savvy teachers to seasoned software developers. A user-level familiarity with Plone is the only prerequisite; everything else is baked in.

What You Will Learn

  • Build common e-learning tasks in Plone: assignment schedules, course materials, online turn-in forms, and class interaction using podcasts and forums
  • Build school-wide and department-wise directories collecting contact info, biographies, and more
  • Take care of necessities, like customizing the look of your site, setting up a production server, and running incremental backups
  • Integrate audio and video with Plone: weaving it into pages, populating portlets, and podcasting it to the world
  • Harness Plone4Artists Calendar product to improve the display of event listings
  • Find tips on information architecture and usability, learning from the successes and mistakes of several sites

In Detail

Plone enables your faculty and staff to manage their own web sites, but some assembly is still required. How do you represent courses online? What about assignment schedules, lecture podcasts, and collaborative spaces? That's where this book comes in-it takes the burden of routine updates off your web team by harnessing the world's most advanced free content management system.

This is the school web team's missing manual. Through step-by-step examples covering 11 common educational use cases, you'll learn how to take the box of parts provided by Plone, combine them with best-of-breed third-party plug-ins, and turn out a dynamic web environment that will be a joy to use for faculty, enhance staff productivity, and engage the student body.

Plone is powerful but complex. Its ease of use for end users belies a wealth of under-the-hood features and third-party add-ons that are time-consuming for back-end web teams to sort through. The book guides you on proven paths through the forest of potential that you encounter during design and deployment, starting you with reasonable choices for each of 11 common education-domain use cases. Each one enumerates the value it brings to your site and guides you step-by-step through an implementation suitable for the vast majority of cases, meaning you can spend your time addressing the unique needs of your institution-not reinventing the wheel.

Style and approach

This book is written especially for time-constrained web teams. Every chapter is hands-on from start to finish, focusing on getting a value-adding site up fast. Necessary theory and tips on best practices are interspersed with the step-by-step instructions, broken out into sidebars so it informs your progress without impeding it. Also, every chapter is independent, dealing with a specific use case-for example, publishing video, creating forms, or representing assignment schedules and syllabi-so you can skip straight to what you need.

Most chapters require no programming at all. The few where we dig deeper (for example, to build our own plug-in products) are replete with working code samples and explanations of what's going on. A rudimentary knowledge of the Python programming language is helpful in these but is not essential.

Table of Contents

  1. Plone 3 for Education
    1. Plone 3 for Education
    2. Credits
    3. About the Author
    4. About the Reviewers
    5. Preface
      1. Why Plone for schools?
      2. Conquering complexity
      3. What this book covers
      4. What you need for this book
      5. Who this book is for
            1. A word about Information Architecture
      6. Conventions
      7. Reader feedback
      8. Customer support
        1. Errata
        2. Piracy
        3. Questions
    6. 1. Creating Courses
      1. Prepare a place for courses
        1. Enable large folders
        2. Create the "Courses" folder
      2. Create the course skeleton
      3. Add a lesson
        1. The value of comments
        2. Lesson materials: one page or many?
        3. Add an assignment to the lesson
      4. Add course-wide events
      5. Use news items for course-specific announcements
        1. Add a course news portlet
      6. Collect due dates on the course's front page
      7. Add a syllabus
      8. Reusing the course framework
      9. Summary
        1. Where to go from here
    7. 2. Calendaring
      1. Show events on a calendar
        1. Meet Plone4Artists Calendar
        2. Install Plone4Artists Calendar
      2. Exclude trivia from the site-wide calendar
      3. Build a browsable hierarchy with collections
        1. Reorder subfolders the hard (but only) way
        2. Keep keywords clean with Plone Keyword Manager
      4. Tips for event contributors
      5. Represent recurring events
        1. Spotty support for showing recurrences
      6. Summary
    8. 3. Showcasing Personnel with Faculty/Staff Directory
      1. Install the product
      2. Test drive Faculty/Staff Directory
        1. Create a directory and choose global roles
        2. Add people
        3. Group people
          1. Classifications
          2. Committees
          3. Specialties
          4. Departments
          5. How grouping works: relationships, not containers
          1. Gallery view
          2. Tabular view
          3. A-Z view
          4. Textual view
          5. Which views for which types?
        5. Integrate users and groups
          1. Interoperating with enterprise authentication
          2. Delegating group administration
      3. Coming attractions
      4. Summary
    9. 4. Extending Faculty/Staff Directory
      1. A look at Archetypes
      2. Introducing schemaextender
      3. Start your extender
        1. Copy MobilePhoneExtender
        2. Test your work so far
      4. Adapters: the anatomy of an Extender
        1. Take this, make that
        2. Constructor boilerplate
      5. Add the fax and publications fields
      6. Show the new fields in views
      7. Hide or change existing fields
      8. Off-the-shelf extenders
      9. Summary
    10. 5. Blogs and Forums
      1. Plone's blogging potential
      2. Add-on products: free as in puppies
      3. News Items: blogging for the hurried or risk-averse
        1. Structure of a news-item blog
        2. News Item pros and cons
      4. Scrawl: a blog with a view
        1. Pros and cons of scrawl
      5. QuillsEnabled: blogging bells and whistles
        1. Pros and cons of QuillsEnabled
      6. QuillsEnabled + Scrawl: the perfect pair
      7. Forums with Ploneboard
        1. Comments and conversations
        2. Forums
        3. Message boards
        4. Harnessing Ploneboard's workflows
        5. Example 1: Moderated forums as drop boxes
        6. Example 2: Open forums for homework help
        7. Example 3: Forums for group work collaboration
      8. Summary
    11. 6. Embedding Audio and Video
      1. Meet the products
      2. Play standalone media
        1. Player options
      3. Embed media in pages
        1. Embed audio
        2. Embed video
        3. Embed media manually
          1. Enable the tags
          2. Insert the media
          3. Media in portlets
      4. Podcasting
        1. Advertising on the iTunes store
        2. iTunes U
      5. Summary
    12. 7. Creating Forms Fast
      1. Install PloneFormGen
      2. A tour of PloneFormGen
        1. Field types
        2. Form Actions
          1. Emailing submissions
          2. Saving submissions in the ZODB
          3. Doing custom processing
          4. Combining form actions
      3. PloneFormGen versus Archetypes content objects
      4. Tasty recipes
        1. Testing
        2. Filling out content objects
      5. Summary
    13. 8. Styling Your Site
      1. An overview of Plone theming
        1. Through-the-web versus filesystem
        2. A load of languages
        3. Don't let theming hold you up
      2. Prepare your development environment
      3. Begin your theme
        1. Install paster and ZopeSkel
          1. Generate an empty theme
        2. Clean up after paster
          1. Remove redundant package registration
          2. Remove MANIFEST.in
      4. Finalize installation
      5. Customize theme elements
      6. Customize Zope 2 elements
        1. Changing images
        2. Changing CSS
        3. Changing HTML
          1. The motivation behind TAL
          2. Adding templates
      7. Customize Zope 3 elements
        1. Example: Customizing the footer
          1. Step 1: Set up z3c.jbot
          2. Step 2: Override templates
        2. Further Reading
      8. Summary
    14. 9. Going Live
      1. Introducing the stack
        1. A word about platforms
      2. ZEO and Zope
        1. Considering buildout
        2. Install the generator, and generate a buildout configuration
        3. Make your first buildout tweaks
        4. Add ZEO support to buildout.cfg
        5. Add CacheFu to the buildout
        6. Start it up
      3. Increase speed with caching
        1. Crank up CacheFu
          1. Set up Squid
      4. Add Apache
        1. Generate correct links with VirtualHostMonster
        2. A sample Apache configuration
      5. Summary
    15. 10. Maintenance, Backups, and Upgrades
      1. Pack the ZODB
        1. Why to pack
        2. Pack manually
        3. Pack automatically
        4. Schedule easily with /etc/cron.weekly
        5. Schedule manually
      2. Back up Plone
        1. Make incremental backups of the ZODB with repozo
        2. Make repozo easier to use
        3. Schedule nightly backups
        4. Tweak your filesystem backups
        5. What if I am a major credit card company?
        6. Restore from backups
          1. The smoking hole scenario
          2. The deletion disaster
      3. Upgrade add-on products
      4. Upgrade Plone
      5. Summary