CX_props_eventstoallow_text.txt CalendarX 0.5.3(dev) March 26 2005 (last modified for CalendarX 0.5.1) by +lupa+ (lupaz on sf.net, lupa at zurven dot com) Released under the GPL (see LICENSE.txt) Instructions for properties in CX_props_eventstoallow. Use the Properties tab to adjust the attributes of the calendar as available. This property sheet controls what events will be shown on the calendar. You can allow events according to their folder path, review state, Subject categories, Event type, and/or a list of Creators. === List of Attributes === title string Leave this title attribute alone. showCMFCalendarStates boolean showSpecifiedStates boolean statesToShow lines Together, these three attributes allow you to control the choice of what three review states of events to display on your calendar. Traditionally, the default in this calendar as well as what makes sense with the default Plone workflow is to show 'published' events only. This is the default state that comes with CMFCalendar, so the first of these options allows you to set CalendarX to read the CMFCalendar setting and go with that. The second two properties allow you to specify a list of review states that you want to appear in the calendar. If checked, CalendarX uses the list here in the statesToShow property as the states that will be included on the calendar. NOTE: LIST STATES ONE PER LINE. The default values included here are the 'published' and 'visible' states. NOTE: ABOUT PRIVATE EVENTS A 'private' event is a state that can only be added by the owner of an Event content object. It also can only be viewed by the owner of the Event (and also any Managers). If you include 'private' in this list, any private events will only show up on the calendar for their owners, so it's safe... but it will be annoying for Managers, and it's unnecessary. If the use of private events is desired, they will also be displayed on the calendar if you use the showPublicPrivateLink property found on the CX_props_calendar property sheet. The showPublicPrivateLink (it says "Show Only Personal Event" on the new control portlet) shows all events created by the current user, without regard to review state. restrictToThisListOfSubjects boolean listOfSubjects lines Together, these two attributes allow you to control the choice of what categories of events to display on your calendar. List of the Subjects in your CalendarX, for use in creating the macro that displays them on your calendar. 1. LEAVE "listOfSubjects" BLANK, if you want to just use the list of Subjects that is available from already created Events your Plone site. 2. LIST SUBJECTS ONE PER LINE, exactly as they are present in your portal_metadata, in the order you want them displayed. The default values included here are the default values that come with CMF Event and AT Event types. If "restrictToThisListOfSubjects" is checked, a query for "ALL" subjects is restricted to the Subjects in your listOfSubjects attribute. If unchecked, "ALL" will return all events found, regardless of their Subject. Use of this feature allows you to segregate certain events pertaining to certain Subjects to unique calendarx instances. This also means that if checked, the calendar WILL NOT pick up events that do not have a Subject selected. ADVANCED FEATURE: Each line in the listOfSubjects can also be a Comma-Separated-Values list (CSV) where each line becomes a list of subjects for viewing. This becomes very useful in the case where you have many Subjects, but would like to combine several of them at a time and use a Nickname (or abbreviation, or acronym) to show up in the Subject menu. For example: In a calendar for a school with five grade levels, and four classes of children in each grade level, you could try something like this in your listOfSubjects: Class1a,Class1b,Class1c,Class1d Class2a,Class2b,Class2c,Class2d Class3a,Class3b,Class3c,Class3d Class4a,Class4b,Class4c,Class4d Class5a,Class5b,Class5c,Class5d and then use this in the listOfSubjectTitles below: Class 1 Class 2 Class 3 Class 4 Class 5 In this way, your subject menu is less cluttered, but it is easy for your users to check one of these to filter and see only the events for children of Class 1 age. You may also want to use SubCalendars with this, so that users can drill all the way down and see ONLY events associated with Class1c, Class4b, etc. useSubjectTitles boolean listOfSubjectTitles lines Together, these two attributes allow you to use sensible (e.g., shorter) titles on the Subject Bar for your Subject categories. If your Subject category names are long, three or four subjects can produce an unwieldy list for your users to select from. Instead, use these attributes to include a list of shorter titles for each of your Subjects. *IMPORTANT* Be sure to use this feature in conjunction with the "listOfSubjects" attribute above. Be certain that both lists have the exact same number of entries, so that there is a single corresponding SubjectTitle for each Subject. If these do not match, the calendar may show an error. Simply test your calendar after any changes to this attribute to be certain that your calendar is working without error. restrictToCMFCalendarTypes:boolean= restrictToThisListOfTypes boolean eventTypes lines Together, these three allow you to restrict what types of content objects will be picked up on your calendar. If you want your calendar to show ALL event types available, simply unselect both of these options and ANY content type that has a start and an end property will be cataloged and shown on the calendar. The default types handled by the CMFCalendar are 'Event' and 'AT Event' (in Plone 2.0.x). Use the restrictToCMFCalendarTypes property to match your CalendarX instance to those used by the CMFCalendar. To choose your own list of types, put one portal_type per line in the eventTypes attribute, and check "restrictToThisListOfTypes" if you wish this feature to be activated. If unchecked, no check is done on the Type index, regardless of the content of the eventTypes attribute. Usage: For example, this feature means you can create a new Event type for certain users, and then use getNotAddableTypes.py to restrict which users can add those special Event types, which gives even more control over different calendar instances in your Plone site. This is very useful in subcalendars, where each subcalendar may have a different event Type. restrictToThisListOfPaths boolean listOfPaths lines Together, these two allow you to restrict where (the paths) to event content objects that will be picked up on your calendar. This means you can restrict viewing to Events found in certain folders. To use this feature, use a full path exactly as found in your path index. An example: /clients/companyplonesite/Members/fred /clients/companyplonesite/staff These two paths represent folders where Events can be stored that will show up on the calendar, if restrictToThisListOfPaths is checked. ONLY those events in these two paths will be found. Events in fred's personal folder and events in the staff folder, and any folders deeper than that will be picked up for display on this calendar. For example, if there is a meetings folder inside the staff folder, events inside that folder will also be displayed. If you are having any trouble with this property, please go to the portal_catalog, click on the Catalog tab, and find one of the events that *should* show up on the calendar. Look near the bottom of the page to see what path is being indexed by the "path" index, and use that as the path to the folder that you will use in listOfPaths. restrictToThisFolder boolean This property restricts the calendar so that events are ONLY shown if they are found within or beneath the parent folder of the CalendarX instance. Example: add a CalendarX instance as /Members/lupa/cal. If you set this property to true, then only events found within /Members/lupa and any subfolders therein will be shown on this calendar instance. This could also be accomplished manually with the restrictToThisListOfPaths property, but this property helps in the special case where you want to allow your users to create a private calendar for their own area. In that case, you should probably set this property to "1" in the property sheet on the filesystem, so that all calendars created by your users will have this property by default. ADVANCED NOTE: as currently implemented, the restrictToThisFolder option trumps (overrides) the similar restrictToThisListOfPaths property. In other words, in the four query scripts, the restrictToThisListOfPaths property is evaluated first, and if restrictToThisFolder is also selected, the second one (restrictToThisFolder) takes precedence and overrides the first property. To change this precedence, simply go into these query scripts and rearrange the two-line calls for each one so that their order is reversed. Use Case: This is good for Group folders. Set up a calendar in a group's communal folder and check this option. Then only events created within the group's folder will be shown, and Plone's normal security will keep other groups from seeing this calendar. It will NOT however show any public events from elsewhere on the same portal... just inside the group folder. restrictToThisListOfCreators boolean listOfCreators lines Together, these two allow you to restrict whose events will be shown on a calendar. Enter one username per line in the listOfCreators property and check the other propery, and you're done. NOT IMPLEMENTED IN 0.5.0 PRE-RELEASE. WILL BE ADDED SOON.