These are some guidelines to effectively use Plone's "Event" content type. Some parts of this best practice only apply to the Extension site, but most of the information applies to any of the AgSci Plone sites.

Event Aggregation in Plone

Each event within Plone resides in a single location. For events being created in the Extension site, this should be within the appropriate program area's "Upcoming Events" folder (e.g. Animals -> Dairy -> Upcoming Events.)

However, these events are aggregated (collected into one place) in different ways and listed in different areas of the site. For example, an event that takes place in Lycoming County and discusses the effects of Marcellus Shale drilling on drinking water could be listed in these sites:

It is important to be specific and complete when creating events because people may be seeing this event outside of the context in which it is created.

Standard Event Data

Title and Description

The Title should be a few words that can clearly identify the event in various contexts. For example, "January Meeting" is too vague. However, "Clinton County 4-H Rabbit Club Meeting" is appropriate.

The Description field of the event should be 1-2 sentences that are a "teaser" for the event. This description will show up under the title in event listings, and at the top of the event page.

Event Title/Description Combination

An example of a good title and description combination.

You should not include the date or location in the Title, Description or Body Text fields, since it should be specified in the appropriate data field.

Data Fields

Events have some standard data fields (start time, end time, location, contact information, etc.) You should always fill out as many of these fields as you can, since they provide important information to the user.

These standard data fields show up in event listings and in the event itself. It's not necessary, and not recommended, to duplicate this information in the title, description or body of the event.

Event URL

The "Event URL" field provides a link for more information about the event, or method to register. If body text is provided, the Event URL will be presented as a link beneath the body text in addition to in the event table.


In addition to the "Location" field (where the event is being held) there is also a "Map to Location" field. If this field is populated with a link, the "Where" text will be linked.

In the Extension site, a separate ZIP code is required as well.

When linking to Google Maps using their "Link" functionality, be sure to grab the link under "Paste link in email or IM" which begins with "http://" rather than the one that says "Paste HTML to embed in website".

If the event is a webinar, we recommend using "Webinar" as a location.

Contact Name/Email

If an email is supplied, the "Contact Name" in this table will be a link for that email address.

Body Text

The body text should describe that event in more detail. Some recommended items to include are:

  • Topics covered
  • Agenda (if applicable)
  • Who should attend
  • Registration method and fee

It may also contain a very short description (1-2 sentences) about the program that the event is part of and a link to that program's site. It should not contain a large amount of detail about the program, since that information should be on the program site.

Since the event content is presented in multiple places on the site, please be sure to carefully proofread the text.

Extension Counties and Programs

Events within the Extension are able to be associated with a county, and one or more programs. This allows them to show up on a county or program's event calendar regardless of where they physically reside in Plone.

To set a county or a program for an event, edit the event and click on the "Categorization" tab. At the bottom, you should see a "Counties" and a "Programs" field.

Counties / Programs for Event

Widget to select the county and programs for an event.

To use this widget, select the item(s) in the left box and click on the >> button to move them to the right. When you are done adding this metadata, click "Save".

Please note that you don't have to do anything special to get an event to show up in the county or program listing if it's created in that site's "Events" folder. These fields are only used to include them in other areas.

If an event is showing on your county or program events listing that you do not believe belongs there, please contact the author and request that they remove your county or program from the event. You can see the author in the logged in view beneath the title of the event.

State-wide Program Events

Depending on the internal organization of the Extension program, events may be created on the main site and be included on the county events listing by the use of the "County" field (e.g. Dining With Diabetes) or can be created locally and roll up to the state wide site (e.g. Master Gardener or Better Kid Care.) There is also the possibility that a hybrid method could be used, where distinct events can be entered at both levels, and show up in both events listings.

In all these cases, the individuals maintaining the state program site and the county site need to determine which method will be used.

Event Aggregation URLs

This table lists the URL where an event will show up when it is tagged with a specific Program.

Program Event Listing URL
Better Kid Care
Dining With Diabetes
Economic and Community Development
Family Fitness
Farm Business
Food Safety
Forest Finance
Green Industry
Healthy Lifestyles
Master Gardener
Natural Gas
Nutrition Links
Pesticide Education
Private Forests
Renewable and Alternative Energy
Start Farming
Sustainable Agriculture
Tobacco Prevention
Tree Fruit Production
Vegetable and Small Fruit Production
Water Resources

Additional aggregation

For the Food Safety program, events are also automatically aggregated into categories based on the event title:

  • ServSafe
  • Home Food Preservation
  • Food For Profit
  • Cooking For Crowds

However, Food Industry events must be explicitly tagged in order to show up in the Food Industry category. To do this:

  • Go to the Categorization tab
  • Under the Program-specific heading, click the Food Safety button
  • Check the event-food-industry checkbox in the pop-up
  • Click the Submit button in the pop-up
  • Save the event

Extension Events By Topic

As the Extension site architecture is reorganized by topic, the events will be categorized by Topic (e.g. Animals: Dairy) rather than Program.

Event Aggregation URLs

Topic Event Listing URL
4-H: Poultry
Animals: Beef
Animals: Dairy
Animals: Equine
Animals: Goats
Animals: Poultry
Animals: Sheep
Animals: Swine

Cvent Events

Events that use Cvent are automatically imported into the main Extension Events folder. If your event uses Cvent, do not manually create it in your site. The CVENT staff assign counties and programs to these events, which allows them to be aggregated at the county or program level. If your event is not published, or if you need a change (modify description or location, add county or program) please contact Darlene Jury.

Events imported from Cvent automatically redirect to the Cvent page, so no body text is necessary.

Recurring Events

Plone does not have a "recurring event" feature like Outlook, or the ability to specify multiple dates for an event. One common mistake is to create one event that encompasses a long time range (e.g. "April 1 to October 31") when in reality it is actually multiple discrete events over that time period. This results in the event always appearing at the top of the event listing until the end date, which reduces the number of actual upcoming events that can be displayed. In addition, the page appears outdated because the date of the "upcoming" event is in the past.

This means that each instance of an event must be created as an individual event object. There are two ways to approach this:

  • Add one new event for each occurrence of the event series
  • Add an initial event, and copy/paste that event as many times as necessary

In most cases, we recommend creating an event for each occurrence. This appears to be an easier workflow, especially when using multiple browser tabs, and results in a cleaner short URL (i.e. not containing "copy_of_").

One special situation is if these recurring events are a series (e.g. a class) in which the same group of people will attend all of the events (and people don't join partway through.) In this case, it's best to create one event for the first occurrence of the series and list the dates for the rest of the classes in that event.