Personal tools
Skip to content. | Skip to navigation
collective.workspace package for providing 'membership' in specific areas of a Plone Site. It allows you to grant people access to areas of content using a membership group rather than local roles for each user, and to delegate control over that group to people who don't have access to the site-wide user/group control panel. collective.workspace provides a behavior that can be enabled for any Dexterity content type. When enabled, it adds a "Roster" tab which is where you can manage the team. All the functionality takes place via an IWorkspace adapter, which can be overridden to specify: A list of groups, and the roles that each group should receive. These groups are created automatically via a PAS plugin, and automatically granted local roles using a borg.localrole adapter. The schema for which fields should be stored for each member in the roster. This includes checkboxes for the groups, to determine which groups the member is in. Action links for each row in the roster. The default is an "Edit" link which brings up a popup to edit the fields for that person's roster membership. Action buttons at the bottom of the roster which apply to the rows the user selects. An example of this could be a 'Send email' action, so a roster admin can easily email users in the roster. Unlike similar previous packages (see slc.teamfolder and collective.local.*), collective.workspace supplies its own PAS groups plugin, instead of using standard Plone groups. This means that Workspace-specific groups do not appear in the sitewide group control panel. Some other features are: Membership in a roster is indexed, so you can search the catalog for items of portal_type X that have a particular user in their roster. Events are fired when roster memberships are added/modified/removed.
This module provides a z3c.form version of the Products.DataGridField . This product was developed for use with Plone4/5 and Dexterity.
This package provides the demo views for collective.z3cform.datagridfield. Examples of configurations are in the demo folder. Once you install this package, the demo views will be visible on your site. * http://localhost:8080/Plone/@@demo-collective.z3cform.datagrid
`EEA Depiction`_ (formerly valentine.imagescales) is a generic system for creating thumbnails/image representations for content types, both those provided by Plone, and custom ones. At the moment this system is implemented and tested only on Archetypes content types, however this system could be adapted in a later version to work also for dexterity content types. To make it work for a content type, three adapters need to be provided: 1. ImageView that retrieves an image in the desired scale. 2. ImageTag that returns the HTML tag for the image 3. ImageLink that returns the HTML link to the image.
Introduction plone.app.contenttypes offers default content types for Plone based on Dexterity. This package replaces Products.ATContenttypes and will provide the default-types in Plone 5. It contains the following types: Folder Document News item File Image Link Event (Using behaviors from plone.app.event) Collection (this already replaces plone.app.collection which is no longer needed then) The main difference from a users perspective is that these types are extendable through-the-web. This means you can add or remove fields and behaviors using the control-panel "Dexterity Content Types" (/@@dexterity-types). The aim is to mimick the default-types as closely as possible. plone.app.contenttypes has been merged into the Plone 5.0 branch and will be shipped with the next Plone release: https://dev.plone.org/ticket/12344 Warning: Using plone.app.contenttypes on a site with existing content requires migrating the sites content. Please see the chapter "Migration". It can be used on a new site without problems. Compatibility Version 1.1b1 is tested with Plone 4.3.x. The versions 1.1.x will stay compatible with Plone 4.3.x. For support of Plone 4.1 and 4.2 please use version 1.0.x. Please note that they do not provide the full functionality. The future versions 1.2.x will be compatible with Plone 5 only and add support for plone.app.widgets Installation Add this line in the eggs section of your buildout.cfg eggs = ... plone.app.contenttypes If you have a Plone site with mixed Archetypes and Dexterity content use the extra requirement atrefs. eggs = ... plone.app.contenttypes [atrefs] This will also install the package plone.app.referenceablebehavior that allows you to reference dexterity-based content from archetypes-based content. You will have to enable the behavior plone.app.referenceablebehavior.referenceable.IReferenceable for all types that need to be referenced by Archetypes-content. What happens to existing content? If you install plone.app.contenttypes in a existing site all Archetypes-based content of the default types still exists and can be viewed but can't be edited. On installation plone.app.contenttypes removes the type-definitions for the old default-types like this: <object name="Document" remove="True" /> They are then replaced by new Definitions: <object meta_type="Dexterity FTI" name="Document" /> To make the existing content editable again you need to migrate it to Dexterity (please see the section on migration) or uninstall plone.app.contenttypes (see the section on uninstalling). Archetypes-based content provided by add-ons (e.g. Products.PloneFormGen) will still work since only the default-types are replaced. If you install plone.app.contenttypes on a fresh site (i.e. when no content has been edited or added) the usual default-content (Events, News, Members...) will be created as dexterity-content. Uninstalling To remove plone.app.contenttypes and return full functionality to old content and restore the AT-based default-types you have to install the import step "Types Tool" of the current base profile. Follow the following steps: in the ZMI navigate to portal_setup and the tab "import" in "Select Profile or Snapshot" leave "Current base profile (<Name of your Plonesite>)" selected. This is usually Products.CMFPlone select the Types Tool (usually Step 44) click "import selected steps" Any content you created based on plone.app.contenttypes will not be editable until you reinstall plone.app.contenttypes. Dependencies plone.app.dexterity >= 2.0.7. Dexterity is shipped with Plone 4.3.x. Version pinns for Dexterity are included in Plone 4.2.x. For Plone 4.1.x you need to pin the correct version for Dexterity in your buildout. See Installing Dexterity on older versions of Plone. plone.dexterity >= 2.2.1. Olders version of plone.dexterity break the rss-views because plone.app.contenttypes uses behaviors for the richtext-fields. plone.app.event >= 1.1b1. This provides the behaviors used for the event-type. plone.app.portlets >= 2.5a1. In older version the event-portlet will not work with the new event-type. These are the version-pinns for Plone 4.3.3: [buildout] versions = versions [versions] plone.app.event = 1.1b1 plone.app.portlets = 2.5a1 Plone-versions before 4.3.3 need to pinn more packages: [buildout] versions = versions [versions] plone.dexterity = 2.2.1 plone.app.dexterity = 2.0.11 plone.schemaeditor = 1.3.5 plone.app.event = 1.1b1 plone.app.portlets = 2.5a1 Migration To migrate your existing content from Archetypes to Dexterity use the form at /@@atct_migrator. For migrations to work you need at least Products.contentmigration = 2.1.3 (part of Plone since Plone 4.2.5) and plone.app.intid (part of Plone since Plone 4.1.0). Migrating Archetypes-based content to plone.app.contenttypes plone.app.contenttypes can migrate the following default types: Document Event File Folder Image Link News Item Collection The following non-default types will also be migrated: The AT-based Event-type provided by plone.app.event The DX-based Event-type provided by plone.app.event The Event-type provided by plone.app.contenttypes until version 1.0 News Items with blobs (provoded by https://github.com/plone/plone.app.blob/pull/2) Files and Images without blobs AT-based collection provided by plone.app.collection Migrations that might come in a future version: from ATTopic to Collections Please note that migrating versions of content is not supported. Only the current state of items is migrated without any content- or workflow-history. Migrating content that is translated with LinguaPlone Since LinguaPlone does not support Dexterity you need to migrate from LinguaPlone to plone.app.multilingual (http://pypi.python.org/pypi/plone.app.multilingual). The migration from Products.LinguaPlone to plone.app.multilingual should happen before the migration from Archetypes to plone.app.contenttypes. For details on the migration see http://pypi.python.org/pypi/plone.app.multilingual#linguaplone-migration Migrating from old versions of plone.app.contenttypes Before version 1.0a2 the content-items did not implement marker-interfaces. They will break in newer versions since the views are now registered for these interfaces (e.g. plone.app.contenttypes.interfaces.IDocument). To fix this you can call the view /@@fix_base_classes on your site-root. Since plone.app.contenttypes 1.1a1, the Collection type uses the new Collection behavior and the Event type utilizes behaviors from plone.app.event. In order to upgrade: First run the default profile (plone.app.contenttypes:default) or reinstall plone.app.contenttypes Then run the upgrade steps. Migrating default-content that was extended with archetypes.schemaextender The migration should warn you if any of your types are extended with archetypes.schemaextender. The data contained in these fields will be lost. You need to implement a custom migration for your types and dexterity-behaviors for the functionality provided by the schemaextenders. This is an advanced development task and beyond the scope of this documentation. Migrating custom content Custom content-types will not be touched by the migration plone.app.contenttypes and will continue to work as expeced. However if you'd like to migrate your content-types to Dexterity (you'll have to create these types in Dexterity first) you might want to have a look at the code of plone.app.contenttypes.migration.migration.NewsItemMigrator as a blueprint. Widgets When used in Plone 4.x plone.app.contenttypes uses the default z3c.form widgets. All widgets work as they used to with Archetypes except for the keywords-widget for which a simple linesfield is used. It is recommended to use plone.app.widgets to switch to the widgets that will be used in Plone 5. How to use with plone.app.widgets TODO How to override widgets To override the default keywords-widgets with a nicer widget you can use the package collective.z3cform.widgets. Add collective.z3cform.widgets to your buildout and in your own package register the override in your configure.zcml: <adapter factory=".subjects.SubjectsFieldWidget" /> Then add a file subjects.py from collective.z3cform.widgets.token_input_widget import TokenInputFieldWidget from plone.app.dexterity.behaviors.metadata import ICategorization from plone.app.z3cform.interfaces import IPloneFormLayer from z3c.form.interfaces import IFieldWidget from z3c.form.util import getSpecification from z3c.form.widget import FieldWidget from zope.component import adapter from zope.interface import implementer @adapter(getSpecification(ICategorization['subjects']), IPloneFormLayer) @implementer(IFieldWidget) def SubjectsFieldWidget(field, request): widget = FieldWidget(field, TokenInputFieldWidget(field, request)) return widget Once you install collective.z3cform.widgets in the quickinstaller, the new widget will then be used for all types. Information for Addon-Developers Design decicions The schemata for the types File, Image and Link are defined in xml-files using plone.supermodel. This allows the types to be editable trough the web. The types Document, News Item, Folder and Event have no schemata but only use behaviors to provide their fields. Installation as a dependency from another product If you want to add plone.app.contenttypes as a dependency from another products use the profile plone-content in your metadata.xml to have Plone populate a new site with DX-based default-content. <metadata> <version>1</version> <dependencies> <dependency>profile-plone.app.contenttypes:plone-content</dependency> </dependencies> </metadata> If you use the profile default then the default-content in new sites will still be Archetypes-based. You'll then have to migrate that content using the migration-form @@atct_migrator or delete it by hand. Extending the types You have several options: Extend the types through-the-web by adding new fields or behaviors in the types-controlpanel /@@dexterity-types. Extend the types with a custom type-profile that extends the existing profile with behaviors, or fields. You will first have to add the type to your [yourpackage]/profiles/default/types.xml. <?xml version="1.0"?> <object name="portal_types" meta_type="Plone Types Tool"> <object name="Folder" meta_type="Dexterity FTI" /> </object> Here is an example that enables the image-behavior for Folders in [yourpackage]/profiles/default/types/Folder.xml: <?xml version="1.0"?> <object name="Folder" meta_type="Dexterity FTI"> <property name="behaviors" purge="False"> <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/> </property> </object> By adding a schema-definition to the profile you can add fields. <?xml version="1.0"?> <object name="Folder" meta_type="Dexterity FTI"> <property name="model_file">your.package.content:folder.xml</property> <property name="behaviors" purge="False"> <element value="plone.app.contenttypes.behaviors.leadimage.ILeadImage"/> </property> </object> Put the schema-xml in your/package/content/folder.xml (the folder content needs a __init__.py) <model xmlns:security="http://namespaces.plone.org/supermodel/security" xmlns:marshal="http://namespaces.plone.org/supermodel/marshal" xmlns:form="http://namespaces.plone.org/supermodel/form" xmlns="http://namespaces.plone.org/supermodel/schema"> <schema> <field name="teaser_title" type="zope.schema.TextLine"> <description/> <required>False</required> <title>Teaser title</title> </field> <field name="teaser_subtitle" type="zope.schema.Text"> <description/> <required>False</required> <title>Teaser subtitle</title> </field> <field name="teaser_details" type="plone.app.textfield.RichText"> <description/> <required>False</required> <title>Teaser details</title> </field> </schema> </model> For more complex features you should create custom behaviors and/or write your own content-types. For more information on creating custom dexterity-types or custom behaviors to extend these types with read the dexterity documentation. Reordering fields provided by behaviors TODO Differences to Products.ATContentTypes The image of the News Item is not a field on the contenttype but a behavior that can add a image to any contenttypes (similar to http://pypi.python.org/pypi/collective.contentleadimage) All richtext-fields are also provided by a reuseable behavior. The functionality to transform (rotate and flip) images has been removed. There is no more field Location. If you need georeferenceable consider using collective.geo.behaviour The link on the image of the newsitem triggers an overlay The link-type now allows the of the variables ${navigation_root_url} and ${portal_url} to construct relative urls. The keywords-widget is not implemented and is replaced by a simple lines-widget unless you override it or use plone.app.widgets. Please see the section on widgets. Toubleshooting Please report issues in the bugtracker at https://github.com/plone/plone.app.contenttypes/issues. ValueError on installing When you try to install plone.app.contenttypes < 1.1a1 in a existing site you might get the following error: (...) Module Products.GenericSetup.utils, line 509, in _importBody Module Products.CMFCore.exportimport.typeinfo, line 60, in _importNode Module Products.GenericSetup.utils, line 730, in _initProperties ValueError: undefined property 'schema' Before installing plone.app.contenttypes you have to reinstall plone.app.collection to update collections to the version that uses Dexterity.
collective.address This package provides an Dexterity behavior for location addresses to be used in Dexterity based types. How to provide a default value for the country field -If you want to provide a default value for the IAddress' country field, you can provide an ComputedWidgetAttribute adapter like so:: from zope.component import provideAdapter from z3c.form.widget import...
collective.ambidexterity collective.ambidexterity provides through-the-web editing of views, defaults, validators and vocabularies for Dexterity content types.Documentation: of the package The package currently only works in Plone 5.Installation Add collective.ambidexterity to the eggs list in your Plone 5 buildout. Run buildout.Use the add/remove addons option in site setup to activate the...
Introduction This contains two dexterity behaviors, vocabularies and indexers for two 'taxonomy-like' fields:- classifiers_themes (e.g. Air, Air > Quality, Air > Pollution, Water)- classifiers_categories (e.g. Report, Project, Project > Management)You want to show some information on your website and make it easy to find it. You have reports about air or about water. You also have projects...
collective.contact.membrane Integration of dexterity membrane with contacts from collective.contact.core.Contacts are Plone users When you install this package, contacts (Person contents) become Plone users. Once they have a password, they can login, using the contact id or the contact email (set the parameter in the control panel)Contact fields are properties of user. When you change some...
Introduction Dexterity based behaviors for geotagging.Implements plone.formwidget.geolocation which adds LeafletJS support.Adds catalog indexes/metadata for latitude/longitude to support GeoJSON Featurelist output/filtering.The GeoJSON properties can be customized with the provided IGeoJSONProperties Changelog 1.7.2 (2021-09-16) - Fix Italian .po file location [laulaz]- Add French translation...