Skip Headers
Oracle® Beehive Administrator's Reference Guide
Release 1 (1.4)

Part Number E13798-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 Oracle Beehive XML File Reference

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.

Audit Templates

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.

Sample Audit Templates

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.

AuditPolicyInfo

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 beectl modify_audit_policy command.

actor

0

unbounded

Complex type that contains two attributes:

  • add: Boolean, if false, and the XML template is used to update an existing audit policy, then this actor/group will be removed from the filter list.

  • id: String

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.


AuditTrailInfo

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


AuditTemplateInfo

Root element of audit policy templates.

Table 1-3 AuditTemplateInfo Elements

Element Name Min. Max. Description

createdOn

1

1

DateTime

name

1

1

String

description

1

1

String

event

1

unbounded

String


Category Templates

With category templates, you may perform the following tasks:

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>

Sample Category Templates

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.

CategoryDefinition

Root element of category templates.

Table 1-4 Elements of CategoryDefinition

Element Name Min. Max. Description

categoryCEN

0

1

CEN (type)

name

1

1

String

description

0

1

String

ownerCEN

0

1

CEN (type)

parentCEN

0

1

CEN (type)

subcategoryCEN

0

unbounded

CEN (type)

visibility

0

1

Either a value of V (the category is visible) or N (the category is not visible).

abstract

0

1

Boolean, either a value of T (true) or F (false)

creatorCEN

0

1

CEN (type)

modifiedByCEN

0

1

CEN (type)

defaultTemplate

0

1

CatTemplate (type)

attributes

0

1

Contains zero to any amount of elements named attribute of type AttributeDefinition (type)

deletedAttributes

0

1

Contains zero to any amount of elements named cens of type CEN (type).


CEN (type)

Represents the collaboration entity name, which uniquely identifies an entity in the system.

Table 1-5 Elements of CEN (type)

Element Name Min. Max. Description

enterpriseId

0

1

String

siteId

0

1

String

objectType

0

1

String

eid

0

1

String


CatTemplate (type)

Table 1-6 Elements of CatTemplate (type)

Element Name Min. Max. Description

categoryTemplateCEN

0

1

CEN (type)

categoryCEN

1

1

CEN (type)

copyOnVersion

0

1

Boolean, either a value of T (true) or F (false)

mandatory

0

1

Boolean, either a value of T (true) or F (false)

finalInd

0

1

Boolean, either a value of T (true) or F (false)

isMissing

0

1

Boolean, either a value of T (true) or F (false)

attributeTemplates

0

1

Contains zero to any number of elements named attributeTemplate of type AttributeTemplate (type)

deletedAttrTemplates

0

1

Contains zero to any amount of elements named cens of type CEN (type).


AttributeDefinition (type)

Table 1-7 Elements of AttributeDefinition (type)

Element Name Min. Max. Description

attributeDefCEN

0

1

CEN (type)

name

1

1

String

description

0

1

String

propertyType

1

1

String, one of INTEGER, STRING, DATE, CHAR, BOOLEAN, FLOAT, DOUBLE, LONG, BYTE, TIME, RAW, or DATETIME

searchable

0

1

Boolean, either a value of T (true) or F (false)

minValue

0

1

String

minValueInc

0

1

Boolean, either a value of T (true) or F (false)

maxValue

0

1

String

maxValueInc

0

1

Boolean, either a value of T (true) or F (false)

allowedValues

0

1

Contains zero to any number of elements named allowedVal of string type.

defaultValue

0

1

String


AttributeTemplate (type)

Table 1-8 Elements of AttributeTemplate (type)

Element Name Min. Max. Description

attributeTempCEN

0

1

CEN (type)

attributeDef

1

1

AttributeDefinition (type)

mandatory

0

1

Boolean, either a value of T (true) or F (false)

prompted

1

1

Boolean, either a value of T (true) or F (false)

finalized

0

1

Boolean, either a value of T (true) or F (false)

forceDefault

0

1

Boolean, either a value of T (true) or F (false)

minValue

0

1

String

minValueInc

0

1

Boolean, either a value of T (true) or F (false)

maxValue

0

1

String

maxValueInc

0

1

Boolean, either a value of T (true) or F (false)

allowedValues

0

1

Contains zero to any number of elements named allowedVal of string type.

defaultValue

   

String


Group Templates

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>

groups

Table 1-9 Elements of groups

Element Name Min. Max. Description

group

1

unbounded

 

Table 1-10 Attributes of groups

Attribute Name Description

directoryid

String


group

Table 1-11 Elements of group

Element Name Min. Max. Description

name

0

1

String

description

0

1

String

scope

0

1

Contains zero to any number of cen elements. The cen element contains a collabID (no other child elements).

ismembershipgroup

0

1

String

guid

0

1

String

query

0

1

 

members

0

1

 

addresses

0

1

 

properties

0

1

 

preferenceprofiles

0

1

 

memberships

0

1

 

Table 1-12 Attributes of group

Attribute Name Description

cen

String, collabID of the group, This is required if you are modifying the group.

type

Required attribute, enumerated type, one of the following:

  • grup

  • dgrp


query

Table 1-13 Elements of query

Element Name Min. Max. Description

operator

0

1

 

operator

Table 1-14 Elements of operator

Element Name Min. Max. Description

operator

0

1

 

operator

0

1

 

predicate

0

1

 

predicate

0

1

 

Table 1-15 Attributes of operator

Attribute Name Description

type

Required attribute, enumerated value, one of NONE, AND, or OR


predicate

Table 1-16 Elements of predicate

Element Name Min. Max. Description

attribute

1

1

 

address

1

1

 

property

1

1

 

attribute

Table 1-17 Elements of attribute

Element Name Min. Max. Description

name

1

1

Enumerated value, one of the following:

  • BUSINESS_1

  • BUSINESS_2

  • BUSINESS_3

  • BUSINESS_4

  • BUSINESS_5

  • OTHER_1

  • OTHER_2

  • OTHER_3

  • OTHER_4

  • OTHER_5

  • PERSONAL_1

  • PERSONAL_2

  • PERSONAL_3

  • PERSONAL_4

  • PERSONAL_5

value

1

1

String


address

Table 1-18 Elements of address

Element Name Min. Max. Description

uri

1

1

anyURI

type

1

1

Enumerated value, one of the following:

  • ASSISTANT

  • BUSINESS

  • NONE

  • PERSONAL

  • SPOUSE


property

Table 1-19 Elements of property

Element Name Min. Max. Description

name

1

1

 

value

1

1

attribute predicate value (type)


members

Table 1-20 Elements of members

Element Name Min. Max. Description

add

0

1

operation (type)

remove

0

1

operation (type)

removeincluded

0

1

 

removeexcluded

0

1

 

operation (type)

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-22 Attributes of operation (type)

Attribute Name Description

type

Enumerated type, either NONE, AND, or OR.


removeincluded

Table 1-23 Elements of removeincluded

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


removeexcluded

Table 1-24 Elements of removeexcluded

Element Name Min. Max. Description

actor

0

1

Contains zero to any number of item elements


addresses

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


item (child element of addresses)

Table 1-26 Elements of item (child element of addresses)

Element Name Min. Max. Description

address

0

1

anyURI

addressType

0

1

Enumerated value, one of the following:

  • ASSISTANT

  • BUSINESS

  • NONE

  • PERSONAL

  • SPOUSE


properties

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


item (child element of properties)

Table 1-28 Elements of item (child element of properties)

Element Name Min. Max. Description

name

0

1

String

value

0

1

String

description

0

1

String


preferenceprofiles

Table 1-29 Elements of preferenceprofiles

Element Name Min. Max. Description

add

0

1

Contains zero to any number of item elements

remove

0

1

Contains zero to any number of item elements

active

0

1

Contains zero to any number of item elements


memberships

Table 1-30 Elements of memberships

Element Name Min. Max. Description

add

0

1

Contains zero to any number of item elements

remove

0

1

Contains zero to any number of item elements


item

Table 1-31 Elements of item

Element Name Min. Max. Description

cen

0

1

String


Policy Definitions

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:

If any of these criteria are true, then the password is rejected.

Example 1-3 Password Policy

<?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>&lt;</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>

Sample Policy Definitions

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.

PolicyInfo

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

attributes

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


attributes

Table 1-33 Elements of attributes

Element Name Min. Max. Description

attributeDefId

1

1

String

name

1

1

String

value

1

1

String


RuleInfo

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

Element Name Min. Max. Description

name

1

1

String

description

1

1

String

eventTypeName

1

1

String, name of an Oracle Beehive event

ruleId

1

1

String

toRemove

1

1

Boolean, if true, the rule specified by ruleId will be removed from the policy

templateRuleId

1

1

String

ConditionInfo

1

1

Defines the conditions that must be true in order to activate the actions(s) specifies in ActionInfo

ActionInfo

1

unbounded

Defines the action(s) this rule will activate.


Table 1-35 Attributes of RuleInfo

Attribute Name Description

priority

Integer, specifies the order in which rules are evaluated. A rule with a lower priority will be evaluated before one with a higher priority.


ConditionInfo

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

Simple


logical expression (type)

Represents the elements ConjunctionInfo and DisjunctionInfo. Contains two boolean expressions.

Table 1-37 Elements of logical expression (type)

Element Name Min. Max. Description

LeftBooleanExpression

1

1

boolean expression (type)

RightBooleanExpression

1

1

boolean expression (type)


boolean expression (type)

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.

Table 1-38 Elements of boolean expression (type)

Element Name Min. Max. Description

ConjunctionInfo

0

1

logical expression (type)

DisjunctionInfo

0

1

logical expression (type)

Simple

0

1

 

Simple

Defines a boolean expression that consists of two operands (the leftSide and rightSide elements) and an operator (the element operator).

Table 1-39 Elements of Simple

Element Name Min. Max. Description

leftSide

1

1

String

operator

1

1

One of the following operators:

  • = (equals)

  • != (not equal)

  • &lt; (less than)

  • > (greater than)

  • &lt;= (less than or equal to)

  • >= (greater than or equal to)

rightSide

1

1

String


ActionInfo

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-40 Elements of ActionInfo

Element Name Min. Max. Description

name

1

1

Name of the action to be performed if the expressions in ConditionInfo evaluate to true.


ActionPreferenceInfo

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 JXPATHS, then this element contains one or more JXPath. Refer to "Constructing JXPaths" for more information.


Constructing JXPaths

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:

  1. Convert the attribute name to lower case

  2. Capitalize the first letter of the attribute name. and the letter after each underscore

  3. Remove all underscores

  4. 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.

Workflow Templates

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>

Sample Workflow Templates

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.

WorkflowTemplateInfo

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:

  • SerialWorkflow: Allows an action to be approved when a number of responders have reviewed the request in order. If any responder rejects the request, the action will not be performed.

  • ParallelVoteWorkflow: Allows an action to be approved when a number of responders have reviewed the request in parallel.

    These workflows are cancelled when it is no longer mathematically possible for the workflow to be approved, and approved when it is no longer mathematically possible for the workflow to be rejected. For example, in a workflow with two responders and two required "yes" votes, if one user rejects the request, the request will immediately be cancelled.

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


attribute

Table 1-43 Elements of attribute

Element Name Min. Max. Description

name

1

1

String

defaultValue

1

1

String

prompted

1

1

Boolean

required

1

1

Boolean


Attributes for SerialWorkflow

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.

Attributes for ParallelVoteWorkflow

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 form PxDyH, 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

Workspace templates populate new workspaces with a specified folder hierarchy and set up workspace properties. Oracle Beehive comes with four workspace templates:

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>
            &lt;title&gt; Workspace Summary for Members &lt;/title&gt;
            &lt;b&gt; ${sys.workspace.name} &lt;/b&gt;
            &lt;p&gt;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. &lt;/p&gt;
          </body>
      </inlineSummary>
    </summary>
 
    <publicSummary>
       <inlineSummary>
          <fileName>publicSummary.html</fileName>
          <mediaType>text/html</mediaType>
          <body> &lt;title&gt; Workspace Public Summary &lt;/title&gt;
               &lt;b&gt; ${sys.workspace.name} &lt;/b&gt;
               &lt;p&gt; 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. &lt;/p&gt;
          </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>
          &lt;title&gt;Personal Summary&lt;/title&gt;
          &lt;b&gt; Your Name Here &lt;/b&gt;
          &lt;p&gt; 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. &lt;/p&gt;
          &lt;p&gt; NOTE: You must apply Public sensitivity to this document in
          order for it to be viewed by other members of your company. &lt;/p&gt;
        </body>
       </inlineSummary>
    </summary>
 
  </body>
 
</personalWorkspaceTemplate>

Template Variables

You may specify parametric information with two kinds of template variables: system defined and user defined.

System Defined Template Variable

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

User Defined Template Variable

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

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>

Sample Workspace Templates

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.

ace

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:

  • READ: Permission to open or read the object

  • WRITE: Permission to add, alter, or make changes to the object. Note that version control preserves previous versions, so WRITE access does not itself provide DELETE access.

  • DELETE: Permission to delete the object

  • EXECUTE: Permission to invoke or assign the object or cause it to perform its function

  • DISCOVER: Permission to see the object in lists, look it up in directories, find it in searches, and so forth. When DISCOVER privileges are revoked, a user cannot detect the existence of that object using any Oracle Beehive client process

denyAccessType

1

1

Same as grantAccessType, except denies one of the five access types

accessor

0

unbounded

 

accessor

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-45 Elements of accessor

Element Name Min. Max. Description

systemDefinedGroupName

0

1

Enumerated type, ALL_USERS

cen

0

1

String, reference to an existing accessor

subgroupTemplateBodyId

0

1

IDREF, ID of a template defined in the template itself


Table 1-46 Attributes of accessor

Attribute Name Description

type

Enumerated value, one of the following:

  • GROUP

  • USER


address

Table 1-47 Elements of address

Element Name Min. Max. Description

uri

1

1

String

type

0

1

Enumerated value

defaultForScheme

0

1

Boolean

defaultForType

0

1

Boolean

primary

0

1

Boolean


type

Enumerated value, one of the following:

  • BUSINESS_1

  • BUSINESS_2

  • BUSINESS_3

  • BUSINESS_4

  • BUSINESS_5

  • OTHER_1

  • OTHER_2

  • OTHER_3

  • OTHER_4

  • OTHER_5

  • PERSONAL_1

  • PERSONAL_2

  • PERSONAL_3

  • PERSONAL_4

  • PERSONAL_5

addressBook

Table 1-48 Elements of addressBook

Element Name Min. Max. Description

name

1

1

String

description

0

1

String

personContact

0

unbounded

 

subAddressBook

0

unbounded

addressBook

ace

0

unbounded

 

personContact

Table 1-49 Elements of personContact

Element Name Min. Max. Description

givenName

1

1

String

middleName

0

1

String

familyName

0

1

String

nickname

0

1

String

profession

0

1

String

company

0

1

String

peopleListEntry

0

1

Boolean

priority

0

1

 

address

0

unbounded

 

ace

0

unbounded

 

attributes (body of personalWorkspace)

Table 1-50 Elements of attributes (body of personalWorkspace)

Element Name Min. Max. Description

name

1

1

Promptable Non-Empty String (type)

description

0

1

String


attributes (body of teamWorkspace)

In Oracle Beehive Release 1, you cannot specify workspace contact with workspace templates.

Table 1-51 Elements of attributes (body of teamWorkspace)

Element Name Min. Max. Description

name

1

1

Promptable Non-Empty String (type)

description

0

1

String

publiclyListed

0

1

Boolean

participationMode

   

Enumerated value, either INVITE_ONLY or OPEN


body (personalWorkspaceTemplate)

Table 1-52 Elements of body (personalWorkspaceTemplate)

Element Name Min. Max. Description

publicSensitivityTemplateBodyId

0

1

IDREF, ID of a public sensitivity template defined in the workspace template

defaultSensitivityTemplateBodyId

0

1

IDREF, ID of a sensitivity template defined in the workspace template

attributes

0

1

attributes (body of personalWorkspace)

sensitivity

0

unbounded

 

defaultAddressBook

0

1

addressBook

defaultCalendar

0

1

calendar

defaultEmailInbox

0

1

folder

defaultNotificationList

0

1

folder

defaultTaskList

0

1

taskList

defaultSubscriptionList

0

1

folder

entities

0

1

 

summary

0

1

 

ace

0

unbounded

 

body (teamWorkspaceTemplate)

Table 1-53 Elements of body (teamWorkspaceTemplate)

Element Name Min. Max. Description

publicSensitivityTemplateBodyId

0

1

IDREF, ID of a public sensitivity template defined in the workspace template

defaultSensitivityTemplateBodyId

0

1

IDREF, ID of a sensitivity template defined in the workspace template

defaultRoleTemplateBodyId

0

1

IDREF

attributes

0

1

attributes (body of teamWorkspace)

address

0

unbounded

 

role

0

unbounded

 

sensitivity

0

unbounded

 

group

0

unbounded

 

participant

0

unbounded

 

defaultAnnouncementsForum

0

1

forum

defaultAddressBook

0

1

addressBook

defaultCalendar

0

1

calendar

defaultInbox

0

1

folder

defaultTaskList

0

1

taskList

entities

0

1

 

summary

0

1

 

publicSummary

0

1

summary

ace

0

unbounded

 

calendar

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

priority

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.

occurrence

0

unbounded

 

occurrenceSeries

0

unbounded

 

ace

0

unbounded

 

occurrence

Table 1-55 Elements of occurrence

Element Name Min. Max. Description

name

1

1

String

description

0

1

String

priority

0

1

 

location

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

accessor

participant

0

unbounded

accessor

ace

0

unbounded

 

occurrenceSeries

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

  • SERIES_AND_ALL_OCCURRENCES

  • SERIES_AND_NON_DIRECTLY_MODIFIED_EXCEPTIONS

  • SERIES_ONLY

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:

  • templateVariableRef: String

  • length: Integer

May contain one of the following attributes:

  • prompt: Boolean

  • promptMessage: String

organizer

0

unbounded

accessor

participant

0

unbounded

accessor

ace

0

unbounded

 

contentLocation

Table 1-57 Elements of contentLocation

Element Name Min. Max. Description

contentID

1

1

String

location

1

1

String


entities

Table 1-58 Elements of entities

Element Name Min. Max. Description

folder

0

unbounded

 

calendar

0

unbounded

 

taskList

0

unbounded

 

forum

0

unbounded

 

file

0

unbounded

 

environment

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-59 Elements of environment

Element Name Min. Max. Description

label

0

unbounded

 

label

Table 1-60 Elements of label

Element Name Min. Max. Description

name

1

1

String

description

1

1

String


expression

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".


file

Table 1-62 Elements of file

Element Name Min. Max. Description

name

1

1

String

description

0

1

String

content

0

1

Contains one element, contentID, a string.

The element contentID is a reference to content ID in contentID-file-path map defined at the beginning of the template.

ace

0

unbounded

 

folder

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

versionControlConfiguration

0

1

 

entities

0

1

 

ace

0

unbounded

 

versionControlConfiguration

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:

  • DECIMAL_FORMAT

  • INTEGER_FORMAT

  • LOWER_CASE_FORMAT

  • ROMAN_NUMERAL_FORMAT

  • UPPERCASE_FORMAT

isFinal

0

1

Boolean


forum

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

topic

0

unbounded

 

announcement

0

unbounded

 

ace

0

unbounded

 

topic

Table 1-66 Elements of topic

Element Name Min. Max. Description

subject

1

1

String

messageBody

1

1

String

ace

0

unbounded

 

announcement

Table 1-67 Elements of announcement

Element Name Min. Max. Description

subject

1

1

String

messageBody

0

1

String

activatesOn

0

1

Promptable Template Time (type)

expiresOn

0

1

Promptable Template Time (type)

ace

0

unbounded

 

messageBody

Table 1-68 Elements of messageBody

Element Name Min. Max. Description

mediaType

1

1

String

body

1

1

String


group

Table 1-69 Elements of group

Element Name Min. Max. Description

name

1

1

String

description

1

1

String


label

Table 1-70 Elements of label

Element Name Min. Max. Description

name

1

1

String

description

1

1

String


location

Table 1-71 Elements of location

Element Name Min. Max. Description

name

1

1

String

description

0

1

String


participant

Table 1-72 Elements of participant

Element Name Min. Max. Description

identity

1

1

 

role

0

unbounded

 

identity

Table 1-73 Elements of identity

Element Name Min. Max. Description

systemDefinedGroupName

0

1

Either this element or cen must appear

Enumerated value: ALL_USERS

cen

0

1

String, either this element or systemDefined GroupName must appear


Table 1-74 Attributes of identity

Attribute Name Description

type

Required attribute, enumerated value, may have a value of GROUP or USER.


role

Table 1-75 Elements of role

Element Name Min. Max. Description

cen

1

1

String, reference to an existing role

entityTemplateBodyId

1

1

IDREF, reference to a role ID specified in the template itself


personalWorkspaceTemplate

Table 1-76 Elements of personalWorkspaceTemplate

Element Name Min. Max. Description

templateAttributes

1

1

 

contentLocation

0

unbounded

 

templateVariable

0

unbounded

 

environment

0

1

 

body

1

1

body (personalWorkspaceTemplate)


priority

Enumerated value, one of the following:

  • HIGH

  • MEDIUM

  • LOW

  • NONE

Promptable Non-Empty String (type)

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-77 Elements of Promptable Non-Empty String (type)

Attribute Name Description

prompt

Boolean, optional.

promptMessage

String, optional


Promptable Template Time (type)

Table 1-78 Elements of Promptable Template Time (type)

Element Name Min. Max. Description

templateVariableRef

0

1

String, either this element or offset may appear

offset

0

1

Integer, offset in milliseconds with respect to entity creation time

Either this element or templateVariableRef may appear


Table 1-79 Attributes of Promptable Template Time (type)

Attribute Name Description

prompt

Boolean, optional

promptMessage

String, optional


role

Table 1-80 Elements of role

Element Name Min. Max. Description

name

1

1

String

description

0

1

String

grantPrivilege

0

unbounded

Enumerated type

grantAccessType

0

unbounded

Enumerated type, one of the following:

  • READ

  • WRITE

  • DELETE

  • EXECUTE

  • DISCOVER

denyAccessType

0

unbounded

Same as grantAccessType


grantPrivilege

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

sensitivity

Table 1-81 Elements of sensitivity

Element Name Min. Max. Description

name

1

1

String

description

1

1

String

sensitivityOnly

1

1

Boolean

delegatable

1

1

Boolean

ace

0

unbounded

 

summary

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


inlineSummary

Table 1-83 Elements of inlineSummary

Element Name Min. Max. Description

filename

1

1

String

mediaType

1

1

String

body

1

1

String


teamWorkspaceTemplate

Table 1-84 Elements of teamWorkspaceTemplate

Element Name Min. Max. Description

templateAttributes

1

1

 

contentLocation

0

unbounded

 

templateVariable

0

unbounded

 

body

1

1

body (teamWorkspaceTemplate)


templateAttributes

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


templateVariable

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.


temporalExpression

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.


taskList

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

priority

inheritTimeZoneFromOwner

0

1

Boolean

todo

0

unbounded

todo

ace

0

1

 

todo

In Oracle Beehive Release 1, you cannot specify iCalPriority, status, url, or iCalUid with workspace templates.

Table 1-89 Elements of todo

Element Name Min. Max. Description

name

1

1

String

description

0

1

String

priority

0

1

 

location

0

1

 

startTime

0

unbounded

Promptable Template Time (type) or temporalExpression

dueTime

0

1

Promptable Template Time (type) or temporalExpression

organizer

0

1

accessor

participant

0

unbounded

accessor

ace

0

unbounded