Oracle® Beehive Administrator's Reference Guide Release 1 (1.4) Part Number E13798-02 |
|
|
View PDF |
This module describes the structure of the following XML files:
Note:
The tables in this module describe all the permitted elements for each XML element. The Min. column is the minimum number of elements required. The Max. column is the maximum number of elements allowed.An audit policy is a definition of rules and actions that determine which events should be recorded in the auditing logs, and the context (user or content) in which you want to do so.
To create an audit policy, you need an audit policy template and an audit policy definition.
An audit policy template is an XML file that has AuditTemplateInfo as its root element. It specifies which auditable events should be recorded in the auditing logs. To activate an audit policy template, you associate it with an audit policy definition.
An audit policy definition is an XML file that has AuditPolicyInfo as its root element. It specifies which audit policy template to activate, and which level of scope (user, organization, or enterprise) or level of the content hierarchy (such as an individual entity, folder, or workspace) to apply the audit policy template.
As a result, the audit service will record the events specified in the audit policy template in the auditing logs in the scope you specified in the audit policy definition.
You may also create an audit trail. An audit trail is a collection of audit records that have common characteristics such as the user or group who performed or triggered the event, the date and time that the event occurred, and the type of event. You create an audit trail with an audit trail template. This is an XML file that has AuditTrailInfo as its root element. It specifies which characteristics each audit record in the audit trail must have.
The directory <Oracle home>
/beehive/audit
contains the following sample audit templates:
policy_ex.xml
: Sample audit policy definition
template_ex.xml
: Sample audit policy template
trail_ex.xml
: Sample audit trail template
The policy
directory also contain the file audit.xsd
that defines the structure of audit policy definitions, audit policy templates, and audit trail templates.
Root element of audit policy definitions.
Table 1-1 AuditPolicyInfo Elements
Element Name | Min. | Max. | Description |
---|---|---|---|
createdOn |
1 |
1 |
DateTime |
name |
1 |
1 |
String, name of the audit policy |
description |
1 |
1 |
String, description of the audit policy |
template |
1 |
1 |
String, audit template's identifier. It can either be the collabID or the template's name. |
container |
0 |
1 |
String, identifier of the container or audit scope. Default value is the identifier of the enterprise. Note: You may not change this value with the |
actor |
0 |
unbounded |
Complex type that contains two attributes:
List of audit filter identifiers. Each identifier can either be the organization user's identifier or the group's identifier. Default value is for all users if this element is not specified or empty. |
Root element of audit trail templates.
Table 1-2 AuditTrailInfo Elements
Element Name | Min. | Max. | Description |
---|---|---|---|
createdOn |
1 |
1 |
DateTime |
name |
1 |
1 |
String, name of the audit trail |
description |
1 |
1 |
String, description of the audit trail |
actor |
0 |
unbounded |
String, list of identifiers of the users to be used as a predicate when searching for audit records. Default is to use all users |
entity |
0 |
unbounded |
String, list of identifiers of the entities that generated the audit records |
startTime |
0 |
1 |
DateTime, audit record start time |
endTime |
0 |
1 |
DateTime, audit record end time |
eventType |
1 |
1 |
String |
serviceName |
1 |
1 |
String |
userName |
1 |
1 |
String |
activity |
1 |
1 |
String |
predicate |
1 |
1 |
String |
limit |
1 |
1 |
Unsigned integer |
With category templates, you may perform the following tasks:
Create categories with the beectl add_category
command
Delete categories with the beectl delete_category
command
Apply them to objects in a workspace with the beectl add_category_application
command
Remove them from objects in a workspace with the beectl delete_category_application
command
The following example creates a subcategory named My subcategory
that has two attributes.
Example 1-1 Category Template Example
<CategoryDefinition xmlns="http://xmlns.oracle.com/beehive/category"> <name>My subcategory</name> <description>My subcategory description</description> <abstract>F</abstract> <parentCEN> <enterpriseId>521D</enterpriseId> <siteId>7D48</siteId> <objectType>catg</objectType> <eid>395E4535BD17BB82E040578CB50964750000000007F3</eid> </parentCEN> <attributes> <attribute> <name>First attribute</name> <description>Description of first attribute</description> <propertyType>String</propertyType> <searchable>T</searchable> <defaultValue>Hello</defaultValue> </attribute> <attribute> <name>Second attribute</name> <description>Description of second attribute</description> <propertyType>String</propertyType> <searchable>T</searchable> <defaultValue>World!</defaultValue> </attribute> </attributes> </CategoryDefinition>
The directory <Oracle home>
/beehive/templates/workspaces
contains the following sample category templates:
add_category_template1.xml
add_category_template2.xml
add_subcategory_template.xml
The workspaces
directory also contains the file category.xsd
that defines the structure of category templates.
Root element of category templates.
Table 1-4 Elements of CategoryDefinition
Element Name | Min. | Max. | Description |
---|---|---|---|
categoryCEN |
0 |
1 |
|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
ownerCEN |
0 |
1 |
|
parentCEN |
0 |
1 |
|
subcategoryCEN |
0 |
unbounded |
|
visibility |
0 |
1 |
Either a value of |
abstract |
0 |
1 |
Boolean, either a value of |
creatorCEN |
0 |
1 |
|
modifiedByCEN |
0 |
1 |
|
defaultTemplate |
0 |
1 |
|
attributes |
0 |
1 |
Contains zero to any amount of elements named |
deletedAttributes |
0 |
1 |
Contains zero to any amount of elements named |
Represents the collaboration entity name, which uniquely identifies an entity in the system.
Table 1-6 Elements of CatTemplate (type)
Element Name | Min. | Max. | Description |
---|---|---|---|
categoryTemplateCEN |
0 |
1 |
|
categoryCEN |
1 |
1 |
|
copyOnVersion |
0 |
1 |
Boolean, either a value of |
mandatory |
0 |
1 |
Boolean, either a value of |
finalInd |
0 |
1 |
Boolean, either a value of |
isMissing |
0 |
1 |
Boolean, either a value of |
attributeTemplates |
0 |
1 |
Contains zero to any number of elements named |
deletedAttrTemplates |
0 |
1 |
Contains zero to any amount of elements named |
Table 1-7 Elements of AttributeDefinition (type)
Table 1-8 Elements of AttributeTemplate (type)
Element Name | Min. | Max. | Description |
---|---|---|---|
attributeTempCEN |
0 |
1 |
|
attributeDef |
1 |
1 |
|
mandatory |
0 |
1 |
Boolean, either a value of |
prompted |
1 |
1 |
Boolean, either a value of |
finalized |
0 |
1 |
Boolean, either a value of |
forceDefault |
0 |
1 |
Boolean, either a value of |
minValue |
0 |
1 |
String |
minValueInc |
0 |
1 |
Boolean, either a value of |
maxValue |
0 |
1 |
String |
maxValueInc |
0 |
1 |
Boolean, either a value of |
allowedValues |
0 |
1 |
Contains zero to any number of elements named |
defaultValue |
String |
Use group templates to create or modify groups.
The following example creates a dynamic group called all_extended_enterprise
that consists of external users that belong to the enterprise defined by the cen element.
The following example creates a static group with a set of explicitly-identified users:
Example 1-2 Static Group Creation With Users
<?xml version="1.0" encoding="utf-8"?> <groups> <group type="grup"> <name>beehive_test_group</name> <description>My first static group</description> <scope> <cen>2B1C:6844:enpr:31FF590FA21BD45EE040578CC60514DF0000000001A3</cen> </scope> <guid/> <query/> <members> <add> <actor> <item> <cen>2B1C:6844:user:0100E3E88D0A49CAA85C6B54EC8CD772000000000007</cen> </item> <item> <cen>2B1C:6844:user:0100E3E88D0A49CAA85C6B54EC8CD77200000000001C</cen> </item> </actor> <subgroup> <item> <cen>2B1C:6844:grup:0100E3E88D0A49CAA85C6B54EC8CD772000000000041</cen> </item> </subgroup> <principal/> </add> </members> <addresses> <add> <item> <address>mailto:bob_smith@mycompany.com</address> <addresstype>NONE</addresstype> </item> </add> <remove> <item> <address>authid:bob_smith</address> <addresstype>NONE</addresstype> </item> </remove> <defaultaddressbytype> <item> <address>authid:sblack</address> <addresstype>NONE</addresstype> </item> </defaultaddressbytype> <defaultaddressbyscheme> <item> <address>authid:rajpal.goyal</address> <addresstype>NONE</addresstype> </item> </defaultaddressbyscheme> <primaryaddress> <item> <address>authid:example</address> <addresstype>NONE</addresstype> </item> </primaryaddress> </addresses> <memberships> <add> <item> <cen>2B1C:6844:orgn:31FF590FA21BD45EE040578CC60514DF0000000001AA</cen> </item> </add> </memberships> <properties> <add> <item> <name>IS_AUTO_CONFIRM_ON</name> <value>true</value> <description>xxx</description> </item> </add> <remove> <item> <name>xxxx</name> </item> </remove> </properties> </group> </groups>
Table 1-21 Elements of operation (type)
Element Name | Min. | Max. | Description |
---|---|---|---|
actor |
0 |
1 |
Contains zero to any number of item elements |
agent |
0 |
1 |
Contains zero to any number of item elements |
subgroup |
0 |
1 |
Contains zero to any number of item elements |
principal |
0 |
1 |
Contains zero to any number of item elements |
Table 1-24 Elements of removeexcluded
Element Name | Min. | Max. | Description |
---|---|---|---|
actor |
0 |
1 |
Contains zero to any number of item elements |
Table 1-25 Elements of addresses
Element Name | Min. | Max. | Description |
---|---|---|---|
add |
0 |
1 |
Contains zero to any number of item (child element of addresses) elements |
remove |
0 |
1 |
Contains zero to any number of item (child element of addresses) elements |
defaultaddressbytype |
0 |
1 |
Contains zero to any number of item (child element of addresses) elements |
defaultaddressbyscheme |
0 |
1 |
Contains zero to any number of item (child element of addresses) elements |
primaryaddress |
0 |
1 |
Contains zero to any number of item (child element of addresses) elements |
Table 1-27 Elements of properties
Element Name | Min. | Max. | Description |
---|---|---|---|
add |
0 |
1 |
Contains zero to any number of item (child element of properties) elements |
remove |
0 |
1 |
Contains zero to any number of item (child element of properties) elements |
A policy definition defines a set of rules containing conditions and an action to perform if those conditions are satisfied.
The following is a policy definition that validates user passwords. It checks if the user's password matches one of the following criteria:
Less than 8 characters long
Greater than 128 characters long
Contains the user name as a substring
Does not contain both upper and lower case characters
Matches a password previously used by the user
If any of these criteria are true, then the password is rejected.
<?xml version = '1.0' encoding = 'UTF-8'?> <PolicyInfo isExtensible="true"> <policy>plcy=PasswordPolicy,enpr=Acme</policy> <scope>enpr=Acme</scope> <template></template> <name>PasswordPolicy</name> <description>Password policy desc</description> <RuleInfos> <RuleInfo priority="1"> <name>Password Auth PLSQL Rule</name> <description>Password Auth rule description</description> <eventTypeName>ON_AUTH_USER_PASSWD_MODIFICATION</eventTypeName> <ruleId> 2ACE:6047:rule:3AC0E3FA73872328E040578C939A44FF0000000F4496 </ruleId> <toRemove>false</toRemove> <templateRuleId/> <ConditionInfo> <DisjunctionInfo> <LeftBooleanExpression> <DisjunctionInfo> <LeftBooleanExpression> <DisjunctionInfo> <LeftBooleanExpression> <DisjunctionInfo> <LeftBooleanExpression> <DisjunctionInfo> <LeftBooleanExpression> <Simple> <!-- This expression checks if the user's password is less than 8 characters long --> <leftSide> <!-- Returns the length of the string --> LENGTH( CUSTOM_ATTRIBUTES.USER_PASSWD) </leftSide> <operator><</operator> <rightSide>8</rightSide> </Simple> </LeftBooleanExpression> <RightBooleanExpression> <Simple> <!-- This expression checks if the user's password is greater than 128 characters long --> <leftSide> LENGTH( CUSTOM_ATTRIBUTES.USER_PASSWD) </leftSide> <operator>></operator> <rightSide>128</rightSide> </Simple> </RightBooleanExpression> </DisjunctionInfo> </LeftBooleanExpression> <RightBooleanExpression> <Simple> <!-- This expression checks if the user's password contains both alphabetic and numeric characters --> <leftSide> AUTH_POLICY_FUNC_PKG. VERIFY_ALPHANUM( CUSTOM_ATTRIBUTES.USER_PASSWD) </leftSide> <operator>=</operator> <rightSide>0</rightSide> </Simple> </RightBooleanExpression> </DisjunctionInfo> </LeftBooleanExpression> <RightBooleanExpression> <Simple> <!-- This expression checks if the user name is contained in the password --> <leftSide> AUTH_POLICY_FUNC_PKG.CONTAINS_USERNAME( CUSTOM_ATTRIBUTES.USER_NAME, CUSTOM_ATTRIBUTES.USER_PASSWD) </leftSide> <operator>=</operator> <rightSide>0</rightSide> </Simple> </RightBooleanExpression> </DisjunctionInfo> </LeftBooleanExpression> <RightBooleanExpression> <Simple> <!-- This expression checks if the password contains both upper and lower case characters --> <leftSide> AUTH_POLICY_FUNC_PKG.VERIFY_CASE( CUSTOM_ATTRIBUTES.USER_PASSWD) </leftSide> <operator>=</operator> <rightSide>0</rightSide> </Simple> </RightBooleanExpression> </DisjunctionInfo> </LeftBooleanExpression> <RightBooleanExpression> <Simple> <leftSide> <!-- This expression checks if the password matches a password previously used by the user --> AUTH_POLICY_FUNC_PKG.IN_HISTORY( CUSTOM_ATTRIBUTES.USER_NAME, CUSTOM_ATTRIBUTES.ENCRYPTED_PASSWD) </leftSide> <operator>=</operator> <rightSide>0</rightSide> </Simple> </RightBooleanExpression> </DisjunctionInfo> </ConditionInfo> <ActionInfo> <name>Password modification action</name> </ActionInfo> <ActionPreferenceInfos/> </RuleInfo> </RuleInfos> </PolicyInfo>
The directory <Oracle home>
/beehive/templates/policy
contains the following sample policy definitions:
AddPolicyTest_conjunction.xml
AddPolicyTest_disjunction.xml
AddPolicyTest_simple.xml
ModifyPolicyTest.xml
The policy
directory also contains XSD files that define the structure of policy definitions.
Root element of policy definitions.
Table 1-32 Elements of PolicyInfo
Element Name | Min. | Max. | Description |
---|---|---|---|
collabId |
0 |
1 |
String |
scope |
0 |
1 |
String. The identifier of a scope (enterprise, organization, or workspace). |
templateId |
0 |
1 |
String |
policy |
0 |
1 |
String |
scope |
0 |
1 |
String |
template |
0 |
1 |
String |
name |
1 |
1 |
String |
description |
1 |
1 |
String |
1 |
unbounded |
||
RuleInfos |
1 |
1 |
Contains at least one to any number of RuleInfo elements |
ActionPreferenceInfos |
1 |
1 |
Contains at least one to any number of ActionPreferenceInfo elements. These are key/value pairs that are sent to the action |
isExtensible |
1 |
1 |
Boolean |
Contains one or more conditions defined by the ConditionInfo element. These conditions are evaluated as true or false. Depending on the results of these conditions, the rule may activate an action. The ActionInfo element defines these actions.
Table 1-34 Elements of RuleInfo
Contains logical expressions.
The ConditionInfo element may contain either one ConjunctionInfo element or one DisjunctionInfo element.
Table 1-36 Elements of ConditionInfo
Element Name | Min. | Max. | Description |
---|---|---|---|
ConjunctionInfo |
0 |
1 |
logical expression (type), evaluates to true if both of its boolean expressions evaluate to true. This is like a logical AND operator. |
DisjunctionInfo |
1 |
1 |
logical expression (type), evaluates to true if one or both of its boolean expressions evaluate to true. This is like the logical OR operator. |
Simple |
0 |
1 |
Represents the elements ConjunctionInfo and DisjunctionInfo. Contains two boolean expressions.
Represents the elements LeftBoooleanExpression and RightBooleanExpression.
May contain only one of the elements listed in the following table. The ConjunctionInfo and DisjunctionInfo elements allow you to nest boolean expressions.
Defines a boolean expression that consists of two operands (the leftSide and rightSide elements) and an operator (the element operator).
Specifies the action to be performed if the expressions in ConditionInfo evaluate to true. The command beectl list_actions
lists all available actions.
Table 1-41 Elements of ActionPreferenceInfo
Element Name | Min. | Max. | Description |
---|---|---|---|
key |
1 |
1 |
String |
value |
1 |
1 |
String. If the value of key is |
Each JXPath has the following structure:
<method>#<method>#...@<XML element name>
For example, the following is the first JXPath in this policy, which retrieves the identifier of the newly added document, then maps this value to the <entityId>
element in the generated XML:
getCommonAttributes#getEntityId#toCollabId@entityId
To get the list of available attributes for a particular event, use the command beectl list_events --name
<event name>
. For <event name>
, use the value in the <eventTypeName>
element in the policy.
For example, the following is a description of the DOCUMENT_CREATED
event and its attributes:
beectl list_events --name DOCUMENT_CREATED
Event Name: DOCUMENT_CREATED
Event Description: Raised when a new document is created in a heterogeneous folder. This event is also raised when an existing document is copied to a new heterogeneous folder.
Is Synchronous: N
------------------------------------
Event Subscriptions:
------------------------------------
Name: HelloWorldDocCreated
Event Subscription Id: 26C9:2946:evts:37275AA4FF80934DE040578C201A154B0000000493F5
Event Action Function: oracle.ocs.management.model.WorkflowService:HelloWorld
Is PLSQL Action: N
------------------------------------
Event Attributes:
------------------------------------
Name: COMMON_ATTRIBUTES Type: OCS_CODE.ECA_COMMON_EVENT_ATTRIBS_T
Name: ENTITY_ID Type: OCS_CODE.OCS_COLLAB_ID_T
Name: CONTAINER Type: OCS_CODE.OCS_COLLAB_ID_T
Name: ACTOR_ID Type: OCS_CODE.OCS_COLLAB_ID_T
Name: OPERATION Type: STRING
Name: STATUS Type: STRING
Name: MESSAGE Type: STRING
Name: EVENT_NAME Type: STRING
Name: LOGON_RECORD_ID Type: INTEGER
Name: EVENT_ID Type: INTEGER
Name: CUSTOM_ATTRIBUTES Type: OCS_CODE.WS_DOCUMENT_EVENT_ATTRIBS_T
Name: ARTIFACT_ATTRIBUTES Type: OCS_CODE.AM_COMMON_EVENT_ATTRIBS_T
Name: SIZE_CHANGE Type: INTEGER
Name: NEW_CONTAINER Type: OCS_CODE.OCS_COLLAB_ID_T
To retrieve the value of an attribute, perform the following steps to the attribute's name:
Convert the attribute name to lower case
Capitalize the first letter of the attribute name. and the letter after each underscore
Remove all underscores
Append get
to the beginning of the name
Attributes are stored in a tree structure. For example, to retrieve the value of ENTITY_ID, you will have to retrieve COMMON_ATTRIBUTES first.
You may use the following methods in your JXPath:
toCollabID
: Retrieves the identifier of the specified entity
ASENTITY
: Converts the identifier back into an entity so that you can retrieve other attributes and entities from it, such as its name with getName
.
iterator
: Use this with next
to retrieve all entities in a list.
A workflow template determines the conditions for a workflow to take place, as well as the context (a container) in which it applies. The following is a sample workflow template:
Example 1-4 Sample Workflow Template
<WorkflowTemplateInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://xml.oracle.com/beehive/workflow workflow_template.xsd" xmlns="http://xml.oracle.com/beehive/workflow" isfinal="false"> <name>Oracle Beehive Sample Workflow Template</name> <collabid></collabid> <description>A Template for Serial Workflow</description> <schemaname>SerialWorkflow</schemaname> <containerid> 540E:29F5:wstm:0F74CE0314C74715BFAE8E8F77DFC44300000000001F </containerid> <templatekey>DOCUMENT_CREATE</templatekey> <Attributes> <attribute> <name>justification</name> <defaultValue> Request to create a document in the Oracle Beehive Lab Workspace </defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>workflowtimeout</name> <defaultValue>0</defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>approvertimeout</name> <defaultValue>0</defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>approvers</name> <defaultValue>tolkin</defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>payload</name> <defaultValue>defaultpayload</defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>tasktitle</name> <defaultValue> Request to create a document in the Oracle Beehive Lab Workspace </defaultValue> <prompted>true</prompted> <required>false</required> </attribute> <attribute> <name>initiator</name> <defaultValue>rahad</defaultValue> <prompted>true</prompted> <required>false</required> </attribute> </Attributes> </WorkflowTemplateInfo>
The directory <Oracle home>
/beehive/templates/workflow
contains the following sample workflow template:
AddWorkflowTemplateTest.xml
The workflow
directory also contains the XSD file Workflow_template.xsd
that defines the structure of workflow templates.
Table 1-42 Elements of WorkflowTemplateInfo
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
collabid |
1 |
1 |
String |
description |
1 |
1 |
String, description of the workflow template |
schemaname |
1 |
1 |
String, name of an existing workflow. Oracle Beehive comes with two workflows:
|
containerid |
1 |
1 |
Specifies the container in with the workspace template applies |
templatekey |
1 |
1 |
String, name of an Oracle Beehive Event. The workflow template determines whether this event may be performed. |
Attributes |
1 |
unbounded |
Contains one to any number of attribute elements |
isfinal |
1 |
1 |
Boolean |
The following are the available attributes for SerialWorkflow:
justification: Optional justification for request
workflowtimeout: Number of days before request expires. A value of zero indicates that the request does not expire.
Note:
Time out values (both workflowtimeout and approvertimeout) should be in the form PxDyHzM. For example, P1D = 1 day; P1D6H = 1 day 6 hours; P2D3H30M = 2 days 3 hours 30 minutes; P0D = zero days, which means that the request does not expire.approvertimeout: Number of days that approvers may review the request before approving it; a value of zero indicates that approvers do not have a limited duration of time
approvers: Comma-delimited list of users who must review this request. The users must review the request in the order they appear in this attribute. The user's login ID should appear here.
tasktitle: The Oracle Beehive task that is created will have this title
initiator: The default value is the name of the user who initiated the request. When the workflow is invoked, this attribute is automatically set to the user who actually triggered the event to be invoked. For instance, if the user john.a.macdonald uploads a document, the workflow will be triggered with john.a.macdonald as the initiator. This default value is provided for fallback purposes only.
The following are the available attributes for ParallelVoteWorkflow:
justification: Optional justification for request
workflowtimeout: Number of days before request expires; a value of zero indicates that the request does not expire
Note:
Time out values (both workflowtimeout and approvertimeout) should be in the form PxDyHzM. For example, P1D = 1 day; P1D6H = 1 day 6 hours; P2D3H30M = 2 days 3 hours 30 minutes; P0D = zero days, which means that the request does not expire.approvertimeout: Number of days that approvers may review the request before approving it; a value of 0 indicates that approvers do not have a limited duration of time
approvers: Comma-delimited list of users who may review this request
votepercent: Defines the percentage of approvers that need to approve the parallel workflow. If this percentage is not met and all approvers have responded, the workflow is rejected. Do not include the percent (%) symbol. For example, use the value 50
in the XML file, not 50%
.
tasktitle: The Oracle Beehive task that is created will have this title
initiator: The default value is the name of the user who initiated the request. When the workflow is invoked, this attribute is automatically set to the user who actually triggered the event to be invoked. For instance, if the user john.a.macdonald uploads a document, the workflow will be triggered with john.a.macdonald as the initiator. This default value is provided for fallback purposes only.
Note:
All timeout values must be either 0 (which means no timeout) or in the formP
x
D
y
H
, where x
is the number of days, and y
is the number of hours. For example, P1D
represents one day, and P1D6H
represents one day and six hours.Workspace templates populate new workspaces with a specified folder hierarchy and set up workspace properties. Oracle Beehive comes with four workspace templates:
Basic Personal Workspace Template
Basic Team Workspace Template
Community of Practice Workspace Template
Project Workspace Template
The following is a basic team workspace template:
Example 1-5 Basic Team Workspace Template
<teamWorkspaceTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/beehive/transportabletemplate" xsi:schemaLocation="http://xmlns.oracle.com/beehive/transportabletemplate http://xmlns.oracle.com/beehive/transportabletemplate.xsd"> <templateAttributes> <author>Oracle</author> <authorCreationTime>2004-08-12</authorCreationTime> <contactInfo>Oracle Corporation</contactInfo> <copyrightInfo> Copyright (c) 2007 Oracle Corporation. All rights reserved. </copyrightInfo> <description>Basic team workspace template</description> <name>Basic Team Workspace Template</name> <templateId>oracle.com.basic-team-workspace-template</templateId> <domain>general</domain> </templateAttributes> <body> <publicSensitivityTemplateBodyId> public_sensitivity </publicSensitivityTemplateBodyId> <defaultSensitivityTemplateBodyId> default_sensitivity </defaultSensitivityTemplateBodyId> <attributes> <name prompt="true">teamWorkspace</name> <description>workspace for managing team information</description> <participationMode>INVITE_ONLY</participationMode> </attributes> <sensitivity id="default_sensitivity"> <name>Normal</name> <description>normal sensitivity</description> <sensitivityOnly>false</sensitivityOnly> <delegatable>true</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName> ALL_USERS </systemDefinedGroupName> </accessor> </ace> </sensitivity> <sensitivity id="public_sensitivity"> <name>Public</name> <description>public sensitivity</description> <sensitivityOnly>false</sensitivityOnly> <delegatable>true</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <grantAccessType>READ</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName> ALL_USERS </systemDefinedGroupName> </accessor> </ace> </sensitivity> <defaultAnnouncementsForum id="default_ann_forum"> <name>Announcements</name> <description>forum for workspace announcements</description> </defaultAnnouncementsForum> <defaultAddressBook id="default_address_book"> <name>Contacts</name> <description>team address book</description> </defaultAddressBook> <defaultCalendar id="default_calendar"> <name>Calendar</name> <description>team calendar</description> </defaultCalendar> <defaultInbox id="inbox_folder"> <name>INBOX</name> <description>inbox for email messages</description> </defaultEmailInbox> <defaultTaskList id="default_task_list"> <name>Tasks</name> <description>team tasks</description> </defaultTaskList> <entities> <folder id="documents_folder"> <name>Documents</name> <description>folder for team documents</description> </folder> </entities> <summary> <inlineSummary> <fileName>summary.html</fileName> <mediaType>text/html</mediaType> <body> <title> Workspace Summary for Members </title> <b> ${sys.workspace.name} </b> <p>The Workspace Coordinator should edit this text to share private information about this project with the team. For example, add a little text here describing the project goals, milestones and progress. </p> </body> </inlineSummary> </summary> <publicSummary> <inlineSummary> <fileName>publicSummary.html</fileName> <mediaType>text/html</mediaType> <body> <title> Workspace Public Summary </title> <b> ${sys.workspace.name} </b> <p> The Workspace Coordinator should edit this text to share public information about this project with others in your company. For example, add a little text here describing the project goals, milestones and progress. </p> </body> </inlineSummary> </publicSummary> </body> </teamWorkspaceTemplate>
The following is a basic personal workspace template
Example 1-6 Basic Personal Workspace Template
<personalWorkspaceTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/beehive/transportabletemplate" xsi:schemaLocation="http://xmlns.oracle.com/beehive/transportabletemplate http://xmlns.oracle.com/beehive/transportabletemplate.xsd"> <templateAttributes> <author>Oracle</author> <authorCreationTime>2004-08-12</authorCreationTime> <contactInfo>Oracle Corporation</contactInfo> <copyrightInfo> Copyright (c) 2007 Oracle Corporation. All rights reserved. </copyrightInfo> <description>Basic personal workspace template</description> <name>Basic Personal Workspace Template</name> <templateId>oracle.com.basic-personal-workspace-template</templateId> <domain>general</domain> </templateAttributes> <environment> <label> <name>Personal</name> <description>marker for personal items</description> </label> <label> <name>Business</name> <description>marker for business items</description> </label> </environment> <body> <publicSensitivityTemplateBodyId> public_sensitivity </publicSensitivityTemplateBodyId> <defaultSensitivityTemplateBodyId> default_sensitivity </defaultSensitivityTemplateBodyId> <attributes> <name prompt="true">personalWorkspace</name> <description>workspace for managing personal information</description> </attributes> <sensitivity> <name>Confidential</name> <description>confidential sensitivity</description> <sensitivityOnly>false</sensitivityOnly> <delegatable>true</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName> ALL_USERS </systemDefinedGroupName> </accessor> </ace> </sensitivity> <sensitivity id="default_sensitivity"> <name>Normal</name> <description>normal sensitivity</description> <sensitivityOnly>false</sensitivityOnly> <delegatable>true</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName>ALL_USERS</systemDefinedGroupName> </accessor> </ace> </sensitivity> <sensitivity> <name>Private</name> <description>private sensitivity</description> <sensitivityOnly>true</sensitivityOnly> <delegatable>false</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName> ALL_USERS </systemDefinedGroupName> </accessor> </ace> </sensitivity> <sensitivity id="public_sensitivity"> <name>Public</name> <description>public sensitivity</description> <sensitivityOnly>false</sensitivityOnly> <delegatable>true</delegatable> <ace> <grantAccessType>DISCOVER</grantAccessType> <grantAccessType>READ</grantAccessType> <accessor type="GROUP"> <systemDefinedGroupName> ALL_USERS </systemDefinedGroupName> </accessor> </ace> </sensitivity> <defaultAddressBook id="default_address_book"> <name>Address Book</name> <description>contacts</description> </defaultAddressBook> <defaultEmailInbox id="inbox_folder"> <name>INBOX</name> <description>inbox for email messages</description> </defaultEmailInbox> <defaultNotificationList id="default_notification_list"> <name>Notifications</name> <description>folder for notification messages</description> </defaultNotificationList> <defaultSubscriptionList id="default_subscription_list"> <name>Subscriptions</name> <description>folder for subscriptions</description> </defaultSubscriptionList> <entities> <folder id="documents_folder"> <name>Documents</name> <description>folder for documents</description> </folder> </entities> <summary> <inlineSummary> <fileName>summary.html</fileName> <mediaType>text/html</mediaType> <body> <title>Personal Summary</title> <b> Your Name Here </b> <p> Edit this text to share information about yourself that you want others in your company to see. For example, you can place a little text here describing your current job role and projects that you are working on. </p> <p> NOTE: You must apply Public sensitivity to this document in order for it to be viewed by other members of your company. </p> </body> </inlineSummary> </summary> </body> </personalWorkspaceTemplate>
You may specify parametric information with two kinds of template variables: system defined and user defined.
Oracle Beehive Release 1 supports the following system defined template variables:
sys.workspace.name
: Value of the name element in the templateAttributes element
sys.workspace.description
: Value of the description element in the templateAttributes element
sys.workspace.owner.collabid
: The CEN of the workspace owner
Use the templateVariable element to define your own variables. The following is an example of how to define a user defined template variable:
<templateVariable> <name>default-announcement-body</name> <description>Welcome new workspace memeber!</description> </templateVariable>
The following is an example of how to use a system defined template variable (sys.workspace.name
) and a user defined template variable (default-announcement-body
):
<announcement>
<subject>Welcome to workspace ${sys.workspace.name}</subject>
<messageBody>
<mediaType>text/plain</mediaType>
<body>${default-announcement-body}</body>
</messageBody>
</announcement>
Expressions allow you to create variables that have references to other template variables and perform arithmetic operations on them. Two types of expressions are available: arithmetic expressions and temporal expressions.
Arithmetic Expressions
An arithmetic expression consists of two operands and an arithmetic operator. The operands may be a template variable, a constant, or another arithmetic expression. The operator may be plus, minus, or product.
Temporal Expressions
A temporal expression evaluates to a specific time or instant. It consists of a template variable, an operator, and an offset:
The template variable refers to a specific time or instant.
The operator may be either plus or minus.
The offset is a constant or an arithmetic expression that specifies a duration of time to add or subtract (depending on the operator) from the template variable. It supports the time units hour, minute, second, or millisecond. The default time unit is millisecond.
The following is an example of a temporal expression that sets the due time of a task named One Day Later
:
<templateVariable> <name>task_reference_start_time_variable</name> </templateVariable> <todo> <name>One Day Later</name> ... <dueTime> <temporalExpression> <templateVariableRef> ${task_reference_start_time_variable} </templateVariableRef> <operator>PLUS</operator> <offset timeUnit=ÓHOURÓ>24</offset> </temporalExpression> </dueTime> ... </todo>
The following is an example of a temporal expression that sets the start time of a task named End of Vacation
:
<templateVariable> <name>beginning_of_vacation</name> </templateVariable> <templateVariable> <name>vacation_days</name> </templateVariable> ... <todo> <name>End of Vacation</name> ... <startTime> <temporalExpression> <templateVariableRef>${total_vacation_hours}</templateVariableRef> <operator>PLUS</operator> <offset timeUnit="HOUR"> <expression> <leftOperand> <value>${vacation_days}</value> </leftOperand> <operator>PRODUCT</operator> <rightOperand> <value>24</value> </rightOperand> </expression> </offset> </temporalExpression> </startTime> ... </todo>
The directory <Oracle home>
/beehive/templates/workspaces
contains the following sample workspace templates:
add_category_template1.xml
: Adds a category at the root level with no attributes
add_category_template2.xml
: Creates a category with attributes
add_subcategory_template.xml
: Creates a subcategory
The workspaces
directory also contains the XSD file category.xsd
that defines the structure of workspace templates.
Access Control Entity, grants or restricts the access type specified by the grantAccessType and denyAccessType elements, respectively.
Table 1-44 Elements of ace
Element Name | Min. | Max. | Description |
---|---|---|---|
grantAccessType |
1 |
1 |
Enumerated type, grants one of the following access types:
|
denyAccessType |
1 |
1 |
Same as grantAccessType, except denies one of the five access types |
0 |
unbounded |
Specifies for whom the ACE applies (such as a user, or members of a specified group).
One, and only one, of the elements in the following table must appear:
Table 1-47 Elements of address
Element Name | Min. | Max. | Description |
---|---|---|---|
uri |
1 |
1 |
String |
0 |
1 |
Enumerated value |
|
defaultForScheme |
0 |
1 |
Boolean |
defaultForType |
0 |
1 |
Boolean |
primary |
0 |
1 |
Boolean |
Table 1-48 Elements of addressBook
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
0 |
unbounded |
||
subAddressBook |
0 |
unbounded |
|
0 |
unbounded |
In Oracle Beehive Release 1, you cannot specify workspace contact with workspace templates.
Table 1-52 Elements of body (personalWorkspaceTemplate)
Table 1-53 Elements of body (teamWorkspaceTemplate)
In Oracle Beehive Release 1, you cannot specify time zone and available hours with workspace templates.
Table 1-54 Elements of calendar
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
defaultPriority |
0 |
1 |
|
inheritTimeZoneFromOwner |
0 |
1 |
|
allowDoubleBooking |
0 |
unbounded |
Boolean |
includeInFreeBusy |
0 |
1 |
Boolean |
deriveAvailableHoursFromOwnerWorkingHours |
0 |
1 |
Boolean |
enrollmentType |
0 |
1 |
Enumerated value, may be either PUBLC or PRIVATE. |
0 |
unbounded |
||
0 |
unbounded |
||
0 |
unbounded |
Table 1-55 Elements of occurrence
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
0 |
1 |
||
0 |
1 |
||
startTime |
0 |
unbounded |
Boolean |
endTime |
0 |
1 |
Boolean |
occurenceType |
0 |
1 |
Enumerated value, either DAY_EVENT, HOLIDAY, or MEETING |
dialInInfo |
0 |
1 |
String |
organizer |
0 |
1 |
|
participant |
0 |
unbounded |
|
0 |
unbounded |
In Oracle Beehive Release 1, you cannot specify time zone and available hours with workspace templates.
Table 1-56 Elements of occurrenceSeries
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
priority |
0 |
1 |
|
location |
0 |
1 |
|
occurrenceType |
0 |
unbounded |
Enumerated value, either DAY_EVENT, HOLIDAY, or MEETING |
dialInInfo |
0 |
1 |
String |
updateMode |
0 |
1 |
Enumerated value, one of the following
|
frequency |
1 |
1 |
Contains one element with the following structure: <enumeratedFrequency> <startEndTime> <startTime/> <endTime/> </startEndTime> </enumeratedFrequency> The enumeratedFrequency element must contain one to any number of startEndTime elements. The startEndTime element must contain one startTime and one endTime element. The elements startTime and endTime are of type Promptable Template Time (type). |
duration |
1 |
1 |
Must have one of the following elements:
May contain one of the following attributes:
|
organizer |
0 |
unbounded |
|
participant |
0 |
unbounded |
|
0 |
unbounded |
Specifies entities that should be available in the ancestor scopes of the workspace. If no matching entity is available for any specified entity at the time of workspace creation, a new entity will be created in the parent scope, provided the current user has the required privileges.
Table 1-61 Elements of expression
Element Name | Min. | Max. | Description |
---|---|---|---|
leftOperand |
1 |
1 |
Contains one element named value. The value element may be a constant (a numerical value), a template variable or another expression. Refer to "Template Variables". |
operator |
1 |
1 |
PLUS, MINUS, or PRODUCT. |
rightOperand |
1 |
1 |
Contains one element named value. The value element may be a constant (a numerical value) a template variable, or another expression. Refer to "Template Variables". |
Also represents defaultEmailInbox, defaultNotificationList, and defaultSubscriptionList.
Table 1-63 Elements of folder
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
0 |
1 |
||
0 |
1 |
||
0 |
unbounded |
Table 1-64 Elements of versionControlConfiguration
Element Name | Min. | Max. | Description |
---|---|---|---|
versionControlModel |
1 |
1 |
String |
maxVersionsToKeep |
0 |
1 |
Unsigned integer |
autoLabel |
0 |
1 |
Boolean |
labelFormat |
0 |
1 |
Enumerated type, one of the following values:
|
isFinal |
0 |
1 |
Boolean |
Table 1-65 Elements of forum
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
incrementViewCount |
0 |
1 |
Boolean |
subForum |
0 |
unbounded |
Same as forum |
0 |
unbounded |
||
0 |
unbounded |
||
0 |
unbounded |
The attributes prompt and promptMessage can be used for providing hints to GUI tools for template exploration. In Oracle Beehive Release 1, these attributes have no other semantic effect.
Table 1-80 Elements of role
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
0 |
unbounded |
Enumerated type |
|
grantAccessType |
0 |
unbounded |
Enumerated type, one of the following:
|
denyAccessType |
0 |
unbounded |
Same as grantAccessType |
Enumerated value, one of the following
ARCHIVE_MGR
AUDIT_ADMIN
AUDITOR
BYPASS
CALENDAR_MGR
CALENDAR_USER
CONF_MGR
CONF_USER
DIAGNOSE
DM_MGR
EMAIL_MGR
EMAIL_USER
EXCEED_QUOTA
FORUM_MGR
FORUM_USER
IM_MGR
IM_USER
LOGIN
MARKER_MGR
MODIFY_ACL
NOTIFICATION_MGR
NOTIFICATION_USER
ORGANIZATION_MGR
POLICY_MGR
PROTOCOL_USER
QUOTA_MGR
READALL
RESOURCE_MGR
ROLE_MGR
SECURITY
SUBSCRIPTION_MGR
SUBSCRIPTION_USER
SYSTEM_OPER
TASK_MGR
TASK_USER
TIMEZONE_MGR
USER_MGR
VERSION_MGR
VOICE_USER
WORKFLOW_MGR
WORKFLOW_TASK_MGR
WORKSPACE_ADD
WORKSPACE_MGR
Also represents the publicSummary element.
Table 1-82 Elements of summary
Element Name | Min. | Max. | Description |
---|---|---|---|
uri |
0 |
1 |
String, either this element or inlineSummary must exist. Use this element for template variables. |
inlineSummary |
0 |
1 |
Either this element or uri must exist |
Table 1-85 Elements of templateAttributes
Element Name | Min. | Max. | Description |
---|---|---|---|
author |
1 |
1 |
String, this could be different than the creator attribute of the template entity if, for example, the template is created by a third-party vendor |
authorCreationTime |
1 |
1 |
String, this could be different than the createdOn attribute of the template entity if, for example, the template is created by a third-party vendor |
contactInfo |
0 |
1 |
String, more specifically, how to contact the vendor who created this template |
copyrightInfo |
0 |
1 |
String |
description |
1 |
1 |
String |
name |
1 |
1 |
String |
templateId |
1 |
1 |
String |
domain |
0 |
1 |
String |
Table 1-86 Elements of templateVariable
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String, name of the user defined template variable |
type |
0 |
1 |
String |
description |
0 |
1 |
String, value assigned to the user defined template variable |
defaultValue |
0 |
1 |
String, integer, or dateTime This value is assigned to the user defined template variable unless the user explicitly chooses a different value at the time of template instantiation. Note: defaultValue is not honored in Oracle Beehive Release 1. |
Refer to "Expressions" for more information.
Table 1-87 Elements of templateVariable
Element Name | Min. | Max. | Description |
---|---|---|---|
templateVariableRef |
1 |
1 |
String, name of the user defined template variable |
operator |
1 |
1 |
One of PLUS or MINUS. |
offset |
1 |
1 |
A constant (a numerical value) or an value of type expression. You may optionally specify the attribute timeUnit. It may have the value HOUR, MINUTE, SECOND, or MILLISECOND. The default value is MILLISECOND. |
In Oracle Beehive Release 1, you cannot specify time zone with workspace templates.
Table 1-88 Elements of taskList
Element Name | Min. | Max. | Description |
---|---|---|---|
name |
1 |
1 |
String |
description |
0 |
1 |
String |
defaultPriority |
0 |
1 |
|
inheritTimeZoneFromOwner |
0 |
1 |
Boolean |
0 |
unbounded |
||
0 |
1 |
In Oracle Beehive Release 1, you cannot specify iCalPriority, status, url, or iCalUid with workspace templates.