Review template schema
The review template schema provides the core functionality
for the Review, Commenting, and Approval building block. When a
review is initiate, the review template, based on the review template
schema is passed to the building block services.
Review template schema definition
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* ADOBE SYSTEMS INCORPORATED
* Copyright 2010 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the
* terms of the Adobe license agreement accompanying it. If you have received this file from a
* source other than Adobe, then your use, modification, or distribution of it requires the prior
* written permission of Adobe.
*/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://adobe.com/solutions/rca/reviewcontext" targetNamespace="http://adobe.com/solutions/rca/reviewcontext" elementFormDefault="qualified">
<xs:element name="review_context">
<xs:complexType>
<xs:sequence>
<xs:element name="initiator" type="RCAUserType"/>
<xs:element name="review_id" type="xs:string" minOccurs="0"/> <!-- System generated R&A process ID -->
<xs:element name="revision" type="xs:int" minOccurs="0"/> <!-- Revision of this R&A. Starts with 1 -->
<xs:element name="change_description" type="xs:string" minOccurs="0"/> <!-- The change description text, used when a review is revised -->
<xs:element name="title" type="xs:string"/> <!-- User supplied R&A title -->
<xs:element name="purpose" type="xs:string" minOccurs="0"/> <!-- User supplied R&A purpose -->
<xs:element name="status" default="ONGOING" minOccurs="0"> <!-- R&A (Review and Approval) process Status -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ONGOING"/>
<xs:enumeration value="COMPLETED"/>
<xs:enumeration value="EXPIRED"/>
<xs:enumeration value="REVOKED"/>
<xs:enumeration value="REVISED"/> <!-- If a new/updated document is submitted in a ongoing process, a new revision of the process is initiated and
the status of old process is set to REVISED -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="type" default="REGULATED_REVIEW" minOccurs="0"> <!-- For future use -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="REGULATED_REVIEW"/>
<xs:enumeration value="AD_HOC_REVIEW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="template_name" type="xs:string"/> <!-- Name of the template used to initate a R&A process -->
<xs:element name="template_desc" type="xs:string" minOccurs="0"/>
<xs:element name="template_is_active" type="xs:boolean" minOccurs="0" default="true"/> <!-- If false, this template can't be used to initate Review -->
<xs:element name="template_author" type="xs:string" minOccurs="0"/> <!-- Template's Author -->
<xs:element name="compliance_code" type="xs:string" minOccurs="0"/> <!-- A regulated review is associated with a legislative requirement. This
field contains the value representing the legislation that this review complies with. -->
<xs:element name="audit_level" type="xs:string" minOccurs="0"/> <!-- For future use in Auditing service -->
<xs:element name="current_stage" type="xs:int" minOccurs="0"/> <!-- This property is populated by the system. Current stage of the R&A process. Starts with 1. -->
<xs:element name="comment_server_path" type="xs:string" minOccurs="0"/> <!-- This property is populated by the system -->
<xs:element name="comment_visibility" minOccurs="0" default="ONLY_INTRA_STAGE"> <!-- Acrobat's inline Comment Visibility acorss Stages -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="INTER_STAGE"/> <!-- Comments are shared across multiple stages -->
<xs:enumeration value="ONLY_INTRA_STAGE"/> <!-- Comments of two stages are hidden from each other -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- If this flag is set to true, then RCA process goes through uninterruptedly. This field is not exposed in UI yet. -->
<xs:element name="straight_through_processing" type="xs:boolean" default="true" minOccurs="0"/>
<xs:element name="rts_process_name" type="xs:string" minOccurs="0"/> <!-- Name of the process used to generate Review Tracking Sheet -->
<xs:element name="ars_process_name" type="xs:string" minOccurs="0"/> <!-- Name of the process used to generate Approval Routing Sheet -->
<xs:element name="stages"> <!-- Stages contain 1 or more stages in a R&A process -->
<xs:complexType>
<xs:sequence>
<xs:element name="stage" type="stageType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="supporting_documents" minOccurs="0"> <!-- Supporting_documents is a list of documents for the reviewers' and approvers' reference -->
<xs:complexType>
<xs:sequence>
<xs:element name="document" type="documentType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="custom_attributes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="additional_metadata" type="xs:string" minOccurs="0"/> <!-- Any application specific data can be preserved in this tag -->
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="stageType">
<xs:sequence>
<xs:element name="start_date" type="xs:string" minOccurs="0"/> <!-- System populated start date of the stage -->
<xs:element name="end_date" type="xs:string" minOccurs="0"/> <!-- System populated end date of the stage -->
<xs:element name="status" minOccurs="0" default="PENDING"> <!-- Status of the stage -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PENDING"/> <!-- PENDING means that stage is yet to start -->
<xs:enumeration value="ONGOING"/> <!-- ONGOING means that stage has started but yet to finish -->
<xs:enumeration value="COMPLETED"/> <!-- COMPLETED means that stage has finished -->
<xs:enumeration value="EXPIRED"/> <!-- EXPIRED means that stage has expired -->
<xs:enumeration value="REVISED"/> <!-- REVISED means that stage has been revised -->
<xs:enumeration value="REVOKED"/> <!-- means that review was revoked when the stage was in progress -->
<xs:enumeration value="APPROVED"/> <!-- means that all approvers in this approval stage APPROVED the document -->
<xs:enumeration value="REJECTED"/> <!-- means that at least one of the approvers in this approval stage REJECTED the document -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="pre_process_hook" type="xs:string" minOccurs="0"/> <!-- Name of the process to be triggered before the stage starts. -->
<xs:element name="post_process_hook" type="xs:string" minOccurs="0"/> <!-- Name of the process to be triggered before the stage ends. -->
<xs:element name="assign_task_to_initiator_process" type="xs:string" minOccurs="0"/> <!-- Name of the process to be invoked for assigning task to initiator. -->
<xs:element name="disposition" type="xs:string" minOccurs="0"/> <!-- System populated field, stored custom disposition for stage if any -->
<xs:choice minOccurs="0"> <!-- A stage has the choice of containing Reviewers OR Approvers -->
<xs:element name="reviewers">
<xs:complexType>
<xs:sequence>
<xs:element name="assign_task_to_reviewer_process" type="xs:string" minOccurs="0"/> <!-- Name of the process to be invoked for assigning task to reviewer. -->
<xs:element name="reviewer" type="reviewerType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="approvers">
<xs:complexType>
<xs:sequence>
<xs:element name="assign_task_to_approver_process" type="xs:string" minOccurs="0"/> <!-- Name of the process to be invoked for assigning task to approver -->
<xs:element name="approver" type="approverType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="signature_type" use="optional" default="NO_SIGNATURE"> <!-- What Digital signing mechanism to use. Applicable only to Approvers. -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SERVER_SIDE"/> <!-- The signature is applied by the system on behalf of the Approver. This requires the approver's
signature to be present in LC Trust Store -->
<xs:enumeration value="CLIENT_SIDE"/> <!-- The Approver will be expected to apply his/her signature before Approving/Rejecting the document -->
<xs:enumeration value="NO_SIGNATURE"/> <!-- No signing happens in this case -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="moderators" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="moderator" type="moderatorType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reminders" minOccurs="0"> <!-- This property configures the system to send reminders (email/fax/sms, depending on the Notification Service) to R&A
participants reminding them about the pending tasks (if any) before the stage expires. Reminders will only work if durationUnit is DAYS -->
<xs:complexType>
<xs:sequence>
<xs:element name="reminder" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="recipient" use="optional" default="ALL"> <!-- A reminder can be sent to Moderator(s) only, Initiator only, Remaining
Reviewers/Approvers only OR All of the above -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MODERATOR"/>
<xs:enumeration value="INITIATOR"/>
<xs:enumeration value="REMAINING_PARTICIPANTS"/>
<xs:enumeration value="ALL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="days_before_expiry" type="xs:int"/> <!-- Number of days before the stage expires -->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="additional_metadata" type="xs:string" minOccurs="0"/> <!-- Any application specific data can be preserved in this tag -->
</xs:sequence>
<xs:attribute name="type"> <!-- This property needs to be supplied at initate time defining the type of stage -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PARALLEL_REVIEW"/>
<xs:enumeration value="SEQUENTIAL_REVIEW"/>
<xs:enumeration value="PARALLEL_APPROVAL"/>
<xs:enumeration value="SEQUENTIAL_APPROVAL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="taskType" use="optional" default="WORKSPACE"> <!-- This property needs to be supplied at initate time defining the type of stage -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="WORKSPACE"/>
<xs:enumeration value="EMAIL_CONNECTED"/>
<xs:enumeration value="EMAIL_DISCONNECTED"/>
<xs:enumeration value="CUSTOM"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="wait_for_expiry" type="xs:boolean" use="optional" default="false"/> <!-- When this property is true, the Stage will not be marked
COMPLETED unless duration expires -->
<xs:attribute name="name" type="xs:string"/> <!-- Name of the stage -->
<xs:attribute name="duration" type="xs:int"/> <!-- This property needs to be supplied at initiate time defining the duration of the stage (in days). A stage is
considered EXPIRED if these many days have passed and still there are some pending Approvers/Mandatory Reviewers and this is an expiring stage-->
<xs:attribute name="duration_unit" use="optional" default="DAYS"> <!-- duration is specified as int and this property defines the units for duration. If duration is 70 and unit is MINUTES,
then actual duration will be 1 hour 10 minutes. Due to performance constraints, minimum supported duration is 10 minutes.
Any duration less than 10 minutes, will be automatically defaulted to 10 minutes-->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DAYS"/>
<xs:enumeration value="MINUTES"/>
<xs:enumeration value="HOURS"/>
<xs:enumeration value="BUSINESS_DAYS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="non_expiring_stage" type="xs:boolean" use="optional" default="false"/> <!-- If this is a non expiring stage, then stage will not be marked expired after stipulated duration -->
</xs:complexType>
<xs:complexType name="moderatorType">
<xs:complexContent>
<xs:extension base="RCAUserType">
<xs:attribute name="created_at" type="createdAtType" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="reviewerType">
<xs:complexContent>
<xs:extension base="RCAUserType">
<xs:sequence>
<xs:element name="status" minOccurs="0" default="PENDING">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PENDING"/> <!-- If the Reviewer hasn't taken any action -->
<xs:enumeration value="COMPLETED"/> <!-- If the Reviewer has Completed the Review -->
<xs:enumeration value="DECLINED"/> <!-- If the Reviewer has Declined the Review. -->
<xs:enumeration value="CHANGES_REQUIRED"/> <!-- If the Reviewer thinks there are some changes Required to the Document and this R&A process needs
to be Revised -->
<xs:enumeration value="TERMINATED"/> <!-- If the Task was terminated by system in case of revised, revoked for example -->
<xs:enumeration value="REMOVED"/> <!-- If the Reviewer is removed from an ongoing review -->
<xs:enumeration value="REJECTED"/> <!-- If the Reviewer has rejected a review. If a reviewer rejects a review, stage would terminate -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="reviewer_start_date" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="reviewer_end_date" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="no_of_comments" type="xs:int" minOccurs="0"/> <!-- System populated field -->
<xs:element name="final_comments" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="disposition" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="completed_by" type="RCAUserType" minOccurs="0"/> <!-- System populated field -->
<xs:element name="completed_from_ip" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="process_id" type="xs:string" minOccurs="0"/>
<xs:element name="additional_metadata" type="xs:string" minOccurs="0"/> <!-- Any application specific data can be preserved in this tag -->
</xs:sequence>
<xs:attribute name="isOptional" type="xs:boolean" use="optional" default="false"/> <!-- This property is set to true if the Reviewer is Optional -->
<xs:attribute name="created_at" type="createdAtType" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="createdAtType">
<xs:restriction base="xs:string">
<xs:enumeration value="TEMPLATE_CREATION"/>
<xs:enumeration value="INITIATION"/>
<xs:enumeration value="UPDATES"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="approverType">
<xs:complexContent>
<xs:extension base="RCAUserType">
<xs:sequence>
<xs:element name="status" minOccurs="0" default="PENDING">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="APPROVED"/> <!-- If the Approver has Approved the Document -->
<xs:enumeration value="REJECTED"/> <!-- If the Approver has Rejected the Document -->
<xs:enumeration value="PENDING"/> <!-- If the Approver hasn't taken any action -->
<xs:enumeration value="TERMINATED"/> <!-- If the Task was terminated by system in case of revised, revoked-->
<xs:enumeration value="REMOVED"/> <!-- If the Approver is removed from an ongoing review -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="approver_start_date" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="approver_end_date" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="final_comments" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="disposition" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="completed_by" type="RCAUserType" minOccurs="0"/> <!-- System populated field -->
<xs:element name="completed_from_ip" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="process_id" type="xs:string" minOccurs="0"/> <!-- System populated field -->
<xs:element name="additional_metadata" type="xs:string" minOccurs="0"/> <!-- Any application specific data can be preserved in this tag -->
</xs:sequence>
<xs:attribute name="created_at" type="createdAtType" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RCAUserType">
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="canonical_name" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="oid" type="xs:string" use="optional"/>
<xs:attribute name="email" type="xs:string" use="optional"/>
<xs:attribute name="isGroup" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="useGroupQueue" type="xs:boolean" use="optional" default="false"/>
<!-- If useGroupQueue is false then group will be expanded and all users in group will be assigned tasks individually -->
</xs:complexType>
<xs:complexType name="documentType">
<xs:all>
<xs:element name="uri" type="xs:string"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:all>
<xs:attribute name="type" default="DOCUMENT">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="REF"/>
<xs:enumeration value="DOCUMENT"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="content-type" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
|
|