DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Advanced cal / partner integration

Author:Thomas Kowtsch
Created:2009-07-13T22:07:05
Changed by:Thomas Kowtsch
Changed:2009-07-14T13:27:18.880000000
Classification:adv_calpartner
Keywords:forAdmins, forDevelopers, forIntermediates
Author:Thomas Kowtsch
Email:typo3@thomas-kowtsch.de
Info 4:
Language:en

img-1 img-2 Advanced cal / partner integration - adv_calpartner

Advanced cal / partner integration

Extension Key: adv_calpartner

Language: en

Keywords: forAdmins, forDevelopers, forIntermediates

Copyright 2000-2008, Thomas Kowtsch, <typo3@thomas-kowtsch.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

Advanced cal / partner integration 1

`Introduction 3 <#1.1.Introduction|outline>`_

What does it do? 3

Screenshots 3

`Users manual 4 <#1.2.Users%20manual|outline>`_

FAQ 4

`Administration 5 <#1.3.Administration|outline>`_

FAQ 5

`Configuration 6 <#1.4.Configuration|outline>`_

FAQ 6

Reference 6

`Tutorial 7 <#1.5.Tutorial|outline>`_

`Known problems 8 <#1.6.Known%20problems|outline>`_

`To-Do list 9 <#1.7.To-Do%20list|outline>`_

`ChangeLog 10 <#1.8.ChangeLog|outline>`_

Important guidelines 11

`HowTo update a manual to the new layout 12 <#2.1.HowTo%20update%20a %20manual%20to%20the%20new%20layout|outline>`_

`Issues with Open Office documentation for TYPO3 13 <#2.2.Issues%20w ith%20Open%20Office%20documentation%20for%20TYPO3|outline>`_

Inserting images 13

Paragraph styles 13

Linking 14

Meta data and updates 14

Help by documentation.openoffice.org 14

Introduction

What does it do?

This extension is about to deliver some advanced features to tighten the integration between calendar base (cal) and partner framework (partner) extensions, esp. regarding location relationship and display.

Main feature is to provide access to the relationship definitions defined by using partner as location definition. In terms of a calendar, this means to allow

  • showing different levels in the hierarchy, depending on the view
  • give users a tree-style input form for easier event creation/editing (planned for release version 0.9)
  • limit handling of relationships to some well-defined relationship UIDs
  • limit calendar output to certain locations (planned for release version 2.0)

Screenshots

The location “Leuben” has 3 relations assigned to it:

img-3 An event with location “Himmelfahrtskirche Leuben” can be rendered with it's full location (using cal's default ###LOCATION### marker), but this extension also allows now to show also a more generic location such as the region (“Leuben”) where the event takes place. This is useful for public calendars showing a large number of events that are spread over larger areas where users want to see the region at a glance.

img-4 img-5 Default location rendering for single event view

Short rendering in month view showing only the region instead of the full-detailed standard rendering

User/Administration manual

Installation

Step 1: Install the extension

The extension can be installed through the typical TYPO3 installation process using the Extension Manager. It requires to to have the calendar base extension (extension key: cal) installed in version 1.2 or above. At the time of creating the extension and writing this manual, this requires to install a development snapshot release (available under `http://svn.webempoweredchurch.org/snapshots/show/calendar)! <http://svn.webempoweredchurch.org/snapshots/show/calendar>`_

Step 2: Add static TypoScript template

img-6 Open your page template (or create a new extension template), and add the “Default cal/partner location settings” to the “Include static (from extensions):” list.

The default configuration is to allow users only to select locations with type “Organization”, no other filter is set in defaults. If this fits your needs, you do not need to touch the configuration.

Step 3: Adjust the settings

Please refer to the chapter “configuration” to get an overview about the ways you can tweak the extensions behaviour.

Instead of writing error-prone text to the “constants” field it might be better to use the “Constants Editor” instead:

img-7

Step 4: Adjust your calendar's templates where needed

If you want to make use of different location rendering, you need to adjust your calendar template files. Please refer to the documentation of cal to learn more details about how to use custom template files. New introduced markers for the locations are described in the “Configuration” chapter

FAQ

F: While trying to install the extension, the Extension Manager complains about a wrong version of cal...

A: Most likely, cal's version 1.2 is not available in the TER yet. At the time of writing this manual, it was still in development, requiring to manually install a development snapshot.

Configuration

The extension is configured trough constants in the page template. Please see the table below for valid variables and values.

Constants Reference

Available constants for plugin.tx_advcalpartner:

relationshipTypePids

Property

relationshipTypePids

Data type

string

Description

Comma-separated list of relationship record Ids.

This list is used as filter when building up the hierarchy tree between location records:

  • If it is not set, all relationships will be taken into account
  • If set to “1,4” only relationships with these IDs will be handled to keep locations together

Default

Not set

limitToOrganizations

Property

limitToOrganizations

Data type

boolean

Description

If set to true, only locations of type “Organization” will be shown to users when creating new records / edititing existing ones.

Default

yes

limitToLocations

Property

limitToLocations

Data type

string

Description

Comma-separated list f location record IDs

If set, only events with locations in this list will be shown.

Default

Not set

includeSubLocations

Property

includeSubLocations

Data type

boolean

Description

Show events with locations listed in “limitToLocations” and auto- include their sub-locations.

Sub-locations will be found by taking “relationshipTypePids” into account!

Default

no

Markers Reference

Available markers that can be used in custom template files:

###ADVCALPARTNER_LOCATION_0###

Marker

###ADVCALPARTNER_LOCATION_0###

###ADVCALPARTNER_LOCATION_1###

###ADVCALPARTNER_LOCATION_2###

###ADVCALPARTNER_LOCATION_9###

Description

The number reflects what item to show in the hierarchy. “0” means the top-most item (root element).

If the tree has only 3 levels (e.g., metropolitan area, region, building; see example section for details) and a marker for level 5 is placed in the template, the most detailed available level is used.

((generated))
Example

To limit relationship handling to relationships with ID 1 and 2, your configuration could look like this:

plugin.tx_advcalpartner {
    relationshipTypePids = 1,2
    limitToOrganizations = 1

    limitToLocations =
    includeSubLocations = 0
}

Tutorial/Example

Let's assume that we have the following structure that is used within one installation to feed several domains / localized sites from the same data source:

|-> Parish 1
| |-> Region 1_1
| | |-> Building 1_1_1
| | |-> Garden-area 1_1_1_1
| | |-> Garden-area 1_1_1_2
| |
| |-> Region 1_2
| | |-> Building 1_2_1
| | |-> Building 1_2_2
| | |-> Building 1_2_3
| | |-> Garden-area 1_2_1
| |
| |-> Region 1_3
|   |-> Building 1_3_1
|
|-> Parish 2
  |-> Region 2_1
    |-> Building 2_1_1
    | |-> Room 2_1_1_1
    | |-> Room 2_1_1_2
    |
    |-> Building 2_1_2
    |
    |-> Garden-area 2_1_1

Both parish's hold their data together in one Typo3 installation, but data rendering for the public calendars is separated for the web site of Parish 1, the site of Parish 2 and a third (joined) site showing all events.

As the locations of Parish 1 are widely spread, visitors are mainly interested in having an rough overview of what events take place when and where. A month-like preview is used to look 6 weeks ahead in the future (realized by cal_weekpreview); but in addition, there is the need to have dedicated list views for Region 1_1, 1_2 and 1_3. So, the overview pages with week previews get a new marker placed near to the event title: ###ADVCALPARTNER_LOCATION_1### ,the page showing all events from both parishes renders ###ADVCALPARTNER_LOCATION_0### to distinguish both easily, a CSS hover shows some more details by rendering ###ADVCALPARTNER_LOCATION_1### .

This structure itself is modeled with separate partner records, each of type “Organization”. Using them with cal 'as is' adds another problem to editors: The drop down field for location selection is sorted alphabetically, resulting in

Building 1_1_1
Building 1_2_1
Building 1_2_2
Building 1_2_3
Building 1_3_1
Building 2_1_1
Building 2_1_2
Gardenarea 1_1_1_1
Gardenarea 1_1_1_2
Gardenarea 1_2_1
Gardenarea 2_1_1
Parish 1
Parish 2
Region 1_1
Region 1_2
Region 1_3
Region 2_1
Room 2_1_1_1
Room 2_1_1_2

Not really userfriendly...

To-Do list

  • give users a tree-style input form for easier event creation/editing (planned for release version 0.9)
  • limit calendar output to certain locations (planned for release version 2.0)
  • improve source code documentation (planned for release version 1.5)

ChangeLog

8