Skip to main content

Arboreal is a tool which lets you manage multiple trees. These trees are stored within the portal. They can be used in Archetypes as a vocabulary for fields.

Installation

The tool comes with a GenericSetup profile. Therefore you can just install it by going to the portal setup system. It will create a configlet which you can access via the same portal setup.

Integration with Archetypes

The primary usage for Arboreal is to use it for hierarchical vocabularies. To make this a reality Arboreal has its own widget and field types.

An example of configuring a field within a schema is given below.

MultiArborealField('groups',
    tree='tree_group_id',
    storeCompletePath = True,
    widget=MultiTreeSelectionWidget(
        label='Group',
        label_msgid='label_group',
        description_msgid='help_group',
        i18n_domain='JUNG',
    )
),

The tree is used as a vocabulary. You do not have to create this tree. Arboreal will create it automatically when it does not exist. The MultiTreeSelectionWidget is basically a multi selection widget which indents the tree nodes using spaces. This gives the visual appearance of a tree. And lastly we have the MultiArborealField. With this field you can get a list of all paths stored. The storeCompletePath keyword toggles parent storage. It is set to False by default. Parent storage works as follows.

Say you have a tree like given below:

  • Node - Subnode

If you select the sub node in the interface and store it the path will be stored. When storeCompletePath is set to False it will only contain the path to Subnode. If storeCompletePath is set to True the parent will be stored as well. An example of the differences:

storeCompletePath = False

path = [Node/Subnode]

storeCompletePath = True

path = [Node/Subnode, Node]

Storing the full path is useful for when you want to use the path as a filtering mechanism. You can then easily do a catalog query on a keyword index for a specific path. The reason we are not just using a path index is that you can select multiple points in the tree.

Credits

Martijn Pieters (mj@jarn.com) Jan Murre (jan.murre@pareto.nl) Jeroen Vloothuis (jeroen.vloothuis@pareto.nl)

Change History

2.0 - 2011-07-21

  • Add a new storeOnlyLeaves option on the field. [hannosch]

  • Adjust some templates for Plone 4 compatibility and allow renaming of nodes. [hannosch]

  • Adjust imports to match Plone 4 locations, avoid __implements__. [hannosch]

  • Add z3c.autoinclude entry point. [hannosch]

  • Update GS profile to Plone 4-style. [hannosch]

  • Update distribution metadata. [hannosch]

1.0 - 2008-09-18

  • Allow creation of nodes with a specific id. [mj]

  • Made XML import/export code accept a path, defaulting to old-hardcoded value. [mj]

  • Converted to an egg, renamed to collective.arboreal, updated to Z3 tech, replaced Install.py with a GS profile. [mj]

  • Initial import to the collective [jvloothuis, jjmurre]

Release files for collective.arboreal 2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.arboreal 2.0
File Size Uploaded
collective.arboreal-2.0.zip 55.8 kB Details

Release files / collective.arboreal-2.0.zip

Download URL collective.arboreal-2.0.zip
Size 55.8 kB
Tags Source
SHA-256 checksum
How to use checksums
693f758b3be8831f785417fe12fdec3a6bec89619d3c0c111a1c7712707f56c1
BLAKE2b-256 checksum
How to use checksums
ffd530e05753462162500e232a4b58faf8a2e06332dfee4151fa0ac7467c564e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.0 This release

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page