Content SettingsΒΆ
*** Settings ***
Resource plone/app/robotframework/server.robot
Resource plone/app/robotframework/keywords.robot
Resource Selenium2Screenshots/keywords.robot
Library OperatingSystem
Suite Setup Run keywords Suite Setup Test Setup
Suite Teardown Run keywords Test teardown Suite Teardown
*** Variables ***
${FIXTURE} plone.app.robotframework.PLONE_ROBOT_TESTING
@{DIMENSIONS} 1024 768
@{APPLY_PROFILES} plone.app.contenttypes:plone-content
*** Keywords ***
Suite Setup
Run keyword if not sys.argv[0].startswith('bin/robot')
... Setup Plone site ${FIXTURE}
Run keyword if sys.argv[0].startswith('bin/robot')
... Open test browser
Run keyword and ignore error Set window size @{DIMENSIONS}
Test Setup
Import library Remote ${PLONE_URL}/RobotRemote
Run keyword if sys.argv[0].startswith('bin/robot')
... Remote ZODB SetUp ${FIXTURE}
${language} = Get environment variable LANGUAGE 'en'
Set default language ${language}
Enable autologin as Manager
${user_id} = Translate user_id
... default=jane-doe
${user_fullname} = Translate user_fullname
... default=Jane Doe
Create user ${user_id} Member fullname=${user_fullname}
Set autologin username ${user_id}
Test Teardown
Run keyword if sys.argv[0].startswith('bin/robot')
... Remote ZODB TearDown ${FIXTURE}
Suite Teardown
Run keyword if not sys.argv[0].startswith('bin/robot')
... Teardown Plone Site
Run keyword if sys.argv[0].startswith('bin/robot')
... Close all browsers
This seemingly innocent looking screen is the gateway to setting up advanced functionality: Workflows, visibility and versioning settings.
When (Default) is selected, as in the above screenshot, you set the workflow that new content types will get. It is, so to say, the default one for your entire website.
Plone comes with a few pre-defined workflows:
- Simple publication workflow
- This is the default: Items start out as “private”, and then can get published.
- Single State workflow
- The most simple one: everything is always published. Recommended for really simple sites, basically it means there is no real workflow.
- Community workflow
- Best for a community-driven website, where all members of the community can create content that will be visible, but certain content can be ‘promoted’, usually to the front page.
- Intranet/Extranet workflow
- Meant for intranets, where the majority of users is logged in. Some content can be ‘externally published’ so it is available to anonymous visitors as well.
- No Workflow
- In this one, items ‘inherit’ the state of their parent folder. If a certain type of content has the “No Workflow” workflow, it will be published if the folder where it lives is published, and private if the folder where it lives is private.
All of these workflows can be assigned on a per-contenttype base.
Once you select a content type in the top drop-down field, more options become available. In the screenshot below, we have picked the “Page” content type:
Now we can set a whole range of options on the “Page” content type:
- Globally addable
- Selecting this option means the content type can be added anywhere in the site (provided you or somebody else has not set up specific exclusions for an individual Folder)
- Allow comment
- This setting overrides the global setting in the discussion settings
- Visible in searches
- Will this content type show up in search results?
- Versioning policy
- The “Page” content type has ‘Automatic’ versioning enabled, meaning you can use the versioning features on it.
- Manage portlets assigned to this content type
- This link will take you to “content-specific” portlets. This is a feature that some add-ons use.
- Current workflow:
- Explains in short what the current workflow for this content type does
- New workflow:
- Allows you to change the workflow for this content type.
All in all, this allows sophisticated setups, where some content items just follow the Plone standard workflow, but some others (think of a content type for Expenditures) goes through a whole other chain of workflow states.
Note
Defining your own workflows
It is no problem to define your own workflows. By default, however, that involves a trip to the Management Interface which is not incredibly user friendly, and defining new workflows is a task best left for your Site Administrator or other specialist.
There are several add-ons, however, like plone.app.workflowmanager that will present a graphical tool to define workflows.