Knowledge Base

by Steve McMahon last modified Jan 09, 2013 08:37 PM
Contributed tutorials and how-to documents on almost every topic. You can also submit your own content — or help improve the existing documentation.

2 Level Navigation In Plone 3

This How To shows how to modify a Plone 3 theme product so that the tabs would have 2 levels of navigation.

Read More…

Customizing Navigation Icons

How-to customize the icons used for items in the navigation portlet in Plone 2.1 and 2.0

Read More…

Installation script snippets

Quick code snippets to use in quick installer installation scripts.

Read More…

A visual reference of Plone privileges management

Construction of a map, step by step, that shows each of the Plone content security mechanisms and ultimately how they relate to each other.

Read More…

About Profiling Books in the Documentation Section

Best practices for determining which books should be highlighted in the documentation section of plone.org.

Read More…

Authenticating with Active Directory

How to make Plone authenticate against Active Directory. (document needs updating because Plone 2.5.x uses PlonePAS instead of GRUF)

Read More…

ActiveDirectory with read and write functionality

Plone supports ActiveDirectory authentication out of the box, but not writing to it. This is a complete example with screenshots and monkey patches to accomplish that. It shows how to completely move storage of users, groups and roles to ActiveDirectory.

Read More…

Make a product install a folder structure in the site

This documentation has moved to http://developer.plone.org/content/creating.html#creating-content-using-generic-setup

Read More…

Adding Charts To Your Custom Content Type

Step-by-step instructions for adding Python-generated charts to your custom Archetype. I describe a general method that allows you to use any Python graphing libraries that output images (png, gif, jpg, etc.). I use PyChart in this specific example.

Read More…

Add Content from Python

If you're writing Python code to customize your site, you may need to create content objects programmatically. It's not hard.

Read More…

How to add a File System Z SQL Method

How to move Z SQL Methods out of the ZODB and onto the file system.

Read More…

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).

Read More…

Add indexing attributes to arbitrary content types

How to invoke the shadowy and mysterious ExtensibleIndexableObjectWrapper to do something totally useless.

Read More…

Add KbannerAd to ContentPannels

This how-to show the steps for Add KbannerAd to ContentPannels

Read More…

Adding Memberdata Properties

Adding new properties to members and having them appear on the membership preference forms.

Read More…

Adding new roles to the Sharing Page

Explains how to add other roles to the set of managed roles at Plone 3 sharing tab.

Read More…

Using Add-ons

There are many third-party add-on Products for Plone that can give you additional functionality, often at the click of a button. However, not all Products are created equal. Knowing how to install, test, evaluate and extend them is important.

Read More…

Add OpenX advertising banners in a portlet

It is easy to add advertising banners produced by OpenX into a TAL Portlet. Here's how.

Read More…

Adding a "Sharing" action-tab to your product/type

Two methods for adding a "Sharing" action-tab to your Plone product or item type.

Read More…

Add supplementary views to custom content types

This howto explains how to add supplementary views to custom content types. These supplementary views are selected specifically for each folder TTW. One example is standard Plone folders, where you can choose between e.g. table view and standard view. Sometimes, you want to do this in your custom content type as well.

Read More…

Add the body text to your rss feed (2)

a revised How-To "Add the body text to your rss feed"

Read More…

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)

Read More…

Adding a custom permission to a product

Using rolemap.xml to create new Roles is easy, you can add predefined permissions to your new roles. But what if you want to define a new permission for your product? Use setDefaultRoles.

Read More…

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.

Read More…

Adding an index to the portal catalog

How to add a new index to the portal catalog

Read More…

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.

Read More…

Adding configuration settings using Zope 3 schemas and formlib

This how-to explains how to add a configlet to Plone's control panel and letting the Zope 3 framework do the work for you.

Read More…

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.

Read More…

Adding Memberdata properties (as a select list)

Usercase: I had a site where everybody that joined should get a t-shirt. The T-shirts sizes might change later so be nice if it was OK to do this TTW

Read More…

Adding new fields to Smart Folders search

If you are creating new content types you might want to add support for Plone's advanced search capabilities. This article describes how to achieve it.

Read More…

Adjusting Kupu edit area size

Kupu (Visual Editor) edit area size might be too big for pages containing several short rich text fields. This how to explains how to adjust the size per field.

Read More…

Advanced Image fallback and PiL

A recipe of how to write a complex set of fall back logic for a scaled image

Read More…

Advanced XDV theming

Tutorial showing how to convert real-life static theme into a Plone theme using collective.xdv

Read More…

Allow all inline styles in Kupu

How to disable Kupu's filtering of all inline styles

Read More…

Allow Discussion on Content

How to enable a content type to be discussable across entire site.

Read More…

Allowing Anonymous Users to Add Content

I had the need for Anonymous Plone users to add, edit, and save a specific content type in a specific location (folder) and couldn't find any resources, thus this quick HowTo.

Read More…

Anonymous adding of unpublished content

This howto is about customizing an archetype content to let anonymous users add content, but not be able to view what has already been added.

Read More…

Building Custom Content Types with ArgoUML and ArchGenXML and Permitting Anonymous Content Submission

And howto on creating a custom content type with ArgoUML and ArchGenXML, and allowing anonymous submission of that content.

Read More…

Setting up Plone behind Apache with SSL

How to set up Plone on a secure server, with Apache serving over SSL.

Read More…

Applying a custom view to a specific folder

How to create a one-off view for a particular folder in your site.

Read More…

Archetypes - Getting Started

We will create a rental business as a new product based on Archetypes.

Read More…

Archetypes using mysql and postgresql

A short tutorial about how to make an archetype that stores data in and reads data from a mysql or a postgresql table. It works on plone-2.5.2 on zope-2.9.5.

Read More…

ArchGenXML 1.x- Getting started

ArchGenXML is a code-generator for CMF/Plone applications (Products) based on the Archetypes framework. It parses UML models in XMI-Format (.xmi, .zargo, .zuml), created with applications such as ArgoUML, Poseidon or ObjectDomain. This tutorial will help you get started developing applications with the aid of ArchGenXML. Please note ArchGenXML 1.x is not supported any longer and should be used only to maintain existing projects. If you're starting a new project, use ArchGenXML 2 instead.

Read More…

Asking for help: guidelines and examples

If you need help with an error or problem: before asking the question, please take a few minutes to read the guidelines below. It is important to know how to state questions, because once you learn it, answers will come much faster.

Read More…

Authenticating With Active Directory

How to make Plone authenticate against Active Directory Using PlonePAS

Read More…

Authentication of Plone 2.5 (Zope 2.9) against a Windows 2003 Active Directory

Describes how to setup Plone 2.5 running on Zope 2.5 (using Python 4.0)to authenticate against Active Directory on Windows 2003

Read More…

Authentication of Plone 2.5 (Zope 2.9) against a Windows 2003 Active Directory

Description of setting up Plone to authenticate against Windows

Read More…

Backup and recover Data.fs in linux

bash scripts to backup linux and use repozo.py for backing up Data.fs Also includes a script to recover Data.fs to a specific point in time

Read More…

Backup Plone

There are several ways to backup all data related to Plone.

Read More…

Batch-adding Users to Plone using CSV (Excel) files

How to import/create new users from CSV- a.k.a. Excel-files

Read More…

Benefit NOW from using GenericSetup and Zope 3 technologies

Impress your colleagues by using GenericSetup and Zope 3 views efficiently and with minimal effort! This tutorial shows you how to add a new view, how to use it, how to add a new content type and how to hook it all up.

Read More…

Best Practices for Plone development

Based on the talk given by Joel Burton at the Plone Conference in Vienna, this Tutorial discusses some of the best practices for Plone development. If you are doing site development with Plone and want to keep your sanity, this is a must-read. Requires some familiarity with Zope and Plone.

Read More…

Build a custom search form with YAFOWIL

YAFOWIL is framework independent form library written in Python. This tutorial shows how to create a simple installable search form.

Read More…

Building communal reference lists

Provide a fast facility for obtaining a union of lists referring to a particular item, using a keyword index in Plone's portal catalog

Read More…

Setting up Buildout Using the Windows Installer for Plone

All the steps necessary to set up a buildout environment on Windows system using the Plone Windows installer as a base.

Read More…

Cache Content- Anonymous only

How to change Plone's default cache settings so you can cache pages on your site.(Anonymous only)

Read More…

Cache Content

How to change Plone's default cache settings so you can cache pages on your site.

Read More…

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.

Read More…

Change Available Types for Events

How to change the types of events (e.g. "meeting" or "appointment") available to the standard Plone Event type.

Read More…

Change the look and feel of a folder and its subfolders

If you want a subfolder to have a different appearance than the rest of your site, you can add a simple page template and a stylesheet to a folder that affects it and all of its subfolders.

Read More…

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.

Read More…

Change state recursively in a workflow transition

When transitioning a folderish object, transition all children objects automatically.

Read More…

Change the Logo in Plone 4

How to substitute the standard Plone logo with your own logo - a through-the-web approach.

Read More…

Change the logo on for the front page only

A brief how-to for changing the logo area for the front page only

Read More…

Change the title of the Members folder

How to change the title of the "Members" folder

Read More…

Changing navigation icons

This tutorial will show how you can change the icons of the navigation bar for each folder.

Read More…

Changing language negotiation strategy

Language negotiation strategy determines the language of the site when the visitor comes in for the first time. This document tells how to change language negotiation strategy for a Plone site.

Read More…

Changing tabs

How to change the tabs (Home, News, etc) at the top of your Plone portal.

Read More…

Changing the Admin Password

How to change the password of the default administrator user.

Read More…

Choose the right paster template

Review the default output from "paster create" to determine which template you need.

Read More…

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.

Read More…

Close site so people can't add themselves as users

How to close the site so that users can't sign themselves up.

Read More…

Collaboration: Using the Sharing Tab

This tutorial explains many common use cases for collaborating within Plone. You will find examples of the many ways you can control content editing and adding by users.

Read More…

Collection Portlets

How to create a Collection Portlet

Read More…

Restricting access to folders with "shared" users

How to set access to a particular folder for a "collective" user - that is, viewing published content in this folder requires logging in under a shared username/password.

Read More…

Compiling python modules for win32

How to compile various python modules for win32.

Read More…

Configure a static portlet to show the weather

This will show how to create a weather portlet using Plone 3's built-in static portlet.

Read More…

Add Configlets for own Product's settings

If you write your own product with "configlets" to configure product-specific settings, here's how to install these configlets so that they appear in the Plone control panel.

Read More…

Content Creation with Kupu and Other WYSIWYG Editors

This tutorial introduces the Kupu interface and explains how to insert images, create FAQ pages, and use Kupu's ResolveUID feature. It was written by Quintagroup content manager for end-users and is compatible with Kupu 1.4.x.

Read More…

Content rules

This document briefly introduces you to content rules. Content rules allows you to associate automatic actions to site editing events.

Read More…

Controlling portlets

Shows how to control which portlets (the boxes on the left and right hand side) show up where.

Read More…

Converting single user Plone site to multiuser review based CMS site

One might want to convert an existing single user Plone site to real CMS where people can submit content and it has to be reviewed. This how to gives guidance to achieve the goal.

Read More…

Cookies: Making them last longer than a session

This will enable users to remain logged in beyond one browser session.

Read More…

Coping with a Live Spinning Zope

Most people who have been working with Zope and Plone for some time have learned, on one day or another, what it means for Zope to "spin". It incessantly uses 100% cpu, or very close, and, though it accepts HTTP connections, it never responds, requiring a restart. If your live Zope is spinning, you are most assuredly not having a good day, but there are some measures you can take to ease your pain.

Read More…

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.

Read More…

Copying a Plone site

Quick instructions how to create a copy of a Plone site.

Read More…

Slide Sorter

Create a view for sorting images (and potentially other content) which are displayed in a grid layout, where by each item occupies a single cell rather than a whole row. This uses a modified version of the javascript that powers the drag and drop functionality of folder_contents.

Read More…

Create a different look and feel for different sections of your web site

Learn how to create a different look and feel for your site, using only CSS sleight-of-hand.

Read More…

Create a main navigation link which redirects to an arbitrary location AND maintain control of the portal_tab order

You want to have a link in your main navigation that redirects to a specific url and you want to control the order of how the tabs are displayed.

Read More…

Create a New Project in the Plone Collective

Guides a developer through the steps involved in creating a new project in the Plone collective.

Read More…

Create a Photo Album

How to use Plone's thumbnail display mode to create a photo album.

Read More…

Create a product to import existing photos as external resources

Import existing photo album as external resources by creating a ExPhotoAlbum product

Read More…

Create a reviewer account

How do I create a reviewer account to publish pending documents?

Read More…

Create a Custom Tool

How to create and install your custom tool.

Read More…

Create and Use an External Method

Zope External Methods allow you to write and register python scripts that can be called through-the-web to manipulate your Zope/Plone instance. The main difference is that these can do things with a much higher privilege level since they are located on the file system, not in the web interface.

Read More…

Creating a Customization Policy

Customization Policies are used to collect all the setup for a deployable site in a central location.

Read More…

Create different restricted areas in the Control Panel

Here we describe how to programatically protect different elements of the Plone Control Panel with different permissions, so you can grant e.g. access to the Calendar configlet but not to the Add-ons one.

Read More…

Creating links to content

How to link to resources located inside and outside the site.

Read More…

Creating links from page templates to translated content

You can get the user's preferred language through context/portal_languages/getPreferredLanguage. Use an object's 'getTranslation' method to get the translated object. You can then use this object's URL and title when linking to it.

Read More…