Book Image

Plone 3 Multimedia

By : Tom Gross
Book Image

Plone 3 Multimedia

By: Tom Gross

Overview of this book

<p>Plone is a free and open source content management system built on top of the Zope application server. Multimedia provides us with stunning interactive user experiences and many design options, but it requires discipline and knowledge to utilize it effectively so that we do not alienate our audiences. By providing an overview of multimedia content together with a practical focus on how to process it in the web context, this book will be your ideal partner when turning your Plone site into a full-featured multimedia Internet presence.<br /><br />From watermarked images, integrated Silverlight-applications over geotagged content and rich podcasts to protected video-on-demand solutions this book provides a rich repository of tools and techniques to add full multimedia power to Plone. This step-by-step guide will show you how to collaborate with many external web resources to build a powerful interactive Plone site that perfectly meet your needs.<br /><br />Multimedia data is a very important part of the Internet, considering the amount of storage and bandwidth taken. This book will show you how to turn your multimedia data in valuable multimedia content by using the mature and extensible open source CMS Plone.<br /><br />With its content-centric approach Plone allows specialized use-case scenarios for image, audio, video, Flash and Silverlight applications. The initial chapters focus on managing image, audio, video, and flash content for your Plone website. We then plunge into content control and syndication. <br /><br />The book will show you how to structure your content by tagging, rating, and geolocating. It will give you insights on how to upload, store, and serve your multimedia content in an effective way.</p>
Table of Contents (19 chapters)
Plone 3 Multimedia
Credits
About the Author
About the Reviewers
Preface
Syndication Formats
Index

Why Plone?


If you are reading this book, you have heard of Plone and used it before. You want to know how to extend the great content management features with multimedia goodies. Why is Plone suitable for managing multimedia content? First of all, Plone is a great CMS. It is:

  • Secure: Plone builds on the Zope application server. In contrast to other Web-based systems, security is an integral component of the application. Every object in the object database is protected and all content in Plone can be allocated to a security workflow.

  • Stable: Plone is a mature system, which has been around now for many years and is widely used all over the world. A strong community fixes the bugs quickly.

  • Easy to work with: With the CMS features of Plone, no HTML knowledge is necessary to publish web content. Most configuration settings for administrators and integrators are accessible through the Web.

  • Professional: There are Plone consultant companies in many countries. Web solutions using Plone can be found in many intranets and extranets.

  • Extensible: One of the most interesting advantages of Plone for us is the ability to extend it. There are hundreds of small and big add-ons for turning Plone in a weblog, newsletter tool, or even a complete multimedia solution.

These features make Plone suitable for many different use cases dealing with the problem of getting binary data into and out of the WWW.

For data storage, Plone uses the Zope Object DataBase (ZODB), which is an object-oriented database written in Python and C. It is especially good at storing objects, but is not so good at storing large files.

Unfortunately, multimedia data tends to be stored in large files. One minute of CD-quality audio takes around 10 megabytes. There are compression methods for images, audio, and video but a one-minute audio encoded with the MP3 format still takes 1 megabyte.

Fortunately, there are methods for storing and accessing multimedia data outside the ZODB. In Chapter 9, we will learn how to do this.

Since version 3.8, the ZODB has had BLOB (Binary Large Object) support. Large binary data is not stored in the internal structure, but on the filesystem. This makes storage and publishing more efficient. In Plone 4, this will be the standard backend for the File and Image content types. In Chapter 9, we will see how we can use the BLOB features with Plone 3.3.

Plone Content

Plone comes with eight content types useful for creating web content: Folder, Collection, Page, Event, News Item, Link, File, and Image.

Folder and Collection are not real content on their own. Their purpose is to structure content. Yet they play an important role in Plone because we can define views on them showing certain aspects of the content included. This can be an image gallery view, a blog view, a tabular listing, a summary view, or even an RSS feed view used for syndication of the content.

While a Folder is an object in which data is actually stored, a Collection is an object that gathers the main information about different objects. This information is collected from various content objects of the portal with the help of the catalog.

All other content types are web content and depending on the definition of multimedia, they are multimedia or can contain multimedia.

News items are meant to promote news on the website. They can contain rich text and an image with a caption. They are made for special purposes and are not appropriate for general multimedia content.

The Event content type is for calendric events. It has a start and an end date, and some additional information concerning the event. It is not appropriate for the storage of multimedia content. In a complete multimedia platform, it may still play an important role. Consider a website of a band. It stores some demo material as MP3, and announces concerts and CD releases as Events.

The Plone4Artists initiative provides an enhanced version of the Event content type that supports recurring events.

The most important content type in real-life situations is probably the Page. A Page is simply an HTML page edited with a Visual Editor. According to the definition of multimedia, a text is multimedia already—especially if it contains other visual elements such as images or videos. In the common usage of the term, a Page is seldom recognized as multimedia.

The most important content types for multimedia are Image and File. The role of the Image content type is quickly told. Its purpose is to wrap a digital image to be treated as web content. Therefore, it comes with a set of metadata, some predefined scales, and the ability to be included into a Page.

The File content type is a container for all other data that does not fit in another category. Arbitrary files can be uploaded into Plone via the Web. These files are displayed if possible (text) or provided as download (binary). Except for the usual metadata, this is it for a default installation of Plone.

One important datum that is stored with a File is its MIME type. This helps other products to distinguish between audios, videos, and other forms of multimedia, and activate certain components and views available for this type.

It is notable that neither the Image nor the File content types have a workflow attached by default. It is assumed that content objects of this type are always available to the public audience of the site. Still, it is possible to define a workflow for one or both of these content types.

Luckily, the behavior of Plone's content types can easily be enhanced with the help of the ZCA. With some readymade add-ons, it is possible to have specialized File content for audio, video, or Flash. With some Python knowledge, it is not too difficult to write a custom add-on for the multimedia forms of the future.

Finally, there is the Link content type. With this, it is possible to store references to arbitrary points in the WWW locatable by an URL. The standard behavior of Links is to go to its stored location. But it is possible to change this. Some multimedia add-ons for Plone utilize the Link content type for referring to external multimedia resources, especially audio and video. The display of the content is handled by a customized Plone view of the Link object, but the content is stored and published from the external location. This saves bandwidth and storage space.