Author: Zope Foundation and Contributors



.. contents::

The CMFCalendar product is an example of creating a CMF
Product.  The CMFCalendar product is also expected to be a
generally useful *out of the box* and skinnable to accomodate
customization within your existing CMF instance.  To see how to
go about building a CMF product, this hopefully allows a
developer to follow through the process of registering their
product, skins, and help with the CMF by example.  It shows how
an object is created and registered with the types_tool,
necessary skins added to the skins_tool, with the Calendar
skins directory added to the skin paths, and providing
portal_metadatool with an Element policy for the content_type
of the object.

For installing set the *active site configuration* of your site's
setup tool to the CMFCalendar profile and import all steps.

After installing the CMFCalendar you should notice a calendar
appear in your CMF.  This is fully customisable to your portals


Products.CMFCalendar Changelog

2.3.0-beta (2012-03-21)

- Converted the CalendarTool into a local utility.

- Made sure converted tools are used as utilities.

- Fixed tests to be compatibility with DateTime 3.

- Event: Fixed object initialization.
  Default start and stop times are now rounded and offset-naive.

- Require at least Zope 2.13.4.

- Deal with deprecation warnings for Zope 2.13.

- Fixed ViewPageTemplateFile import to use the correct version from Five.

2.2.0-beta (2009-12-06)

- no changes from version 2.2.0-alpha

2.2.0-alpha (2009-11-13)

- Got rid of redundant icon related type info properties.

- moved the Zope dependency to version 2.12.0b3dev

- Cleaned up / normalized imports:

  o Don't import from Globals;  instead, use real locations.

  o Make other imports use the actual source module, rather than an
    intermediate (e.g., prefer importing 'ClassSecurityInfo' from
    'AccessControl.SecurityInfo' rather than from 'AccessControl').

  o Avoid relative imports, which will break in later versions of Python.

- profiles: Added an add view expression to the Event content type definition.

- Fixed a bug were the last day of each month was missed.

- Event GenericSetup type definition: Add an icon URL expression to the 
  Event content type definition.

- Event: Added basic iCal and vCal views

- ZMI: Prevent users from creating content through the ZMI by hiding the
  entry for "CMFCalendar Content".

- Event: 'addEvent' no longer sends add events.

- profiles: Removed obsolete local import step registrations.

- setup handler: Improved 'various-calendar' import step. Added flag file 
  check and global registration.

- CalendarTool: Added a new method getNextEvent to grab the next event
  relative to a given point in time.

2.1.2 (2008-09-13)

- no changes from 2.1.2-beta

2.1.2-beta (2008-08-26)

- completed devolution from monolithic CMF package into its component
  products that are distributed as eggs from PyPI.

2.1.1 (2008-01-06)

- no changes


- Testing: Derive test layers from ZopeLite layer if available.

2.1.0 (2007-08-08)

- Fixed all componentregistry.xml files to use plain object paths and strip
  and slashes. GenericSetup does only support registering objects which are
  in the site root.

2.1.0-beta2 (2007-07-12)

- moved the Zope dependency to version 2.10.4

- Remove antique usage of marker attributes in favor of interfaces,
  leaving BBB behind for places potentially affecting third-party code.

- Add POST-only protections to s