Managing Content

In This Section...

General

Fixing Plone's publishing of Flash content in Plone 3.1.6 and earlier
How to make Flash Player 10 display Flash content uploaded as content to the site.
How to Paste Content from Word to Plone (using TinyMCE editor)
This how-to discusses the ways of pasting content to you Plone webpage, problems and possible solutions using TinyMCE text editor.
More WebDAV
Some up-to-date tips on how to access your Plone site via WebDAV.
Storing files on the file system using FileSystemStorage
You have a Plone site, but you deal with large files such as documents that are +100MB or hundreds of images and you don’t want to store them in the ZODB.

Export

Adding a del.icio.us link/icon to your Document Actions
This howto will explain how to add an icon to your Document Actions, so that users can add your page to their del.icio.us bookmarks.
Export member data to CSV
A quick step by step on exporting your Plone member data as a comma separated file.
Exporting data to Excel
A common use case for using Plone as a front-end to a RDBMS is that of exporting data from tablular views in Plone to an Excel file. This is surprisingly easy to do with a small python script.
Making CSV files display in the browser window (inline) using Excel
This how-to explains how to get CSV files to be shown inside the browser window (also known as "inline display") using Excel as the display application.
Print News to pdf
How to print news to pdf using Plone2pdf
Setting up a calendar server with Plone 2
How to configure Plone as an iCal server.
Using gsxml to fill your site with test data
When developing a plone site, its often useful to populate it with data in order to test it in a 'real' environment. Some sites contain complex data dependencies, which can take a long time to set up. This how-to describes one way of using gsxml to quickly refresh a site by deleteing and importing fresh data.

Folders

Adding Drag & Drop re-ordering to older Plone instances
You are maintaining some older Plone instances that you don't want to update, but want that fancy drag and drop folder re-ordering of Plone 2.5? Then this is for you.
Changing Plone's folder listing sort order
There isn't an obvious way to change the order in which items are sorted in a folder. The smart thing to do is use a Collection. An alternative is to override the the template or the getFolderContents script.
create an integrated folder view based on a custom content type (sample type: RichDocument)
Use your own view to display all RichDocuments contained in a folder as one Page
Creating a Pre-Populated Folder
This howto describes one method to create a folder already populated with content.
How to create default content in Member Area
Each member gets a member area created when they first log in. How to get certain content put in this folder by default?
Reversing folder order to have newer items on top
This will explain how you reverse the order of any folder object in Plone using getFolderContents to have newly added items automatically on top (which will be the natural order for all things like news, blogs and so on so that newer items are on top)

Import

Create a product to import existing photos as external resources
Import existing photo album as external resources by creating a ExPhotoAlbum product
Importing a SOAP client object to be used by python scripts
This How-to shows the use of ZSI's code generation tool and how import the result objects into a python script. Loading these generated classes into Zope didn't go as easily as I had hoped, hence the impetus for this document. I use Amazon's Web Services platform as an example, but using this as SOAP client allows you to interconnect heterogeneous web services platforms with Plone. In particular, I show how to execute a keyword search for products on Amazon and use the result objects.
Using gsxml to fill your site with test data
When developing a plone site, its often useful to populate it with data in order to test it in a 'real' environment. Some sites contain complex data dependencies, which can take a long time to set up. This how-to describes one way of using gsxml to quickly refresh a site by deleteing and importing fresh data.
XML in Plone with Marshall
Marshall lets you save and load Plone content using XML. As a configurable system, it has lots of options. This hands-on how-to shows exactly what to do to make the basics work.

Integrating External Content

Add OpenX advertising banners in a portlet
It is easy to add advertising banners produced by OpenX into a TAL Portlet. Here's how.
Adding bespoke Google maps to Plone
Whilst there are several products available for adding Google maps to Plone, all have their limitations. Sometimes all you want to do is to add your own custom Google JavaScript to the head of a specific page (just as you would when writing a pure HTML page) to get the exact functionality you want.
Catalog anything in Zope/Plone
This how-to shows how to catalog non-object data in the catalog, and search for them. Useful when you've a list of items you wish to use like an sql table.
How to Embed Flickr, YouTube, or MySpace Content
Normally, Plone will not allow you to paste the code necessary to embed videos, slideshows or music players from popular websites such as Flickr, YouTube and MySpace. Learn how to adjust the HTML filtering to allow this content.
How to retrieve cumulative differences between versions when referenced images are involved
The CMFEditions performs an important task of retrieving the history and showing differences between various revisions. But when there are reference fields in the content types and the differences between revisions are sought in history section it fails to show them up although retainATRefs modifier is set up for the content type.
Integrating del.icio.us and/or flickr feeds into your Plone site
Simple trick combining Plone's add-on, inbound RSS aggregator, CMFSin with popular social bookmarking and photo sharing services.
Integrating PHP applications in Plone
How to use PHPParser to display content from an external PHP application inside Plone.
mailtoplone: Integrate emails with plone
Mailtoplone's main purpose is to create plone content from emails. The emails are delivered to plone as plaintext containing the entire email including the envelope. Mailtoplone makes heavy use of the zope 3 component architecture and plone's content rules. The tutorial explains the approach and shows an example usecase.
simple SOAP client using Suds
This howto shows an easy way of creating a SOAP client for Plone, using the SOAP library Suds. The example is meant to provide a comparison with ZSI, as described in the howto "Importing a SOAP client object to be used by python scripts".
Using gsxml to fill your site with test data
When developing a plone site, its often useful to populate it with data in order to test it in a 'real' environment. Some sites contain complex data dependencies, which can take a long time to set up. This how-to describes one way of using gsxml to quickly refresh a site by deleteing and importing fresh data.

Links

Add an Icon or Text next to hyperlinks similar to the globe icon on external hyperlinks
This how-to describes a simple method to automatically add an icon or text next to hyperlinks (similar to the external link globe icon feature)
How to Add a Hyperlink Listing of Keywords to the Top of Your Documents
This howto explains how to add a hyperlink listing of keywords to the top of your content items. In this example, I will add this list to the top of all Documents.
Open External Links in New Window
Shows how to automatically open all external links in a new window
Remove the URL's from printouts when printing a document with Mozilla/Firefox and Plone
This howto will explain how to turn off printing URL's in hardcopy (i.e. paper) printouts of content printed from a Plone site.

Other

Clean up link spam on your site
Spammers have targeted Plone sites recently by posting content that will redirect you to a different site. Here's how to protect your site — and how to clean up if you have already been hit by this.
Fixing broken content objects
Sometimes Plone content objects end up to a broken state. Managing them through the normal web user interface doesn't not work anymore and gives errors. This how to shows how to fix them through Zope Managemenet Interface and catalog rebuild.
Fixing Workflow States (a real-life example)
When workflows get confused, content items get reset to the default state. If you have a backup or a QA server, you can restore the correct workflow states.
How to search in file fields in custom content-types
If your custom content type contains a file upload field, there's a good chance you want the uploaded files to be indexed, too. The key to get this done is TextIndexNG. This how-to will hopefully get you started quickly. Note that it's intended for Plone 2.5.
How to use the Spry framework for Ajax in Plone
Show how you can make Adobe Labs Spry framework for Ajax available to your Plone pages.
NewsItems archive using SmartFolders and expirationdate
This howto shows a way to separate current news from archived ones using expiration date and smartfolders by making the catalog return expired items too.
OCR in Plone using Tesseract OCR
This tutorial will show you how to add the ability to OCR documents in Plone using Tesseract OCR. An "OCR Document" action will be added to appropriate files and when the user chooses this action a text file with the OCR results will be added to the container.
OCR in Plone using Tesseract OCR
This document will show you how to add the ability to OCR documents in Plone using Tesseract OCR. An "OCR Document" action will be added to appropriate files and when the user chooses this action a text file with the OCR results will be added to the container.
Restrict the content types in the 'add item' menu
You can restrict the content types that show up in the 'add item' menu in several ways.
Using Content Rules
This tutorial discusses what content rules are and how to configure and use them.
Using the Zope Undo system to "roll back"
"undelete" or "roll back" information in a plone site using the Zope Undo system.

Syndication

Add the body text to your rss feed
Explains how to edit your rss_template to include the body of each rss feed item. (ie, the body of the news item in addition to the title/description).
Add the body text to your rss feed (2)
a revised How-To "Add the body text to your rss feed"
Publish Plone search queries on other web sites using syndication
Shows how to publish the Plone Recent items on another web site and have it look like the Recent items portlet. With some changes you could publish virtually any query in Plone as an RSS feed onto another web site.
simple SOAP client using Suds
This howto shows an easy way of creating a SOAP client for Plone, using the SOAP library Suds. The example is meant to provide a comparison with ZSI, as described in the howto "Importing a SOAP client object to be used by python scripts".