diff --git a/404.html b/404.html index d17a4e1b9e..867108782e 100644 --- a/404.html +++ b/404.html @@ -7,15 +7,77 @@ - /assets/css/ - /assets/img/ - /assets/js/ +- /content-services/23.3/ +- /content-services/community/ +- /process-automation/latest/ +- /governance-services/23.3/ +- /governance-services/community/ --- -
-
- 404 not found -

Page not found

+
+
+
+ 404 not found +

Page not found

+ +

We couldn't find the page you were looking for. + +
The latest Alfresco documentation has moved to the Hyland Documentation Portal. Find your version below.

+ + See Latest Versions +
+
+
+
+ +
+
+
diff --git a/_config.yml b/_config.yml index 14dd0f77cd..8631d1a0a6 100644 --- a/_config.yml +++ b/_config.yml @@ -1,6 +1,6 @@ defaults: -# Alfresco Content Services +# Alfresco Content Services (ACS) - Migrated - scope: path: "content-services" values: @@ -26,6 +26,7 @@ defaults: values: version: 23.2 latest: true + migrated: true release: true - scope: path: "content-services/latest/tutorial" @@ -117,7 +118,7 @@ defaults: values: toc: "content-services-tutorial" -# Alfresco Digital Workspace +# Alfresco Digital Workspace (ADW) - Migrated - scope: path: "digital-workspace" values: @@ -151,6 +152,7 @@ defaults: values: version: 4.4 latest: true + migrated: true - scope: path: "digital-workspace/4.3" values: @@ -224,7 +226,7 @@ defaults: values: version: 1.5 - # Alfresco Mobile Workspace + # Alfresco Mobile Workspace (AMW) - scope: path: "mobile-workspace" values: @@ -599,7 +601,7 @@ defaults: values: version: 1.5 -# Alfresco Governance Services +# Alfresco Governance Services (AGS) - Migrated - scope: path: "governance-services" values: @@ -626,6 +628,7 @@ defaults: values: version: 23.2 latest: true + migrated: true - scope: path: "governance-services/latest/tutorial" values: @@ -720,7 +723,7 @@ defaults: values: toc: "governance-services-tutorial" -# Alfresco Process Services (APS) +# Alfresco Process Services (APS) - Migrated - scope: path: "process-services" values: @@ -744,6 +747,7 @@ defaults: values: version: 24.2 latest: true + migrated: true - scope: path: "process-services/2.4" values: @@ -777,7 +781,7 @@ defaults: values: version: 1.9 -# Alfresco Document Transformation Engine +# Alfresco Document Transformation Engine (DTE) - scope: path: "transformation-engine" values: @@ -920,7 +924,7 @@ defaults: values: version: 1.0 -# Alfresco Office Services +# Alfresco Office Services (AOS) - Migrated - scope: path: "microsoft-office" values: @@ -943,6 +947,7 @@ defaults: values: version: 3.0 latest: true + migrated: true - scope: path: "microsoft-office/2.0" values: @@ -972,7 +977,7 @@ defaults: values: version: 1.1 -# Alfresco Transform Service +# Alfresco Transform Service (ATS) - scope: path: "transform-service" values: @@ -1188,7 +1193,7 @@ defaults: version: 2.2 latest: true -# Alfresco Process Automation +# Alfresco Process Automation (APA) - Migrated - scope: path: "process-automation" values: @@ -1201,9 +1206,9 @@ defaults: values: version: 1.0 latest: true + migrated: true - -# Alfresco Federation Services +# Alfresco Federation Services (AFS) - scope: path: "federation-services" values: @@ -1245,7 +1250,7 @@ defaults: values: version: 1.0 -# Alfresco Search Enterprise +# Alfresco Search Enterprise - Migrated - scope: path: "search-enterprise" values: @@ -1265,6 +1270,7 @@ defaults: values: version: 4.0 latest: true + migrated: true - scope: path: "search-enterprise/3.3" values: @@ -1423,7 +1429,7 @@ defaults: values: version: 3.0 -# Alfresco Intelligence Services +# Alfresco Intelligence Services (AIS) - scope: path: "intelligence-services" values: @@ -1536,7 +1542,7 @@ defaults: values: version: 2.4 -# Alfresco Content Accelerator +# Alfresco Content Accelerator (ACA) - scope: path: "content-accelerator" values: @@ -1547,13 +1553,18 @@ defaults: support: true versions: - 4.0 + - 3.7 - 3.6 - 3.5 - scope: path: "content-accelerator/latest" values: version: 4.0 - latest: true + latest: true + - scope: + path: "content-accelerator/3.7" + values: + version: 3.7 - scope: path: "content-accelerator/3.6" values: @@ -1563,7 +1574,7 @@ defaults: values: version: 3.5 -# Alfresco Enterprise Viewer +# Alfresco Enterprise Viewer (AEV) - scope: path: "enterprise-viewer" values: diff --git a/_data/home.yaml b/_data/home.yaml index 3877124eab..af02079418 100644 --- a/_data/home.yaml +++ b/_data/home.yaml @@ -157,12 +157,3 @@ applications: text: "Alfresco Enterprise Viewer (AEV) provides high-speed and secure viewing of document, video and audio content with team collaborative annotation, redaction and other modern document capabilities for Alfresco Content Services." url: /enterprise-viewer/latest/ image: /assets/img/aev-logo.svg -# - title: "Process for iOS" -# text: "Alfresco Process Services for mobile allows you to start new processes and interact with related content #via the mobile app." -# url: -# image: /assets/img/logo_pm_72px.svg -# sub: -# - title: "iOS" -# url: -# - title: "Android" -# url: diff --git a/_data/toc/content-accelerator.yaml b/_data/toc/content-accelerator.yaml index 65bd3c0ad4..7596707540 100644 --- a/_data/toc/content-accelerator.yaml +++ b/_data/toc/content-accelerator.yaml @@ -62,6 +62,72 @@ - title: 'HR Tier-2 Solution' path: '/content-accelerator/latest/configure/hr-management/' +# Alfresco Content Accelerator 3.7 +- version: 3.7 + pages: + - title: 'Introduction' + path: '/content-accelerator/3.7/' + + - title: 'Install' + pages: + - title: 'Installation Requirements' + path: '/content-accelerator/3.7/install/installation-requirements/' + - title: 'Install Guide' + path: '/content-accelerator/3.7/install/install-guide/' + - title: 'Overriding Logging Defaults' + path: '/content-accelerator/3.7/install/logging/' + - title: 'Java 17 support' + path: '/content-accelerator/3.7/install/java-support/' + - title: 'Single Sign On Support' + path: '/content-accelerator/3./install/sso/' + - title: 'Upgrade' + path: '/content-accelerator/3.7/install/upgrading/' + + - title: 'Using' + pages: + - title: 'User Guide' + path: '/content-accelerator/3.7/using/user-guide/' + + - title: 'Develop' + pages: + - title: 'Extension Content Accelerator (Custom Amp)' + path: '/content-accelerator/3.7/develop/extension-content-accelerator/' + - title: 'Content Accelerator for Claims Management' + path: '/content-accelerator/3.7/develop/content-accelerator-for-claims-management/' + - title: 'Content Accelerator for Policy and Procedure Management' + path: '/content-accelerator/3.7/develop/content-accelerator-for-pnp-management/' + + - title: 'Configure' + pages: + - title: 'Admin Guide' + path: '/content-accelerator/3.7/configure/admin-guide/' + - title: 'Importing and Exporting ACA Configs' + path: '/content-accelerator/3.7/configure/config-archiver/' + - title: 'Action Configurations' + path: '/content-accelerator/3.7/configure/actions/' + - title: 'Other ACA Admin Configurations' + path: '/content-accelerator/3.7/configure/other-aca-admin-configs/' + - title: 'Notifications and Notes' + path: '/content-accelerator/3.7/configure/notifications-and-notes/' + - title: 'Integrations and Addons' + path: '/content-accelerator/3.7/configure/integrations-and-addons/' + - title: 'Limitations' + path: '/content-accelerator/3.7/configure/limitations/' + - title: 'OpenContent Property Overrides' + path: '/content-accelerator/3.7/configure/oc-property-overrides/' + - title: 'Alfresco Audit Configuration' + path: '/content-accelerator/3.7/configure/alfresco-audit-configuration/' + - title: 'Email Configuration' + path: '/content-accelerator/3.7/configure/email-configuration/' + - title: 'Autofile' + path: '/content-accelerator/3.7/configure/autofile/' + - title: 'Active Wizard' + path: '/content-accelerator/3.7/configure/activewizard/' + - title: 'Supported Languages' + path: '/content-accelerator/3.7/configure/supported-languages/' + - title: 'HR Tier-2 Solution' + path: '/content-accelerator/3.7/configure/hr-management/' + # Alfresco Content Accelerator 3.6 - version: 3.6 pages: diff --git a/_data/toc/enterprise-viewer.yaml b/_data/toc/enterprise-viewer.yaml index d7a84f27e1..1083263ce4 100644 --- a/_data/toc/enterprise-viewer.yaml +++ b/_data/toc/enterprise-viewer.yaml @@ -7,6 +7,8 @@ pages: - title: 'Overview' path: '/enterprise-viewer/latest/install/' + - title: 'Overriding Default Logging' + path: '/enterprise-viewer/latest/install/logging/' - title: 'Java 17 support' path: '/enterprise-viewer/latest/install/java-support/' - title: 'Install Alfresco Enterprise Viewer Transformer (optional)' diff --git a/_includes/migrated_banner.html b/_includes/migrated_banner.html new file mode 100644 index 0000000000..988cbe80d1 --- /dev/null +++ b/_includes/migrated_banner.html @@ -0,0 +1,5 @@ +
+ +
\ No newline at end of file diff --git a/_layouts/docs.html b/_layouts/docs.html index 057ec7f0cf..426f8a93d9 100644 --- a/_layouts/docs.html +++ b/_layouts/docs.html @@ -18,6 +18,16 @@ version: '{{version}}', } + + + {% assign pathElements = page.path | split: "/" %} + + {% if pathElements.size >= 3 %} + {% if page.migrated == true or page.version == 'community' %} + {% include migrated_banner.html %} + {% endif %} + {% endif %} + {% include searchbar.html close=true %} {% include mainmenu.html showsearch=true%} diff --git a/_layouts/home.html b/_layouts/home.html index 1b88a41fa1..6105e00084 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -11,13 +11,16 @@ {% include mainmenu.html showsearch=false %}
+ + {% include migrated_banner.html %} +
-
+

Documentation

What can we help you find? diff --git a/assets/css/bulma.css b/assets/css/bulma.css index 94bb0cac40..b2446ca399 100644 --- a/assets/css/bulma.css +++ b/assets/css/bulma.css @@ -711,7 +711,7 @@ a.box:active { box-shadow: none; color: #fff; } .button.is-primary { - background-color: #00953b; + background-color: #2e6239; border-color: transparent; color: #fff; } .button.is-primary:hover, .button.is-primary.is-hovered { @@ -729,12 +729,12 @@ a.box:active { color: #fff; } .button.is-primary[disabled], fieldset[disabled] .button.is-primary { - background-color: #00953b; + background-color: #2e6239; border-color: transparent; box-shadow: none; } .button.is-primary.is-inverted { background-color: #fff; - color: #00953b; } + color: #2e6239; } .button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered { background-color: #f2f2f2; } .button.is-primary.is-inverted[disabled], @@ -742,36 +742,36 @@ a.box:active { background-color: #fff; border-color: transparent; box-shadow: none; - color: #00953b; } + color: #2e6239; } .button.is-primary.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-primary.is-outlined { background-color: transparent; - border-color: #00953b; - color: #00953b; } + border-color: #2e6239; + color: #2e6239; } .button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused { - background-color: #00953b; - border-color: #00953b; + background-color: #2e6239; + border-color: #2e6239; color: #fff; } .button.is-primary.is-outlined.is-loading::after { - border-color: transparent transparent #00953b #00953b !important; } + border-color: transparent transparent #2e6239 #2e6239 !important; } .button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after { border-color: transparent transparent #fff #fff !important; } .button.is-primary.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-outlined { background-color: transparent; - border-color: #00953b; + border-color: #2e6239; box-shadow: none; - color: #00953b; } + color: #2e6239; } .button.is-primary.is-inverted.is-outlined { background-color: transparent; border-color: #fff; color: #fff; } .button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused { background-color: #fff; - color: #00953b; } + color: #2e6239; } .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent #00953b #00953b !important; } + border-color: transparent transparent #2e6239 #2e6239 !important; } .button.is-primary.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined { background-color: transparent; @@ -1575,7 +1575,7 @@ a.box:active { background-color: #363636; color: #fff; } .notification.is-primary { - background-color: #00953b; + background-color: #2e6239; color: #fff; } .notification.is-primary.is-light { background-color: #ebfff3; diff --git a/assets/css/main.css b/assets/css/main.css index 716c4bf930..79b6dc0429 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -316,12 +316,12 @@ body > .section { border: 0px; } -.langing-section-header { +.landing-section-header { width: 100%; max-width: 400px; /* margin-bottom: 100px; */ } -.langing-section-header h1 { +.landing-section-header h1 { font-weight: 600; font-size: 36pt; margin-left: -2px; @@ -329,7 +329,7 @@ body > .section { line-height: 1; } -.langing-section-header p { +.landing-section-header p { font-size: 13.5pt; line-height: 140%; margin-bottom: 48px; @@ -1765,7 +1765,7 @@ footer .copyright img { padding-left: 6px; } - .langing-section-header { + .landing-section-header { width: 100%; margin-bottom: 0px; } @@ -1971,7 +1971,7 @@ footer .copyright img { background-repeat: no-repeat; } - .langing-section-header { + .landing-section-header { max-width: unset; } @@ -2048,7 +2048,7 @@ footer .copyright img { margin-left: 32px; } - .langing-section-header h1 { + .landing-section-header h1 { font-size: 30pt; } @@ -2105,7 +2105,28 @@ footer .copyright img { } @media screen and (max-width: 350px) { - .langing-section-header h1 { + .landing-section-header h1 { font-size: 18pt; } -} \ No newline at end of file +} + +/* BANNER for migrated Docs page and landing page */ + +.banner html, body { + margin: 0; +} + +.banner { + background: #FFF8C5; + /* light yellow #FFF8C5; light grey #888888, dark red border #880000; + dark green #419346, light green #83BC59, orange #F0963B, yellow #FBE94E */ + margin-top: 4px; + margin-bottom: 4px; + padding: 10px 10px 10px 10px; + border-width: 2px 2px; + border-radius: 4px; + border-style: solid; + border-color: #FBE94E; + font-size: 10.5pt; + text-align: center; +} diff --git a/content-accelerator/3.6/configure/notifications-and-notes.md b/content-accelerator/3.6/configure/notifications-and-notes.md index c7e205f668..fe0e93e891 100644 --- a/content-accelerator/3.6/configure/notifications-and-notes.md +++ b/content-accelerator/3.6/configure/notifications-and-notes.md @@ -226,3 +226,48 @@ The default note object type is "hpi_note". To configure otherwise, replace this Ensure that the Note Relationship option is configured to : `hpi:folder_note (alfresco)` + +## Subscription and Distribution + +Subcriptions and distributions can be utilized to notify users about changes to documents. + +### Subscription + +ACA allows users to subscribe to a document. + +Actions to configure: + +* Subscribe (allows a user to subscribe to a document) +* Unsubscribe (allows a user to unsubscribe to a document) + +Dashlets to configure: + +* My Subscriptions (allows users to see all documents they are subscribed to on the ACA dashboard) + +When a user is subscribed to a document they will receive an ACA notification and an email when the document they are subscribed to is modified in a way that meets the configured notification criteria for the subscription action (for more information see [Configuring Notifications for Subscription and Distribution](#configuring-notifications-for-subscription-and-distribution)). + +### Distribution + +Distribution lists allow users to define (at index time or later) what users and groups should be notified about changes to a document. + +### Configuring Notifications for Subscription and Distribution + +The following properties define when notifications should be sent for subscriptions and distributions: + +```text +# Configuration for the Distributions List and Subscription List behaviors, which will send users and/or groups a notification when a +# property is updated to a given value. The users and groups that will receive the notification are based on +# values on the properties set in the tsg:distributionsAttrs and tsg:subscriptionAttrs aspects. +# The list of QNames of the properties to check. If this property does not exist on the node, no notifications will be sent. +# Example {http://www.tsgrp.com/model/tsg/1.0}status|{tsg.engineering}status +alfresco.notifications.criteriaProperty= +# A pipe separated list of comma-separated lists of values; each value list corresponds to the above property list +# When a node's property is set to one of these values, a notification is sent +# Example: Approved,Effective,Obsolete|Released +alfresco.notifications.criteriaPropertyValues= +# The QName of the attribute that will identify the document in the notification and email. For example, this could be +# the QName for the node name or document number. If the document doesn't have this property the cm:name will be used. +alfresco.notifications.identificationPropQName= +``` + +In summary, these properties allow to configure according to the statament: "when X property changes to value Y I want an email to be sent to subscribed users and I want the document name in the email to be Z property value". \ No newline at end of file diff --git a/content-accelerator/3.7/configure/actions.md b/content-accelerator/3.7/configure/actions.md new file mode 100644 index 0000000000..ca2ab4644a --- /dev/null +++ b/content-accelerator/3.7/configure/actions.md @@ -0,0 +1,273 @@ +--- +title: Action Configurations +--- + + +## Bulk Upload + +Bulk Upload allows a user to select multiples files to upload, edit common properties for all documents, edit individual document properties and upload all documents. Additionally, Bulk Upload has support for scanning, handling zip type attachments, and MSG file parsing. + +### Configuration + +The features currently available is Bulk Upload are as follows: + +* Set doc as new version of existing document - **must be enabled in the admin** +* Scanning - **must be enabled in the admin** +* Handling zip type attachments - **must be configured in the admin** +* Create Document from Template - **must be enabled in the admin** +* Parsing MSG files for attachments (and recursively parsing attached MSG files) +* Gmail Inbox ingestion - **must be enabled in the admin** +* Inheriting Folder Attributes + +#### Inherit Folder Attributes + +(Only available when bulk upload is configured as a folder action). Enable this configuration option to automatically inherit attribute values from the parent folder (these can be removed individual for each document or modified as a whole from the Bulk Property Editing Page). + +#### Extension Whitelist + +By default, any file type is allowed and will be uploaded to the repository. However, for some systems that want to prevent some file types from being allowed, the `White List Document Types` box allows an administrator to specify which types to allow. Simply comma separate any allowed extensions. All other file types will be rejected by Bulk Upload. + +Example whitelist: + +`pdf,jpeg,jpg,png,gif,doc,docx,docm,msg,potm,potx,ppsm,ppsx,ppt,pptx,pub,xls,xlsx,xlsb,xlsm,xltm,xltx,xltx,xps,html,mp3,mp4,txt,xml,json,eml` + +#### Set as new version + +Enable this configuration to allow users to set an uploaded doc as a new minor version of an existing document in the folder instead of creating a new document in the folder. + +#### Scanning + +The Bulk Upload scanning functionality allows a user to scan multiple documents and upload them. To enable, change the **Allow Documents from Scanner** slider to `Yes` in the Bulk Upload Action Advanced Properties section of the admin config. + +##### Setting up Scanning + +Follow the steps to setup Scanning paper documents into ACA. Currently, this functionality is set using Dynamic Web TWAIN (DWT) Version 18.5. + +###### Install Scanner Drivers + +You must have a TWAIN-compliant scanner plugged into your machine with the proper drivers installed in order to scan documents. + +###### Install Dynamic Web TWAIN + +There are two ways to install Dynamic Web TWAIN: + +* Download and run the `Dynamsoft-Service-Setup` installation file from Dynamsoft Downloads (Download the installer according to your OS). +* Download the installer on the Bulk Upload window. Right-click the **Download** icon, copy the link, paste it in a new browser tab, and hit **Enter**. + +![Bulk Upload window]({% link content-accelerator/images/aca-dynamsoft-service-not-installed.JPG %}) + +##### Configuration Options for Scanning + +**License Key:** The License key from Dynamsoft - this must be configured properly for the functionality to work as expected. + +![License Key Configuration]({% link content-accelerator/images/aca-license-key.png %}) + +#### Zip File Handling + +The zip file configuration feature allows administrators to set the behavior when a user uploads a zip file. + +##### Configuring Zip File Handling + +To configure a behavior for uploading zip files: + +1. Open the **Application Config** configuration page in ACA Admin. +2. Go to **Header Actions** section. +3. Under **Selected Actions**, find **bulkUpload**. If it is not present, select it from **Available Header Actions**. +4. Click the **Edit** button. + The configurations for **bulkUpload** is opened. +5. Go to the **Common Configuration** section under **Advanced Properties**. +6. Select one of the following behaviors from the **Zip Type Attachment Behavior** drop-down list: + * **Explode**: the system automatically extracts all files contained within the zip archive upon upload. This is the default behavior. + * **Do Not Explode**: the zip file remains intact and is uploaded as a single file without extraction. + * **Ask During Upload**: every time a user uploads a zip file, the system prompts them to choose whether they want the zip to be extracted or not. + +#### Create Document from Template + +The Bulk Upload create document from template functionality allows a user to upload a new document by using content that already exists in the repository. + +#### Parsing MSG Files + +The Bulk Upload action provides support for parsing MSG files. + +##### Configuration Options for MSG Files + +**Email Relation Type:** In order for parsed attachments to be properly associated with the parent email repository object, the email relation type **_must_** be set to (`hpi:emailed`). + +#### Ingest from Gmail + +The Bulk Upload action provides support for pulling in emails/threads and their attachments directly from a user's gmail inbox. **This assumes the user's repo email is their gmail account email**. + +##### Enabling Gmail API + +1. Go to [https://console.developers.google.com/](https://console.developers.google.com/){:target="_blank"}. +2. Click the **Create Project** button. +3. Give it whatever name you want and click the **Create** button. +4. Once it has been created, you should be taken to the Project Overview page. In the lefthand column, click on **Credentials**, and then click the **OAuth consent screen** tab. +5. Fill out Product name. This will be shown to the user when they authenticate when importing docs from their gmail. You can fill out the other sections if you want, but it is not necessary. +6. Save your changes. +7. Go to the Library by clicking the menu item on the left. +8. Under Google Apps APIs, click on Gmail API. +9. Click the **Enable** button at the top. +10. Once the API has been enabled, an option will appear to create a new Client ID. +11. When creating the client ID: + + * Make sure Web application is selected + * In the Authorized JavaScript origins section, put in the url for that is hosting ACA. For example, if ACA was accessed by `http://www.mysite.com/hpi`, you would use `http://www.mysite.com`. Note that multiple domains can be entered here if you have multiple HPIs that you would like to access the Gmail API. + +12. Click **Create Client ID**. +13. Copy the Client ID. +14. In the bulk upload config, paste the Client ID into the 'Gmail Client Id' textbox. + +>**Note:** You can always get back to your Client ID by going to the Credentials section. + +##### Configuration Options for Ingest from Gmail + +**Gmail Client Id:** The client id from registering the application with Google. See above for instructions + +#### Enabling Upload From Box + +##### Box Application + +1. Create an application in Box or use an existing one. +2. Go to [https://app.box.com/developers/console](https://app.box.com/developers/console){:target="_blank"} to view existing apps or create a new one. + + ![Box Application]({% link content-accelerator/images/bulkupload-box-apps.png %}) + +3. When asked what type of app you are building, choose `Partner Integration`. +4. Within an application, under the configuration tab, we can see the Client ID that we will need to use in the bulk upload admin (picture below). +5. Below the client ID will also be the redirect URI that will need to redirect back to ACA +(for example, `https://localhost:8080/hpi/dummy/path`): + + ![Bulk Client ID]({% link content-accelerator/images/bulkupload-box-clientid.png %}) + +##### Bulk Upload Config for Box + +1. Select Bulk Upload Action. +2. Set 'Enable Cloud Integration' slider to Yes. +3. Choose 'Box' from dropdown selecting which application to integrate with (Box is the only one at the moment). +4. Set Client ID (Explained above). +5. Set Link Type to 'direct'. +6. Choose whether to allow a user to select multiple documents to upload: + + ![Box Upload]({% link content-accelerator/images/bulkupload-box-config.png %}) + +##### Separate Bulk Upload View for Box + +When configured, Box upload will be a button next to the other upload buttons: + +![Bulk Upload View]({% link content-accelerator/images/bulkupload-box-upload.png %}) + +#### Saved Sessions + +Bulk Upload Saved Sessions allows for the upload session to be saved at a recurring interval or manually by the user. This will also save a users Bulk Upload session whenever they navigate away from Bulk Upload. + +## Download Document + +The Download Document (sometimes also referred to as the Export Native Content) action allows a user to download the native content or a PDF rendition of the current document being viewed in the stage. + +### Configuration Options for Download Document + +#### Downloaded File Name + +The action can be configured to use a pattern for the downloaded file name based on object type. Each document object type may have its own pattern of its attribute and constant characters to use for the downloaded file name. + +#### Configuration Options for Download Document + +In the Download Type section, the following settings are available: +Allow End User to specify Rendition/Native Content on Download +If you enable this setting using the toggle switch, you can specify the download type every time you download a document. + +#### Available Rendition Type default + +You can configure the default rendition type to download files in the set rendition by default. You can set the default rendition type to any of the rendition types available in the drop-down, including PDF rendition and native client. + +#### Allow End User to specify whether to include annotations on Download of a pdf + +If you enable this setting using the toggle switch, you are prompted to specify whether you want to include annotations every time you download a PDF document. + +#### Download with Annotations Default + +If you enable this setting using the toggle switch, annotations are included in PDF downloads by default. + +#### Allow End User to specify whether to include overlays on Download of a pdf + +If you enable this setting using the toggle switch, you are prompted to specify whether you want to include overlays every time you download a PDF document. + +#### Download with Overlays Default + +If you enable this setting using the toggle switch, overlays are included in PDF downloads by default. + +## Export folder + +### Configuration for Export Folder + +Export folder must be configured as a folder action - it will throw an error if it is a document action. + +The ZIP created will be the {_folder name_}.zip + +If any child objects are subfolders or empty documents, they'll be omitted from the ZIP. + +#### Download With Tags + +When enabled (defaults to false), a user can download a folder with folder tags enabled - creating individual folders for each tag and populating each folder with any child documents that share the same tag. + +If a child document lacks a tag, or Download With Tags is disabled, all docs will be at the root of the ZIP. + +## Send Email + +Send Email is a Folder and Stage action that sends email to recipients. When sending an email, only the email body is included in the email. The copy stored in the docbase includes any content from the To:, Cc:, Bcc:, Subject, and body fields. + +An email may be sent with an optional attachment from the parent folder's children, so long as the child is a document. + +### Configuration for Send Email + +#### Max Subject Length + +The maximum number of characters allowed in the subject line of an email. If left blank, the default maximum is ten (10) characters. + +#### Email Storage Location + +The subfolder of all correspondence sent from the parent folder. If left blank, all correspondence will be stored in the parent folder. + +#### Email Object Type + +This is the object type for Send Email. The default object type is `HPIEmailMessage`. It can be overridden with a custom object type. + +#### Email Relationship + +Is the relationship between an email and its attachments. For example, in a related objects view, it would show the attachments of an email and vice versa. This should be set to `hpi:emailed (alfresco)`. + +#### Folder Tags + +You can optionally add a tag to the email object after it's created, typically set to 'Correspondence'. Usually, this is set when the folder is displayed using [Folder Tags]({% link content-accelerator/3.7/configure/actions.md %}#folder-tags). If this is the case, you will typically want to set the Email Storage Location to empty. This way, the email will be stored in the parent folder, but displayed in a 'Correspondence' tag in the folder. + +>**Note:** If you have both the folder and document action configured for send email, you will want to have the same tags in both configurations. + +### Folder Notes Integration + +Users can toggle attaching a folder note in addition to the rest of their email (default is Off). When a user turns on Folder Notes Integration, they must configure a chained action for Send Email to fire Folder Notes. Just like regular folder notes, a note requires a Note Object Type (defaults to `hpi_note`) and a Note Type (defaults to `Correspondence`). When Folder Notes Integration is enabled, a second editor will appear under the email body called Folder Note. If the note is sent without any content, the email's subject line will be substituted. The note that is created will be linked to the email being sent. + +## View All Documents Refined Search {#refined-search} + +### Overview + +This feature allows the user to perform an additional search on a container from the View All Documents action. In some situations, such as a long-tail insurance claim, the total number of documents in a given container may exceed the repository's search result limit. The "Refined Search" feature gives the user more control over what documents from the container are returned to View All Documents by allowing some to provide more specific search criteria. This feature can still be used when that limit has not been reached by the initial view all documents query. + +#### Performing a Search + +* Navigate to any container that belongs to the configured trac. +* Find the search icon button to the right of the search result controls. +* Click on search icon to open the Refined Search slide out pane. +* At the top of the view is a drop down to select document type you would like to search against. The form below matches what is configured for that object type. Populating form fields with the values you wish to search on. +* To search, click the search button at the top of the view. +* To empty out the current form, click the reset button located next to the search button. + +#### Handling the Refined Search Results + +After searching, the pane will off the screen. The displayed results are those of the additional search. Notice the search button is now displayed as active and text appears to the right of the search results message. All text and facet filtering, as well as pagination functionality, is still active for the user to use. Clicking on the search icon again will allow you to perform a new search independent of the previous search. Clicking on the reset search message runs the initial view all documents search before any additional searching was performed. + +### Configuration for Refined Search + +To enable this feature, go to Admin -> Stage -> (desired trac) -> Folder Actions -> View All Documents. Scroll to Additional Configurations and turn the "Enable Additional Searching" switch to "ON". Once active, this feature uses the View All Documents search configuration and the configured query type. This feature allows the user to select one document object type to perform the refined search on. The object types available are selected from the search config's attribute search. The displayed form for each object type can be set in the attribute search config. + +>**Note:** Additional Searching is not supported for the getChildren query type and does not support searching on folder object types. diff --git a/content-accelerator/3.7/configure/activewizard.md b/content-accelerator/3.7/configure/activewizard.md new file mode 100644 index 0000000000..6d25057587 --- /dev/null +++ b/content-accelerator/3.7/configure/activewizard.md @@ -0,0 +1,135 @@ +--- +title: Active Wizard +--- + +Active Wizard is ACA's tool for configuring workflows and is included in the Policy and Procedure solution. + +## Active Wizard ACA Queries + +It's possible to write Java code in Alfresco Content Accelerator to execute a query. Alfresco Content Accelerator queries all have a Parameters textbox that allows the administrator to pass information to the ACA query code. This parameter value can either be simple text typed into the admin or a query variable that is resolved at runtime before the query is executed. + +> **Note:** As of ACA 2.5, ACA queries can either generate answers, or execute special functionality to return data to the front end form. + +All parameters are formatted as: `${paramName}`. + +### Provided ACA Queries + +A number of queries are available out of the box: + +Query Name | Query Type | Description | Parameter Values +--- | --- | --- | --- +Users In Groups | Generate Answers | Retrieves the list of users in one or more groups | The group or group names (comma separated) +Users In Groups minus Current User | Generate Answers | Same as Users in Groups, but removes the currently logged in user from the results | Same as Users In Groups +Current User | Generate Answers | Retrieves the Currently logged in User | N/A +User Details from User ID | Generate Answers | Retrieves a user based on the given user ID | The user ID +User Display Name from User ID | Generate Answers | Retrieves a user display name based on the given user ID | The user ID +User Email from User ID | Generate Answers | Retrieves a user's email based on the given user ID | The user ID +Get PDF Page Count | Return Data | Return the number of pages for the given object ID. | The Object ID. This object must have a PDF rendition +External Link | Return Data | Return a URL that can be used on the front end to display a link or button to the user | The URL with tokens to format. Beyond query variables, the bean also supports special tokens that are resolved server side. See below +ACA Picklist | Generate Answers | Generates answers by referencing the specified ACA picklist | The ACA application ID and the picklist ID formatted as: `${appId}\|${picklistId}`. More information below. + +### External Link Tokens + +Some query beans support special tokens that work like query variables, but are provided by the bean implementation rather than form data. Examples: + +* `#{ticket}` - Resolves to the logged in user's ACA ticket +* `#{userId}` - Resolves to the logged in user's ID + +### ACA Picklists + +It is possible to set up an Active Wizard query to use an ACA picklist. When choosing the ACA Picklist web service type, it is recommended to set up the URL like this: + +`${picklistName}` + +> **Note:** It is not recommended to hardcode the picklist name. It's more flexible to let the question configuration specify the picklist ID. + +### Creating a new ACA Query + +If you would like to create a new ACA query, write a java class that implements `com.tsgrp.Alfresco Content Accelerator.wizard.core.query.IWizardQuery`. Then, register the bean in `wizard-bean-config.xml`, assuming this is a core ACA query. For example: + +```xml + + + +``` + +Now, include the bean in the following list: + +```xml + + + + + + + + + + + + +``` + +The AW admin gets the list of available queries from the `WizardQueryContainer`. After restarting ACA, the new query will be available in the list. + +### Testing Queries + +Use the [Test Query] button in the AW Query admin to test your query. When testing queries, the application will ask for any query variable values before running the query. + +### Using a query in a Form Template + +Since queries are configured separately from the form template, they can be used multiple times in one template, or even across multiple form templates. Queries that generate answers must be configured as a query action on a placeholder answer. For example: + +1. Create the question. Ex: Select Users (multi-select) +1. Create an answer. +1. The answer value and display text can be anything you wish. The values are not used by the ACA query code (but the front end admin requires something). +1. Attach an Answer Impact to the question. Choose `Run a Query` as the type. Select your query from the query dropdown. +1. Query variables will be presented below (if applicable). See below for how to resolve variables. + +If your query generates data, it may be configured at the question level rather than the answer level. + +#### Resolving Query Variables + +Query variables can be resolved in one of two ways: + +##### Choose a question + +Questions on the form are listed in the dropdown. Choose one and the selected value(s) will be replaced before the query is executed. Care *must* be taken to ensure that the value will always be filled out. Therefore, you should not select a question that is either optional or later in the page flow. + +##### Type a value + +The admin can type in any value to replace a variable. Using our "users in groups" example from above, this option allows us to reuse the query multiple times. For example, one question could use `group_one` as the group name, whereas another question could use `group_two` as the group name. + +## Launch Forms in Streamline Mode + +In some scenarios it may be beneficial to launch directly into the form and show a confirmation page upon form completion. Follow along below in order to configure this option. + +### ACA Admin Config + +First, go into the ACAadmin in the `Workflow -> Active Wizard Forms` section. Follow these steps: + +* Add your form template to the list of forms configured +* Set an action to perform upon completion if desired. Setting this to start the approval route is common. +* Change the slider to enable streamline mode for the form. + +### Launching the form + +Forms can be launched in streamline mode by formatting the URL as: + +`/ocms/activeform//streamline/new` + +For example: +`http://{server}/ocms/activeform/Simple Workflow CR/streamline/new` + +You can also include pre-populated data in the form when using streamline mode. To launch a form in streamline mode with pre-populated data format the URL as: + +`/ocms/activeform//new/0?populate=true&{question_label}={value}&{question_label}={value}` + +For example: +`http://{server}/ocms/activeform/Simple CR/new/0?populate=true&Type of Change=Document&Priority of Change=High` + +## Leading Actions + +The ActiveForm module processes leading actions using a consistent algorithm for determining where to place pages in the flow. The diagram below describes the process. + +![AW Leading Actions]({% link content-accelerator/images/aw-leading-actions.jpg %}) diff --git a/content-accelerator/3.7/configure/admin-guide.md b/content-accelerator/3.7/configure/admin-guide.md new file mode 100644 index 0000000000..b39077eb54 --- /dev/null +++ b/content-accelerator/3.7/configure/admin-guide.md @@ -0,0 +1,1563 @@ +--- +title: Administer Content Accelerator +--- + +The Admin application allows you to set up and manage your Content Accelerator environment. + +## Setup + +This section describes the general configuration that are used across the Content Accelerator application. + +### Application + +**Application Config** is the first configuration page in the Admin application. Fill out the sections as directed. +Configure `hpi_administrators` as an allowed group for the Content Accelerator Admin. Other groups can be added +depending on security requirements. + +#### Main Settings + +In this section you have the ability to set up the general configuration for your application. This includes an +Application wide time zone (if none is selected, then time will display in the user's local time zone) as well as the +date and time format that is displayed throughout the application: + +![Content Accelerator Admin main settings]({% link content-accelerator/images/aca-admin-main-settings.png %}) + +Available settings include: + +* **Header Notifications** - show notifications in the application header +* **Show/Hide file extensions** - show file extensions +* **Sterilize document names** - regex to sterilize document names upon upload +* **Default Application Path** - module a user is taken to upon login +* **Enable Logo to Navigate to Default Path** - when enabled, clicking on the logo in the header will navigate to the default application path +* **Default Session Timeout** - minutes until a user is automatically logged out +* **Timezone** - application wide time zone. If none is selected times will display in the user's local time zone +* **Date Format** - application wide date display format +* **Time Format** - application wide time display format +* **Default number of search results per page** - default number of search results + +#### Header Links + +You can specify what Application modules that are available to the users and whether to display them in +the application's header. Icons for header links are defaulted, can be turned off, or can be customized to any glyphicon. + +#### Custom Links + +This section provides the ability to add custom links to the application's header (e.g. a link to your company's IT Help Page). + +#### Content Accelerator Themes + +This section provides the ability to style the application with a custom color themes. + +To change the colors, simply navigate to the Application Config and update the color settings in the Themes section. Remember that after saving any changes, you must refresh the page to see the updates. Any users currently in the application would need to refresh as well. + +![Content Accelerator Color theme customization]({% link content-accelerator/images/aca-color-scheme-customization.png %}) + +#### Application Security + +This section provides the ability to choose which groups that have access to the Content Accelerator Admin. If no groups are selected, then *all* users will be allowed to access the admin screens. + +> **Note:** Even if users can access the Admin, repository security will prevent unauthorized users from making any changes. + +#### Header Actions + +This section provides the ability to configure global actions for the application. Actions configured here are available to all users in the application's header. See the [Action Configuration]({% link content-accelerator/3.7/using/user-guide.md %}#actions) in the User Guide for more details on how to configure specific actions. + +#### OC Settings + +This section displays the `applicationId` for the Content Accelerator configurations and provides the ability to refresh the backend Dictionary service. + +### Object Type + +Add all types that will be used in the Content Accelerator (all repo types will be pulled in from the backend repository). Configure labels, filters, and more as needed. Types must be added to the Object Type config before continuing. + +**Notes:** + +* The Object Type Config must contain at least one type for the rest of the Content Accelerator admin to work properly. Configure all types before continuing. +* Configure any container types as having Container set to `true`. Common types that require this setting: +* Any folder types +* Active Wizard Page Set Instance (Form Instance) object and any subtypes +* Available filters include User Display Name, Date, Date Time, Time, Content Size, Mimetype, and Picklist. +* Date and Date Time filters will honor the application config date format. +* Picklist filtered values will utilize a single picklist named `OTCFilterPicklist` to filter the value. If the value is not found in the picklist, the original value will be displayed. For example, configuring the `Picklist` filter on the `objectTypeReadOnly` property can format `dm_document` as Document or `tsg:qualityDocument` as `Quality Document` for the end user to see when searching, viewing properties, etc. +* There is the ability to create a `Composite Type`, which is a type that can include multiple Types. This is used only for types with overlapping attributes and there is a requirement to search on multiple types at once through the search interface. + + > **Note:** `Composite Type` is deprecated and will be removed in a future release. + +### Non-Mandatory Aspect + +Configure Alfresco aspects that can be attached to Object Types in order to add aspect properties to the Object Type. After attaching the Non-Mandatory Aspects to Object Types in the Object Type configuration, the aspect properties can be used on forms and search results just like any other property in the Object Type Config. + +This section is useful if Non-Mandatory Aspect properties need to be used throughout the Application and are not directly forced upon Object Types. + +### Picklists + +This section discusses picklists. + +#### Simple Picklist + +In the Admin's Picklist Config section, Administrators can configure `Simple` picklists. A simple picklist is a list of labels and values managed directly in the admin. Each picklist can be ordered at will by the administrator and can have a default value. + +#### OpenContent and Web Service Picklists + +Other picklist types are available upon request. See the [picklist documentation]({% link content-accelerator/3.7/configure/other-aca-admin-configs.md %}#picklists) for more information. + +### Forms + +Create forms for the types users will interact with. Examples of parts of the application that require forms are Advanced Search, View/Edit Properties, Add Documents, Bulk Edit Properties. + +> **Note:** Forms can be reused. For example, the same form can be used for View/Edit Properties and Bulk Edit Properties. + +#### Types + +Add types to a form config by selecting the type from the available options. All types configured in the Object Type Config will be shown as options. Once a type is selected, you will be given further configuration options available for that type (i.e. what properties for that type should be included in the form). Adding a type to a form config means that the type specific configurations will be shown whenever that form is being filled out for that particular object type. + +#### Editable/Required/Repeating Checkboxes + +* **Editable Checkbox:** Enables an attribute to be editable. + >**Note that not all attributes may be editable, such as internal attributes that cannot be changed.** + +* **Required Checkbox:** Makes an attribute required on the form, providing the ability to require an attribute that may not be required in the underlying ACS model. Keep in mind that the ACA will default the checkbox to checked if the attribute is required in the ACS model, but it may not be aware of all backend constraints. Avoid marking an attribute as not required in an ACA form if it is required in the underlying ACS model. + +* **Repeating Checkbox:** Allows an attribute to have multiple values. By default, this checkbox is checked for attributes that are repeating in the underlying ACS model. If unchecked for a repeating attribute, the attribute will appear as single to the user, and the resulting value entered will be stored as the only value in the repeating list. However, marking a non-repeating attribute as repeating is not recommended as the first value entered by the user will be the only value stored in ACS. + +#### Control Types + +* ApproveOrReject is reserved for use within services. +* Authentication is reserved for use within services. +* AutoComplete allows for input text autocompletion based on a picklist. +* CheckBox provides a selection of checkboxes based on a picklist. +* Computed creates a field based on a predefined pattern, utilizing attributes and hard-coded tokens in value calculation. +* DateBox is a field for entering dates, with the option to restrict input to dates before or after the current day. +* DatetimeBox is a field allowing users to enter a date and time, with the option to restrict input to dates before or after the current day. +* Dropdown provides a dropdown menu based on a picklist. +* NumericRange defines a control for a numeric range. The underlying datatype must to be a number to work properly. +* ProximityDateSearch enables searching based on proximity to a specified date. +* RadioButton offers a group of buttons defined by a picklist. +* TextArea allows for text input. +* TestAreaList is **deprecated** and should not be used +* TextBox is a text form control. +* ReadOnly is reserved for use within services. If read only functionality is needed, a textbox configured as Not Editable is recommended. + +#### Rules + +Rules are standard front-end rules and can be used for validation. All rules are contained within the front-end and cannot be expanded. + +**Rule Types:** + +| Rule Type | Description | +|-----------|-------------| +| Hidden | Hides the field | +| Remember Last Search Term | Remembers the last search term used | +| Visibility Dependent | Makes a field visible based on specified criteria | +| Enable Dependent | Enables a field only when specified criteria is met | +| Lock | Locks down fields by group | + +#### External Rules + +External rules are conditions which are configured in OpenContent and made available in the configuration to use as an extra validation. You can select a rule which will run a condition against OpenContent to allow validation. + +#### Recommended Forms + +Forms allow for a broad range of flexibility in the Content Accelerator. The below forms are recommended: + +|**Form Name**|**Configured Types**|**Notes**| +|-------------|--------------------|---------| +|createObj{tracName} |Any type that can be created using a Content Accelerator form. Examples: Documents, Folders, Notes.|This form name should contain a trac name if certain tracs only allow certain types. Or, a generic `createObject` form could be used across tracs if desired. Active Wizard Form Instances do not need to be configured here since they are not created with an Content Accelerator form. The `createObject` form should be selected for actions such as: `bulkUpload`, `createFolder`, `folderNotes`.| +|search{tracName} |Any type that can be searched for on the given trac.|Using the typical trac names for the Controlled Document Solution, this would give two search configs: `searchWizard` and `searchControlledDocs`. This form should be selected for the Advanced Search for the given trac.| +|viewProperties |Any type that can utilize the view/edit properties action in Content Accelerator|This form should be used for the `viewProperties` and `bulkProperties` actions.| + +#### Form Details + +Once a new form is created, select all types to be on the form. Each type allows for adding attributes and multiple different options for how it should be displayed (Textbox, AutoComplete, Date, etc.) as well as if it should be editable or required. Depending on the control type selected different options are available to choose from. For example, choosing an `AutoComplete` prompts to choose which picklist should be displayed as the options among other options. + +There are also Rules and External Rules available for each attribute. Rules include items such as being able to hide a field (if a user doesn't need to see it) which is particularly useful when creating a new object, Visibility Dependent (only show the field if a different field is filled out in a particular way), and others. + +External Rules are used as extra validation for an attribute. There is a rule to check that an attribute is unique across the entire application or unique within a certain folder. + +### Ad Hoc Forms + +Ad Hoc Forms have multiple uses across the Content Accelerator. First, they are used when configuring workflow. Several Activiti based workflows are offered out of the box and an administrator can configure these Ad Hoc Forms to be utilized by the workflows. + +Ad Hoc Forms are very similar to regular forms with an additional feature to create new Attributes (not being pulled from the Object Type Config) on the fly. Custom created attributes are generally used for more advanced customizations to Content Accelerator, the provided attribute values are used for Workflows. + +### Template Management + +* **Content Template** - allows administrators to create template documents that can be utilized in the Bulk Upload action for users to create documents from a template starting point. + +* **FreeMarker Template** - allows administrators to override default FTL templates provided in the ACA deployment and create their own FTL templates. For example, FTL template overrides can be used to change notification email content. To override, simply select a template to override in the dropdown of the FTL template management area and upload a new file to replace the existing template. Once overridden, the template can be edited in plain text. + +* **Wizard Form Template** - allows administrators to provide a Word document template that is used to apply Wizard form data to create the form PDF rendition and optionally a separate document. + + +### Tracs + +Add a trac config for every trac in the application. Select the appropriate search config and stage config that the trac will use. + +**Types Used In Trac**: + +Select the types this trac will use. This configuration is to tell Content Accelerator what trac to put documents on if there is no trac context. Content Accelerator uses the following logic: + +1. If coming from a trac-aware module, the document will be sent to the stage on the context trac. For example, searching for a document in the 'Engineering' trac, clicking on the document will take you to the document using the Engineering Trac's stage config. +2. If coming from a non trac-aware module, the document will be sent to the stage on the trac as configured in the trac config. For example, if the user clicks on an Engineering document in the Dashboard or in a Notification, Content Accelerator will look for any trac configs that contain the Engineering document's type in the "Types used in trac" list. If only one trac is found, the user will be taken to the stage for that trac. If the Engineering document's type is found in more than one trac, the user will be given a choice as to what trac to use. + +To limit what users have access to each trac, [see this]({% link content-accelerator/3.7/configure/other-aca-admin-configs.md %}#limiting-users-trac-access). + +### Trac Security + +Security can be configured at the trac level to limit what groups are allowed to access each trac. +See [here]({% link content-accelerator/3.7/configure/other-aca-admin-configs.md %}#limiting-users-trac-access) for further information. + +### Event Logging + +A single option to turn event logging on or off. If on, log files will be kept on the server that can be used to see performance statistics across the application. For example, if a user launches a document in the Stage using Enterprise Viewer, the load statistics would be recorded (how long the document took to load). + +## Views + +This section covers Views, the different areas of the application a user can navigate to. + +### Dashboard + +The Dashboard is a powerful View that, when configured, is usually the first place a user is taken upon logging in to the application. + +Sample Dashboard: + +![ACA Dashboard view]({% link content-accelerator/images/aca-dashboard-view.png %}) + +#### Dashboard Main Settings + +In this section, choose how many columns to allow on the Dashboard and whether users may rearrange their Dashlets. + +#### Dashboard Tab Settings + +This section allows for the creation of multiple Dashboard tabs. Each tab can have different dashlets and a dashlet can be used on more than one tab if desired. Tab configurations can also supersede the general configuration in terms of number of columns. For example, the general configuration can be set to have 2 columns but a Tab can be configured to have one dashlet and for that individual Tab to be configured to have a single column. + +#### Dashlets + +All dashlets have a few common configurations, these include the display name, whether an individual user wants the dashlet to be displayed and which groups should have access to the dashlet. There are 9 different types of dashlets that can be configured. Below is a description of each. + +![Img Txt]({% link content-accelerator/images/aca-dashboard-dashlets-id-name.png %}){:height="200px" width="400px"} + +![Img Txt]({% link content-accelerator/images/aca-dashboard-dashlets-visibility.png %}) + +##### Saved Search + +This dashlet can be configured to run a search and display the results on the dashboard. It includes the following configuration options: + +1. Search Config + + 1. Select Object Type + + 2. Select visible attributes + + 3. Select "Linked" attribute + + 4. Select sort attribute and order + + 5. Link to Indexer (only used if the saved search is an indexing queue) + + 6. Trac to resolve to (only necessary if the object type is used on multiple tracs) + + 7. Allow users to sort the columns themselves + +2. Search Criteria + + 1. Configure the search by adding criteria + + 2. Each criterion has an attribute, an operator and a value + + 3. There are 3 special values available: + * `$user.loginName` (current login name) + * `$user.displayName` (current display name) + * `$date` (current date) + +Below is an example of the *Saved Search Dashlet* custom configuration. + +![Img Txt]({% link content-accelerator/images/aca-dashboard-dashlets-saved-search.png %}) + +![Img Txt]({% link content-accelerator/images/aca-dashboard-dashlets-saved-search-result.png %}) + +##### Recent Objects + +Configure a dashlet to show the last 5 or 10 items (folders or documents) that the user has viewed in the stage. After choosing folders or documents, select the desired object type and properties to be displayed in the dashlet. + +##### Inbox + +The *Inbox* dashlet will allow users to see both individual and group Activiti Workflow tasks that are assigned or available to the current user. This dashlet doesn't have any extra configuration. + +##### Active Wizard Inbox + +The *Active Wizard Inbox* will show individual and/or group Wizard Workflow tasks for the current user. The Admin has the ability to show only individual tasks, only group tasks or both individual and group tasks. + +##### Reporting + +The *Reporting* dashlet displays line, bar, and pie chart reports of repository-based metrics. Any metadata that is stored in the repository can be reported on, so it is frequently configured to show trends in incoming content, workflow task actions, and deadline readiness. + +Some example high-level reports are: + +* Vendor submissions that were "right first time" +* Documents approaching a periodic review date +* Content created by type in the past month +* Number of documents owned per user +* Items submitted on-time vs. late + +A *Reporting* dashlet is configured similarly to a *Saved Search* dashlet, in that the data populating the graph is driven by configured queries. While there are many configuration options, the basic steps to creating a reporting dashlet are: + +1. **Add query terms** - Each query term is a query that will be run to plot one component of the graph. For example, to create a graph comparing incoming pharmaceutical batch documents that were right the first time vs. requiring rework, create two query terms: one for the Batch Documents with property `RFT=true`, one for Batch Documents with property `RFT=false`. + +2. **Configure query terms** - Each term can contain many query criteria that are ANDed together to generate the query. + + 1. Add term + + 2. Select metadata field to query on + + 3. Select operator + * Equality operators (`Is Like`, `Is Equal`, `Is Not Equal`) - Enter a value next to the operator for comparison. Tokens `$user.loginName`, `$user.displayName`, `$date` are supported. + * Date range operators (`Within`, `Past`, `Next`) - Enter a number and a time interval. + * Distinct - This is a special case that should be used when looking to plot all values of a property, without creating a term for each possible value. This is useful for when there are many possible changing or unknown values, such as user names. Consider the example of Claims per Claimant. + +3. **Configure graph properties** - There are two broad categories of graphs: Snapshot and Date Range. Static graphs capture the results of the queries configured above for the current moment, while Date Range graphs will run the configured queries for various time intervals and plot the results over time. + +Date Range graphs must be bar or line charts, and must additionally specify a date property to plot against such as `Created Date`, `Approval Date`, `Modified Date`, etc. + +Graph properties such as title, axis labels, and color variation can also be configured. + +##### Workflow Reporting + +This dashlet will give detailed reports on Active Wizard Workflows, including any workflow the current user is an approver for, the history of pending workflows and workflows with tasks available for groups the user is a part of. + +##### Incomplete Tag Dashlet + +A visual representation of Folders that are missing any number of required documents. To configure, select the desired Object Type to search on, and then select the number of results to show. + +##### IFrame Dashlet + +This dashlet is a simple IFrame that can be configured by the Admin to display an external URL on the dashboard. For example, a view from an external performance application can be configured to load in the IFrame. + +##### Notifications + +This dashlet visualizes the current user's Activiti notifications. This dashlet doesn't have any extra configuration. + +### Search + +When creating a new search configuration consideration, you are generally creating a search tool for a particular object type. Different types generally have very different relevant metadata, and therefore separate search configurations. + +A search configuration can also represent an entire Trac, with each of the trac's types searchable from a type dropdown. + +Finally, composite searches can be set up, which will use the same search criteria to search across the repository and deliver type-agnostic results. This is a less common strategy. + +There are various components of search that are separately configurable. + +#### Search Main Settings + +High-level search settings including: + +* **Search form to display** - This is an important configuration, as it is the search form that will be displayed and drives the setup of several other search components. +* **Limit search results to** - If lower than the repository setting for number of search results returned, this value will restrict search results. If higher than the repository search results settings, the repository value will be used. In other words, this setting cannot allow for more search results than the repository is set up to return. +* **Enable type-to-path security** - For each type in the selected search form, a user can indicate a repository folder path (generally the path to the folder being searched) to pull the security setup from. Basically, this allows search to use repository folder level security to determine who can perform the configured searches. +* **Save Search Results To Storage** - If set to local or session, the **Return to search results** button will not rerun the last search query but instead will repopulate the search results screen by storing the last set of search results in the browser and pulling those results from storage. If set to none, then the **Return to search results** button will re-run the search every time. + > **Note**: This feature is only available to users who have search configured to TableView. Returning to results from Saved Search will bring back the saved search results, but the field showing which saved search was run will not repopulate. + +#### Sidebar Settings + +Sidebar settings relate to the left-hand search tools beyond the Advanced Search form. The following settings are available for configuration: + +* **Quick Search** - Quick Search leverages Solr full-text indexing in order to allow a user to perform a free-form search against all properties and content. This is commonly enabled in addition to property-based Advanced Search. +* **Saved Search** - For commonly run searches, users can save their entered search terms and execute them with one click for all future searches. +* **Public Saved Search** - This allows users to make their Saved Searches available to all users that have access to that search. An admin group or groups that have the ability to modify public saved searches can also be configured. +* **Alfresco Enterprise Viewer Search Term Highlighting** - If Quick Search is enabled, and used to search a document's content, that search term will be highlighted in the content when the document is launched in Alfresco Enterprise Viewer. + +#### Attribute Search + +`Search > Configure Search Modules > Attribute Search` + +The Attribute Search section covers the configuration of the property-based search form. To configure, for each type in the selected form: + +1. Toggle the "Enabled" switch under Attribute Search Controls. + +2. Configure the default sort attribute. + +3. Configure sort attribute and order. + +4. Configure whether to allow search on all versions, which determines whether all versions or just the current version are brought back in the search results. + + > Search on all versions will only work for ACS documents that utilize the Chain Versionable Module. Out of the box, this is only the `Controlled Document` and `Quality Document` types that are included in Policy and Procedure Accelerator. If search on all versions is configured for a type that does not use Chain Versioning, the slider will appear but will not search across versions when enabled. + +5. If search on all versions is allowed, select whether it should be the default method. + +#### Search Results + +There are several functional components of search results. + +##### General Table Configurations + +`Search > Configure Search Modules > Search Results` + +* **Timing Data** - Display timing data on how long the search took to run. Additionally, configure time ranges for what a good, medium, and bad response time are. +* **Object Icon** - Enable the mimetype icon to be displayed next to the object name +* **Export Via Email** - When enabled users can execute a search and export the results to an Excel spreadsheet that will be emailed to them. +* **SlickGrid Display Options** - SlickGrid is the dynamic table tool used to display search results. You are able to configure 3 different options: + * **Synchronous Resize** - Slickgrid will continually resize the column as you drag, vs, waiting until you stop dragging + * **Enable Force Fit in Dual Pane** - when selected it will resize all the columns if the table changes size when launching a document in Dual Pane mode (utilized by View All Documents in the Stage) + * **Enable User Controlled Force Fit** - When enabled, users can choose to force all visible columns in the table to avoid having a horizontal scroll bar + +##### Type Specific Configurations + +`Search > Configure Search Modules > Search Results > Type Configurations` + +This section dictates the table configurations specific to each search result type, such as columns displayed, linking to stage, etc. For each type configured in the form configure the following: + +1. Search result opt-in features + + * **Show Thumbnails in Table View** - If selected search results in the table view that have a thumbnail will display the thumbnail. + * **Enable separate thumbnail view** - Will enable a grid-style thumbnail view in addition to the table metadata view. This is great for image-based scenarios. + * **Sort repeating attributes** - Repeating attributes appear as comma-separated values. This will sort the comma-separated values alphabetically. + * **Enable Reset Button** - Users can order or hide columns for the search results table, and those local configurations are stored under their user preferences. Reset clears out search-related user preferences, and resets the look of the table to the default. + * **Enable standardized table view** - When enabled, users can click this view and ALL users will see the exact same table sorted the exact same way. + +2. Result Link Display Attribute - Configure which attribute in the table should be clickable. + +3. Indicator Icons - Configure icons that are displayed next to the Title attribute in the table if the criteria is met for a particular document. The most common scenario this is used for is displaying a lock icon next to checked out documents. This scenario is so common that its configuration is mapped to a single button click > "Add Lock/Key" + +4. Search result Link Resolver dictates where the user is taken when clicking a search result link. + * **Stage** - This is the most common setting, and will open the document or folder in Stage using the Stage configuration for the given Trac the user is on. + * **Stream** - open content stream in new browser tab + * **Wizard** - Wizard form stage is set up differently from normal content's stage. In order for this to work, you must have a specific Stage configuration for Wizard Forms. + * **DocViewer** - A Viewer-only option, which excludes all actions/stage details. + * **External Link** - If configured you will be prompted to enter a base URL and then add in the objectId `${objectId}` as a parameter. This is utilized if you want the search to launch an external application and pass in the objectId. + +5. Search result attributes. These are the attributes that will be displayed as columns in the search results. There are two subcategories when configuring - hidden and visible. Visible columns appear immediately upon return of results. Hidden columns can be toggled to be displayed per the user's preferences. Resetting to default will restore the hidden/visible fields configured in the admin. + +6. Individual document actions + These are the actions that appear in the right-click menu of a particular search result. The actions are executed on the selected document only (as opposed to Group Actions, which can be executed on one or more returned results). + + To configure an action: + + 1. Select the action from the list of available actions + + 2. Once the action is selected, click the edit icon + + 3. The configuration section contains general action configuration, as well as options for the individual action. See the Action Configuration section for more details on how to configure specific actions. + +#### Group Actions + +`Search > Configure Search Modules > Group Actions` + +Group actions can be executed on one or more search results using the checkboxes in the far left column of the search results table to select the desired results. Commonly configured group actions are Export Selected Results to Excel Report, Download as Zip, and Bulk Edit Properties. + +To configure a group action: + +1. Select the action from the list of available actions + +2. Once the action is selected, click the edit icon + +3. The configuration section contains general action configuration, as well as options for the individual action. See the Action Configuration section for more details on how to configure specific actions. + +#### Facets + +`Search > Configure Search Modules > Attribute Search` + +In addition to the standard filter bar to narrow down search results, facets can be configured to group search results based on returned values. While this is not good for unique or highly variable attributes such as ID or serial number, it can be helpful for categorization metadata, such as department. + +To configure facets, simply select the desired attributes to facet on for each searchable type. + +#### Restrictions + +This section allows for configuration of additional query clauses that will be appended to every search run. The first levels to configure are group and object type applicable for the additional query terms, so it is generally used as a way to apply additional restrictions on visible search results for particular groups. + +#### Advanced Search + +Allows the administrator to configure advanced search forms for each object type in a given trac. Typically, the admin is configuring about 3-5 attributes a primary search criteria, with other attributes as secondary. Secondary attributes appear below the **more fields** button. + +### Stage + +Configure how documents should appear in the Content Accelerator stage. This includes configurations for the following modules Search Result Traversal, Stage Info, Workflow Info, Related Objects, Folder Actions and Doc Viewer. As with search configs, stage configs are typically named with the trac name. + +![Img Txt]({% link content-accelerator/images/aca-search-stage-config.png %}) + +#### Stage info + +Configure the at-a-glace properties that appear in the top-left corner for each content type in a trac. Can be configured for a containing folder or the document that is in the viewer. + +`Stage > Trac > StageInfo` + +Configuration options: + +* Object type + * Document + * Folder + * WebService +* Select properties to display for each type +* Create a pattern for the stage title that will be resolved based on the object in the stage. + +#### Search Result Traversal + +This option can be turned on to allow users to navigate through the search results without leaving the Stage. + +#### Workflow Info + +When this option is configured on, if a document is in a workflow, the detailed information of the workflow will be displayed in the left sidebar. + +#### Related Objects + +The Related Objects section of the stage allows for organized quick links to relevant content. There are several methods for configuring related objects, which allow for relations to be set up within the folder or with content in a completely different area of the application. Below is a breakdown of the common ways to configure related objects. + +* **Query Based** - This style is used to set up a relationship between the content in the stage and another useful grouping of content that does not have a formal repository relation. It is used to link content with similar metadata, for example insurance claims made in the same year as the current claim. +* **Relation Based** - This configuration is based on actual repository-level relations between content. For example, in a quality scenario there is an Alfresco relation between a change request and the content the change request relates to. +* **Folder Tags** - This is a strategy for organizing content within a folder as opposed to outside a folder. Documents in a folder are tagged on import, generally by subtype or other descriptor, then are grouped by tags in the related objects section. +* **External Relations** - This is a lesser-used strategy that generally requires some customization. It takes an external endpoint and will display objects returned from the request. + +For further information [click here]({% link content-accelerator/3.7/configure/other-aca-admin-configs.md %}#related-objects). + +#### Folder Actions + +Configure the available actions on the folder loaded in the stage. See the Action Configuration section for more details on how to configure specific actions. + +#### Document Viewer + +Content Accelerator contains support for several specialized content viewers, and support for various renditioning, download, and markup strategies. These components can be configured in the Document Viewer configuration section. + +##### Viewers + +`Stage > Select Trac > Configure Stage Modules > DocViewer` + +Available Viewers (RE-ORG W/ PRIORITY) + +> **Note:** Multiple viewers can be configured at a time, and will automatically be used based on the content formats they support. If multiple configured viewers overlap in supported formats, the first configured will take precedence. + +|Viewer|Description| +|------|-----------| +|Alfresco Enterprise Viewer|This is the default and recommended document viewer. It supports high-speed collaborative markup, redaction, indexing, large documents, reordering, and secure viewing.

Supported formats:
*.pdf, .jpg, .gif, .png*

Additional Options:
Configure the default mode Alfresco Enterprise Viewer opens in:
**(default) Annotation Mode** - Add annotations to the document
**Indexer Mode** - Select text on the document to quickly populate document metadata
**Open Viewer Mode** - View just content without annotations, etc.
**Redact Mode** - Block out sensitive data
**Signature Mode** - Enables signing the PDF rendition| +|Alfresco Enterprise Video/Audio Viewer|This is the default and recommended viewer for video and audio. It supports high-speed collaborative markup of mp3 and mp4 formats.

Supported formats:
*.mp3, .mp4*| +|Image Viewer|Image viewer creates a standardized image viewing experience. In general, it is configured in addition to Alfresco Enterprise Viewer, with precedent for image types.

Supported formats:
*.gif, .png, .jpeg*| +|XML Viewer|XML Viewer allows XML files to be streamed in a standardized viewing platform. If configured with another viewer, it will be automatically launched if XML format is detected.

Supported formats:
*.xml*| +|HTML Viewer|HTML Viewer allows HTML files to be streamed in a standardized viewing platform. If configured with another viewer, it will be automatically launched if XML format is detected.

Supported formats:
*.html*| +|`PDF.js` Viewer|A standard PDF viewer using Mozilla's `PDF.js` library. This should only be configured if Alfresco Enterprise Viewer is not available.| +|`Video.js` Viewer|A standard video viewer using the `video.js` library. This should only be configured if Alfresco Enterprise Viewer Video is not available.| +|DICOM viewer| The DICOM viewer allows `.dcm` files to be displayed and interacted with via a DICOM specific viewer. The DICOM viewer includes a slider bar for interacting with images. As the slider bar is moved, the images move accordingly. To use the slider bar, first use your mouse to select the bar, then use your mouse or arrow keys to move left or right and see the image progress.| + +Additional Viewer Configurations: + +Renditioning: + +* Elevate Renditioning Priority for Folder +* Enable View Time Renditioning - Enable this option if types utilized in this trac do not have the `tsg:renditioned` aspect applied and require view time renditioning functionality. Note that all ACA Accelerator types are pre-configured with the `tsg:renditioned` aspect and do not require view time renditioning. Therefore, you only need to enable this option for out of the box accelerator types. +* Rendition Check Period + +Configure: + +* Which file types should be streamed vs. downloaded in Content Accelerator. +* Actions that should display above the document when loaded in the stage. See the Action Configuration section for more details on how to configure specific actions. +* Whether to burn in Annotations when viewing PDFs. + +##### Additional Properties + +Other items that can be configured in the Doc Viewer include: + +* **Rendition Check Period** - How often the viewer should check the back end to see if a document has had a rendition generated. +* **View-Time Renditioning** - If enabled, and the current document doesn't have a PDF rendition, then the Content Accelerator will automatically request a PDF rendition be made for the document. +* **Attribute to Show** - Configure this to be the OCName of an attribute and if the document has that property it will be displayed as the "Name" of the document in the upper right-hand corner of the Viewer. +* **External Launch Toggle** - When enabled there will be a launch arrow in the upper right corner of the viewer which will open the document content in a new window. +* **Doc Viewer or Browser** - If **External Launch Toggle** is enabled, then when the content is launched in a new window you can configure it to be just a regular browser viewer or the Doc Viewer. + +##### Document Actions + +Configure actions that can be performed on the document being viewed in the Stage. See the Action Configuration section for more details on how to configure specific actions. + +#### Actions + +Document Actions are the grouping of actions that appear above the content in the stage. Each of these actions performs an operation on the document in the viewer, as opposed to the containing folder. + +`Stage > Trac > DocViewer > Actions` + +Folder Actions are the grouping of actions that appear to the left of the viewer. Each of these actions performed an operation at the folder level as opposed to on a particular document. + +`Stage > Trac > FolderActions` + +Configuring an action: + +1. Select the action from the list of available actions + +2. Once the action is selected, click the edit icon + +3. The configuration section contains general action configuration, as well as options for the individual action. + +Common action configurations: (snapshot with various sections) + +1. Change action name and subtitle + +2. Set the action handler to change the action launch method + 1. **Modal** will open the action as a popup, keeping the context of Content Accelerator in the background. If the modal action handler is configured, modal size can also be adjusted. + 2. **Right-side** will open the action to the right of document viewer + +3. Set the default action to launch when navigating to the folder level. This is commonly set to View All Documents, which displays a list of documents in the selected folder. + +4. Set the action icon + +5. Toggle whether the action's permissions are evaluated in "Why Can't I...", which will indicate to the user what requirement is preventing them from executing the action. + +For more detail on configuring actions, see the Action Configuration section. + +### Collections + +Collections is a View that can be configured by the Admin as a way to show a group of unrelated documents in a single results table. In order to configure collections select the Document Object Type then proceed to configure it the same way you would configure Search Results and Group Actions. If you select an Object Type that is not the top level Document type, collections will still work however depending on the individual objects that get added to the collection, not all metadata will be populated in the results table. + +### Indexer + +> Please note that this feature is experimental and is being evaluated for future full inclusion. Currently supported for customers via a Services Arrangement only. + +The indexer view is a side by side viewing of a document and a form. It allows a user to select text directly from the document (document must be OCRed) and populate metadata. Indexer configs can be selected as views from a *Saved Search* dashlet. There is a configuration on the *Saved Search* dashlet to select an Indexer Config, when selected, any link clicked in the *Saved Search* dashlet will bring up the document in the Indexer view (instead of Stage view). + +#### Common Configuration + +* Allow the user to change the Object Type within the Indexer view. This ability is used when a document gets uploaded with a generic Object Type and it's the user's job to determine the sibling or subtype it should be. +* Auto-Save changes in the Indexer. When configured on, any time a user changes focus from one field in the form to another, Content Accelerator will automatically save their progress back to the server. + +#### Type Configuration + +When configuring an Object Type on the Indexer view, there are several configurations to review. + +* Record Position Data. This will automatically set the positional data on the document as metadata when the document is indexed. + +For each type you configure, you can set attributes on the document automatically once the user clicks the document and after the user is done indexing the document. Depending on how the user filled out the form (valid or invalid) you can automatically set different values. The most common example of this is to set the Index Status attribute to "Indexing" when initially clicked and then either to "Done" or "New" depending on if the user filled out the form completely or not. + +For each attribute you are setting you have the ability to configure whether to process that value, for instance there might be a certain attribute you only want to set if the form is valid and if the form is invalid you don't want anything to happen to it at all. A common example of this would be if a user successfully indexes a document (form is valid) you'd want to set the Indexed By attribute to that user, however if it was not indexed successfully (form is invalid) you don't want to set that attribute at all. + +There are a few special values you can set: + +* `${currentUser}` - The current user performing the indexing +* `${currentDate}` - The current date at the time of indexing + +## Activiti Workflow + +Content Accelerator comes with many out of the box Activiti workflows. These workflows can be configured to allow for more customization. In Workflow config, an Admin can select a workflow to configure and depending on the workflow, the Admin can confIgure different Ad Hoc Forms to display for each step of the workflow. + +All workflows have a "Start Form", this is the form that is displayed when the user is starting the workflow. Most forms have at least one other opportunity for an Ad Hoc Form to be displayed, whether it's an approval or review task or just a complete workflow task, the Admin has the ability to display an Ad Hoc Form for each step of the workflow. + +## Active Wizard {#activewizard} + +This section of the document explains tasks associated with users who are allowed access to the Active Wizard Admin +application. + +### Administrative User Tasks + +Administrative users have the ability to create new, dynamic Form Templates and make them available for contributing users to work with. Additionally, administrative users are allowed to edit, copy, and delete existing Form Templates. + +#### Working with a Form Template + +To navigate to the Form Template administration portion of the application: + +* Click the Admin tab to bring the administration pane to the front +* Click the Manage Form Templates link + +This screen is the landing page for Form Template administration. From here you may either select an existing Form Template to work with or create a new one. Each existing set can be found in the Form Templates dropdown, which is ordered alphabetically. + +##### Creating a New Form Template + +To create a new Form Template: + +* Click the **new** button on the Manage Form Templates page +* Enter a unique name for the Form Template title +* Select the type of output that is to be generated by instances of the Form Template. By default only XHTML is enabled. +* Click the **continue** button + +Form Templates are tracked by their name, so the application requires you to enter a unique name. If the name you entered has already been chosen, the page will refresh informing you to choose another name. + +Upon clicking continue, you will be taken to the Edit Form Template screen. + +#### Selecting an existing Form Template + +To select an existing Form Template to edit: + +* Select a Form Template title from the Form Templates dropdown +* Click continue + +Upon clicking continue, you will be taken to the Edit Form Template screen. + +#### Editing a Form Template + +Creating Form Templates requires working with the set at two different levels: the Form Template as a whole, and the individual page. To allow contributing users to create instances based on the Form Template it must be published and activated. A set may also be copied into a new set or deleted. + +Working with the Form Template can also be thought of as working with a collection of pages. You may create, modify, and rearrange pages. Additionally, you may make certain pages required and others hidden until specific criteria are met. For information on how to work with an individual page including creating and modifying pages, see [Working with an individual Page and its Inputs]({% link content-accelerator/3.7/configure/admin-guide.md %}#working-individual-page). + +##### Checking out a Form Template + +To check out a Form Template: + +* Click the **check out** button at the bottom of the Edit Form Template screen + +When you check out a Form Template, a small key icon appears next to the Form Template name. Hovering over this icon displays a tool tip informing you that the set is indeed checked out by you. Checking out a Form Template also enables other features to manage the set, including copying and deleting. + +If you enter the Edit Form Template screen of a set checked out by another user, a small padlock icon is displayed where the key icon would normally be displayed. Hovering over this icon displays a tool tip informing you of the user who currently has the set checked out. + +##### Checking in a Form Template + +To check in a Form Template: + +* Click the **cancel all changes** button, or +* Click the **save all changes** button + +Clicking the **cancel all changes** button discards any changes that have been made to the collection of pages, including any new pages added during the checkout. The set is then available for any administrative user to check out. + +Clicking the **save all changes** button saves any changes that have been made since the set was last checked out. The set is then checked in and is available for any other administrative user. + +##### Setting Form Template Options + +To change the options on a Form Template: + +* Ensure that the source Form Template is checked out to you + +There are several options that can be set on the Form Template to change the overall behavior. + +The completed pages required option determines whether all reached pages must be completed in the Form Template in order for the Form Template to be submitted from the Summary page. This option is particularly useful when implementing Stop Pages, or to enforce that every required page in the Form Template is visited before the form is submitted. + +The all questions required option determines whether a page must have all its questions filled in out in order to fully complete the page. By unchecking this checkbox, logic that checks whether all questions have been answered is disabled. + +The above two options allow a variety of behaviors to be implemented in a Form Template. + +* Neither "Completed pages required" nor "All questions required" is checked: Verification of Form Template answers is minimal - a user is not required to visit all the pages or provide answers to any of the questions. +* "Completed pages required" is checked, "All questions required" is unchecked: No warnings about unanswered questions are given to the user while completing the Form Template; however, the Form Template cannot be completed unless all pages have been viewed. +* "Completed pages required" is unchecked, "All questions required" is checked: Warnings about unanswered questions are given to the user, but the user can complete the Form Template at any time from the Summary page regardless of missing answers. +* Both "Completed pages required" and "All questions required" are checked: Full verification of Form Template answers is done. The user cannot complete the Form Template unless all questions have been completed on all of the visible pages. + +Note that if all questions required are not checked, you can still control which questions are required on a question by question basis. + +The workflow active option determines whether workflow is active for this particular Form Template. This allows for certain Form Templates to use workflow while others do not. Note that workflow must be enabled in the wizard configuration for this option to have effect - enabling workflow here does not override a workflow disabled system-wide setting. + +The instance type field allows you to modify which object type will be used for all Forms. You may choose Page Set Instance (default) or any subtypes. This object will be used when determining which attributes can be driven by a page input. + +For Form Templates used in the streamline view, you can specify the name of a confirmation document if you do not wish to use the default. + +##### Copying a Form Template + +To copy a Form Template: + +* Ensure that the source Form Template is checked out to you +* Click the **save as** button +* Enter a new, unique name for the destination Form Template +* Click continue +* Choose whether to continue editing the source set, or begin editing the destination set + +Initiating the save as functionality makes an exact copy of the Form Template as it was the last time it was checked in, the only difference being the name of the set. Any changes that have been made since the set was checked out will not show up in the destination set. + +>**Note:** To make changes to a set and then copy those changes over to a new set, first click the **save all changes** button, +>and then re-checkout the set and click the **save as** button. + +The name of the new set must be unique, as is required with any new set. If an invalid name is entered in the Form Template title, the page will refresh informing you to select another name. + +>**Note:** If you choose to begin editing the destination set after making a copy, the source set will remain checked +>out to you until you return to check it back in. The set will be unavailable to other administrative users until this time. + +##### Deleting a Form Template + +To delete a Form Template: + +* Ensure that the Form Template is checked out to you +* Click the **delete Form Template** button +* Confirm the delete by clicking **Ok** +* Choose whether to return to the main menu, or select another Form Template to work with + +By deleting a Form Template, you will be removing all records of the set's existence from the application. This frees up the name held by the Form Template and makes it available to be used in new sets. If you click the **Cancel** button on the confirmation popup, the set will remain unchanged. + +Deleting a Form Template also removes any published versions of the set available to contributing users. However, any existing Forms that are based on the deleted set will remain untouched. + +##### Publishing (Versioning) a Form Template + +To publish a Form Template: + +* Click the **publish** button +* If the set has been published previously, choose a version number to attach to it +* Enter a comment in the Comment textbox +* Click the **publish** button + +Publishing a Form Template takes a snapshot of the set as it was the last time it was checked in. Any new pages added will not show up in the published version unless **save all changes** have been clicked. The version of the Form Template published will be available until the set is deleted. + +Except for the first publishing, you will have the option to choose the version number attached to the Form Template. The first publishing attaches the version 1.0. All subsequent publishes will allow you to choose from either a minor (1.0 to 1.1, 1.1 to 1.2) or major (1.0 to 2.0, 1.6 to 2.0) version number. The comment should generally be used to identify the major changes that were made to the Form Template since it was last published. + +##### Managing published versions of a Form Template + +To activate a version of the Form Template for use by contributing users: + +* Click the **manage versions** button +* Select a version of the Form Template to activate +* Click the radio button next to the version to select it +* Click the **make active** button + +Activating a Form Template makes it available for contributing users to base Forms off of it. You may also make the Form Template completely unavailable by checking the none option and clicking the **make active** button. You may also revert to a previous version of the Form Template at any time. + +Changing the version of the activated Form Template only affects Forms that are created new. Any existing sets that are based off of other versions will remain untouched. + +##### Filtering Sub Pages by category + +To filter the sub-pages table by category: + +* Choose a category from the dropdown on the top right of the Sub Pages table +* Click the **change** button + +Once a page has been assigned a category, and the Form Template has been checked in, the category will appear as an option in the dropdown. Clicking the **change** button after a category has been selected refreshes the page and filters the Sub Page table by that category. The VIEW ALL option shows all sub-pages that have been created. + +##### Changing Whether a Page is required + +To make a page required: + +* Select the desired page by checking the box next to its title +* Click the up arrow located in the top left-hand corner of the Sub Pages table + +Making a page required ensures that users creating a Form off of this Form Template will be required to provide inputs to the page before an output process is initiated. + +To make a page not required: + +* Select the desired page by checking the box next to its title +* Click the down arrow located in the top left-hand corner of the Required Pages table + +Making a page not required makes it unavailable to users creating Form Templates instances off of the Form Template unless certain criteria are met. For more on how to use required pages to lead to sub-pages, see [Working with an individual Page and its Inputs]({% link content-accelerator/3.7/configure/admin-guide.md %}#working-individual-page). + +>**Note:** For users creating Forms to see changes made to the requirement of pages, the changed version of the +>Form Template must be published and activated. + +##### Reordering Pages + +To change the order of the required pages: + +* Click the **reorder** button on the top right of the Required Pages table +* In the popup window, select the desired page +* Click the up or down arrow icon to change the page order +* Click reorder to accept the new ordering, or cancel to cancel the reordering + +>**Note:** For users creating Forms to see changes made to the order of pages, the changed version of the Form Template +>must be published and activated. + +##### Deleting Optional Pages + +To delete an Optional (non-required) Page: + +* Check out the Form Template +* Click the scissors' icon for the page to delete + +>**Note:** A page cannot be deleted if it is led to by another page. If this is the case, a message will be displayed +>showing the user which pages need to be modified before a delete operation will succeed. If the page contains certain +>actions, such as Mpower variable mappings, a warning will be displayed to the user. + +#### Working with an Individual Page {#working-individual-page} + +This section covers creating and managing individual pages. + +##### Creating a new Page + +To create a new page: + +* Check out the Form Template by clicking the **check out** button +* Click the **new page** button + +At this point, you will be taken to the Manage Page screen. From here you may specify data about your page, including title, category, and description. See the next section, Editing a Page, to continue. + +##### Editing a Page + +After creating a new page, you are taken to the Manage Page screen where you may begin to edit the page's contents. If you are attempting to edit an existing page, you must first enter the Manage Page screen. + +To edit an existing page: + +* Click the edit icon next to the desired page + +The Manage Page screen is the right of the two frames on the page. The left pane allows you to navigate through the page's inputs, options, and actions. For more on page navigation, see Navigating a Page. + +In the Manage Page screen there are three text boxes corresponding to the page category, title, and description. You must specify a value for each of these fields to continue. A category may be chosen from the list of values in the dropdown, or a new one may be specified by clicking the **new** button. + +Once you have entered data in these fields you are able to save your progress or move on to providing values for new questions, answers, and actions. + +There are also multiple optional page-specific parameters, including reference document (specify the name of a document in the docbase to be linked or shown in the page), hide this page in PDF output, include an Outlook contact drop area, and enable cookie tracking. + +##### Hide this page in PDF output + +Selecting this box will cause the answers from this page to be hidden in the default PDF output as well as the summary page of the form. + +##### Question Groups + +Each page can contain up to one repeating and one non-repeating question group. A repeating group denotes a set of questions that often will have repeating values (such as the information about multiple people), and is used instead of repeating pages. This checkbox denotes that the block itself requires an answer or not. + +To select questions to belong to this group, leverage the group column in the question table at the bottom of the page. Click the checkbox for any question that should belong in the group. Note that currently only textbox, date, and select boxes that are not driven by a query are available to be used in question groups. Additionally, answer actions applied to values in the select box will not be applied within a question group. + +A non-repeating question group will display the grouped questions in a separate area with the non-repeating group label specified. + +##### Stop Pages + +It may be desired to enforce that a user cannot finish filling out a form. By creating a page with no questions on it, a "stop page" is created. This is often reached by adding an action to a question that leads to another page. Once this page is reached, the user will be prohibited from submitting the form from the Summary page as long as the "Completed Pages Required" option is enabled on the Form Template. + +##### HTML Text + +The administrator can write HTML in the following parts of a page that will display Rich Text for the user: + +* Page Description +* Reference Link Label +* Question Label +* Answer Label (Checkbox/Radio Button only) +* Checklist +* Help Text + +Note that only the following HTML tags are supported. + +>**Note:** All HTML tags MUST have closing tags, they may NOT have a single tag close itself. + +* Bold - `` +* Italic - `` +* Underline - `` +* Paragraph - `

` +* Font - `` +* Link - `` +* List with no `
    ` or `
      ` wrapper - `
    1. ` +* Image - `` +* Line Break - `` + +The following escape characters are also supported: + +* `<` - `<` +* `>` - `>` +* `&` - `&` + +##### Previewing an existing Page + +To preview an existing page: + +* Click the preview icon next to the desired page + +A new window will open showing the page as it will appear when a user is creating a Form. The inputs on the page are unlinked from their actions, so no validation is performed on the answers. + +When finished with the page preview, click the **close** button or the **X close** button in the corner of the popup. + +##### Navigating a Page + +Navigating through a page can be done in one of two ways: + +* Using the navigation pane on the left, or +* Clicking the buttons in the details' pane on the right + +The navigation pane displays a Windows Explorer-style tree structure with nodes representing each input, option, and action. Each of the nodes in the tree is collapsible and expandable. + +To view the details' pane for any input, option, or action: + +* Click on the corresponding node in the left navigation pane + +Clicking on the link to an input, option, or action immediately refreshes the details pane without saving the information on the current page. + +You may also navigate through a page by clicking the lower buttons in the details' pane on the right. Clicking save changes or save and continue updates the page with the current information and takes you to the next higher-level component, if applicable. For example, when editing an input, clicking the **save and continue** button saves your changes temporarily and returns you to the page detail. + +Clicking the **cancel** button returns you to the next higher-level component without saving modifications made to the current component. + +Clicking the new `` creates a new component and takes you to the details screen for that component. For example, when editing an input, clicking the **new option** button creates a new option and brings up the Manage Option details screen. + +##### Saving your progress + +To quit editing a page, and return to the Manage Form Template screen: + +* Click the **save** button in the left navigation pane, or +* Click the **cancel** button in the left navigation pane + +Clicking the **save** button saves all changes made to the page and stores the page in the application. The **save** button is only enabled when a change to the page, or its inputs, has been made. + +The **cancel** button requires confirmation, and upon clicking Ok, all changes are discarded, and you are returned to the Manage Form Template screen. Clicking Cancel on the confirmation popup returns you the page with no change. + +##### Working with Questions, Answers, and Actions + +The question display text will be displayed to users while interacting with a Form. The display text is generally +written in the form of a question, with the answers providing the available options to the question. + +The label is used in the left navigation pane to save space while still identifying the question from others. Question +labels should be unique within the form template. + +###### *Questions* + +To create a new question: + +* Ensure that you are on the Manage Page screen +* Click the **new question** button +* Enter a question label, display text, and type +* Add answers if necessary +* Click save and continue + +The type of question may be one of the following: + +* Checkbox +* Radio button +* Select box (dropdown) +* Multiple select box +* Textbox +* Text area +* Multiple textbox +* Date + * The **options** button is enabled on Date fields to allow for blackout date ranges +* File +* Calculation + * The **options** button is enabled on Calculation fields to set up the calculation +* WYSIWYG text input + * This input type allows the user to enter data into a rich text editor + * Note that this field is only recognized when using the embedded flex Active Form control or Active Wizard Lite. If you are using classic Active Form, these fields will display as text areas. + * See the documentation in Active Wizard – Installation Guide under the `wizard-config.xml` section, `active-form-view` property. + +To edit a question: + +* Ensure that you are on the Manage Page screen +* Click the edit icon next to the desired question + +To delete a question: + +* Ensure that you are on the Manage Page screen +* Click the delete icon next to the undesired question +* Confirm deletion by clicking Ok + +Deleting a question permanently removes it from the page. Clicking the **Cancel** button on the confirmation popup returns you to the page with no changes being made. + +###### Working with User Input Masks + +When managing a question, the user has the option to specify an input mask. These masks enforce a pattern on user input into the wizard. The following input masks are available out of the box: + +* At Least 3 Characters +* Currency (USD) +* Email Address +* Number +* Phone Number +* Phone Number or N/A +* Social Security Number +* Time +* Military Time +* Zip + +Since input masks only pertain to values inserted into the wizard, only the following input types are affected by masks: + +* Textbox +* Text area +* Multiple textbox + +###### Managing Required and Disabled Questions + +On the manage question page, there is a section where the administrator can control whether the question is required and/or disabled. + +###### Required / Not Required + +Before discussing this question setting, we must first examine the all questions required setting at the form template level: + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-required.png %}) + +If the above box is checked, then the setting at the question level is ignored. All questions will be required. However, if the above checkbox is not checked, then the setting at the question level will be evaluated: + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-required2.png %}) + +Assuming that all questions are not required at the form template level, then questions marked required will be required the question module, and will be marked with a red `*`. + +###### Disabled / Not Disabled + +Disabled questions can be controlled through the following setting on the Manage Question page: + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-enabled-disbaled.png %}) + +Questions marked as disabled will not allow user input. At this time, disabled questions must be populated through another process. Typically, this is done through an application customization. + +###### Answers + +To create a new answer: + +* Ensure that you are on the Manage Input screen +* Click the **new answer** button +* Enter an answer label and value +* Click save and continue + +The answer display text will be displayed to the user while interacting with a Form. The display text is generally written as an available answer for the question. + +The answer value is used in the left navigation pane to save space while identifying the option from other options. The value also can be used as a secondary notation for the option. For example, if the option display text is entered as "1 Million", the value could be entered as 1,000,000. + +Answer values must be unique within the question. + +To edit an answer: + +* Ensure that you are on the Manage Question screen +* Click the edit icon next to the desired answer + +To delete an answer: + +* Ensure that you are on the Manage Question screen +* Click the delete icon next to the undesired answer +* Confirm deletion by clicking Ok + +Deleting an answer permanently removes it from the page. Clicking the **Cancel** button on the confirmation popup returns you to the page with no changes being made. + +###### Actions (Impacts) + +To create a new action: + +* Ensure that you are on the Manage Answer Action screen +* Click the **new impact** button +* Select the type of action to be performed +* Specify data for the type of action chosen +* Click save and continue + +There are numerous types of actions that may be initiated when an option is chosen. Actions available for any given option or input are determined by the output type of the Form Template, the level (input or option) and the display type of the input. The following table lists the actions available for each combination of output type and display type. + +Available Impact Types: + +* Leads to another page +* Run a query +* Email Form +* Custom + +To edit an action: + +* Ensure that you are on the Manage Answer screen +* Click the edit icon next to the desired action + +To delete an action: + +* Ensure that you are on the Manage Answer screen +* Click the delete icon next to the undesired action +* Confirm deletion by clicking Ok + +Deleting an action permanently removes it from the page. Clicking the **Cancel** button on the confirmation popup returns you to the page with no changes being made. + +###### Working with Date Rules + +The following functionality is supported: + +* The selected date must be the same date or before the date in another question +* The selected date must be the same date or after the date in another question +* The selected date must be the same date as the date in another question + +When the input type is 'Date', the **options** button becomes enabled to allow the administrator to set up date rules. + +The following sections are available: + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-date-rules.png %}) + +The blackout days section allows the administrator to specify that certain days of the week should not be available for selection. In the example above, Sunday and Saturday will not be available in the calendar. + +>**Note:** As of v3.4, blackout date functionality is reserved for future use. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-date-rules-blackedout.png %}) + +The blackout range section allows the administrator to set up more complex rules: + +* Blackout Range – set a specific range of dates to blackout +* Minimum Selectable Date – this can be set to a specific date or "date saved". If the date saved is selected, the minimum selectable date will be the date the user is filling out the form. +* Maximum Selectable Date – this can be set to a specific date or "date saved". If the date saved is selected, the maximum selectable date will be the date the user is filling out the form. + +For example, if users can only enter dates in the future, the administrator would set up the minimum selectable date to 'Date Saved'. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-date-rules-min-sel-date.png %}) + +A test calendar is provided to test how the calendar will look to the user, based on all rules up to this point. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-date-rules-test-calendar.png %}) + +The date comparison section allows the administrator to set up date rules based on other questions in the form. For example, this can be used to specify that an answer to the "end date" question must be after the "start date" question. Simply select the question you want to compare to after clicking the **load all values** button (question selected must be a Date field), and select the operand value. Click the **clear criteria** button to clear out the question token if needed. + +Click the **save** button to save changes. Date rules can also be deleted to return the calendar back to an open calendar if needed. + +###### Working with Calculation Rules + +When the input type is 'Calculation' the **options** button becomes enabled to allow the administrator to set up the calculation. The following sections are available on the Calculation Options screen: + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-calculation-rules.png %}) + +The calculation section displays the calculation that will be executed. This area is not editable since tokens are heavily used. To clear the calculation, click the button provided. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-calculation-rules-op.png %}) + +Operands of the calculation can be made up of answer values or constants. Therefore, two or more answers to questions can be used in the calculation, as well as constant values. + +>**Note:** that only questions with the number or currency mask can be used as an operand. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-calculation-rules-ops.png %}) + +The available operators are addition, subtraction, multiplication and division. Parentheses are included to denote the order of operations. + +Precision is available to default a certain amount of decimal places on an answer. If this field is left blank, precision is turned off, and the entered value is not rounded. For currency, the precision defaults to two decimal places *unless* the precision is set differently. + +![Img Txt]({% link content-accelerator/images/aca-form-input-mask-question-calculation-rules-precision.png %}) + +After setting up the desired calculation, click the **save** button. + +###### Working with Query Actions + +A question can derive all or part of its answers from a server side query. Before setting up a query for a question, the administrator must first define the query in the Manage Queries section of the admin. + +>**Note:** If you are running a 3.x version of the wizard or if you are editing a form that was created with a 3.x +>version, you will not see the manage query page shown below. In Active Wizard 3.x, queries were defined each place +>they are used. See documentation from the 3.x version you have installed. + +Query actions can be applied to an answer. The answer is used as a template for all results returned by the query. This template answer is not displayed to the user as a valid option. When using a database query, the answer value and display text are used to format the results based on column names. + +For example, say we have a query that returns two columns: `user_name` and `user_login_name`. And, let's say that we want each answer value to be the user login name and display to the user as *User Name*. In this case, we would set the following values: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-username.png %}) + +For each result returned, the wizard will replace the column names with the actual database values. + +When using a web service type query, the answer value and display text do not matter. The web service is responsible for setting these values. + +Once the template answer is set up, add a "Run a Query" action to the answer. The Manage Query page will appear. Once the page loads, the first task is to select the query to be run. + +Select the query to run in the Query dropdown as shown above. You can type in the selectbox to narrow results if needed. Once the query is selected, the query information will be shown: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-query-info.png %}) + +**Query Placeholders** + +Some queries are created to use a placeholder value that can be filled in at the time the query is added to the question. For example, let's say we only want to return users within a particular group, not all the users. Here, we've set up a query to filter users by group name: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-query-placeholder.png %}) + +In the above query, there is a token, `${group_name}` that is a "query variable". There is a query variables section below that can be used to satisfy the filter: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-query-vars.png %}) + +The control next to each query variable contains each question label in the form. There are two ways to fill the query variable – you can either select one of the given question labels, or type a literal value into the textbox. + +For example, let's say we want the `group_name` to be just `wizard_doc_editors`. We can simply type that within the input as a literal value: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-group-name.png %}) + +However, we may want to drive the query variable from another question in the form. To do this, we simply select the appropriate question in the dropdown: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-select-question.png %}) + +In this form's case, the User Filter question is a simple textbox. By selecting the "User Filter" question here, the query will replace the `${nameFilter}` token with whatever the user filling out the form puts in that textbox. + +>**Note:** When typing literal values into the textbox, be sure that the value you type is not the same value as a +>question label in the form. If this situation occurs, the wizard will use the value(s) set by the user, not the +>intended literal value. + +**Other Query Options** + +Queries also have a section for other options: + +![Img Txt]({% link content-accelerator/images/aca-working-with-query-actions-other-query-options.png %}) + +The "clear all answers" checkbox allows the administrator to control whether selected options should be cleared out upon returning to the page and rerunning the query. Note that this checkbox does not affect queries that pull data from the same page. This option is typically used when updates earlier in the form are frequently made after the query is run, and future visits to the page must clear out answers since previously selected answers are most likely invalid. This situation is rare but has come up before. + +###### Leading to another Page + +An action to lead to another page based on selected answers can be configured on a per answer basis. Multiple answers can lead to the same optional page, different pages, or no pages. If no action to lead to another page is specified, the next page in the flow path will be the next required page. If another page is specified via a chosen answer's action, that page will be inserted into the flow path and visited next, prior to the next required page. + +In order to support leading to another page using query-based answers, there is a field that allows the administrator to configure a value that the answer must match in order to invoke the lead to another page. For a static answer, this value can be blank, and it will always lead to another page if the answer is selected. For a query driven answer, where the value is not known until the page is rendered, this value field allows multiple answers to be defined for each expected value that will be returned by the query. In order to set multiple answers in the text box, delimit each potential answer with the token ~,~ + +###### Working with Email Actions + +Email actions can be used to email the form PDF and any attached supporting documents out to any valid email address. When adding an email action, the following settings are available to the administrator: + +![Img Txt]({% link content-accelerator/images/aca-working-with-email-actions-settings.png %}) + +The address source sets the email address for this email action. The administrator can specify a specific address by typing in the address box. If user input is selected, the user filling out the form will supply the address. If this is selected on a text-based input, the administrator should also apply the email mask to the question to ensure that the user enters a valid email address. + +![Img Txt]({% link content-accelerator/images/aca-working-with-email-actions-delivery-options.png %}) + +The delivery option lets the administrator configure how this address will be used in the email being sent. If an email is being sent out 'To' or 'CC' with no 'From', a system defined from address will be used. If more than one 'From' is tripped for a single email, the first one found will be used. + +![Img Txt]({% link content-accelerator/images/aca-working-with-email-actions-delivery-timing.png %}) + +The delivery timing lets the administrator control when the email is sent: + +* Submitted – send the email when the form is submitted for workflow + * If workflow is not used for the form, the email is sent when the user finishes the form +* Approved – send the email when the form is approved +* Rejected – send the email when the form is rejected + +#### Working with Queries + +Queries are managed separately from the question where they are used. This allows administrators to define a query once, and then use the query on multiple questions and potentially multiple page sets. To manage a query, click the "Manage Queries" link on the admin menu. This will bring up a screen to select an existing query to manage, or create a new query. There are three main sections to this page – query name, query type and query variables: + +**Query Name** + +The query name is a simple textbox. You may name the query anything you like, but be sure to make the query name descriptive as to what is the intended result of the query. This will make it easier to choose a query when working with the query on a form template. + +>**Note:** query names must be unique across the system. + +**Query Type** + +The only query type supported at this moment for this environment is the Web Service Call query: + +|Query Type|Description| +|----------|-----------| +|Web Service Call|Execute a query from the OpenContent web services layer.| + +**Web Service Queries** + +Web Service queries can be used to call out to other systems for answer data. Only REST style web services are supported. A web service type must be chosen. The following are the web service types and their query variable if they need one: + +* Users In Groups + * Query Variable: `${group_name}` +* Users In Groups minus Current User + * Query Variable: `${group_name}` +* Current User + * Query Variable: no query variable needed +* Users Details From User ID + * Query Variable: `${user_id}` +* Users Display Name From User ID + * Query Variable: `${user_id}` +* Users Email From User ID + * Query Variable: `${user_id}` +* ACA Picklist (refers to picklist defined in Content Accelerator) + +Here is an example of the Web Service Query that uses a web service type, *Users in Groups*. The query will bring back users within a particular group, see Testing Queries documentation. + +![Img Txt]({% link content-accelerator/images/aca-working-with-queries-edit.png %}) + +**Deprecated Functionality:** + +* Upon initial load after choosing the `Web Service Call`, the following screenshot can be seen. Ignore this section. + + ![Img Txt]({% link content-accelerator/images/aca-working-with-queries-xpath.png %}) + +* Get PDF Page Count & External Link + +#### Query Variables + +Sometimes it is necessary to insert variable data into a query. For example, in the database query above, we are simply returning all users. There may be a case where we want to filter users by `username`. By adding a query variable, we can allow the form administrator to specify how the variable should be populated when that particular form is run. + +Query variables are inserted in the URL for a web service call. Query variables are inserted by using the following form: + +![Img Txt]({% link content-accelerator/images/aca-working-with-queries-insert.png %}) + +To insert a query variable, simply type the variable name and click the **Insert Variable** button. + +>**Notes:** Query variables can be reused within one query, but you cannot mix case. For example, you cannot use a +>query variable called "user" and another called "USER". + +##### Editing Queries + +Once a query is run on a form instance in a production environment, it is very important to avoid making changes to the query that could break the form created in production. Therefore, when you edit an existing query, the following warning will appear, graying out the rest of the page: + +![Img Txt]({% link content-accelerator/images/aca-working-with-queries-warning.png %}) + +If you are still working in a test environment, or if the query has not yet been used, all changes are safe. However, if any forms have been created with this query in production, do not make any changes in the unsafe list. As mentioned in the warning text, if these changes are necessary, it is better to create a new query object instead. + +##### Testing Queries + +While creating a query, it is possible to test the query to make sure it is returning the correct results. This will allow the administrator to ensure the query is correct before it is used on form pages. To test a query, first setup the query as needed, and then click the **Test Query** button at the bottom of the Edit Query page. This will bring up the Test Query page. If the query does not use any query variables, simply click the **Run Test** button to see the query results. If the query does have variables, fill out each variable with a sample value to substitute into the query. + +For example: + +![Img Txt]({% link content-accelerator/images/aca-working-with-queries-test.png %}) + +### Configuring Workflow Rules + +When the workflow module is turned on, a new administration link is available in the admin tab called "Manage Signature Assignments." Optionally, a new workflow option is available for Form Templates as well. See the Workflow Module Installation Guide for instructions on installing and configuring the Workflow Module. + +>**Note:** This document assumes that the reader is familiar with the Active Wizard. See the Active Wizard User Guide +>for more information on working with Form Templates and Form instances. + +#### Working with Form Templates + +When both the workflow module and the admin choice option are on, a new checkbox option is available on the Edit Form Template administration page called "workflow active." When checked, all instances of this Form Template will use workflow. If unchecked, the instances will not use workflow. In order to modify the workflow active value, simply check out the Form Template, set the workflow active checkbox to the desired setting, and check the Form Template back in. Note that changes will not take effect until the Form Template is published and made active. + +#### Managing Roles + +Upon clicking the "Manage Signature Assignments" administration link, the user is presented with a list of Form Templates. The Form Templates that appear in the select box are those that have at least one published version. If the Form Template you are working with does not appear in the list, check to make sure it has been published. + +On the select Form Template screen, select the Form Template for which you would like to manage roles, and click 'continue'. + +Next, the Roles Overview page will appear. This page lists the roles that are present in the docbase for the desired Form Template, and related functionality. For added convenience, a Form Template select box appears on this page to easily allow the user to jump to roles defined for other Form Templates. + +##### Creating a Role + +To create a new role, click the **New Role…** button on the Manage Roles page. When first creating a role, the administrator must choose whether the role will be "user based" or "group based" ("automatic" is deprecated). + +##### Creating a User Based Role + +The Role Detail page will appear. If the **cancel** button is clicked on this page, a role will not be created. Once the **OK** button is clicked, the role is created in the docbase. On the Role Detail page, the following elements are available: + +|Field Name|Field Value| +|----------|-----------| +|Role Name|The name of the role. This value must be unique in the docbase.| +|Role Owner|The role owner. The user selected as the role owner will be the default workflow participant if this role is selected for workflow, but no other users in the role are selected.| +|Users|The Documentum users that should be used to pull role users from.| +|Form Esignature|If checked, an eSignature will be applied to the form PDF when the role user approves the task.| +|Workflow Document Esignature|If checked, an eSignature will be applied to all attached workflow documents that were approved by the user during the selective approval process. Note that if this option is checked, the system will ensure that a PDF rendition exists for all approved documents. In addition, the user must at least have RELATE permissions on all approved documents to apply the eSignature.| +|Top Level Rules|The list of top level rules for this role. Top Level Rules are used to select the Role for workflow.| +|User Rules|The list of user rules for this role. If the role is selected for workflow, these rules will be evaluated to narrow down workflow users. If a role has at least one tripped top-level rule, but no user rules or user input rules, the role owner is selected for workflow.| +|User Input Rules|The list of questions that drive user input for this role. User Input Rules, like User Rules, are only evaluated if the role is selected for workflow.| + +##### Creating a Group Based Role + +The Role Detail page will appear. This page will look much like the User Based Role page except for the following: + +* The role owner will be a group that is contained within wizard_contributors +* Role users are not available. +* Only Top Level Rules are available. User Rules and User Input Rules are not available for group based roles. + +##### Managing Role Users + +To manage role users, click the **edit** button next to the users list on the Role Detail page. The Role User Detail page will appear. + +>**Note:** that if your role does not utilize user rules (ex: only utilizes top level rules and user input rules), +>then managing role users is NOT needed. + +Two multi select boxes will appear on the page: + +|Field Name|Field Value| +|----------|-----------| +|Available Users|The list of docbase users that are not a part of the role.| +|Selected Users|The list of docbase users that are a part of the role.| + +Move the desired role users to the Selected Users box. To save changes, click 'OK'. To cancel, click 'cancel'. The Role Detail Page will appear. + +##### Managing Top Level Rules + +Top Level Rules are listed in the first table on the Role Detail page. These rules determine if the role should be selected for workflow. + +To add a rule, click the **New Rule…** button at the top of the Top Level Rules table. The Rule Detail page will appear. To add a rule condition, click the **Add Condition…** button. All conditions listed on this page have an AND relationship. Therefore, if two conditions are added to a rule, both conditions need to be true for the rule to be tripped. + +For each condition, the user is asked to fill out the following information: + +|Field Name|Field Value| +|----------|-----------| +|Question|The question label to base this rule off of. The questions listed are the questions on the Form Template selected when this rule was created. If these values are hard to understand, consider updating the question labels in the Manage Form Template portion of the wizard admin.| +|Type|The type of answer to expect. The available options are: Number, Boolean, String and Date. If the type selected is not the actual type of the question label selected, the condition will never evaluate to true.| +|Operator|The operator to evaluate this rule with. Examples: Equal, Not Equal, Like, Less Than, etc.| +|Value|The value of the answer that trips this condition. If the type is number or string, this value is a text box. Number values must be a valid number. If the type is a boolean, the value is either true or false. If the type is a Date, the field value can be manipulated with a calendar.| + +After filling out the form, click **OK**. The Role Detail page appears. To edit the rule, click the question label link. To delete a rule, select the checkbox next to the rule and click the **Delete** button. + +>**Note:** All rules are considered to be OR'ed. Therefore, if the role has two top level rules, only one needs to be +>tripped for the role to be selected for workflow. Within a rule, all conditions are AND'ed. Therefore, if a role +>has one top level rule, and that rule has two conditions, both conditions have to be satisfied for the role to be +>selected for workflow + +##### Managing User Rules + +Once the administrator has selected the top level rules that determine if the role is selected for workflow, user rules further narrow down workflow participants within that role. If a role is selected for workflow, but no user rules are tripped, the role owner is set as the workflow participant. + +To create a user rule, click the **New Rule…** button at the top of the User Rules table. The User Rule Detail page appears. + +The following fields are available for a user rule: + +|Field Name|Field Value| +|----------|-----------| +|Name| The name of the User Rule| +|Rules Table|The list of rules that make up this user rule.| +|Available Users|The list of users in the role that are not a part of this user rule| +|Selected Users|The list of users that will be selected for workflow if the user rule is tripped.| + +The User Rule can be given a name using the name form field. Below the name is a table containing the rules that make up the User Rule. This table works much like the Top Level Rules table. Rules can be added by clicking the **New Rule…** button, and deleted using the **Delete**. + +Manage the User Rule's users by moving the desired users to the Selected Users box. If this User Rule is tripped by the wizard, the users in this box will be selected as workflow participants. + +>**Note:** If a User Rule is tripped by the users, selected users of the User Rule will only appear in the workflow +>list if at least one Top Level Rule is also tripped for that particular role. Therefore, if user A is in the +>Credit role, the Credit role must be selected for workflow before user A's rules are evaluated. + +##### Managing User Input Rules + +Like User Rules, User Input Rules can be used to narrow down workflow participants within the role. User Input Rules are different in that the rule simply specifies a question in the Form Template. The user filling out the form, then, effectively is choosing approvers as he or she sees fit. The main pro with using a User Input Rule is that it gives the user more flexibility to choose the approver. If the user filling out the form "knows" who to route it to, a User Input Rule is appropriate. A User Rule, on the other hand, builds the logic of picking the approver into the system, thus eliminating a user decision. + +To create a user input rule, click the **New Rule…** button at the top of the User Input Rules table. The User Input Rule Detail Page Appears. + +The following fields appear for a user input rule: + +|Field Name|Field Value| +|----------|-----------| +|Selected Page|This selectbox lists all of the pages in the published Form Template. Select the page that you would like to add to the user input rule. Once you have selected a page, you may not select another page unless there are no questions added. To add another page, you must create a new user input rule.| +|New Button|Clicking the **new** button generates a question selectbox for the page.| +|Question Selectbox|Lists all of the questions on the selected page. Select the question that should drive the user input rule.| +|Delete Button|Deletes a question.| + +Clicking the **ok** button will save the user input rule based on the values selected. + +>**Note:** If the question selected in a user input rule does not refer to actual docbase users, the Form Instance +>editor will receive a warning message on the workflow summary page. For example, this can occur if the user selected +>no longer exists in the system, or if the administrator makes a mistake, and a user input rule is tied to another type +>of question (ex: county). + +#### Managing Role Priority + +Roles within a Form Template can have a priority number set for each role. Roles with a lower priority number will be earlier in the workflow process than roles with a higher priority. The actual number value set for the priority does not matter. The only thing that matters is the order. + +Consider the following scenarios: + +|Role name|Priority| +|---------|--------| +|Accounting|1| +|Sales|1| +|CIO|1| + +In the above scenario, if the accounting role, sales role and CIO roles are all tripped for workflow, users selected from these roles will all see the workitem at the same time. This is essentially a broadcast review. + +|Role name|Priority| +|---------|--------| +|Accounting|1| +|Sales|2| +|CIO|3| + +In the above scenario, if the accounting role, sales role and CIO roles are all tripped for workflow, users selected from the accounting role will see the workitem first. When the accounting users are finished, then the sales users will see the workitem. When the sales users are finished, then the CIO users will see the workitem. This is a serial review process. + +|Role name|Priority| +|---------|--------| +|Accounting|1| +|Sales|2| +|CIO|2| + +In the above scenario, if the accounting role, sales role and CIO roles are all tripped for workflow, users selected from the accounting role will see the workitem first. When the accounting users are finished, then the sales users and CIO users will see the workitem. This is a serial review process that contains a broadcast review. This is essentially a combination of the above two. + +If none of the top-level rules are tripped for a role, the entire role will not participate in workflow. For instance, in the last example, if the accounting role is not tripped but sales and CIO are, the workflow will consist of only a broadcast review to the Sales and CIO roles. + +Click the **Change Priorities** button from the Roles Overview page to update the Role priorities. This will enable the priority text boxes next to each role. Enter the priority number desired for each role, and click **OK**. The **Cancel** button will return the priority numbers to their previous state. + +>**Note:** If the **Change Priorities** button is disabled, another user is currently updating role priorities on the Form Template. + +##### Group Based Roles and Priority + +All group-based roles *must* exist in a unique priority. If the administrator attempts to combine, for example, two group-based roles or one user based and one group-based role in a single priority, the application will revert to the original priority numbers and display an error message. + +#### Managing Activity (Task) Names + +When the workflow is generated, each priority becomes a separate activity within the workflow template. The name of each activity is what the user sees when the workitem appears in their inbox. + +To manage the activity names, either update priorities or click the **Update Activity Names** button. The Manage Activity Names page appears: + +|Field Name|Field Value| +|----------|-----------| +|Priority|Each priority number (uneditable) represents a row of the table| +|Use Default Name|Checkbox that indicates whether or not the activity should be created using the default name| +|Custom Activity Name|Textbox that becomes editable when the default name is not desired.| + +If the default name checkbox is checked for a particular priority, the workflow template will be created using the default name for the activity. The default name is the form's title plus the priority number in the format: + +` ` + +The priority number is necessary since Documentum enforces that all activity names are unique. The wizard inbox looks for this number and strips it off of the link visible to the user. At this time, the WebTop inbox will show the priority number. + +If the default name is not desired, the administrator can specify a custom activity name. All activity names across the priorities must be unique. An error message is displayed to the administrator if an attempt is made to name two priorities with the same name. + +## Tools + +The following section describes the available tools. + +### Action Information + +This section displays all the possible actions and conditions that are available in Content Accelerator and give a detailed description of each. + +### Config Archiver + +The Config Archiver is a tool that allows you to move Content Accelerator configuration from one environment to another. There are two methods, Export and Import. + +When exporting a Content Accelerator configuration, you can choose to include user preferences or not. If you chose to include them, it will bring over all user preferences that exist in the Content Accelerator environment (you should only do this if moving configs between a Dev, QA, Prod environments where the same users will be using the system in each environment). + +To import a Content Accelerator configuration all you need to do is upload the archived config zip file and click Import. + +### License Manager + +The Content Accelerator license manager allows an Administrator to view the current license information and import a new license if needed. + +## Action Configuration + +While many actions require little to no configuration beyond enabling the action (self-documentation can be found under **Admin** > **Tools** > **Actions Information** > **Available Actions**), some more complicated actions have additional configuration options. See the [Action Configurations]({% link content-accelerator/3.7/configure/actions.md %}) section for further details about how to configure certain commonly used actions in Content Accelerator. Individual action links listed in the table below. + +### Addition Action Configuration Information + +|Action Name/Link|Type| +|-----------|---------| +|[Send Email]({% link content-accelerator/3.7/configure/actions.md %}#send-email)|Folder and Document Action| +|[Send Notification]({% link content-accelerator/3.7/configure/notifications-and-notes.md %}#notifications)|Document Workflow| +|[Send External Notification]({% link content-accelerator/3.7/configure/notifications-and-notes.md %}#external-notifications)(MS Teams/ Slack)|Document Workflow| +|[Export Folder]({% link content-accelerator/3.7/configure/actions.md %}#export-folder)|Folder Action| +|[Bulk Upload]({% link content-accelerator/3.7/configure/actions.md %}#bulk-upload)|Folder or Contextless Action| +|[Download Document]({% link content-accelerator/3.7/configure/actions.md %}#download-document)|Document Action| +|[Edit Online]({% link content-accelerator/3.7/configure/integrations-and-addons.md %}#google-drive-and-onedrive-integrations)|Document Action| +|[Sign with DocuSign]({% link content-accelerator/3.7/configure/integrations-and-addons.md %}#integration-with-docusign)|Document Action| +|[Document Info View]({% link content-accelerator/3.7/configure/other-aca-admin-configs.md %}#docinfo-view)|Document Action| +|[Refined Search in View All Documents]({% link content-accelerator/3.7/configure/actions.md %}#refined-search)|Action Add-On| diff --git a/content-accelerator/3.7/configure/alfresco-audit-configuration.md b/content-accelerator/3.7/configure/alfresco-audit-configuration.md new file mode 100644 index 0000000000..d0b0e241ab --- /dev/null +++ b/content-accelerator/3.7/configure/alfresco-audit-configuration.md @@ -0,0 +1,136 @@ +--- +title: Alfresco Audit Configuration +--- + +Alfresco Content Services has three built-in audit data producers: + +* `alfresco-api` - Low-level summary of services and methods. Used for auditing workflows, CRUD operations on users, listing search parameters, etc.. +* `alfresco-node` - Used only to track data from the `beforeDeleteNode` policy. +* `alfresco-access` - High-level auditing that encompasses a wide array of events including: + * Logins (success and failures) + * CRUD on nodes + * Property updates + * Aspect addition/removal + * Content reads/updates + * Check in/out and cancel + * Versioning + +This page will walk through how to configure the `alfresco-access` audits and send them to the `ocAudit` application so they will be accessible by ACA and the Alfresco Share dashlet. + +In order for these configurations to take effect you must ensure that audits are enabled in Alfresco. You can enable audit by adding `audit.enabled = true` to the `alfresco-global.properties` file. + +## Configuring Alfresco-Access Audits + +### Configuring the oc-audit.xml + +The first step is to configure the `ocAudit` application to accept `alfresco-access` audits. If you have installed the OpenContent AMP, the `oc-audit.xml` should already be configured and installed. It can be found at `${alfrescoHome}/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/audit`. The `oc-audit.xml` is configured with all possible `alfresco-access` audit pathmappings, so all data for an enabled event will be stored in the audit. + +If you would like to enable Login/Logout audits, copy the `oc-audit.xml` into your overlay and uncomment the `login`, `loginFailure` and `logout` AuditPath configurations. + +### Enabling Audits Using Filters + +Once the `oc-audit.xml` has been configured to accept all `alfresco-access` audits, we can apply a filter to Alfresco to only capture what we are interested in. Properties in your `alfresco-global.properties` determine audit behavior. + +For example: + +```text +### Audit Filter Settings ### +audit.ocaudit.enabled=true +audit.filter.alfresco-access.default.enabled=true + +#Do not audit System user actions +audit.filter.alfresco-access.transaction.user=~System;.* + +#Only audit nodes under company home +audit.filter.alfresco-access.default.path=/app:company_home/.* + +#Only audit certain types +audit.filter.alfresco-access.transaction.type=aw:controlledDocument;aw:qualityDocument;aw:contractDocument;insuranceDemo:underwritingDocument;insuranceDemo:claimsDocument + +#Events to audit * whitelist approach (preferred) +audit.filter.alfresco-access.transaction.action=CREATE;CREATE VERSION;CHECK IN;CHECK OUT;CANCEL CHECK OUT;updateNodeProperties +``` + +Adding a `~` before a value filters out all audits containing that value. + +Adding `.*` at the end of a filter will include all values that have not been specifically excluded + +`~` and `.*` are applicable for all filter transaction types (user, type, path, and action). + +Filters include: + +| Filter | Description | +| ------ | ----------- | +| default.enabled | Specifies whether or not auditing events will be audited.

      In Content Services 4.2 and earlier versions, this feature was already enabled, using the filtering settings in `repository.properties`. | +| transaction.user | Specifies what user actions will or will not be audited.

      Example: Actions from all users except for 'System' will be audited. | +| transaction.type | Actions that are performed against the specified document type will be audited.

      Example: Actions occurring on all document types will be audited. | +| default.path | Actions that occur on documents within the specified path will be audited.

      Example: Actions that occur on documents anywhere beneath `/app:company_home/cm:Insurance/` will be audited. | +| transaction.action | Specifies what actions will and won't be audited.

      Example: All actions except for READ events will be audited. | + +List of Audit Events: + +Below is a list of some (not all) audit events that are eligible to be enabled/disabled on the `transaction.action` property of the `alfresco-global.properties` file: + +* CREATE +* READ +* MOVE +* COPY +* CHECK IN +* CHECK OUT + > **Note:** The `CHECK OUT` audit event is placed on the *working copy* node. The primary node simply has an `addNodeAspect` event for the `checkedOut` aspect. +* CANCEL CHECK OUT +* CREATE VERSION +* readContent +* addNodeAspect +* deleteNodeAspect +* updateNodeProperties + +For example: + +In the example above all document types are set to be audited, which would normally be considered bad practice; however, because the configured path has been narrowed down to a relatively small subset of paths in the repository, we know that the types being audited will be limited by what we are managing within that path. +In this case, inside the insurance folder and sub-folders will be the insurance document type. +This can be handy when dealing with multiple types within your configured path, you can utilize the `.*` for document type when you know that everything inside the path is of the type you want to audit, saving on complexity of your filtering expression. + +## Accessing the ocAudit Application + +Alfresco contains REST endpoints that allow administrators to access the contents of audit applications, including the `ocAudit`. The list of REST endpoints can be found at `:/alfresco/s/index/package/org/alfresco/repository/audit`. + +Some common endpoints are (using `ocAudit` application in examples below, but could be any audit application): + +* List of audit applications `/alfresco/s/api/audit/control` +* Get audit events (only returns 100 by default) `/alfresco/s/api/audit/query/ocAudit` - parameters are below: + * verbose=true + * user={userId} + * limit=1000 (defaults to 100) + * Date based queries work with Epoch timestamps: + * fromTime=timestamp + * toTime=timestamp + + Use sites like [https://www.epochconverter.com/](https://www.epochconverter.com/){:target="_blank"}. Many online converters use epoch time in **seconds**, whereas Alfresco expects **milliseconds**. + + * forward={forward} + * fromId={fromId} + * toId={toId} + * value={value} + * Search on any values in the `values` object + * valueType={valueType} + * Defines the Java type of the value you are searching on, and must be the fully qualified class name (for example, when searching on NodeRef, `valueType` must be `org.alfresco.service.cmr.repository.NodeRef`). + +For more information regarding Alfresco Audits, see the [Alfresco Auditing documentation]({% link content-services/latest/admin/audit.md %}). + +## Configuring Action Audits in ACA + +### Enable/Disable Action Audit + +For certain ACA actions, audits can be enabled/disabled on an individual action basis. To toggle the configuration, open your config (stage or search), open your module, and edit your action. If an audit event is configurable for the action, a toggle will appear in the **Advanced Properties** section of the action. Enabling the action audit will tell OC to generate audits when this action is executed. Disabling the action audit will tell OC not to generate audits when the action is executed (i.e. the action executor itself will still be run, but the audit generation code will not be executed). + +### Configure Audit Event Name and Event Description + +The audit event name and description for each action audit is configurable via OC properties. + +Example: + +```plaintext +oc.audit.annotateObject.eventName=Annotate Object +oc.audit.annotateObject.eventDescription=Annotating object in Alfresco Enterprise Viewer via ACA +``` diff --git a/content-accelerator/3.7/configure/autofile.md b/content-accelerator/3.7/configure/autofile.md new file mode 100644 index 0000000000..97f76345af --- /dev/null +++ b/content-accelerator/3.7/configure/autofile.md @@ -0,0 +1,96 @@ +--- +title: Alfresco Autofiling +--- + +## Configuring Autofile + +### Configuration Folder + +**Location must be created in Alfresco:** `/Company Home/Data Dictionary/Autofile Configuration` + +The `EVERYONE` authority must have Consumer permissions on this folder in order to be able to read the autofile configuration. + +### Configuration Parameters + +* **name** (String, required) – name for the auto-file configuration object. Can be anything, but must be unique. + +* **rootPath** (String, required) – path to the root Alfresco folder where auto-filed content will be stored +* **types** (List, required) – list of content types that the auto-file configuration applies to (must be in QName format, e.g. `{http://www.alfresco.org/model/content/1.0}content`) + +* **propertiesList** (List, optional) – list of metadata properties that determines the folder path that content will be auto-filed into. For example, if you wanted to file documents by 2 metadata fields, "Project Name" and "Document Type", you’d configure auto-filing for these two properties, and then new content would be filed into the folder, `/{Root Path}/{Project Name}/{Document Type}` (must be in QName format, e.g. `{http://www.alfresco.org/model/content/1.0}content`). Property values can be split by adding a substring transformer as a prefix followed by the indexes in the format `~0~4` to the end of the declaration (e.g. `xSubstringBetweenTransformer~{http://www.alfresco.org/model/content/1.0}name~0~4`). If the `cm:name` was originally "Content Name", the property used for filing will be "Cont". If the properties list is empty or null, document will be autofiled into the rootPath. + +* **autoCreateFolders** (Boolean, optional – default true) – indicates whether folders should be automatically created if they don’t already exist in the repository + +* **autoCreateFolderType** (String, required if autoCreateFolders is true) – if folders are to be automatically created, this property is used to configure the content type that new folders will be created as (must be in QName format, e.g. `{http://www.alfresco.org/model/content/1.0}folder`) + +* **inheritDocPropertiesList** (String, optional) - if folders will be autocreated, properties on the folder can be set based on common properties with the autofiled document. To enable this, set this list of properties to the properties you'd like to inherit to the folder using the same format as `propertiesList`. The properties will only be set if the folder is being created. If a document is autofiled to an existing folder, properties are not updated. You must ensure that any property you place in this list must actually exist on the `autoCreateFolderType`. + +* **autoRenameDuplicates** (Boolean, optional – default true) – this flag tells the system whether or not to automatically rename a document if a document with the same name already exists in the target folder during auto-filing + +* **dateFormat** (String, optional – default "MM-dd-yyyy") – if you will need to autofile by a date string property, you have the option to set the date format here. If your date format contains forward slashes (/), separate folders will be created based on the slashes. + +* **criteriaProperties** (List, optional) - list of properties that will be checked against regexes to determine if the autofile config should be used. If the value of the properties match the corresponding regexes, the config will be used. If one or more properties doesn't match its corresponding regex, then the config will not be used, and additional configs will be tested in priority order. + +* **criteriaRegexes** (List, optional) - list of regexes that will be checked to determine if the autofile config should be used. If the value of the criteriaProperties match the corresponding regexes, the config will be used. If one or more criteriaProperties does not match its corresponding regex, then the config will not be used. Additional configs will be tested in priority order. Criteria regexes are tested as a full match by default. For example, if your property value is "Financial Operations" and your criteriaRegex is set to "Financial", the regex will not pass since it is only a partial match. If, instead, you set your criteriaRegex to "^Financial.*" (utilizing the regex expression notation to denote that only a partial match is required), the regex will pass. + +* **priority** (Integer, optional) - the priority given to the autofile config. If there are multiple autofile configs for a type, then the configs will be tested for a match in priority order. The lower the priority number, the higher the priority (i.e. a priority of 1 is the highest priority and is tested first. + +* **sanitizePropValueRegex** (String, optional) - a regex that will be used to sanitize property values that will be used for Autofiling. Any property pulled from an object will run through the regex and a matching string will be used for filing. + +### REST Call to Configure Autofiling +Autofiling can be configured using the POST and GET methods. + +### Sample REST Call to Configure Autofiling +**Method:** POST + +**URL:** +```bash +http://{server}:{port}/alfresco/service/tsgrp/autofile/createAutofileConfig +``` +**Body Content:** +```bash +{"name":"Department - Region","rootPath":"Company Home/Sites/tsg-add-ons-demo/documentLibrary/Autofiling","types":["{http://www.tsgrp.com/model/tao/1.0}content"], +"propertiesList":[ +"{http://www.tsgrp.com/model/tao/1.0}department", +"{http://www.tsgrp.com/model/tao/1.0}region" +], +"autoCreateFolders":"true", +"autoCreateFolderType":"{http://www.alfresco.org/model/content/1.0}folder", +"autoRenameDuplicates":"true", +"priority":"1", +"criteriaProperties":["{http://www.alfresco.org/model/content/1.0}title", +"{http://www.alfresco.org/model/content/1.0}description"], +"criteriaRegexes":["A","B"]} +``` + +**Method:** GET +```bash +http://{server}:{port}/alfresco/service/tsgrp/autofile/createAutofileConfig?params={"name":"Department - Region","rootPath":"Company Home/Sites/tsg-add-ons-demo/documentLibrary/Autofiling","types":["{http://www.tsgrp.com/model/tao/1.0}content"], +"propertiesList":[ +"{http://www.tsgrp.com/model/tao/1.0}department", +"{http://www.tsgrp.com/model/tao/1.0}region" +], +"autoCreateFolders":"true", +"autoCreateFolderType":"{http://www.alfresco.org/model/content/1.0}folder", +"autoRenameDuplicates":"true", +"priority":"1", +"criteriaProperties":["{http://www.alfresco.org/model/content/1.0}title", +"{http://www.alfresco.org/model/content/1.0}description"], +"criteriaRegexes":["A","B"]} +``` + +> **Note:** Authorization for an admin user must be included. In Postman, switch to the `Authorization` tab. In the `TYPE` dropdown, select `Basic Auth` and then enter in an admin user's credentials. The recommended approach is to use a POST call. + +## Utilizing Autofile + +The autofiled aspect, `af:autofiled`, must be applied to content in order for it to be autofiled. The easiest way to do this is to make the autofiled aspect mandatory for any content types that are to be autofiled. The aspect can also be applied manually. + +## Disabling Autofile for Specific Aspects + +To disable autofile for a specific aspect, override the following configuration in the Alfresco global properties: + +```text +tsgrp.autofile.disableForAspects= +``` + +Set this to a comma delimited list of QNames in a String format (for example, `{http://www.alfresco.org/model/content/1.0}taggable`). diff --git a/content-accelerator/3.7/configure/config-archiver.md b/content-accelerator/3.7/configure/config-archiver.md new file mode 100644 index 0000000000..370b3bb36c --- /dev/null +++ b/content-accelerator/3.7/configure/config-archiver.md @@ -0,0 +1,22 @@ +--- +title: Config Archiver +--- + +The Config Archiver makes moving ACA config files to, from, and between any OpenContent repository easy. It is located in the "Tools" section within ACA admin. + +## Exporting Configs + +Use the export config section to export the current ACA configurations as a zip file. When exporting configs, all Trac user preferences files are automatically archived since these files contain public saved searches. By default, the archiver does not include individual user's preferences files in the archive, but this can be controlled by the `Include User Preferences` slider. + +Clicking the export button will begin the export. The name of the zip that is downloaded will be `default.zip`. + +## Importing Configs + +To import configs, simply access the Import section of the Config Archiver and drag the `default.zip` file containing the archived configs into the drop zone and click the `Import` button. + +The name of the archive file is important - the import tool assumes the file you upload is named: `default.zip`. + +The import will handle this zip in one of two ways: + +1. If the default configs folder already exists, any existing config files will be versioned +2. If the default config folder does not exist, the folder will be created and all configs in the zip will be placed into this folder. diff --git a/content-accelerator/3.7/configure/email-configuration.md b/content-accelerator/3.7/configure/email-configuration.md new file mode 100644 index 0000000000..340010c8bf --- /dev/null +++ b/content-accelerator/3.7/configure/email-configuration.md @@ -0,0 +1,53 @@ +--- +title: Email Configuration +--- + +ACA has the ability to send emails to users and groups as a part of certains actions and workflows. + +### Email Properties + +Email properties available for overriding via OC properties are as follows: + +```properties +oc.email.smtp.host= +oc.email.smtp.user= +oc.email.smtp.password= +# the address emails are sent from if one is not provided +oc.email.smtp.default.from= +# if true all emails are sent from the `oc.email.smtp.default.from` address above, if it is not blank +oc.email.smtp.default.from.overrideWithDefault=false +oc.email.smtp.port= +oc.email.smtp.protocol= +oc.email.smtp.auth= +oc.email.smtp.starttls.enable= +oc.email.smtp.starttls.required= +``` + +If your SMTP does not require authentication, the only property that you must set is the `oc.email.smtp.host`. + +### Example for Configuring GMail SMTP + +If you are attempting to use `smtp.gmail.com` to send emails, the following settings should be used. Replace the `oc.email.smtp.user` and `oc.email.smtp.password` appropriately. You may also want to double check that the port below is correct for your Gmail server as well. + +```properties +oc.email.smtp.host=smtp.gmail.com +oc.email.smtp.user=gmail-user-here +oc.email.smtp.password=@{encrypted-pwd-here} +oc.email.smtp.default.from=from-user-here +oc.email.smtp.default.from.overrideWithDefault=false +oc.email.smtp.port=465 +oc.email.smtp.protocol=smtps +oc.email.smtp.auth=true +oc.email.smtp.starttls.enable=true +oc.email.smtp.starttls.required=true +``` + +To enable Gmail access, follow these steps: + +1. Enable 2-step verification on your Gmail account. + +2. Generate an App specific password [Create & use App Passwords](https://support.google.com/accounts/answer/185833#:~:text=to%2520your%2520data.-,sign%2520in%2520with%2520app%2520passwords,-Tip%253A%2520App%2520Passwords){:target="_blank"}. + +3. Use the app specific password. + +To override these properties and see how to encrypt a password refer to the [OpenContent Property Overrides]({% link content-accelerator/3.7/configure/oc-property-overrides.md %}) page. diff --git a/content-accelerator/3.7/configure/hr-management.md b/content-accelerator/3.7/configure/hr-management.md new file mode 100644 index 0000000000..58a5ab5497 --- /dev/null +++ b/content-accelerator/3.7/configure/hr-management.md @@ -0,0 +1,69 @@ +--- +title: HR Tier-2 Configuration +--- + +Use this information to configure the HR Employee File Management solution (HREFM). + +## Prerequisites + +Make sure the HR Tier-2 solution is [installed]({% link content-accelerator/3.7/install/install-guide.md %}) before implementing the configuration steps below. + +## Configuration + +1. Once Alfresco Content Services starts successfully, run the following `curl` command to create a Records Management (RM) site: + + ```bash + curl -X POST "http://localhost:8080/alfresco/api/-default-/public/gs/versions/1/gs-sites?skipAddToFavorites=false" -H "accept: application/json" -H "authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d "{ \"title\": \"HREFM Records Management\", \"description\": \"HREFM Records Management Description\", \"compliance\": \"STANDARD\"}" + ``` + +2. Navigate to the **HREFM Records Management** site from the **Sites** tab in Alfresco Share: + + * ![Sites tab in Alfresco Share]({% link content-accelerator/images/hrefm-sites-tab.png %}) + +3. Navigate to the **File Plan** from the site dashboard: + + * ![File Plan in HREFM RM Site Dashboard]({% link content-accelerator/images/hrefm-file-plan.png %}) + +4. Click on the **Import** action in the **File Plan** folder, and select the file `HREFM_FilePlan.acp` to start the import: + + * You'll find `HREFM_FilePlan.acp` in the `Alfresco Artifacts` folder of the `alfresco-content-accelerator-sehr-rm-accelerator` distribution zip. + + ![Import action in File Plan]({% link content-accelerator/images/hrefm-import-action.png %}) + +5. Upload the following scripts to the path **Repository > Data Dictionary > Records Management > Records Management Scripts**: + + * `HREFM-RM_CutOff_Record.js` + * `HREFM-RM_Move_Record_to_Employee_Folder.js` + + You'll find the JavaScript (`.js`) files in the `Alfresco Artifacts` folder of the `alfresco-content-accelerator-sehr-rm-accelerator` distribution zip. + +6. Navigate to `Unfiled Records` folder in File Plan section of RM Site. Select the `Manage Rules` action: + + ![Unfiled Records - select Manage Rules]({% link content-accelerator/images/hrefm-unfiled-records-manage-rules.png %}) + +7. Click the `Create Rules` link, and create a rule: + + ![Select Create Rules to configure a new rule]({% link content-accelerator/images/hrefm-create-new-rule.png %}) + +8. Navigate to `Holds` under `File Plan`, create a `New Hold` (as shown) and save it: + + ![Create a New Hold]({% link content-accelerator/images/hrefm-create-new-hold.png %}) + +9. Set the `Read and File` permission to `site_hr_SiteManager` and `site_hr_SiteCollaborator` Groups on Above created `HREFM` Hold. + +10. Provide the `HR Manager` group the correct permissions to create Legal Holds: + + 1. Navigate to `RM Admin Tools` from the top-right of the RM site. + 2. Click **Define Roles** in the **Tools** section, and then click on the `New Role` button to the left of page. + 3. Create a role with name `HREFM Hold Access` with the following capabilities: + + * Add to Hold + * Remove from Hold + + ![Set up Hold Access role]({% link content-accelerator/images/hrefm-create-new-role.png %}) + +11. Navigate to the `Users and Groups` section of the **Tools** section. + +12. Select the `HREFM Hold Access` role, and then add the `site_hr_SiteManager` and `site_hr_SiteCollaborator` to the **Groups** section: + + ![Add groups to Hold Access role ]({% link content-accelerator/images/hrefm-create-new-group.png %}) diff --git a/content-accelerator/3.7/configure/integrations-and-addons.md b/content-accelerator/3.7/configure/integrations-and-addons.md new file mode 100644 index 0000000000..b2134957ba --- /dev/null +++ b/content-accelerator/3.7/configure/integrations-and-addons.md @@ -0,0 +1,509 @@ +--- +title: Integrations and Addons +--- + +## Integration with DocuSign + +### Setup a DocuSign Account + +1. If needed, create a DEV sandbox with [DocuSign](https://www.docusign.com/developer-center){:target="_blank"}. + +2. Once you are in, setup your DocuSign account and go to Admin -> Account -> API and Keys. + +3. Click Add Integrator Key button to add an integrator key. + +### Setup OpenContent + +1. Locate the `opencontent-override-placeholders.properties` file. It will be located on the /alfresco classpath, for example, `tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent`. + +2. Add the following properties: + + * `docusign.username` - DocuSign user name (which should be the same as the user's email address) + * `docusign.password` - DocuSign user password, should be [encrypted with the TSGEncrypter]({% link content-accelerator/3.7/configure/oc-property-overrides.md %}#encrypting-property-values) and enclosed with the encryption indicator like: `@{theEncPassword}` + * `docusign.integratorKey` - see setup step above + * `docusign.login.url` - the login URL is defaulted to the DocuSign dev sandbox URL in `universal-defaults.properties`. You will want to override this for production environments + * `docusign.hpi.dataPath` - The folder where DocuSign data objects should be stored. Defaults to `/hpi/docuSignData` + * `docusign.completed.version.policy` - When a document is completed in docusign, it is versioned in the repository. This property controls whether the version is a major or minor version. + + > **Note:** Versioning is not possible for TSG Controlled Documents. If a controlled document is sent out for DocuSign, the PDF rendition is replaced in the repository when DocuSign completes it's process. The object is *not* versioned in the repository. + +3. Update the module-context in order for the Retrieve job to run. Adding the following to the `opencontent-override-module-context.xml`: + + ```xml + + + + + + + + + + + + + + + + + + + + + + + ``` + +4. Ensure that the job is scheduled to run. + + Ensure that the `tsgSchedulerAccessor` bean has the docusign retrieve job configured in the `triggers` list. This can be overriden in the `opencontent-override-module-context.xml`. + + ```xml + + + + + + + + + + + ``` + +5. After making these changes you will need to restart Alfresco. + +### Setup the Repository + +1. Add a folder to the repository to store DocuSign data. + + * Defaults to `/hpi/docuSignData` + +2. Set the permissions on the folder to - HPI Administrators - Coordinator, EVERYONE - Contributor. + +### Run Job Immediately + +Since the job is typically configured to run every hour, it's sometimes necessary to force the job to run for testing. Navigate to the Alfresco Admin Console -> Scheduled Jobs. Run the `com.tsgrp.opencontent.alfresco.job.retrieveDocusignContentJob`. + +## Integrating Controlled Documents Solution with Alfresco Governance Services + +### Background + +* When utilizing ACA Controlled Docs and Alfresco Governance Services, a common desired result is that as soon as a doc becomes effective it should become an AGS record. +* If we were just to declare that effective controlled doc a record, it could no longer be able to be checked out and checked back in since records are immutable (the controlled doc version chain would essentially be dead) +* Therefore, enabling the controlled docs with AGS solution will actually create a copy of the controlled document when it becomes effective so that that copy can be declared an AGS record and the controlled doc itself will still be able to be checked out and checked back in + +#### The following things will happen when this add on is enabled + +* When a controlled doc becomes effective + * A record copy is created of that controlled doc +* Disposition + * When the record copy is deleted, a behavior will now run and delete the associated controlled document version +* Superceded/obsolete + * When a controlled doc becomes superceded or obsoleted, the record copy status will also be updated to show the change + +### Configuring the solution + +#### Prerequisites + +* You will need AGS installed in Alfresco +* You will need a working controlled docs solutions such that documents are moved to the effective state +* You will need 2 separate object types - 1 for your controlled doc (for example hy:controlledDoc) and 1 type that your record should be copied to (for example hy:record) + +#### The are 2 key pieces to configuring controlled docs with AGS + +##### 1. Enable the functionality by overriding the default values for these props + +* `controlled.docs.with.ags=true` + * Set this to true to signify we are using the controlled docs with AGS solution +* `controlled.docs.with.ags.object.type={http://www.hyland.com/model/content/1.0}record` + * Set the ObjectType for the created record copy of the node + * this is the object type that we will use when we create the copy of the controlled document + * It should be a different object type than the controlled document +* `controlled.docs.with.ags.association={http://www.hyland.com/model/content/1.0}controlledRecordCopyAssoc` + * Set the Name of the Association to associate the controlled doc to its record copy + * This is what ties the controlled document to its record copy so we can later look up the associated document to update status or disposition +* `controlled.docs.with.ags.behaviors.to.disable={http://www.alfresco.org/model/content/1.0}content,{http://www.tsgrp.com/model/tsg/1.0}renditioned` + * Set the list of behaviors that should be disabled when running the controlled doc with AGS logic + * We suggest setting this to at least cm:content and tsg:Rendition since these content props will be automatically copied over and we don’t want them generated from jobs on our record copy +* `controlled.docs.with.ags.prefix.for.name.of.copy=REC_` + * Set the prefix we append to the name of the Record Copy of the controlled document to avoid collisions by copying with the exact same name +* `controlled.docs.with.ags.associations.to.copy.over=` + * list of associations we want to copy over from the controlled document to the Record copy +* `controlled.docs.with.ags.aspects.to.always.add={http://www.tsgrp.com/model/tsg/1.0}doNotAutoRender (http://www.tsgrp.com/model/tsg/1.0%7DdoNotAutoRender)` + * list of aspects to add (doesn’t need to be on controlled doc but can be) + * Since we will copy over the rendition, add the do not autorender aspect + +##### 2. Setup a folder rule to declare the created copy as an AGS record + +Setup the folder Rule to declare our record copy as an AGS Record. + + 1. In the share site, on the folder where your record copy will get created (or moved to if autofile is configured), under folder rules -> add rule. + + 1. Set the rule to run: `on create or enter` + + 2. RUN WHEN - `Content Type = Content` (since we don't want this to run when folders are created in here) + + 3. File Record -> to unfiled Records Folder + + 4. Check Box to Run on Subfolders + + > Optional: You can also then setup another rule on the unfiled records folder in the RM site to file the record to a more specific location + +## Processing Outlook MSG Files + +ACA provides some out of the box components to allow the repository to process MSG files when they are added to the system. The general goals and requirements are to: + +1. Parse the MSG file for any attachments and allow the user to specify an object type and individual properties for each attachment. + +2. Store any attachments in the repository and relate them back to the original email. The email is the parent, any attachments are children (if a nested MSG file has an attachment, it is related to the top level email, not the nested MSG file). + +3. Generate a PDF rendition for the uploaded MSG file. + +When an MSG file is uploaded through Bulk Upload, the MSG file is parsed for any attachments. The attachments are displayed to the user as documents to upload; this means the user can set individual properties for each attachment, including a specific document object type. When the user is done editing properties and chooses to upload the files the attachments are created as individual repository objects with the properties specified by the user. All attachments are placed in the same folder as the email and each attachment is related to the email. A folder tag may additionally be added to each attachment (or the original email) to utilize the folder tags related objects functionality (assuming the content / object model has a folder tag property specified). + +### Renditioning Outlook MSG Files + +The MSG file can be renditioned to a PDF by either OpenContent or Alfresco. + +#### Using Alfresco for MSG renditions + +The default renditioning behavior is to allow the repository to add a PDF rendition to the uploaded MSG file(s). It's also possible to generate a PDF rendition using iText (**not recommended**). This is configured in the Bulk Import action config in the ACA admin. + +Renditioning MSG to PDF is available OOTB in Alfresco *if your object type has the `tsg:renditioned` aspect applied to it*. To take advantage of Alfresco's renditioning engine, ensure you have the below settings. + + 1. Bulk Upload is configured to let the repository generate the PDF rendition for MSG files. + + 2. The following bean is in the `module-context.xml`: + + ``` xml + + + + + + + + + + + text/plain + application/pdf + + + + ``` + + 3. The following property is set in the `alfresco-defaults.properties`: + + `content.transformer.complex.OcMsg2PdfTransformer.pipeline=OutlookMsg|txt|*|pdf|Pdf2swf` + +#### Using OpenContent for MSG renditions + +To take advantage of OpenContent's MSG to PDF renditioning, ensure you have the below settings: + +* Bulk Upload is configured to let OpenContent generate the PDF rendition for MSG files. + +>**Note:** A current limitation of the library used to parse the MSG files is that nested MSG attachments are not available as a byte array, which means the native content is not available. However, a PDF rendition is generated by OC for any nested MSG attachment. + +## Stage Collaboration Features + +ACA allows users to collaborate within the interface by utilizing tools like Zoom and Microsoft Teams. You can configure these integrations so that users are able to start a Teams or Zoom call from within the stage view of ACA. + +### Stage Collaboration in Action + +When viewing a claim with stage collaboration enabled, the stage info section of ACA will include user icons for each user currently viewing that claim. + +![Stage Collab Bubbles]({% link content-accelerator/images/stage_collab_bubbles.png %}) + +If a user, views one of the documents within the claim, then their icon will appear next to that document for all other users viewing the claim. + +For example, if both Alice and Katie are viewing claim 123123 and Alice opens the `3.pdf` document shown below: + +![Stage Collab Alice]({% link content-accelerator/images/stage_collab_icons1.png %}) + +Katie will see an icon in the view all documents table showing that someone is viewing that document. If Katie hovers over that icon she can see that it is Alice who is viewing the document. + +![Stage Collab Alice]({% link content-accelerator/images/stage_collab_icons2.png %}) + +Another important feature to note: (If configured) there will be an option to start a zoom and/or teams call with the users viewing the claim. + +![Stage Collab Calls]({% link content-accelerator/images/stage_collab_calls.png %}) + +### Configuration Steps + +The stage collaboration features are configured in the ACA admin. +Under the Application configuration, find the Collaboration Setting section: +![Content Accelerator Stage Collab Stage Settings]({% link content-accelerator/images/stage-collab-2.png %}) +Here you will have the option to turn on zoom or teams integrations, or both. +This area holds the high level configurations for these integrations. + +#### Application Config + +1. Set the collaboration url. These collaboration features require the AEV socket server to be installed. If you installed the defaults according to the installation guide then the socket server will be running on port 3000. Update the url to have the correct host and port (ex: `http://localhost:3000`). + +2. Enable Zoom integration if desired by toggling the switch to on + + * Once toggled on you will be prompted for a Client Id and authentication endpoint + * For the client Id, if you already have a zoom account setup with your application registered then go ahead and add the clientId and auth url from that account. If you need to set it up still, see the **Zoom Setup via Zoom MarketPlace** section below. + +3. Enable Teams integration if desired by toggling the switch to on + + * Once toggled on you will be prompted for a Client Id and authentication endpoint + + * For the client Id, if you already have an azure account setup with your application registered then go ahead and add the clientId and auth url from that account. If you need to set it up still, see the **Teams Setup via Azure** section below. + +#### Stage Config + +Now that the collaboration connection details are configured, we need to enable it for the individual stage configurations. + +To do so, in the ACA admin interface, navigate to the Stage configuration you wish to enable collaboration for. Select the Stage Info section of the config in the dropdown. Then navigate to the Collaboration Settings section of this config. Flip the switch to enable overall collaboration then choose to enable zoom, teams, or both via the individual toggles. + +![Content Accelerator Stage Collab]({% link content-accelerator/images/stage-collab-1.png %}) + +#### OpenContent Config + +The final piece is to configure the teams integration information that Open Content requires. To do so, add the following properties to your `opencontent-override-placeholders.properties` + +**Required by both zoom and teams collaborations** + +`annotation.collabEndpoint= {endpoint to the collaboration server ex: http://localhost:3000}` + +**Required by teams collaboration** + +* `teams.redirectURL= {opencontent endpoint to redirect teams to ex: http://localhost:8080/alfresco/OpenContent/annotation/teamsAuth}` + +* `teams.clientId= {client id from teams marketplace}` + +* `teams.clientSecret= {client secret from teams marketplace}` + +**Required by zoom collaboration** + +* `zoom.redirectURL= {opencontent endpoint to redirect teams to ex: http://localhost:8080/alfresco/OpenContent/annotation/zoomAuth}` + +* `zoom.clientID= {client id from zoom marketplace}` + +* `zoom.clientKey= {client secret from zoom marketplace}` + +* `zoom.jwtTokenExpiration= {The time in seconds until the jwtToken expires}` + +* `zoom.recordMeetings=false` + +* `zoom.createMeetingRecordingObject=false` + +### Teams Setup via Azure + +1. Sign in to the **Azure Portal**. + +2. If your account gives you access to more than one tenant, select your account in the upper right hand corner. Set your portal session to the Azure AD tenant that you want. + +3. Search for and select **Azure Active Directory**. Under Manage, select **App Registrations** and then click **New registration**. + +4. When the **Register an application** page appears, enter your application’s registration information: + + * **Name**: any name you want + * **Supported Account Types**: Select **Accounts in any organizational directory** + * **Redirect URI**: Choose **Web** and fill out the url of the path to your OpenContent plus the Teams endpoint name. ex: `http://localhost:8080/alfresco/OpenContent/annotation/teamsAuth` + +5. When finished, click **Register** and you will be taken to the Overview display. Copy and save the **Application (client) ID** so you can use it in the ACA configuration. + +6. Go to **Certificates & secrets** and create a new client secret. Copy and save this secret because you will need it to use as an injectable in OC. + +7. Go to **API Permissions**. + + * You should already have the **User.Read** permission. Keep it. + * Select **Add a permission**. + * Navigate to **Microsoft Graph** -> **Delegated Permissions** -> **OnlineMeetings** -> Select and add the **OnlineMeetings.ReadWrite** permission + +### Zoom Setup via Zoom MarketPlace + +The app must be made by the _zoom owner_ that has all the users added to their zoom account. + +**Creating a Zoom Application** + + Here we are creating a zoom app that will allow us to access their APIs as well as interact with users zoom accounts. + +1. Create an application in the [Zoom Marketplace](https://marketplace.zoom.us/){:target="_blank"}. + +2. Pull open the dropdown that says Develop and click build app - select the OAuth for the app type. + +3. Name it whatever you would like, make it an account-level app and do not publish to the Marketplace. + +4. Now your app has been created. A few items to note here on the first page: + * You will need the clientID and Client Secret Key to use as injectables in OC and to fill in the application config in ACA. + * Then you will also need to fill out the redirect URL and whitelist URL with the url of the path to the your OpenContent plus the zoom endpoint name. + + Ex: `http://localhost:8080/alfresco/OpenContent/annotation/zoomAuth` + +5. Under the scopes section of the app setup, you will want to add the following scopes: + + * meeting:write:admin + * user:read:admin + +**Adding roles for users** + + Here we are adding users to a role, so they have permission to interact with the zoom application and start calls from Alfresco Enterprise Viewer. + +1. Log in as the zoom owner. + +2. Head to the [role management section](https://zoom.us/role){:target="_blank"}. + +3. Add a role called developer. + +4. Go to the Role Settings section for the developer role we created in step 3 as we will need to set a few of the roles: + + * Under User and Permission Management - check view for Users(View user information) + * Under Dashboard - check view for Meetings(View detail information of real-time and past zoom meetings and relevant participants) + * Under Advanced Features - check edit for Zoom for Developers, Integration, and Marketplace + +**What to do if my collaboration endpoint is on https** + +You will need to import the SSL certificate into the truststore of the Java that is running OpenContent. + +1. Get your SSL certificate. + + * This is the same certificate you have pointed your Collaboration Server at in the `collaborationConfig.js` file + +2. Find the Java home for the Java which is running OpenContent. + +3. Find the truststore for this Java. + * If this is a JDK the default should be at `{JAVA_HOME}/jre/lib/security/cacerts`, if it is a JRE the default should be at `{JAVA_HOME}/lib/security/cacerts` + +4. Import the certficate into the truststore using the java keytool command line tool. + + * `{JAVA_HOME}/bin/keytool -import -trustcacerts -alias collaborationServerCertificate -file {THE_CERTIFICATE}.cer -keystore {TRUSTSTORE_LOCATION}` + * The default password for the truststore should be `changeit` + +## Google Drive and OneDrive Integrations + +ACA has the capability to edit documents online leveraging either the Google Drive or Microsoft OneDrive cloud solutions. In order to enable this functionality, you must have the **checkoutToCloudService** and **checkinFromCloudService** document actions configured in your trac's DocViewer stage actions. + +The configs for these actions will require you to specify either Google Drive or OneDrive as your cloud solution of choice. + +Once your cloud solution has been chosen, the following steps must be completed in order to integrate your selected cloud solution with ACA: + +### Microsoft OneDrive + +1. Navigate to the [Azure Portal](https://portal.azure.com){:target="_blank"} and login. + +2. Search for `App registrations`. + +3. Create a new App Registration. + +4. Make sure the audience is set to `Accounts in any organizational directory and personal Microsoft accounts`. + +5. Select the Authentication section. + + 1. Set up Redirect url(s) (example: `https://{server}/ocms/dummy/path`). + > **Note:** For development, a redirect URL starting with `http://localhost` is acceptable. All other URLs must start with `https://`. + + 2. Under `Implicit grant`, ensure the `Access tokens` and `ID tokens` checkboxes are checked. + +6. Select the API Permissions section. Ensure the following permissions are granted: + + * Microsoft Graph: `user.read, Files.ReadWrite.All, Files.ReadWrite.AppFolder, Files.ReadWrite.Selected, offline_access, openid, Sites.ReadWrite.All` + * Admin Consent Required - no for all + +7. After saving all changes, navigate back to the Overview page and copy the `Application (client) ID`. This will be needed in the ACA admin (see below). + +8. Follow these steps if your version of Java runs into issues with the SSL Certificate, usually manifesting in `PKIX` errors in the log files: + + * Download and install OpenSSL. + * Ensure you are on the same network as the target server. + * From a command prompt, run this command: + + `openssl s_client -showcerts -host graph.microsoft.com -port 443` + + * For the first certificate returned (there are usually 2), mark the lines starting with `-----BEGIN CERTIFICATE-----` up to `-----END CERTIFICATE-----` and copy them into a text editor and save to a file on the Alfresco server. + * Run this command on the Alfresco server to add the certificate to the Java keystore: + + `\java\bin\keytool.exe -import -trustcacerts -alias -file -keystore \java\lib\security\cacerts` + + * The alias can be anything as long as it's unique. + * When prompted, enter the default keystore password. + * When prompted, type yes to trust the certificate. + * Restart Alfresco. + +### Google Drive + +> **Note:** Google Docs is an experimental action and may not work properly. + +Reference: [https://developers.google.com/identity/protocols/OAuth2UserAgent](https://developers.google.com/identity/protocols/OAuth2UserAgent){:target="_blank"} + +1. Create a Google Project: + + * Access the [Google Developers Console](https://console.developers.google.com/apis/dashboard){:target="_blank"}. + * If not already, sign-in to your Google Drive account associated with your ACA application. + * Click on `Select a Project` and create a new project from the menu that appears. + +2. Enable Drive within your newly created Google Project: + + * Navigate back to the Google API Library. + * From the list of Google APIs, choose `Google Drive API`. + * Click `Enable` on the menu screen that appears. + +3. Create a Client ID: + + * Click on the Credentials tab from the Google API Library home. + * Click on `Create Credentials` and select `OAuth client ID` from the dropdown that appears. + * Select `Web Application` as the Application Type. + * In the `Authorized JavaScript Origin` sections that appears, input the domain origin of your ACA application. + * Click `Create` and Google should present you with a Client ID and Client Secret. + * Copy the `Application (client) ID`. This will be needed in the ACA admin (see below). + +### Configure Google Drive and OneDrive Actions in ACA + +#### (CheckoutToCloudService, CheckinFromCloudService, CancelCheckout) + +1. Select the action. + +2. In the `Edit Online With` slider, choose "Office Online" or "Google Drive" + +3. For Office online, Enter the Client ID and the Redirect URL from the newly registered Application. + + * Set OneDrive checkout location to `Personal or Organization`. The default is the user's personal OneDrive. + * Set `Give Edit Ability` Slider depending on whether you want Share Permissions in OneDrive to be automatically sent to any users with Write Permission on that Document. + * If Give Edit Ability Slider is set to true, there will be another slider setting whether to send an email to all users with Write permission on the document any time it is checked out to OneDrive. If set to false, the document will simply show up in those users' Shared Folder on OneDrive. + +4. For Google Drive, enter the Application ID and choose "Alfresco" + +5. Click Save Config. + +## Integration with Workshare Compare + +### Install Workshare Compare + +1. Download and install CompareService-(version).exe + +2. During installing, you will be prompted to set an HTTP and TCP port. + + * If choosing the default (8080) continue to the next section. + * If choosing anything but the default, finish the installation then navigate to the installation directory and edit `/Workshare/Compare Service/bin/Workshare.CompareService.ServiceHost.exe.config`. Make changes to the below lines. + * ``. Update `localhost` to the server name and `8080` to your port chosen in the installation wizard. + * ``. Update `localhost` to the server name and `8080` to your port chosen in the installation wizard. + * ``. Update `localhost` to the server name and `8090` to the tcp port chosen in the installation wizard. + * ``. Update `localhost` to the server name. + * ``. Update `localhost` to the server name and `8080` to your port chosen in the installation wizard. + * ``. Update `localhost` to the server name and `8090` to the tcp port chosen in the installation wizard. + * ``. Update `localhost` to the server name. + * ``. Update `localhost` to the server name and `8080` to your port chosen in the installation wizard. + * ``. Update `8080` to the http port chosen in the installation wizard. + * ``. Update `8090` to the tcp port chosen in the installation wizard. + +### Setup OpenContent + +Override the applicable Workshare Compare properties (see below) in a `project-placeholders.properties` or `override-placeholders.properties` file in OC or a custom amp. + +### Workshare Compare Properties + +* `oc.workshare.wsdl` - The URL of the Workshare Compare service. The base is the `httpGetUrl `from the previous section with `?wsd` appended to the end. Ex. `"http://server:8781/Comparer?wsd"` +* `oc.workshare.domain` - The domain of the machine/server the Workshare Compare server is installed on. +* `oc.workshare.user`- Username to login to the machine/server the Workshare Compare server is installed on. +* `oc.workshare.password` - Password to login to the machine/server the Workshare Compare server is installed on. +* `oc.workshare.setfile` - Path the the "set file" (ex. WorkshareStandard.set) on the machine/server the Workshare Compare server is installed on **or** local machine. By default, this file is included in the classpath and can be set to `WorkshareStandard.set` +* `oc.workshare.password.encrypted` - Set whether the workshare password has been [encrypted with the TSGEncrypter]({% link content-accelerator/3.7/configure/oc-property-overrides.md %}#encrypting-property-values). This only needs to be set if the password is encrypted. + +### Configure ACA + +In ACA Admin, update the View Versions document action to set "Compare Versions?" to yes. diff --git a/content-accelerator/3.7/configure/limitations.md b/content-accelerator/3.7/configure/limitations.md new file mode 100644 index 0000000000..33f310d901 --- /dev/null +++ b/content-accelerator/3.7/configure/limitations.md @@ -0,0 +1,26 @@ +--- +title: Limitations +--- +This section describes some general limitations of Alfresco Content Accelerator, such as CMIS Mode, Folder Terms Action, and Folder Redact Action. + +## CMIS Mode + +CMIS Mode is experimental and should not be enabled from Application Config options. It may be removed in a future release. + +## Folder Terms Action + +* Documents must have Full Text searchable content. +* Images are not considered for the folder terms action. This action currently is not meant to scale to acting upon a large number of documents. +* Limited to searching for a maximum of 10-20 terms. This actual number can be higher or lower based on server resources. +* Term picklists cannot be dependent upon dynamic input. +* Term results do not update automatically when new documents are added to the folder or existing documents are modified. To see any updates, the user must manually refresh the data in the action UI using the provided **reindex** button. + +## Folder Redact Action + +* Only PDFs or documents with a PDF rendition are possible to redact. +* Only OCR’d PDFs are available to be redacted as part of this action. +* Folders must contain less than 50 redactable documents. Actual number may vary based on environmental factors, but the action currently is not meant to scale to acting upon a large number of documents. + +## Send Combined Collection Email + +Action is experimental but can be configured and supported by Hyland Services. diff --git a/content-accelerator/3.7/configure/notifications-and-notes.md b/content-accelerator/3.7/configure/notifications-and-notes.md new file mode 100644 index 0000000000..0650f90744 --- /dev/null +++ b/content-accelerator/3.7/configure/notifications-and-notes.md @@ -0,0 +1,273 @@ +--- +title: Notifications and Notes +--- + +## Notifications + +### Notification Overview + +Sending notifications is an easy way to alert users or users in groups about a folder or document in an arbitrary fashion. There are no predefined events that send off a notification - when enabled, the user can click the Send Notification action at any time. The user selects the user to notify, an optional due date, and can write a message in a WYSIWYG editor. Separate notifications are created for each user, and an email is sent to each user containing a link to the document or folder and the message. + +Users who have received a notification can either click the link in the email received to view the item or log in to ACA to view all notifications by clicking the appropriate icon in the header of the application. They can then delete the notification. + +### Configuring Notifications + +The following steps should be used to set up notifications. + +Currently only one `sendNotification` form is supported. Future releases may enable trac-specific overrides. + +#### Step 1: Setup the Ad Hoc Form + +Notifications are now sent with information setup in an Ad Hoc Form. The form can have any type of attributes configured, but there are five named attributes that are associated to the Notification action + +Name | Label | Control Type | Notes | +--- | --- | --- | --- | +bpm_assignees | Users | AutoComplete | Repeating dropdown of all users. Can be set to `allUsers` picklist or another if desired +bpm_groupAssignee | Groups | AutoComplete | Repeating dropdown of all groups. Optional, can be omitted if desired. +notificationType | Notification Type | AutoComplete | Dropdown notification classification type. **NOTE** - if the configuration contains a Notification Type field with `name = notification_type` (use the More button next to the field name to check) or any other value other than `notificationType`, it is recommended to follow the steps outlined below this table. +bpm_workflowDueDate | Due Date | DateBox | Suggested due date for the notification. Suggested to configure that the date must be today or in the future. +bpm_comment | Comment | Textarea | Suggested to configure with WYSIWYG option on. + +> **Note:** Only `bpm_assignees` and `bpm_groupAssignee` are required for notification to work. However, if not present in the form the ACA notification interface will still show columns for Notification Type, Due Date and Comment. Any values missing on the form will result in a column that only contains blank values. + +#### Step 2: Setup the Workflow Config + +In the Workflow Config section of the Admin, select the HPI Notification workflow. Add the Ad Hoc form configured above as both the Start Form and View Notification. + +#### Step 3: Setup the Action Config + +In the sendNotification Action Config, there will be an option "Select Form to Display". Select the Ad Hoc form created in step one. + +## External Notifications + +External notifications are available starting with the ACA 3.4 release. Basic workflow task notification support on both Slack and MS Teams is supported. + +### OC Setup + +By default External Notifications are off by default. To turn this on, set the following OC properties within your override properties file. + +```properties +send.external.notifications=true +``` + +### Slack Setup + +#### Step 1: Navigate to Slack API and sign in + +Link to Slack API: [https://api.slack.com](https://api.slack.com){:target="_blank"} + +Click on the tab **_Your Apps_** in the top right corner. If you have not created an app yet, then hit the **_Create New App_** button. Give it a name and select the workspace where you want the application to live. If you already have an app created, then click on it. + +#### Step 2: Customize app Display Information (optional) + +When the app was clicked on, the basic information should have been loaded. At the bottom of this page there is the Display Information section. This gives the ability to customize what the particular app will look like to the user. Go ahead and customize this section now or skip to Step 3. + +#### Step 3: Add a Bot User + +Find the submenu under **_Features_** called **_Bot Users_** and click on it. This will bring up an option to turn on and add a bot user. You can customize the display name and default username if you choose. Also, it gives the option to show that the bot user is always online. + +#### Step 4: Reinstall/Install the app + +If you have not installed the application, now would be a good time to do that to the particular workspace. You can do that by clicking on the **_Install App_** submenu under the **_Settings_** menu. It will also have you choose a channel for the bot to have permissions to post. This is a default channel the bot will post to if a channel is not specified within the post message API call. + +#### Step 5: Set up the app's scopes + +OAuth scopes let you specify exactly how your app needs to access a Slack user's account. Different Slack API calls require different scope permissions. The scope permissions that you need to add are the following: `channels:read, chat:write:bot, users:read, users:read:email`. After adding these, it will need you to reinstall your app. + +#### Step 6: Grab the Bot User OAuth Access Token + +Click on the submenu **_OAuth & Permissions_** under the **_Features_** menu. You should be able to see a **_Bot User OAuth Access Token_**. This will be needed to override the `slack.auth.token` property value in the next step. + +#### Step 7: Override the Slack Properties + +Now that we have the bot user set up, you can now successfully override the properties to get Slack external notifications connected. + +* Locate the `opencontent-override-placeholders.properties` file. It will be located on the /alfresco classpath, for example, `tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent` +* Put the properties `send.external.notifications=true` and `slack.auth.token=xxxx-yourAuthToken`. +* Restart alfresco and the Slack external notification connection should be all set up! + +### MS Teams Setup + +#### Step 1: Navigate to Azure Portal and sign in + +Link to Azure Portal: [https://portal.azure.com/](https://portal.azure.com/){:target="_blank"} + +In the search bar, search for **_App Registrations_**. Click on the **_New registration_** plus button in the top left corner of the view. + +#### Step 2: Register the application (API) + +* Fill out the name field with whatever name you want to give this application. +* Then, fill out who can use this application or access this API. This will depend on use-cases, but typically should be restricted to Single tenant (the company org account). +* Leave the Redirect URI empty, this will not be used for our external notification API. + +#### Step 3: App Overview + +The **_Overview_** tab should be showing right now. Some important variables to note here are the **Application (client) ID** and the **Directory (tenant) ID**. Take note of these two variables, they will be used below. + +#### Step 4: API Permissions + +Navigate to the **_API permissions_** tab on the left menu bar. Click the plus button to **_Add a permission_**. These permissions are the access/scopes you are giving to this API. Good practice is to not give your API more permissions than it needs, these can be added/subtracted at anytime. Go ahead and add the following permissions: + +* Chat.Read +* Chat.ReadWrite +* Group.Read.All +* Group.ReadWrite.All +* User.Read +* User.Read.All +* User.ReadBasic.All +* User.ReadWrite +* User.ReadWrite.All + +#### Step 5: Grant/Request Admin Consent + +You may notice there are some permissions that need Admin Consent. These are the permissions of `Group.Read.All`, `Group.ReadWrite.All`, `User.Read.All`, `User.ReadWrite.All`. If you are not the admin, you will have to get them to grant these permissions. To grant the permissions, follow this [Azure Active Directory documentation link](https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent#grant-admin-consent-in-app-registrations){:target="_blank"}. + +#### Step 6: Authentication + +Click on the **_Authentication_** tab on the left side menu. There are 2 different ways the following configurations can be filled out on this screen depending on if your azure account loads their new or old view for this section. + +##### _"New"_ experience + +New experience is loaded by default. This is Azure's update to some of these views. + +1. Click on the Add a platform. It will ask you to add a redirect URI. We don't necessarily need one for this API, but it's a required field. So give it your application url root/homepage (EX: `http://localhost:8080`). + +2. Leave the Logout Url section blank + +3. Select the check-boxes for the **Access token** and **ID tokens** (this is very important because it lets the application generate a access token to be used within the API calls) + +4. Once that is created, scroll to the bottom of the page to the **_Advanced Settings_** header. Turn this on. We are not using re-direct URI's. That means we are grabbing tokens without user involvement/sign-in window. + +5. Click Save at the top to save all these changes. + +##### _"Old"_ experience + +You can tell if you are on the old, if the button to the right of the Discard says _Switch to the new experience_. + +1. Skip the Redirect URIs section and do not input a logout url. + +2. Under the **_Implicit grant_** section, select the check-boxes for the **Access token** and **ID tokens** (this is very important because it lets the application generate a access token to be used within the API calls). + +3. Click Yes for the **_Default client type_** to treat application as a public client. + +4. Click save at the top to save all these changes. + +#### Step 7: Creation of a Service Account User + +A service account user is needed to send a direct 1:1 message to the user that is receiving the task notification. + +* The admin needs to add an account to the organization/team that should have a name that signifies its purpose, i.e. Service Account. To help set up a new account, see this [Azure Active Directory link](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/add-users-azure-active-directory){:target="_blank"}. + + >**Important:** This user does not need elevated permissions and needs to be apart of the team that the user who is receiving the task notification is in. + + > **Note:** The username and password for the account this will be used in the next step. + +#### Step 8: Encrypt the Service Account User's Password + +This is a valid user within your organization/team's azure directory. So, we need to encrypt the password before adding it to our override property file. + +* The steps to achieving the encryption can be followed [here]({% link content-accelerator/3.7/configure/oc-property-overrides.md %}#encrypting-property-values) + +#### Step 9: Override the Microsoft Teams Properties + +Now that we have the App set up, you can now successfully override the properties to get Teams external notifications connected. + +* Locate the `opencontent-override-placeholders.properties` file. It will be located on the /alfresco classpath, for example, `tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent` +* Put the following properties in this file: + * `teams.team.id=` this is the group id for the Microsoft Teams team. Follow this [article](https://teams.handsontek.net/2019/04/09/how-to-get-microsoft-teams-tenant-id/){:target="_blank"}, but instead of tenant id in the article, grab the **GROUP ID** from the url they show you how to get. + * `teams.app.id=` this is the Application (client) ID from [Step 3](#step-3-app-overview) in the **_Overview_** tab. + * `teams.service.account.username=` this is the username from [Step 7](#step-7-creation-of-a-service-account-user) for the service account user + * `teams.service.account.password=` this is the encrypted password surrounded by "@{}" from [Step 8](#step-8-encrypt-the-service-account-users-password) +* Restart alfresco and the Microsoft Teams external notification connection should be all set up! + +#### Microsoft Graph API Limitations + +* Currently, the [API calls](https://docs.microsoft.com/en-us/graph/overview?view=graph-rest-beta){:target="_blank"} utilized within this integration are limited and in beta. +* The [API call to send a direct message](https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-beta&tabs=http){:target="_blank"} is only supported for work/school accounts and is of the permission type delegated. + * The "Delegated" permission type defines a [on-behalf-of-user permission](https://docs.microsoft.com/en-us/azure/active-directory/develop/developer-glossary#permissions){:target="_blank"}. Essentially a user can only send a direct message to another user within the team. + * In the future, we hope this expands to include the "Application" permission type. The "Application" permission type would allow our application to direct message a user directly, without having to create a Service Account User. + +## Folder Notes and Document Notes + +### Folder Notes + +Folder notes are notes attached to a folder. The default note type is hpi_note. An hpi_note has the following attributes: + +* note_detail: abbreviated note_content <= 3000 characters +* note_type: a classification given to each note, such as "Authority", "Corrspondance, "Procedural", etc. pulled from form support in a note_type picklist +* note_attachment: if the note was created from Document Notes, note_attachment is the objectId of the parent document. Otherwise, it is undefined + +These notes are stored in a hidden folder inside the parent container called .folder-notes + +### Document Notes + +Notes can also be attached to individual documents with the Document Notes action. All document notes are stored in the .folder-notes folder in the parent folder of the document. + +### Configuring Notes + +To configure Folder Notes, navigate to the admin panel > Stage Config > Folder Actions, and find the Folder Notes action in the list of available actions. This action can be configured as either a _Modal_ action or a _Right-Side_ action. + +To configure Document Notes, navigate to the admin panel > Stage Config > DocViewer, and find the Document Notes action in the list of available actions. + +#### Form to Display + +This is the form that will display to the user when editing or adding a note. It's recommended to have a 'createHPINote' form configured that you can use throughout the application (it's not trac-dependent). The object type on the form should be `HPI Note`. Typically, we configure the following properties on the form: + +* Note Type (optional) - sometimes configured as a picklist +* note_content (required) - usually a hidden textarea +* note_detail (required) - usually a hidden textarea + +#### Note Object Type + +The default note object type is "hpi_note". To configure otherwise, replace this value with the appropriate object type. + +#### Note Relationship (required) + +Ensure that the Note Relationship option is configured to : + +`hpi:folder_note (alfresco)` + +## Subscription and Distribution + +Subcriptions and distributions can be utilized to notify users about changes to documents. + +### Subscription + +ACA allows users to subscribe to a document. + +Actions to configure: + +* Subscribe (allows a user to subscribe to a document) +* Unsubscribe (allows a user to unsubscribe to a document) + +Dashlets to configure: + +* My Subscriptions (allows users to see all documents they are subscribed to on the ACA dashboard) + +When a user is subscribed to a document they will receive an ACA notification and an email when the document they are subscribed to is modified in a way that meets the configured notification criteria for the subscription action (for more information see [Configuring Notifications for Subscription and Distribution](#configuring-notifications-for-subscription-and-distribution)). + +### Distribution + +Distribution lists allow users to define (at index time or later) what users and groups should be notified about changes to a document. + +### Configuring Notifications for Subscription and Distribution + +The following properties define when notifications should be sent for subscriptions and distributions: + +```text +# Configuration for the Distributions List and Subscription List behaviors, which will send users and/or groups a notification when a +# property is updated to a given value. The users and groups that will receive the notification are based on +# values on the properties set in the tsg:distributionsAttrs and tsg:subscriptionAttrs aspects. +# The list of QNames of the properties to check. If this property does not exist on the node, no notifications will be sent. +# Example {http://www.tsgrp.com/model/tsg/1.0}status|{tsg.engineering}status +alfresco.notifications.criteriaProperty= +# A pipe separated list of comma-separated lists of values; each value list corresponds to the above property list +# When a node's property is set to one of these values, a notification is sent +# Example: Approved,Effective,Obsolete|Released +alfresco.notifications.criteriaPropertyValues= +# The QName of the attribute that will identify the document in the notification and email. For example, this could be +# the QName for the node name or document number. If the document doesn't have this property the cm:name will be used. +alfresco.notifications.identificationPropQName= +``` + +In summary, these properties allow to configure according to the statament: "when X property changes to value Y I want an email to be sent to subscribed users and I want the document name in the email to be Z property value". \ No newline at end of file diff --git a/content-accelerator/3.7/configure/oc-property-overrides.md b/content-accelerator/3.7/configure/oc-property-overrides.md new file mode 100644 index 0000000000..53375196bf --- /dev/null +++ b/content-accelerator/3.7/configure/oc-property-overrides.md @@ -0,0 +1,43 @@ +--- +title: OpenContent Property Overrides +--- + +When installing and setting up OpenContent, it's important to understand how configuration settings work. + +### Spring Properties Files + +Spring loads properties files into the system in a specific order to allow overriding. Properties are loaded in the following order (last wins): + +1. *-defaults.properties +2. project-placeholders.properties +3. override-placeholders.properties +4. opencontent-override-placeholders.properties +5. opencontent-extension-override-placeholders.properties + +Therefore, if you you want to override a property in one of the defaults, you should place the overridden value in one of the higher level properties files. Technically, it doesn't matter which, as long as the final value is correct for your system. + +* use `opencontent-override-placeholders.properties` for environment specific values (ex: paths, server names, etc.) +* use `opencontent-extension-override-placeholders.properties` for customer specific overrides to a generic AMP build + +### Encrypting property values + +If any of your property values contain sensitive information (for example, a password) you have the option to encrypt them with the `TsgEncrypter`. + +Follow these steps to obtain an encrypted password: + +1. Navigate to a directory that contains the tsgrp.jar file and open a command prompt + * The OpenContent jar is included in the OpenContent AMP and will be deployed to `${alfresco.tomcat.home}/webapps/alfresco/WEB-INF/lib` +2. Execute the following Java command, replacing the name of the jar file if the version has changed, and changing 'myText' with your text string: + * `java -classpath ./tsgrp-2.0.3.jar com.tsgrp.util.TsgEncrypter myText` + +Once you've retrieved the encrypted property value, set it in the properties file between '@{' and '}' like so: + +```properties +my.property=@{the-tsg-encrypted-value} +``` + +> **Note:** When utilizing this token strategy with a custom property in an extension AMP, the property must be injected via Spring for the value to be read properly by the extension code. + +Example: + +If the property you want to encrypt is `password=sensitive` you would encrypt your value `sensitive` and set password to `password=@{}` This pattern allows the decrypter to recognize that the property value is encrypted. diff --git a/content-accelerator/3.7/configure/other-aca-admin-configs.md b/content-accelerator/3.7/configure/other-aca-admin-configs.md new file mode 100644 index 0000000000..da5033598d --- /dev/null +++ b/content-accelerator/3.7/configure/other-aca-admin-configs.md @@ -0,0 +1,406 @@ +--- +title: Other ACA Admin Configs +--- + +## Related Objects + +### Relation Types + +#### Relation Based + +Relation-based related objects should be used when you want to display related content based on an actual repository relationship or association. For example: + +* When displaying a document, also display the emails that the document has been attached to. +* When displaying an email, display the list of documents that were attached to the email. + +Since ACA creates a relationship between the email (parent) and the attached documents (children), a relation-based Related Objects module makes sense. + +There are three types of relation-based Related Objects: + +* Parent - show the parent(s) of a relationship, where the current document or folder is the child. Using the email example, this relationship would show the emails that a document was attached to. + +* Child - show the child(ren) of a relationship where the current document or folder is the parent. Using the email example, when viewing an email, it would show the documents attached to the email. + +* Sibling - show other objects that share a parent with the current document or folder. Using the email example, if looking at a document that was attached to an email (or emails), it would show any other documents attached to the same email (or emails). + +#### Query Based + +Query-based related objects should be used when no repository relationship is available, but you can construct a simple query to find related objects. For example, say we have: + +* A folder subtype called `Policy` that has a policy_number attribute +* A folder subtype called `Claim` that has claim_number and policy_number attributes + +In the above case, we could setup a query based relationship to show related claims. You would set up a query-based relationship that looks for `Claim` objects that have a policy_number equal to the policy_number of the current folder loaded in the stage. + +#### Folder Tags + +Folder tags (also known as categories) sort child documents on the stage based on a repeating attribute on documents. Tags can be used in View All Documents to filter documents by category as well as in related objects to list documents under fake sub folders keyed by the values of the `folder tags` attribute. The default attribute is `hpi_folderTags`. + +If you want to change the folder tags attribute from the default attribute, edit your property overrides file in OC and set the attribute `hpi.tags.trackingattr` to the desired attribute. + +**Notes** To get Folder Tags to work properly: + +* The base `Folder` type must be configured in the Object Type Config (OTC) +* The base `Folder` (or whatever folder type you are using in your trac) must be configured to be a container in the OTC. This defaults to false for all types. +* You must add `hpi:folderTaggable` as a mandatory aspect on your target document type(s). This sets up the default repeating attribute expected by `hpi.tags.trackingattr`. + +#### External Relation + +This configuration should be used when a relation is stored in an external service. It requires the development of a custom OpenContent endpoint. The current implementation assumes that the endpoint configured is an endpoint in OpenContent that returns an array of OpenContentObjects. The custom OpenContent endpoint makes a call to one or more external services and uses information from the response to determine which respository objects to display. + +### Related Objects Configurable Options + +#### Enable Auto Expand + +Automatically load this relation when the stage loads. If this is set to 'false' the user must click an expand button to load the results of the relation. + +#### Enable Info Block + +Next to each result, show an infoblock with the attributes configured in admin. + +#### Enable Show Annotations + +Next to each result, have a link to Alfresco Enterprise Viewer for that document. + +#### Enable Object Icon + +Show an icon next to each object that matches the content type. + +#### Enable Dual Screen + +Have a button next to each result to view it in 'dual screen' mode with the current doc. + +#### Number of Results Displayed + +Set the number of results visible on loading of the relation, if there are more than this, a user must click to see them. + +#### Export Doc + +Show an icon next to document objects to download them directly without having to navigate to the document in the stage. + +#### Expand With Folder Tags + +When ON, documents are categorized by the Folder Tag value on each document. Expanding the folder will show one "sub-folder" for each Folder Tag and the documents with that Folder tag will be displayed under the corresponding subfolder. +See this example with the config on, these folders dont actually exist but are displayed based on the folder tags on the documents in the top level folder. + +![Exand Folder Tags On]({% link content-accelerator/images/expand_folder_tags.png %}) + +When OFF, expanding the folder will simply display documents and subfolders as they exist in the repository. +See this example of expanding the same folder with the config off. + +![Exand Folder Tags Off]({% link content-accelerator/images/expand_folder_tags_off.png %}) + +## Picklists + +The following sections overview the different types of picklists available in ACA. + +### Simple Picklist + +In the ACA Admin's Picklist Config section, adminstrators can configure "Simple" picklists. A simple picklist is a list of labels and values managed directly in the ACA admin. Each picklist can be ordered at will by the ACA administrator and can have a default value. + +Note - ACA Simple picklists should **not** be used for picklists that have many (20+) rows or that can cascade from other picklists. + +### OpenContent Picklist + +OpenContent Picklists can be overriden in a custom Amp in the `opencontent-extension-override-config.xml` file. + +All picklists are configured using a Spring `MapFactoryBean`, as follows below. Note that the bean id, class, and property name must match this for your picklist bean to be picked up: + +```xml + + + + + + +``` + +Each map entry describes an OC picklist, using the following syntax: + +```xml + +``` + +The key **must** be unique across all OC picklists (including other picklist types such as Simple Picklists). The text entered for the picklist value will depend on the type of OC Picklist you're trying to create. + +`#` symbol + +If a picklist is not prefixed with a `#`, errors will occur attempting to use it. An example is below: + +```xml +#SELECT name FROM areas;" /> +#lucene|tsg:documentNumber|TYPE:tsg\:document|tsg:documentNumber"/> +``` + +#### Static OC Picklists + +OC's picklist parsing can interpret static picklists successfully. Current implementation supports a mixture of values and labels. Simply separate values and labels with a ",", and separate separate picklist entries (made up of just a value, or of a value and a label) with a ";". If you want your picklist label or value to contain a "," or a ";", escape a character with "\\," or "\\;". + +>**Note:** It is assumed that the string before the comma is the label and the string following the comma is the value. ("Item_Label,Item_Value;Item_Label_2,Item_Value_2") + +Some examples of valid static picklist configurations: + +* `"Indiana,IN;Illinois,IL;Ohio,OH"` +* `"Apples;Oranges;Bananas"` +* `"Short;ReeeeeaaaaaalllllllyyyyyLooooonnnggggg,RealLong"` +* `"Larry\\, Moe\\, Curly,threeStooges;Lana\\, Archer\\, Cyril,archerCharacters"` + +#### Alfresco OC Picklists + +There are a number of ways to setup OC picklists in Alfresco: + +##### Lucene Picklists + +Basic set-up for all entries should be in the following format: + +`lucene|labelColumn,valueColumn|query|sortAttr` + +Or, to create a label by concatenating multiple attributes: + +`lucene|labelAttr0+' '+labelAttr1+' '+labelAttr2,valueColumn|query|sortAttr` + +where the quotes can include any string to concatenate between attributes. + +In the above setup there are four parts: + +1. The language to use for searching - currently only lucene queries are supported. + +2. The label and value columns to use. The value column is optional. + +3. The actual query to execute. + +4. The attribute to sort the returned results by (optional). + +Here is an example OC picklist using lucene: + +```xml + + + + + + + + + + + + + + + + + + +``` + +Cascading queries are configured using `$prop_oc_name$` syntax in the picklist value. + +For more detailed information on writing queries. The [Apache Lucene Syntax page](http://lucene.apache.org/core/2_9_4/queryparsersyntax.html) is also helpful, but note there may be differences as the parser it uses may be different. + +##### Datalist Picklists + +Picklists with a datalist source may be configured if the Alfresco and Share repositories as long as you have the TSG Cascading Value Assistance Alfresco and Share AMPs installed. This configuration option is useful because this allows business users to maintain picklist values without IT involvement. + +Steps to create the datalist: + +1. Once the TSG Datalist AMPs have been installed navigate to Share. Navigate to a site and open up the "Data Lists" tab. (This might need to be configured using the site settings tool located in the upper right corner). + +2. In the upper left hand corner click the "New List" button. + +3. Select one of the Value Assistance lists and give it a title then click save. + +4. Add as many items as you would like. + +After a datalist has been added in Alfresco or Share, use the following syntax to use the values as a picklist: + +`datalist|datalistName|labelColumn,valueColumn|cascadingQuery` + +The above value has four parts: + +1. `datalist` - tells OC that this picklist is driving from a datalist + +2. The name of the datalist + +3. The label and value columns to use. This section is optional. If omitted, OC will return the label and value from the first level of the datalist. + +4. Cascading query to use for multi-level datalists. This section is optional, see below for details. + +For non-cascading datalist picklists, OC will automatically look for the label and value columns and return them sorted by the label column. For example, say we have a datalist named 'Business Departments', the picklist entry config is as simple as: + +```xml + +``` + +When using a cascading picklist against a datalist, using the above syntax will populate the picklist with the level 1 values and labels. If you want to use the other columns of the data list, use a lucene query to get the desired result. + +For example, say we change the above datalist to be a cascading list from a 'region' column. Region is the level 1 value, and business department is the level 2 value. Your picklists would then look like this: + +```xml + + +``` + +In the above query, the $ prefixed tokens should refer to the `OC Name` of the attribute you're cascading from. + +##### Users in Group Picklists + +A `usersInGroup` picklist was created to allow querying users in a given Alfresco group. The syntax is simple: + +`usersInGroup|groupName|query|format` + +For example, to get users in the Wizard Contributors group, you could define an OC picklist like the following: + +```xml + +``` + +If you want to list all users in a group and ignore any queries(in other words, not have an async picklist), you can simply omit the last 2 parameters, as follows: + +```xml + +``` + +The currently supported tokens are `$firstName$`, `$lastName$`, and `$userName$` for the format. + +There is currently no control over the picklist label/value or sorting. The defaults are: + +* Label = `FirstName LastName` +* Value = `userId` +* Sorting = however Alfresco's `serviceRegistry.getAuthorityService().getContainedAuthorities()` returns users +* Depth - users in the given group and any subgroup are returned + +### DataDictionary Picklist + +DataDictionary picklists will get their values from the underlying data model. + +> **Note:** DataDictionary picklists are reserved for future use and are not currently supported. + +### Configuring Picklists in ACA + +#### Create your Picklist + +1. In the aca admin under the Picklist configuration section, enter the name for your new picklist. This name is not visible to the user and must be unique across all picklists in ACA. This name *can* match the name of your OC picklist. + +2. In the dropdown, choose the type of picklist you would like to create. + +* Simple Picklist - your picklist will be added immediately to the list of picklists. Click it to begin configuring your picklist. +* OpenContent Picklist - you will now see a dropdown appear with the name of the keys in your `ProjectPicklists` bean you created (see above). Select the picklist and click 'Add'. + +3. If you select a picklist from the list of picklist, you can see all the possible values for the picklist. You can choose a value in the list to be the default value of the picklist. + +4. A select box allows you to choose the Picklist Load Type: + +* **Normal** - When the view is rendered, the picklist's values will be queried. While this ensures the most up-to-date information, very large picklists or many picklists on a single view can cause the application to slow down. +* **Async** - Picklist values are not queried until the user enters three characters OR the dropdown arrow is clicked (see below for more information about the dropdown arrow). Values are filtered on the server side, so your picklist query needs to account for this. Async picklists are recommended for very large picklists or cases where you have a lot of picklists on a view at once. See the `Configuring a Picklist on a Form` section below for more information about configuring async picklists. +* **Cache at Login** - Picklist values will be cached at login and will remain in browser memory until the user logs out. This means that cascading picklists cannot be cached. Large picklists should not use this setting. + +5. When finished configuring your picklists, click 'Save Config' to save the changes. + +To delete a picklist, click the x next to the name of the picklist in the list of picklists and click 'Save Config' to save the changes. + +#### Configuring a Picklist on a Form + +1. In Form Config, select a form and click/add the Object Type you would like to work on. + +2. Select/add the attribute you would like to tie to a picklist. Change the control type to a type that supports picklists (ex: DropDown, AutoComplete, RadioButton, Checkbox) - AutoComplete is recommended. + +3. Click the options dropdown and select the desired picklist. + +##### Configuring a Cascading Picklist + +1. In the options dropdown, click the 'cascading' option. A 'Depends On' dropdown will display the type's attributes. Choose the attribute(s) that this field should cascade from. + +2. When a user attempts to fill out a form with a cascading picklist, the 'cascaded to' field will only be editable if all the attributes that the field depends on have values. + +##### Configuring Async Picklists + +Since the user is forced to type characters into the Autocomplete box before the query is fired, we want to filter the results on the server side based on the value typed in. A special token called `query` is passed when an Async picklist fires. This token should be used in the query, similar to a cascading query. For example: + +```xml + +``` + +In the above query, we are filtering vendors with the name that *starts with* whatever the user has typed. We can easily change this to a *contains* search by updating the query to: `... vendor name like '%$query$%'`. + +**Dropdown Arrow:** By default, the Autocomplete field that loads an async picklist will not have a dropdown arrow that allows the user to load all values. ACA defaults this way since typically an async picklist has a lot of values (10,000+). + +In this case, there is never a time where you want the user to load all values in a dropdown since it would be a) slow, and b) not all that helpful. However, there are some cases where you would want the dropdown arrow. One example would be a form in ACA that has many medium-size queries. Rather than having all of them fire on page load, or cached in memory upon login, it may be better to make these async picklists. In this case, it's not harmful or user-unfriendly to load all values. To enable this, check the 'Allow Dropdown' checkbox in the Options section. This checkbox only affects the control if it is an Autocomplete. For performance reasons, when 'Allow Dropdown' is enabled, the async picklist the only loads first time the dropdown arrow is clicked. + +##### Configuring Growable Picklists + +A growable picklist should be used when you want to allow the user to enter values that are not already in the picklist. Growable picklists are only available for the 'Autocomplete' control type in ACA. Simply check the 'Growable' checkbox in the Options dropdown to allow users to enter arbitrary values. + +When using growable picklists, keep in mind that your query must account for the new values entered in the field. For this reason, you'd only use the growable option with OpenContent picklists. For example, a growable picklist entry may look like: + +```xml + +``` + +In this example, we're getting the distinct `region` value from all project folders in the system. If an arbitrary value is entered, it will be retrieved in the next query. + +From a governance standpoint, be careful with growable picklists as typos and other human errors can cause the list to grow unwieldy. + +## Limiting User's Trac Access + +### How To Limit a User's Trac Access + +As of ACA 2.5, Trac Security can be configured based on repository groups in the ACA admin. + +1. Navigate to the ACA Admin and click "Trac Security" from the menu on the left + +2. Select the trac(s) you would like to secure from the list of tracs on the left hand side of the config + +3. Click on the new trac bar that appeared and a list of groups will appear + +4. Select all groups you would like to have access to this trac and save the config - if you would no longer like to secure the trac, click the "remove trac security" button instead + +Now, every time a user tries to access a secured trac, the application will check the Trac Security config to see if they a part of a group that is allowed to access the trac. If the user has no tracs they are allowed to access, they will be logged out of the application and be notified to contact their system administrator. + +## Collections + +Put simply, a collection is an object that contains associations to none, one, or many nodes in the repository. Collections allow users to group unrelated objects into identifiable sets. + +Collections are created in ACA through the "Add To Collection" action. In either Search or Collections view, select one or more items and select this action. Once the modal appears, you can either choose to add to an existing collection or to create a new collection. If creating a new collection, you must select whether this collection will be public or private. As simple as it sounds, private indicates that your collection cannot be viewed by any other users in the repository, and public indicates it can be found by all users. + +To view the collections you create, go to Collection view and select the "My Collections" tab. (WARNING: If relying on Solr to search, be sure to wait 5-10 seconds after creating your collection before trying to view it. Solr indexing causes this process to be rather slow.) You can change the visibility (public vs. private), change the label, or delete a collection you own. + +To search public collections of other users, use the "Search Collections" tab in Collections view. + +## DocInfo View {#docinfo-view} + +The purpose of this feature is to display an additional information pane that can contain specified attributes and associations for documents that abide by restrictions that are configured through ACA Admin. In order for this informational pane to show up, the view must be enabled in the ACA Admin and the document being opened in the docviewer must match the given configuration restrictions. + +### Configuring the DocInfo View + +In the ACA Admin, navigate to `Views->Stage` and select the trac you would like to configure. In `Configure Stage Modules`, select `DocViewer` and find the `Doc Info` section switch. By default, this view is turned off. When enabled, there are three switches: `Display Attributes`, `Additional Restrictions`, and `Display Associations`. + +To display document attributes of a specific object type, enable the `Display Attributes` view and select an object type from the dropdown. This object type will be used as the first possible set of restrictions when determining whether to display the Doc Info View for a document. The available attributes list will show all attributes configured through the `Object Type` config in `Application Setup`. Select which attributes you would like to be displayed by moving the attributes to `Selected Attributes`. + +The second possible set of restrictions that can either be used alone or in addition to the prior section’s restrictions is `Additional Restrictions`. If enabled, you will need to select a picklist that contains key/value pairs that correspond to the properties and values that will be used as a filter on the documents being opened up. This picklist’s key value pairs are specified such that if the properties of the document being viewed matches the property values in the picklist, the document info pane will display. To create a picklist go into `Application Setup->Picklists` in the ACA Admin and create a new simple picklist. The labels and values of the picklist should match the name of the property that you want to check and its corresponding value. For example, if you only want the document info pane to appear for documents that are outlook emails you would put: + +```plaintext +Label: mimeType +Value: application/vnd.ms-outlook +``` + +The third switch allows you to display links to documents associated with the document being viewed. Once enabled, supply the name of the association that links the document you are viewing to the documents you would like to see links for. For example, if you input `hpi:emailed` in the textbox, all the documents linked to the document you are viewing with the `hpi:emailed` aspect will appear in the document info pane. + +After configuring these three possible sections of the Doc Info View, your document should show an informational pane with your selected attributes, if `Display Attributes` is enabled, and if `Additional Restrictions` is enabled it should only show up for documents that also have properties that correspond to those key/value pairs. Finally, if `Display Associations` is enabled and configured, it will show any associations that match the specified association type for that document. + +## Table View Indicator Icons + +In table view, it's possible to place icons in the table based on result data. This can be useful to display extra information to the user at a glance. Before configuring the icons, ensure you have configured table view to include the correct columns for each type you're displaying to the user. + +To configure the icons, open the table view config. Expand the type you would like to apply icons to. Go to the indicator icons section and add the icon. The various sections are described below: + +* *Show* - type in the glyphicon name here +* *next to* - select the attribute you want the icon to appear next to in the table +* *if* - this section allows you to control when the icon appears + * *Choose Attribute* - select an attribute in the table + * *operator* - the following operators are available: + * *Matches* - show the icon if the attribute matches a given regular expression + * *Equals* - show the icon if the attribute equals a given value + * *Exists* - show the icon if the attribute is not null or blank + * *Regex or value* - if you're using Matches or Equals, type the regular expression or value here +* Hover Text - optional hover text for the icon when it appears diff --git a/content-accelerator/3.7/configure/supported-languages.md b/content-accelerator/3.7/configure/supported-languages.md new file mode 100644 index 0000000000..2f9c88ef65 --- /dev/null +++ b/content-accelerator/3.7/configure/supported-languages.md @@ -0,0 +1,11 @@ +--- +title: Supported languages +--- + +* DE - German +* EN - English +* ES - Spanish +* FR - French +* IT - Italian +* JA - Japanese - `This Language pack is presently experimental and may not always produce the desired results.` +* NL - Dutch diff --git a/content-accelerator/3.7/develop/content-accelerator-for-claims-management.md b/content-accelerator/3.7/develop/content-accelerator-for-claims-management.md new file mode 100644 index 0000000000..128670a1d5 --- /dev/null +++ b/content-accelerator/3.7/develop/content-accelerator-for-claims-management.md @@ -0,0 +1,72 @@ +--- +title: Content Accelerator For Claims Management +--- + +## Integrations + +The below integration point can be used from Guidewire, Duck Creek, Salesforce, or any custom system to allow for integration from these systems to create a claim and launch users directly into the claim folder. A typical integration involves generating a URL link on the existing interface that can be put into an iframe or launch a new tab/window that takes the user directly into the claim folder. It will commonly pass in some key metadata from the claims data system to populate and update the claim info each time it is launched. + +![Img Txt]({% link content-accelerator/images/cached-repoinsurancesystemintegrationfull.png %}) + +### REST API + +#### Create/Update a Claim Folder and Navigate to the Claim + +* **URL** +`/claim` +* **Method** +`GET` +* **Url Parameters** +**Required:** +`claimNumber=[claim number of folder to fetch/create/update]` +**Optional:** +Additional parameters can be passed. These parameter will be set on the claim folder if one exists, the matching parameters will be updated on the claim folder. All properties on the claim folder are valid parameters, below are two samples. +`lossDate=[the Date of Loss]` +`claimOwner=[the name of the claimant]` +* **Data Parameters** +None +* **Success Response** + * **Code:** 200 + * User will be routed to claim folder within the Content Accelerator +* **Sample Call** +Expected Result - claim folder created/updated for claim number 111111 and the user is routed to that folder. The claim folder has its attributes set to whatever values are passed in. + +> `https://{server}/ocms/claim?claimNumber=8005882300&claimOwner=Joe%20Claimant&lossDate=2020-05-15&participants[]=Joe%20Claimant&participants[]=Slipping%20Jimmy&policyNumber=8675309` + +* All Fields Available + * claimNumber + * claimOwner + * policyNumber + * insuredName + * participants[] (This is a repeating field, so must be passed in as an array, each time the key should be repeated) + * lossDate + * reportDate + * closeDate + +> **Note:** +> +> * Dates should be passed in in the following format: YYYY-MM-DD. +> * Custom fields in your object model that extend the "claimDocument" can also be passed in. Example: `customModel:myCustomAttribute` would be passed in as `&myCustomAttribute=MyValue`. + +### Default Claim Properties + +The following properties are defaulted for the claims accelerator. This may be something you want to override for different model types. + +```plaintext +#the oc name of the folder type for the claim as defined in the data model +insurance.dataModel.folderType=insurance_claimsFolder + +# the oc property associated with the folder's name (can remove the model type) +insurance.folder.nameProperty=claimNumber +# comma separated list (no spaces before/after property) of oc names required when creating a new object +insurance.folder.requiredProperties=claimNumber +``` + +#### Modify these Properties + +To do this, create the file `opencontent-override-placeholders.properties`. It will need to be located on the `/alfresco` classpath, for example, `tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent`. Put the updated properties in there. + +Two things to note with this: + +1. This file will win out on any other property files, even ones in the custom amp. For this reason, if you are using a custom amp, it is better to override the properties in the AMP than this file. +2. You will likely need to create the `module/com.tsgrp.opencontent/` folders. diff --git a/content-accelerator/3.7/develop/content-accelerator-for-pnp-management.md b/content-accelerator/3.7/develop/content-accelerator-for-pnp-management.md new file mode 100644 index 0000000000..73078051be --- /dev/null +++ b/content-accelerator/3.7/develop/content-accelerator-for-pnp-management.md @@ -0,0 +1,677 @@ +--- +title: Content Accelerator for Policy and Procedure Management +--- + +## Typical PnP Backend Configuration Points + +While the Content Accelerator administration console provides powerful UI-based configurations, sometimes back end configurations are desired. Typical configuration points include: + +### Update the Change Request Form and Workflow + +Form and workflow updates are made in the WizardAdmin application. See the [Admin Guide]({% link content-accelerator/3.7/configure/admin-guide.md %}#activewizard) for more information. + +### Extend Quality Document Type + +#### Extend Quality Document Type (Before ACA version 3.5) + +The default Quality Document object type is the out-of-the-box available controlled document type. If you wish to add additional properties or aspects to your Policy and Procedure solution, you can extend the quality document type using the following steps. + +In a custom Alfresco AMP, define your custom Alfresco object model, then do the following: + +1. Extend the `aw:qualityDocument` type in your object model. + +```xml + + Sample Document Type + aw:qualityDocument + +``` + +You can define whatever additional properties, aspects, associations etc that you wish on your custom object type. + +1. You'll need to import the `aw` namespace - `` + +2. Update your dictionary import bean to depend on the `com.tsgrp.openContent.dictionaryBootstrap` bean, eg below: + +```xml + +``` + +In addition to the above steps in your custom AMP, you'll need to configure the `opencontent-override-module-context.xml` to recognize your new custom type. + +1. Define the `tsgQualityDocBehaviours`, `tsgControlledDocVersionPolicies`, and `permissionsModel` beans in the `opencontent-override-module-context.xml`. + +1. Add the `acme:document` object type to the `validDoctypesForTSGVersionControl` property lists for the first three beans. + +1. Add the `acme:document` object type to the `permissionsModel` bean. + +1. Add the `acme:document` object type to the `WizardQualityDocLifecycleApplicableTypes` bean in the `opencontent-override-config.xml`. + +For the three steps above, see the below for example configuration: + +```xml + + + + + + + + + + + + + aw:psi + aw:controlledDocument + aw:qualityDocument + acme:document + + + + + + + + + + + + + + + aw:psi + aw:qualityDocument + aw:controlledDocument + acme:document + + + + + + + + + + + + + + + Quality Document + aw_legacyQualityDocument + acme_document + + + +``` + +#### Extend Quality Document Type (ACA version 3.5 and above) + +The default Quality Document object type is the out-of-the-box available controlled document type. If you wish to add additional properties or aspects to your Policy and Procedure solution, you can extend the quality document type using the following steps. + +In a [custom Alfresco AMP]({% link content-accelerator/3.7/develop/extension-content-accelerator.md %}) (see what is expected of a custom ACA AMP and how to set it up properly), define your custom Alfresco object model, then do the following: + +1. Extend the `aw:qualityDocument` type in your object model. + +```xml + + Sample Document Type + aw:qualityDocument + +``` + +You can define whatever additional properties, aspects, associations etc that you wish on your custom object type. + +1. You'll need to import the `aw` namespace - `` + +1. In the custom Amps module-context, override the `com.tsgrp.openContent.dictionaryBootstrap` bean and add your custom model [here]({% link content-accelerator/3.7/develop/extension-content-accelerator.md %}) + +Next in your custom amps opencontent-extension-override-module-ctx.xml file + +1. Define the `tsgQualityDocBehaviours`, `tsgControlledDocVersionPolicies`, and `permissionsModel` beans. + +1. Add the `acme:document` object type to the `validDoctypesForTSGVersionControl` property lists for the first three beans. + +1. Add the `acme:document` object type to the `permissionsModel` bean. + +1. Add the `acme:document` object type to the `WizardQualityDocLifecycleApplicableTypes` bean in the `opencontent-extension-override-config.xml`. + +For the three steps above, see the below for example configuration: + +```xml + + + + + + + + + + + + + aw:psi + aw:controlledDocument + aw:qualityDocument + acme:document + + + + + + + + + + + + + + + aw:psi + aw:qualityDocument + aw:controlledDocument + acme:document + + + + + + + + + + + + + + + Quality Document + aw_legacyQualityDocument + acme_document + + + +``` + +### Extend AW PSI Type + +The default Page Set Instance object type is the out-of-the-box available type for documents created via wizard form. If you wish to add additional properties or aspects to the ootb PSI for the Policy and Procedure solution, you can extend the aw:psi type using the following steps. + +In a custom Alfresco AMP ( [See]({% link content-accelerator/3.7/develop/extension-content-accelerator.md %}) on what is expected of a custom ACA AMP and how to set it up properly), setup a custom Alfresco object model, then do the following: + +1. Extend the `aw:psi` type in your object model. Example: + + ```xml + + Sample Page Set Instance Type + aw:psi + + ``` + + You can define whatever additional properties, aspects, associations etc that you wish on your custom object type. + + You'll need to import the `aw` namespace - `` + +2. In your custom amps `opencontent-extension-override-module-ctx.xml`, define the `tsgQualityDocBehaviours` and `tsgControlledDocVersionPolicies` beans and add your custom object type to the `validDoctypesForTSGVersionControl` property list for each bean. Example: + + ```xml + + + + + + + + + + + + + aw:psi + aw:controlledDocument + aw:qualityDocument + hy:psi + + + + + + + + + + + + + + + aw:psi + aw:qualityDocument + aw:controlledDocument + hy:psi + + + + + ``` + +3. In your custom amps `opencontent-extension-override-module-ctx.xml`, define the `permissionsModel` bean and add your custom type to the bean. Example: + + ```xml + + + + + + + + ``` + +4. In the `opencontent-extension-override-config.xml` add your custom type to the `WizardFormLifecycleApplicableTypes` list bean. Example: + + ```xml + + + + + Page Set Instance + simple_cr + hy_psi + + + + + ``` + +5. Once the updates to the custom AMP have been deployed, you can now add your custom type to the Object Type Config in the ACA admin. Locate the Object Type Config in the ACA Admin interface, click **Add Type**, and select your new object type from the list (ex: `hy_psi`). Once selected, change the `container` to `Wizard`. Save the config. + +6. You can now use this type as the Instance type for a wizard form. Login to the Wizard Admin interface. Create a new form. You will be prompted for an Instance Type. Select your new type. + +You can find additional information on [configuring Active Wizard forms]({% link content-accelerator/3.7/configure/activewizard.md %}) + +### Modify Default Security Settings + +The Policy and Procedure solution includes a dynamic security model that allows documents to be secured independently based on lifecycle state. To override the existing security settings, override the following beans in the `opencontent-override-module-context.xml` (or the `opencontent-extension-override-module-ctx.xml` if using ACA 3.5 and above). This example extends the above `acme:document` example of a custom object type extending the `tsg:qualityDocument` object type, so please follow those steps above first. + +1. Update the `permissionsModel` bean with a new value ref for the `acme:document` type (eg `permissions_acme_document` in the below example) + +```xml + + + + + + +``` + +2. Create a `permissions_acme_document` bean and update its value refs to point to new permission sets, as needed. If we want the subtype to simply follow the exact permissions as the out of the box parent, simply set the permissions model to the existing permissions, likely `permissions_aw_quality_document` for document subtypes and `permissions_aw_psi` for subtypes. However, if we want to make changes for our subtype, see the below example where the Superseded permissions are changed for a document subtype. + +Original permission set: + +```xml + + + + + + + + + + + +``` + +Updated permission set + +```xml + + + + + + + + + + + +``` + +3. Lastly define the new custom permission. + +Original permission setting + +```xml + + + + +``` + +Customized permission setting + +```xml + + + + + +``` + +A full reference of the permission sets granted is listed here: + +`ocPermissionDefinitions.xml` + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +If you wish to define your own custom permissionSets and permissionGroups, see [Permissions and roles Extension Point]({% link content-services/latest/develop/repo-ext-points/permissions.md %}) for more information. + +Once a custom permissionSet is defined and enabled via your custom AMP, it can be referenced in the customized ACA permission configuration. + +### Modify Only Properties + +In some cases, you may only want to override some of the default properties of the pnp accelerator. You do not need an entire custom AMP to do this. Instead you can create the file `opencontent-override-placeholders.properties` on the /alfresco classpath, for example, `tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent` and put the overridden properties in this file. + +Two things to note with this: + +1. This file will win out on any other property files, even ones in the custom amp. For this reason, if you are using a custom amp, it is better to override the properties in the AMP than this file + +2. You will likely need to create the `module/com.tsgrp.opencontent/` folders diff --git a/content-accelerator/3.7/develop/extension-content-accelerator.md b/content-accelerator/3.7/develop/extension-content-accelerator.md new file mode 100644 index 0000000000..dd64a6ea65 --- /dev/null +++ b/content-accelerator/3.7/develop/extension-content-accelerator.md @@ -0,0 +1,36 @@ +--- +title: Extension Content Accelerator (Custom Amp) +--- + +The Extension Content Accelerator is a generic content accelerator for adding custom configurations and code to an existing accelerator. + +## How to add the Extension Content Accelerator onto existing Accelerators + +There are a few requirements that your custom AMP must meet to work with the existing accelerators. + +1. The AMP configuration and code must reside under `alfresco/module/com.alfresco.aca.accelerator.extension` to be properly picked up +2. Any overrides for ACA properties must reside in a file named `opencontent-extension-override-placeholders.properties` +3. Any overrides or additions to the ACA bean configurations need to reside in a file named `opencontent-extension-override-config.xml`. **Note:** This file can reference other xml config files but ACA will only specifically look for this file. +4. Name the module context file for the extension `opencontent-extension-override-module-ctx.xml` + +### How to add custom Alfresco models into the custom amp + +To add custom alfresco models you will need to define a bean that has a parent of `dictionaryModelBootstrap` and depends-on `dictionaryBootstrap,com.tsgrp.openContent.dictionaryBootstrap` in the aca extension accelerators module context file. This bean will need to extend any models that other accelerators would need. For instance, this is what it might look like to add onto the claims or pnp accelerators: + +```xml + + + + alfresco/extension/model/customModel.xml + + + +``` +When you add a new document type extension for use in Alfresco Content Accelerator, we recommend including the `tsg:renditioned` mandatory aspect. This aspect provides streamlined handling of PDFs renditions for viewing and includes: + +* Immediate renditioning to PDF upon document upload or version +* Separate renditions for each version of the node in Alfresco + +> **Note:** In many ACA Policy and Procedure implementations, dedicated per-version renditions are a regulatory requirement. + +If, however, the `tsg:renditioned` aspect is not desired, or the model already exists and cannot be updated, it is possible to turn on view time renditioning in the [Document Viewer]({% link content-accelerator/3.7/configure/admin-guide.md %}#document-viewer) config in the Stage. \ No newline at end of file diff --git a/content-accelerator/3.7/index.md b/content-accelerator/3.7/index.md new file mode 100644 index 0000000000..e50fcd0ffb --- /dev/null +++ b/content-accelerator/3.7/index.md @@ -0,0 +1,150 @@ +--- +title: Alfresco Content Accelerator +--- + +Alfresco Content Accelerator (ACA) provides a **no-code**, **streamlined interface for fast implementations**. It focuses on quickly building out **business-specific use cases** with reduced reliance on scarce IT and technical support resources, enabling efficient document processing on Alfresco Content Services (ACS). + +ACA enables customers to view, search, and manage their content from a friendly and simple modern front-end interface. + +There are pre-configured “accelerators” on top of ACA that act as default configurations, or a starting point that the customer, or our services team can tweak to the customer’s unique needs through the no-code configurable administration interface. + +These accelerators are: + +* [Claims Management]({% link content-accelerator/3.7/index.md %}#claims-management) +* [Policy and Procedure Management]({% link content-accelerator/3.7/index.md %}#policy-management) +* [HR Employee File Management]({% link content-accelerator/3.7/index.md %}#hr-file-management) + +More information is included below for the available accelerators. ACA is available for on-premises customers as well as customers in the Alfresco Cloud PaaS. + +With the no-code configurable nature of ACA, the interface can be streamlined for other scenarios. ACA has been deployed in production for customers with the following derivative scenarios: + +* Accounts Payable / Invoice Management +* Case Management +* Digital Asset Management / Digital Archives +* eForms and dynamic workflow +* Engineering Project Management +* Medical Claims +* Land Management Document Management +* Simple Search and View Interface + +Alfresco Content Accelerator can be integrated with Alfresco Enterprise Viewer to provide high-speed and secure viewing of document, video and audio content with team collaborative annotation, redaction and other image manipulation functionality. + +See the picture below for a visual representation of how these products fit together: + +![Content Accelerator and Enterprise Viewer overview]({% link content-accelerator/images/aca-aev-overview.png %}) + +>**Note:** The name Alfresco Content Accelerator (ACA) has been chosen by Alfresco when productizing the OpenContent Management Suite. + +## Benefits + +Overall Alfresco Content Accelerator benefits: + +* **User efficiency** - the ability to streamline the interface for a particular business need and business group, combined with advanced document manipulation tools allows for greater user efficiency by removing clutter and ensuring that only relevant information and actions are presented to the user. +* **Quick time to value** - The accelerator templates provide quick time to value with deployments at a fraction of the cost of custom development efforts. +* **Flexibility** - business SME users can be trained to configure the interface through the no-code administration UI, reducing support required from IT resources and eliminating costly deployments and system downtime. +* **Modern** - ACA is a web-based, cloud ready interface built with modern frameworks that can be tailored to fit specific business solutions. + +## Claims Management {#claims-management} + +The Claims Management accelerator allows companies to **document enable** their existing Claims management system and provide an efficient experience with claims documents. The Alfresco Content Accelerator will provide a best of breed platform for managing documents with advanced viewing, annotation and redaction with the capabilities to integrate into any claims data system. + +Benefits of the Claims Management solution: + +* **Faster & more efficient** claims processing resulting in improved customer retention. +* Allows for centralization of multiple systems into a digital claim file view for **one source of truth**. +* Securely communicate information between claims adjusters and third parties with **advanced document manipulation, annotation and redaction capabilities**. +* An integrated solution - data such as insured name, policy number and claim number can be passed to the solution when the electronic file system is first accessed, **saving critical data entry time, effort and reducing errors**. + +Key features: + +* **Claim Efficiency** - Efficiently view and filter documents in a claim to find desired documents quickly, including thumbnail navigation for photo/video files. +* **Alfresco Enterprise Viewer Integration** - tightly integrates with Alfresco Enterprise Viewer to allow users to annotate and redact documents, photos and videos. +* **Related Folders** - Automatically surfaces related folders based on configuration. For example, when viewing a claim, the interface can display other claims opened on the same Policyholder. +* **Email Integration** - Send outbound email directly from the system, capturing the correspondence in the claim folder. +* **Combine and Split Documents** - Combine multiple documents into one, creating a new document in the folder. This document can be used as a demand package that is emailed internally or to third parties. Large documents can also be split into multiple. +* **Side by Side Viewing** - Allows for side by side viewing of documents in a single interface. +* **Simplified Searching** - Streamlined interface allows users to easily find and retrieve documents using metadata and full text searching. Search can be executed from within a folder or across folders. + +User interface: + +View all documents associated with a claim folder. The user is presented with relevant case metadata and actions and can filter the document list to efficiently find the desired documents: + +![ACA intro claims management]({% link content-accelerator/images/aca-intro-claims-management.png %}) + +Utilize Alfresco Enterprise Viewer to view, annotate, and redact documents without losing context with the claim: + +![ACA intro claims management2]({% link content-accelerator/images/aca-intro-claims-management-2.png %}) + +## Policy and Procedure Management {#policy-management} + +The Policy and Procedure Management (PnP) accelerator helps regulated companies such as life sciences, energy, and manufacturers as well as HR departments **maintain quality processes of essential documents** that require strict control over **content lifecycle, reviews, and approvals**. + +The intuitive interface facilitates consistency, **collaboration**, electronic review and approval for knowledge workers and provides electronic signatures including **21 CFR Part 11 compliance for life science companies**. Document annotations are supported through using the built in Alfresco Enterprise Viewer to efficiently facilitate document review and approval. + +Benefits of the Policy and Procedure Management solution: + +* **Time & Cost Savings** – Significant cost and time savings for customers that are using email and manual processes to gather signatures. +* **Compliance** – The interface adheres to the quality regulations from the FDA, ISO, and NRC. For example, the system ensures that policies and procedures undergo periodic review and limits consumer user access to only Approved and Effective content. +* **Consistency** - The Policy and Procedure Accelerator drives the approval process based on a configurable change request form which collects relevant data about the change. This approach reduces user decisions and errors commonly found with an ad-hoc or static workflow template approach. +* **Support for Complex Changes** – Allows changes that impact multiple documents to be managed together as a single change package. +* **Efficiency** – A simple, intuitive interface allows users to easily locate and work with documents, including report generation for management. +* **Secure** - Document security is tightly controlled by the Alfresco Content Accelerator for Policy and Procedure Management. Consumer users are only able to access Approved or Released content, while document editors and approvers can create and edit work-in-process versions, ensuring that document consumers are never referencing the wrong version of a policy or procedure document. + +Key features: + +* **Dynamic Change Request** - Ability to dynamically route based on an intelligent form and business rules one or multiple documents at once for review and gather electronic signatures that are 21 CFR Part 11 compliant for approval. +* **Enforces Standard Version Rules** - Minor versions are applied to draft unapproved content. Major versions are applied and controlled automatically by the system to approved content. +* **Enhanced Security** - Security based on document status/lifecycle state and user’s group. Security can be applied and differ across a single document’s versions. +* **Simplified Searching** - Streamlined interface allows users to easily find and retrieve documents using metadata and full text searching. +* **Document Release** - Ability to manage when approved documents are effective and available for use. +* **Alfresco Enterprise Viewer Integration** - seamlessly integrates with Alfresco Enterprise Viewer to allow users to efficiently annotate documents during the review approval process. +* **Dynamic Watermarks** - Ability to dynamically apply metadata and other information to viewed and printed documents. +* **Periodic Review** - Automatically schedules periodic reviews on effective documents to ensure documents do not become stale. +* **Document Obsoletion** - Power users can obsolete documents, which updates the document security so that consumer users can no longer access them. +* **Document Attestation** - Post approval, users can receive a “To Be Read” workflow task that allows the user to attest that he/she has read and understood the document changes. + +User interface: + +Viewing an Effective document with a linked Change Request form and a linked reference document: + +![ACA intro policy management]({% link content-accelerator/images/aca-intro-policy-management.png %}) + +Viewing the change request form that was used to approve the TSG-140 document in the previous screenshot. An electronic signature page is appended to the form (and optionally the document) during the approval process: + +![ACA intro policy management2]({% link content-accelerator/images/aca-intro-policy-management-02.png %}) + +A wizard-style form is utilized to capture change request information. The form as well as workflow approval routing rules are configurable through a no-code administration interface: + +![ACA intro policy management3]({% link content-accelerator/images/aca-intro-policy-management-03.png %}) +![ACA intro policy management4]({% link content-accelerator/images/aca-intro-policy-management-04.png %}) + +> **Note:** AEV Edit and Redaction Modes are not supported with documents managed by the PnP Accelerator (Controlled Docs, Quality Docs, Wizard Forms) + +## HR Employee File Management {#hr-file-management} + +The HR Employee File Management (HR EFM or HR Tier-2) solution helps to keep track of all relevant documents for each employee at a company. The Alfresco Content Accelerator provides a platform which enables an organization to collect, store, manage, and delete documents within the Alfresco Content Services repository for their employees. + +Benefits of the HR Employee File Management solution: + +* **Faster & easier** to create, update, and retrieve employee data and documents. +* **Restricted access** to employee folders and documents based on a user's role in the organization. +* Easy to identify and maintain **incomplete & inaccurate** employee files. + +Key features: + +* **Custom Dashlets** - dashboard with visual representation of employee data to track and navigate easily. +* **Employee Import** - autofill information from external systems to forms to create Employee folders in the repository. +* **Alfresco Enterprise Viewer** - allows users to annotate and redact documents. +* **Side by Side Viewing** - allows for side by side viewing of documents in a single interface. +* **Records Management** - employee documents are filed as records in Alfresco Governance Services with a predefined Retention Schedule in case of employee separation. + +User Interface: + +Dashboards provide faster and easier access to employee information and visual reports representation: + +![ACA HREFM example dashboard 1]({% link content-accelerator/images/hrefm-intro-dashboard1.png %}) +![ACA HREFM example dashboard 2]({% link content-accelerator/images/hrefm-intro-dashboard2.png %}) + +View all pending **Required Documents** in the employee folder. Fields highlighted with a red border need attention, i.e. employee documents that are yet to be uploaded. + +![ACA HREFM Required Documents]({% link content-accelerator/images/hrefm-required-documents.png %}) diff --git a/content-accelerator/3.7/install/install-guide.md b/content-accelerator/3.7/install/install-guide.md new file mode 100644 index 0000000000..192010b327 --- /dev/null +++ b/content-accelerator/3.7/install/install-guide.md @@ -0,0 +1,715 @@ +--- +title: Install Content Accelerator +--- + +Use this information to install the Content Accelerator base package and pre-configured accelerators on top of ACA. + +## Prerequisites + +There are a number of software requirements for installing the Content Accelerator: + +### Distribution Zips + +The Content Accelerator can be installed using distribution zips. These zips can be downloaded from [Hyland Community](https://community.hyland.com/Products/alfresco/release-notes/release-notes/Alfresco-Content-Accelerators-on-premise-Releases){:target="_blank"}. + +You will need to download the following distribution zips in order to install ACA: + +* alfresco-content-accelerator-base-package-3.6.x.zip +* (Claims Only) alfresco-content-accelerator-claims-accelerator-3.6.x.zip +* (PnP Only) alfresco-content-accelerator-policy-and-procedure-accelerator-3.6.x.zip +* (HR Only) alfresco-content-accelerator-sehr-accelerator-3.6.x.zip +* (HR Tier-2 Only) alfresco-content-accelerator-sehr-rm-accelerator-3.6.x.zip + +> **Note:** If you’re installing the HR Employee File Management (HR EFM) solution, the HR EFM artifacts (solution AMPs and configurations) are stored in [Hyland Confluence](https://hyland.atlassian.net/wiki/spaces/SESS/pages/687540729/Alfresco+HR+Employee+File+Management){:target="blank"}. The rest of the solution deployment resources are in distribution zips in Hyland Community. + +### Java + +Content Accelerator requires Java 11 or above. Consult your repository of choice for more detailed requirements. If you are using Java 17, refer to our [Java 17 support guide]({% link content-accelerator/3.7/install/java-support.md %}). + +### Alfresco repository version + +See the [Supported Platforms]({% link content-accelerator/3.7/support/index.md %}) for more information. + +Please ensure you have the correct version of the Content Accelerator package for your Alfresco Content Services version. If you are unsure, please [contact Hyland Support]({% link support/latest/contact.md %}). + +### Operating System requirements + +Operating System and libraries for the target server machine: + +* **Windows**: Windows Server 2016 or newer +* **Linux**: CentOS, Ubuntu, RHL, Amazon Linux + * **TrueType Font set** - In order to have OpenOverlay apply the expected fonts to overlays/watermarks, the Truetype Arial font is expected to be installed on the server that runs OpenContent. + * **Ubuntu** - `sudo apt install ttf-mscorefonts-installer` + * **CentOS** - + 1. Place fonts into the `/usr/share/fonts` directory + 2. Run `fc-cache -v /usr/share/fonts/ && fc-cache-64 -v /usr/share/fonts/` + * **Amazon-linux** - this typically comes pre-installed + +## Install Proxy (Optional in non-production env) + +### Web Proxy Background + +ACA must be exposed on the same host and port as OpenContent. In other words, if the user accesses ACA using `http://myserver:8080/ocms`, then ACA must make Ajax requests to OpenContent at: `http://{server}:8080/OpenContent`. + +Since ACA executes as a JavaScript application in the browser and communicates with OpenContent on the server, you must account for the Same Origin Policy.  There are two ways to handle this: + +1. Deploy the ACA war to the same Application Server that's running OpenContent.  This ensures that ACA is sourced from the same server and port as OpenContent. + + > **Note:** for this to work, the application server port must be accessible to the end user's browser. + +2. Front all communication from ACA to OpenContent through a web server. + + * Install ACA on `http://{server1}:9090/ocms` + * Install OpenContent on `http://{server2}:8080/OpenContent` + * Setup a proxy to route: + * `http://{server3}/ocms` routes to `http://{server1}:9090/ocms` + * `http://{server3}/OpenContent` routes to `http://{server2}:8080/OpenContent` + * In the above example, ACA would be configured to access OpenContent at `http://{server3}/OpenContent`. Now, to the browser all communication is on the same protocol, server, and port so the Same Origin Policy is upheld. + +If using option 1 (deploying ACA to the Alfresco Tomcat), you can skip to [Install libraries]({% link content-accelerator/3.7/install/install-guide.md %}#install-libraries) since no proxy will need to be installed. + +If using option 2 (preferred for a production deployment), you must complete the following steps to setup a proxy. + +### Proxy Setup + +During install, the following routes must be proxied to their respective ports and applications. SSL is recommended at a minimum at the Proxy layer for Production installations. + +Policy and Procedure Accelerator solution: + +* `{Application Base URL}/alfresco` +* `{Application Base URL}/share` +* `{Application Base URL}/WizardAdmin` +* `{Application Base URL}/ocms` + +Claims Management Accelerator solution: + +* `{Application Base URL}/alfresco` +* `{Application Base URL}/share` +* `{Application Base URL}/ocms` + +When installing a proxy please note that you are not limited to using apache or Nginx. These are just two common options which we cover example installs of below. As long as the above routes are proxied appropriately you can move onto `http://"Install libraries and AMPs"`. + +### Example Proxy Install 1 - Apache HTTPD on Windows + +1. Install Apache httpd + + Obtain binaries from [https://www.apachelounge.com/download/](https://www.apachelounge.com/download/){:target="_blank"}. + + Install Apache to `C:\Apache\Apache24` (change to your desired version as appropriate). This is referred to as `${apache.home}` below. + +*Navigate to `${apache.home}\conf` and open up `httpd.conf` +*Find the line that has ServerRoot on it + *It should default to something like `ServerRoot "c:/Apache24"` + *Change the ServerRoot to where you extracted Apache +*If you would like to install as a service, consult the Readme.txt file that comes with the installation. + +2. Modify `httpd.conf` (`${apache.home}\conf\httpd.conf`) to load the Virtual Hosts configuration file, and the Proxy, ProxyAJP, and Rewrite modules. **Uncomment** the following lines: + + Include conf/extra/httpd-vhosts.conf + LoadModule proxy_module modules/mod_proxy.so + LoadModule proxy_ajp_module modules/mod_proxy_ajp.so + LoadModule proxy_http_module modules/mod_proxy_http.so + LoadModule rewrite_module modules/mod_rewrite.so + LoadModule access_compat_module modules/mod_access_compat.so + LoadModule authz_host_module modules/mod_authz_host.so + LoadModule filter_module modules/mod_filter.so + +3. Modify the `httpd-vhosts.conf` file (`${apache.home}\conf\extra\httpd-vhosts.conf`). Remove the sample virtual hosts from the file by deleting the `` sections. + +4. Add a new virtual host to your vhosts configuration file that points to the Alfresco Tomcat and Tomcat running ACA/WizardAdmin by adding the following lines. + +* Make sure to update server names and paths as needed (aka replace anything surrounded by ${}). +* Make sure to also Update the proxyPass sections at the bottom to proxy the appropriate routes. + +```xml + + ServerName ${your-server-name} + ErrorLog "logs/${your-server-name}-error.log" + CustomLog "logs/${your-server-name}-access.log" common + ServerAlias ${your-server-name} + + AllowEncodedSlashes On + LimitRequestFieldSize 65536 + ProxyIOBufferSize 65536 + + #Optional - these two lines redirect the root URL (/) to /ocms. + RewriteEngine on + RewriteRule ^/$ /ocms [PT] + + + Options All + Order Deny,Allow + Allow from all + + + ProxyRequests off + + + Order Deny,Allow + Allow from all + + + + Order Deny,Allow + Allow from all + + + # Proxy /alfresco requests to Alfresco's Tomcat + ProxyPass /alfresco ajp://${your-TOMCAT-server-name}:8009/alfresco + ProxyPass /share ajp://${your-TOMCAT-server-name}:8009/share + # OR, use HTTP like this (use AJP in a production environment, as HTTP has more overhead and issues): + # ProxyPass /alfresco http://{server}:8080/alfresco + + #Proxy all requests at the root to the Tomcat that actually has the application in question + ProxyPass / ajp://${your-TOMCAT-server-name}:9090/ + + +``` + +5. ACA has some routes that are formatted like the following: + + `/ocms/{aca-module}/{object-id}` + + In the above case, the object ID is URL encoded. This means that forward slashes in the object ID are URL encoded to `%2F`. By default, apache httpd does not serve any URLs with a URL encoded forward (or back) slash. + + To work around the issue, add the following configuration to the `httpd-vhosts.conf` file for the host(s) ACA is running on: + + `AllowEncodedSlashes On` + +6. (Re)start the proxy + + Go to `${apache.home}`/bin, open a command prompt, and run `httpd.exe` + +7. Test by hitting `http://{server}/alfresco` + +### Example Proxy Install 2 - Nginx install on Amazon Linux + +Here are some sample steps of installing nginx as a proxy (steps are done on amazon-linux and may need to be adjusted for other distributions) + +1. Install nginx on the server. For example: + + * `sudo amazon-linux-extras list | grep nginx` + * `sudo amazon-linux-extras enable nginx1` + * `sudo yum clean metadata` + * `sudo yum -y install nginx` + * `nginx -v` + +2. Confirm you can startup nginx + + * `sudo systemctl start nginx.service` (start the service) + * `sudo systemctl reload nginx.service` (reload the service) + * `sudo systemctl status nginx.service` (check that the status is active) + * `sudo systemctl stop nginx.service` (stop the service) + +3. Configure the proxy + + * `sudo vi /etc/nginx/nginx.conf` + * Replace contents of the file with the following (replacing ports and servers and adding additional proxy_pass configs as necessary) + +```plaintext + +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + server { + listen *:80; + + client_max_body_size 0; + + set $allowOriginSite *; + proxy_pass_request_headers on; + proxy_pass_header Set-Cookie; + + # External settings, do not remove + #ENV_ACCESS_LOG + + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; + proxy_redirect off; + proxy_buffering off; + proxy_set_header Host $host:$server_port; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass_header Set-Cookie; + + # Protect access to SOLR APIs + location ~ ^(/.*/service/api/solr/.*)$ {return 403;} + location ~ ^(/.*/s/api/solr/.*)$ {return 403;} + location ~ ^(/.*/wcservice/api/solr/.*)$ {return 403;} + location ~ ^(/.*/wcs/api/solr/.*)$ {return 403;} + + location ~ ^(/.*/proxy/alfresco/api/solr/.*)$ {return 403 ;} + location ~ ^(/.*/-default-/proxy/alfresco/api/.*)$ {return 403;} + + # Protect access to Prometheus endpoint + location ~ ^(/.*/s/prometheus)$ {return 403;} + + location /alfresco { + proxy_pass http://{server}:8080/alfresco; + } + + location /share { + proxy_pass http://{server}:8080/share; + } + + location /ocms { + proxy_pass http://{server}:9090/ocms; + } + } +} +``` + +4. Start the nginx proxy and confirm it started up correctly + * `sudo systemctl start nginx.service` + * `sudo systemctl status nginx.service` + +5. Make sure whatever port your proxy is listening on is open to the end user (example: you will need to open port 80 if you are using the configs in our example above) + +6. Test that the proxy is working properly by hitting `http://{server}/share` + +## Install libraries {#install-libraries} + +>**IMPORTANT!** Backup the Alfresco Content Services database, `alfresco.war`, and `share.war`. These resources need to +>be backed up in case of a rollback being required. (Make a copy of the original wars and store them in a safe location) + +### ImageMagick Installation (OPTIONAL) {#im} + +>**Note:** This step is only needed if using Document Combining. + +1. Download and install a portable version of ImageMagick: + + * [Windows](https://download.imagemagick.org/ImageMagick/download/binaries/ImageMagick-7.1.0-portable-Q16-HDRI-x64.zip){:target="_blank"} + * [Linux](https://download.imagemagick.org/ImageMagick/download/binaries/magick){:target="_blank"} + +2. Note the path where ImageMagick is being installed as `IMAGEMAGICK_HOME`. + +3. Navigate into the newly unpacked ImageMagick directory. + +4. Execute the following command from the `IMAGEMAGICK_HOME` to ensure `convert` was unpacked successfully: + + `./{IMAGEMAGICK_HOME}/bin/convert -help` + + The `convert` help message is displayed. + +## Install Alfresco Module Packages (AMPs) + +In this section we ensure that all components of the Content Accelerator are installed correctly into Alfresco Content Services. + +1. Stop the Alfresco server + +2. Copy the AMPs to the Alfresco Content Services installation: + + Navigate to the `ALFRESCO_HOME/amps` directory and copy the following amps to this directory (these are amps that should be applied to the repository a.k.a `alfresco.war`): + + * `tsgrp-opencontent-{version_info}.amp` + * `tsgrp-autofile.amp` + + These amps can be found in the alfresco-content-accelerator-base-package distribution zip under `Alfresco Artifacts` folder. + + >**Note:** Make sure you are using the correct `tsgrp-opencontent.amp` for your version of Alfresco. + + * If using Alfresco Content Services 7.1.x, use the `tsgrp-opencontent-3.5.x-for-acs7.1.amp`. + * If using Alfresco Content Services 7.2.x, use the `tsgrp-opencontent-3.5.x-for-acs7.2.amp`. + * If using Alfresco Content Services 7.3.x, use the `tsgrp-opencontent-3.5.x-for-acs7.3.amp`. + * If using Alfresco Content Services 7.4.x, use the `tsgrp-opencontent-3.5.x-for-acs7.4.amp`. + +3. (PnP ONLY) This step is only required if installing the Policy and Procedure Content Accelerator solution: + + Navigate to the `ALFRESCO_HOME/amps` directory and copy the following amps there: + + * `tsgrp-alfresco-chain-versioning.amp` + * `pnp-platform-3.5.amp` + + These amps can be found in the alfresco-content-accelerator-policy-and-procedure-accelerator distribution zip under `Alfresco Artifacts` folder. + +4. (Claims ONLY) This step is only required if installing the Claims Content Accelerator solution: + + Navigate to the `ALFRESCO_HOME/amps` directory and copy the following amps there: + `claims-platform-3.5.amp` + + This AMP can be found in the `alfresco-content-accelerator-claims-accelerator` distribution zip under `Alfresco Artifacts` folder. + +5. (HR ONLY) This step is only required if installing the HR Content Accelerator solution: + + Navigate to the `ALFRESCO_HOME/amps` directory and copy the following amps there: + + * `sehr-platform-1.0-SNAPSHOT.amp` + * `tsgrp-cascading-value-assistance.amp` + * `tsgrp-alfresco-chain-versioning.amp` + + Navigate to `ALFRESCO_HOME/amps_share` directory and copy the following AMP there: + + * `tsgrp-cascading-value-assistance-share.amp` + + This AMP can be found in the `alfresco-content-accelerator-sehr-accelerator` distribution zip under the `Alfresco Artifacts` folder. + +6. (HR Tier-2 ONLY) This step is only required if installing the HR Tier-2 Content Accelerator solution: + + Navigate to the `ALFRESCO_HOME/amps` directory and copy the following amps there: + + * `sehr-rm-platform-1.0-SNAPSHOT.amp` + * `alfresco-governance-services-enterprise-repo-12.21.amp` + + Navigate to `ALFRESCO_HOME/amps_share` directory and copy the following AMP there: + + * `alfresco-governance-services-enterprise-share-12.19.amp` + + This AMP can be found in the `alfresco-content-accelerator-sehr-rm-accelerator` distribution zip under the `Alfresco Artifacts` folder. + +7. Apply the AMPs + + From the directory where your alfresco tomcat lives, run this command for each Repository AMP required (replace `{myAmp}` with the correct AMP name and `{ALFRESCO_HOME}` with the location of your alfresco): + + Linux: + + `java -jar {ALFRESCO_HOME}/bin/alfresco-mmt.jar install {ALFRESCO_HOME}/amps/{myAMP}.amp tomcat/webapps/alfresco.war -force` + + Windows: + + `java\{javaVersion}\bin\java -jar {ALFRESCO_HOME}\bin\alfresco-mmt.jar install {ALFRESCO_HOME}\amps\{myAmp}.amp tomcat\webapps\alfresco.war -force` + +8. Delete current Alfresco deployed WAR files + + Navigate to the `ALFRESCO_HOME/tomcat/webapps` directory and delete the following [folders] (if they exist) to ensure old versions of the `alfresco.war` and `share.war` are not run: + + * `alfresco` + * `share` + +9. Install license file for OpenContent + + Create the `module/com.tsgrp.opencontent/license` folder structure on the /alfresco classpath, for example, at `ALFRESCO_HOME/tomcat/shared/classes/alfresco` + + Place a `TextLicense.l4j` file in the `license` directory. + +10. Deploy the OpenContent configuration: + + Deploy/Copy the following files onto the /alfresco classpath, for example, `ALFRESCO_HOME/tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent/` folder: + + * `opencontent-override-placeholders.properties` + * `opencontent-override-config.xml` + * `opencontent-override-module-context.xml` + + These files can be found in the `Alfresco Artifacts` folder of the alfresco-content-accelerator-base-package zip. + +11. Configure OpenContent + + In the `opencontent-override-placeholders.properties` file deployed in the last step, update the following environment variables: + + There are many configurations that *can be* overridden in this file later on. + + There are a few you will *need* to set for OpenContent to work correctly listed below: + + * `application.root.url={Application Base URL}` (ex: `http://localhost:9090`) + * `oc.email.smtp.host={SMTP host}` + * `imageMagick.path=IMAGEMAGICK_HOME` (if installed, get IMAGEMAGICK_HOME value from [ImageMagick Installation]({% link content-accelerator/3.7/install/install-guide.md %}#im)) + +12. Update Tomcat server configuration: + + By default, Apache Tomcat doesn't support UTF-8 characters for languages other than English. To enable support, the web.xml and server.xml files need to be modified in the deployed Tomcat. + + When running OpenContent on Tomcat 8+, the `relaxedQueryChars` and `relaxedPathChars` parameters are required on the Connector. If you are using Tomcat older than version 8.5 - you may need to add this to catalina.properties in your tomcat/conf folder.: `tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}` + + The following will need to be updated: + + In the `${tomcat.home}/conf/web.xml` + + Un-comment the setCharacterEncodingFilter and its mapping in web.xml (If not already uncommented) + + ```xml + + + + + + + setCharacterEncodingFilter + org.apache.catalina.filters.SetCharacterEncodingFilter + + encoding + UTF-8 + + true + + + + + + + setCharacterEncodingFilter + /* + + ``` + + In the `${tomcat.home}/conf/server.xml` + + Add the following to the connector if not already present: + + * `URIEncoding="UTF-8"` + * `connectionTimeout="20000"` + * `maxHttpHeaderSize="32768"` + * `relaxedQueryChars="{}[]|"` + * `relaxedPathChars="{}[]|"` + + ```xml + + ``` + + >**Note:** that in a typical Alfresco installation, the 8080 connector can be modified for HTTP communications and + >the 443 connector can be modified for HTTPS connections. + +13. (OPTIONAL) This step is only required if you are using Alfresco Search Services 2.0 or greater: + + a. Navigate to the `SOLR_HOME/solrhome/conf` folder. + + b. In the file `shared.properties`, uncomment the following properties (if not already uncommented): + + * `alfresco.cross.locale.datatype.0={http://www.alfresco.org/model/dictionary/1.0}text` + * `alfresco.cross.locale.datatype.1={http://www.alfresco.org/model/dictionary/1.0}content` + * `alfresco.cross.locale.datatype.2={http://www.alfresco.org/model/dictionary/1.0}mltext` + + c. Once the above changes have been made, Solr must be reindexed. + + Stop the Solr process if it is running. + + Clear out the following folder paths: + * `SOLR_HOME/solrhome/alfresco/index` + * `SOLR_HOME/solrhome/archive/index` + * `SOLR_HOME/solrhome/alfrescoModels` + + Start Solr process. + +14. (OPTIONAL) This step is only required if you are using Alfresco Search Enterprise 3.x or greater: + + a. Enable "Exact Term Search" using the "=" operator. See the [Search Enterprise - Exact Term Search]({% link search-enterprise/latest/config/index.md %}#exact-term-search) section for additional information. + + b. In the configuration file, add the following lines to enable exact term search: + * `alfresco.cross.locale.datatype.0={http://www.alfresco.org/model/dictionary/1.0}text` + * `alfresco.cross.locale.datatype.1={http://www.alfresco.org/model/dictionary/1.0}mltext` + * `alfresco.cross.locale.property.0={http://www.alfresco.org/model/content/1.0}content` + + c. Reindex Search Enterprise. See the [Search Enterprise - Install overview]({% link search-enterprise/latest/install/index.md %}) page. + + >**Note:** During the first system bootstrap for new systems with `tsgrp-autofile.amp`, Search Enterprise must be reindexed. See the [Search Enterprise - Install overview]({% link search-enterprise/latest/install/index.md %}) page for additional information. + +15. Start up Alfresco server. + +16. Confirm OpenContent has been installed correctly by accessing `http://{server}/alfresco/OpenContent`. + +## Install webapps + +This sections walks through how to install the Alfresco Content Accelerator web application (including the WizardAdmin if installing the Policy and Procedure Content Accelerator solution). + +>**Note:** If you installed a proxy then follow the [Install Web Applications on Separate Tomcat]({% link content-accelerator/3.7/install/install-guide.md %}#install-webapps-separate-tomcat) Instructions. +> If no proxy was installed then follow the [Install Web Applications on Alfresco Tomcat]({% link content-accelerator/3.7/install/install-guide.md %}#install-webapps-alfresco-tomcat) instructions. + +### Install web applications on separate Tomcat {#install-webapps-separate-tomcat} + +This section walks through how to install the web applications on a separate Tomcat instance (Meaning, you must have a proxy setup). + +1. Install Apache Tomcat. See [https://archive.apache.org/dist/tomcat](https://archive.apache.org/dist/tomcat){:target="_blank"}. + +2. Copy the `ocms.war` file into the `TOMCAT_HOME/webapps` directory. + + This war can be found in the `Web Applications` folder of the alfresco-content-accelerator-base-package zip. + +3. (PnP and HR ONLY) This step is only required if using the Policy and Procedure Content Accelerator or HR Content Accelerator solution: + + Copy the `WizardAdmin.war` file into the `ALFRESCO_HOME/tomcat/webapps` directory. + + You'll find this WAR file in the `Web Applications` folder of the `alfresco-content-accelerator-policy-and-procedure-accelerator` zip or `alfresco-content-accelerator-sehr-accelerator` zip. + +4. Configure Tomcat for shared classpath loader as well as encoded slashes: + + Edit the `TOMCAT_HOME/conf/catalina.properties` file and enable the `shared.loader` by adding the following line: + + `shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar` + + ACA has some routes that are formatted like the following: + + `/ocms/{aca-module}/{object-id}` + + In the above case, the object ID is URL encoded. This means that forward slashes in the object ID are URL encoded to `%2F`. By default, Tomcat does not serve any URLs with a URL encoded forward (or back) slash. + + To work around the issue, edit the `TOMCAT_HOME/conf/catalina.properties` file and add the following: + + `org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true` + +5. Configure Tomcat ports in the `TOMCAT_HOME/conf/server.xml`: + + Configure the connector, server, and redirect ports to not conflict with Alfresco Tomcat’s (example below): + + * Set Connector - `port="9090"` (default will be 8080) + * Set Connector - `redirectPort="9443"` (default will be 8443) + * Set Server - `port="9005"` (default will be 8005) + + Note that you will need to ensure that the port chosen (ie 9090) is open to the end user + +6. Locate the directory to place files on the tomcat classpath, for example, `tomcat/shared/classes` (create it if it doesn't exist). + +7. Locate the `hpi-overrides.properties` file in the `Web Applications` folder of the alfresco-content-accelerator-base-package. + + Copy this `hpi-overrides.properties` file onto the tomcat classpath, for example, into the`TOMCAT_HOME/shared/classes` directory. + +8. Verify the `secureBrowserCookies` configuration. If you are planning to setup SSL then `secureBrowserCookies` should be set to `true`, or else it should be `false` (this is the default). + + There are two places where this config will need to be updated: + + * `hpi-overrides.properties` on the tomcat classpath, for example, `TOMCAT_HOME/shared/classes/` directory. + * `TOMCAT_HOME/webapps/ocms/assets/config/config-overrides.js` + +9. Verify the `application.secureBrowserCookies` configuration. If you are planning to setup SSL then `application.secureBrowserCookies` should be set to `true`, or else it should be `false` (the default). + + * Check `opencontent-override-placeholder.properties` on the Tomcat classpath, for example, `TOMCAT_HOME/shared/classes/` directory. + +10. (OPTIONAL) This step is only required if using the Policy and Procedure Content Accelerator solution AND if `TOMCAT_HOME` is NOT `/opt/ocms-policy/apache-tomcat` + + Navigate to `TOMCAT_HOME/webapps` and extract the `WizardAdmin.war`. + + Navigate to `TOMCAT_HOME/webapps/WizardAdmin/WEB-INF/classes` and modify the following files to have the proper path to your `TOMCAT_HOME` on the line numbers listed: + + * `AbtApplication.properties`: + * Lines 26, 27, 28, 29, 34 + * `ActiveWizard.properties`: + * Line 148 + * `ImpactAnalysis.properties`: + * Lines 26, 29, 39, 40, 42, 48, 49 + +11. Start Tomcat + +12. Confirm you can access ACA at `http://{server}/ocms` + +### Install web applications on Alfresco Tomcat {#install-webapps-alfresco-tomcat} + +This section walks through how to install the web applications on Alfresco Tomcat (recommended for easier non-Production environment installation). + +1. Stop Alfresco Tomcat + +2. Copy the `ocms.war` file into the `ALFRESCO_HOME/tomcat/webapps` directory. + + This war can be found in the `Web Applications` folder of the alfresco-content-accelerator-base-package zip. + +3. (PnP and HR ONLY) This step is only required if using the Policy and Procedure Content Accelerator or HR Content Accelerator solution: + + Copy the `WizardAdmin.war` file into the `ALFRESCO_HOME/tomcat/webapps` directory. + + You'll find this WAR file in the `Web Applications` folder of the `alfresco-content-accelerator-policy-and-procedure-accelerator` zip or `alfresco-content-accelerator-sehr-accelerator` zip. + +4. Configure Tomcat for shared classpath loader as well as encoded slashes: + + Edit the `ALFRESCO_HOME/tomcat/conf/catalina.properties` file and enable the `shared.loader` by adding the following line: + + `shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar` + + ACA has some routes that are formatted like the following: + + `/ocms/{aca-module}/{object-id}` + + In the above case, the object ID is URL encoded. This means that using Alfresco as a back-end, causes forward slashes in the object ID to be URL encoded to `%2F`. By default, neither Tomcat nor Apache serve any URLs with a URL encoded forward (or back) slash. + + To work around the issue on the Alfresco Tomcat itself, add the following configuration to the to your Java Opts / CATALINA_OPTS. To update the java options, go to {TOMCAT_HOME}/bin and run tomcat7w.exe //ES//{TOMCAT_SERVICE_NAME} + + `-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true` + + OR edit the `ALFRESCO_HOME/tomcat/conf/catalina.properties` file and add the following: + + `org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true` + +5. Create a `classes` directory: + + Create a `classes` directory within the `ALFRESCO_HOME/tomcat/shared` directory, if it does not already exist. + +6. Locate the `hpi-overrides.properties` file in the `Web Applications` folder of the alfresco-content-accelerator-base-package. + + Copy this `hpi-overrides.properties` file onto the tomcat classpath, for example, into the`ALFRESCO_HOME/tomcat/shared/classes` directory. + +7. Verify the `secureBrowserCookies` configuration. If you are planning to setup SSL then `secureBrowserCookies` should be set to `true`, else it should be `false` (this is the default). + + There are two places where this config will need to be updated: + + * `hpi-overrides.properties` on the tomcat classpath, for example, `ALFRESCO_HOME/tomcat/shared/classes/` directory. + * `ALFRESCO_HOME/tomcat/webapps/ocms/assets/config/config-overrides.js` + +8. Verify the `application.secureBrowserCookies` configuration. If you are planning to setup SSL then `application.secureBrowserCookies` should be set to `true`, or else it should be `false` (the default). + + * Check `opencontent-override-placeholder.properties` on the Tomcat classpath, for example, `TOMCAT_HOME/shared/classes/` directory. + +9. (OPTIONAL) This step is only required if using the Policy and Procedure Content Accelerator solution: + + Navigate to `ALFRESCO_HOME/tomcat/webapps` and extract the `WizardAdmin.war`. + + Navigate to `ALFRESCO_HOME/tomcat/webapps/WizardAdmin/WEB-INF/classes` and modify the following files to have the proper + path to your `ALFRESCO_HOME` on the line numbers listed: + + * `AbtApplication.properties`: + * Lines 26, 27, 28, 29, 34 + * `ActiveWizard.properties`: + * Line 148 + * `ImpactAnalysis.properties`: + * Lines 26, 29, 39, 40, 42, 48, 49 + +10. Start Alfresco Tomcat + +11. Confirm you can access ACA at `http://{server}/ocms` + +## Install Configurations + +1. Create groups and folders: + + Open a browser window and navigate to the following URL: `{Alfresco Base URL}/alfresco/s/hpi/setup` + + This will create the base groups and folder for the application. + +2. (PnP ONLY) This step is only required if using the Policy and Procedure Content Accelerator solution: + + Create Policy and Procedure specific groups and folders: + + Open a browser window and navigate to the following URL: `{Alfresco Base URL}/alfresco/s/wizard/awSetup` + + This will create the base groups and folder for the Policy and Procedure solution. + +3. (HR ONLY) This step is only required if using the HR Content Accelerator solution: + + Create HR specific groups and folders: + + Open a browser window and navigate to the following URL: `{Alfresco Base URL}/alfresco/s/sehr/setup` + + This will create the base groups and folder for the HR solution. + +4. Locate the `default-{accelerator}.zip` configurations and rename it. + + * For PnP, the file will be named `default-pnp.zip` and can be found in the `Configuration` folder of the alfresco-content-accelerator-policy-and-procedure-accelerator zip. + * For Claims, the file will be named `default-claims.zip` and can be found in the `Configuration` folder of the alfresco-content-accelerator-claims-accelerator zip. + * For HR, the file will be named `default-sehr.zip` and can be found in the `Configuration` folder of the alfresco-content-accelerator-sehr-accelerator zip. + * For HR Tier-2, the file will be named `default-sehr-rm.zip` and can be found in the `Configuration` folder of the alfresco-content-accelerator-sehr-rm-accelerator zip. + + Obtain the `default-{accelerator}.zip` for your accelerator and rename the zip to `default.zip`. + +5. Import default configuration using config import tool. + + 1. In a browser, navigate to {Application Base URL}/ocms and login to the application as the Alfresco Administrator. The screen displays a message that no configurations exist for the application yet. + + 2. Click the button that is included in the message to navigate to the administration interface. + + 3. Navigate to **Tools** > **Config Archiver** from the left menu. + + 4. Use the Import Config function to import the default.zip from the previous step. + +6. (OPTIONAL) This step is only required if **NOT** using the Alfresco Enterprise Viewer: + + Navigate to the *Stage Config*. For each stage config: + 1. Navigate to the *docviewer* + 2. Turn off *Alfresco Enterprise Viewer* and *Alfresco Enterprise Video Viewer* + 3. Turn on `PDF.js` and `Video.js` + 4. Click **Save Config** + +7. (HR Tier-2 ONLY) This step is only required if you are installing the HR Tier-2 solution: + + Follow the installation steps to configure Alfresco Governance Services for the [HR Tier-2 solution]({% link content-accelerator/3.7/configure/hr-management.md %}). diff --git a/content-accelerator/3.7/install/installation-requirements.md b/content-accelerator/3.7/install/installation-requirements.md new file mode 100644 index 0000000000..8e7d0b323e --- /dev/null +++ b/content-accelerator/3.7/install/installation-requirements.md @@ -0,0 +1,36 @@ +--- +title: Installation Requirements +--- + +The server setup required to run ACA will vary based on the needs for that specific install. Below are some general guidelines and recommendations. Please note that this page is meant to represent general guidance and recommendations regarding deployments. For additional info, see the [Deployment and Containerization Support Policy]({% link support/latest/policies/deployment.md %}). + +### Application Components for Every Installation + +* ACA - web application +* OpenContent Services - web services layer +* Java Application server - required to run OpenContent Services and potentially ACA, AEV, and Active Wizard Admin. Apache Tomcat 8.x or above is recommended. **Note:** It is possible to deploy these apps to the Alfresco Tomcat directly. Installing ACA, AEV, and AW admin to a separate application server (not on the Alfresco tomcat) is recommended. + +### Additional Application Components + +* Alfresco Enterprise Viewer (WAR) - required if using AEV for document annotations +* Active Wizard admin (WAR) - required if using the Policy and Procedure Solution + +### Server Requirements + +* Both physical and virtual servers are acceptable. Windows, Linux and UNIX servers have been used in production successfully. +* 64-bit architecture servers are recommended. +* Application servers can be load balanced for performance as well as HA/DR, however *sticky sessions* are required. In other words, if a user accesses ACA on Server A, that instance must communicate with the same OpenContent Services for the entire session. +* ACA is installed as a Java web application (WAR). +* As always, the more RAM the better. A minimum of 4GB of heap on the application server is typically recommended. At least 8GB is preferable. +* If OpenContent is installed on a Linux server, a TrueType Font set including Arial is required to be installed onto the instance. Read more here: [[Installation Requirements Font Install]] + +### Client Requirements + +The following web browsers are supported: + +* Internet Explorer 11 and above +* Chrome (any recent version) +* Firefox (any recent version) + + diff --git a/content-accelerator/3.7/install/java-support.md b/content-accelerator/3.7/install/java-support.md new file mode 100644 index 0000000000..4c7235b639 --- /dev/null +++ b/content-accelerator/3.7/install/java-support.md @@ -0,0 +1,261 @@ +--- +title: Java 17 Support +--- + +Deploying ACA/AEV in a Java 17 runtime environment is supported with the 3.5.1 release of ACA/AEV via two different approaches. “Illegal reflective accesses” previously generated warnings in older JDK versions, but as of JDK 17, reflection is forbidden out of the box, unless the given modules are explicitly requested. See further information on why reflection has become forbidden in the JDK 17 release documentation: [JEP 403: Strongly Encapsulate JDK Internals](https://openjdk.org/jeps/403){:target="_blank"}. + +## Impact on ACA/AEV + +ACA/AEV utilize Ehcache as their caching mechanism. Cache sizes are limited by bytes out of the box in ACA/AEV to prevent caches from growing larger than what the system resources allow. Ehcache manages byte based cache limits by utilizing reflection (which is now forbidden with JDK 17). + +## Utilizing ACA/AEV with JDK 17 + +### Option 1 - Allow reflection + +In order to deploy ACA/AEV in a Java 17 runtime environment, you can add java command line flags in the Java Runtime Environment where ACS is installed to allow reflection to continue to occur in Java 17. + +For example: + +You can add the following flags to the `_JAVA_OPTIONS` environment variable: + +```java +--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED +``` + +The `_JAVA_OPTIONS` environment variable passes options to any JVM process started on your system. When a JVM starts, it parses the value of `_JAVA_OPTIONS` as if the parameters were at the command-line of Java. So adding those options to this environment variable in the system where ACS is installed will allow for reflection to occur on those classes on any JVM process started on the system. + +### Option 2 - Limit cache sizes based on entries + +Limiting Ehcache cache sizes by the number of entries instead of bytes prevents Ehcache from needing to utilize reflection which keeps us in the bounds of what JDK 17 allows out of the box. This can be done by overriding the ACA/AEV `ehcache.xml` configuration file in a custom AMP and reconfiguring the Ehcache configuration files to limit cache sizes by the number of entries. + +In each cache configuration, replace the following properties: + +```xml +maxBytesLocalHeap= +maxBytesLocalDisk= +``` + +with: + +```xml +maxEntriesLocalHeap= +maxEntriesLocalDisk= +``` + +For example, the out of the box ACA/AEV cache configuration file for ACA/AEV 3.5.1 is: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +and a sample override: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +> **Note:** The override file should be configured such that the entry limits are based on the expected sizes of cache entries so that the caches don’t grow outside system resources. + +## Override in a custom AMP + +1. Edit the `opencontent-extension-override-config.xml` file in your client AMP to include the following two beans: + + ```xml + + + + ``` + +2. Place your `ehcache-override.xml` file within your custom AMP at the path specified in the `ehcacheOverride` bean. diff --git a/content-accelerator/3.7/install/logging.md b/content-accelerator/3.7/install/logging.md new file mode 100644 index 0000000000..104bc9e457 --- /dev/null +++ b/content-accelerator/3.7/install/logging.md @@ -0,0 +1,14 @@ +--- +title: Overriding Logging Defaults +--- + +To override the default log configurations, you can put one of the following files on the configured class path (for example, under `/tomcat/shared/classes`): + +* `log4j2-ocms.xml` - overrides logging defaults for ocms. +* `log4j2-WizardAdmin.xml` - overrides logging defaults for WizardAdmin. + +To override the default log configurations for Alfresco, you can put the `log4j2.properties` file under one of the following paths: + +* `../tomcat/shared/classes/alfresco/module/com.tsgrp.autofile/` - overrides logging related to `autofile`. +* `../tomcat/shared/classes/alfresco/module/com.tsgrp.opencontent/` - overrides logging related to `opencontent`. +* `../tomcat/shared/classes/alfresco/module/com.tsgrp.alfresco.chained.versionable/` - overrides logging related to `chained.versionable`. \ No newline at end of file diff --git a/content-accelerator/3.7/install/sso.md b/content-accelerator/3.7/install/sso.md new file mode 100644 index 0000000000..7e3231172e --- /dev/null +++ b/content-accelerator/3.7/install/sso.md @@ -0,0 +1,442 @@ +--- +title: Single Sign On Support for Content Accelerator +--- + +Alfresco Content Accelerator (ACA) supports two major types of Single Sign On integrations: + +* Direct SAML (v3.3 and above) +* Identity Service (v3.5.1 and above) + +As of ACA 3.5.1, the Direct SAML SSO component is deprecated. A future release of ACA may drop support for the Direct SAML SSO integration. + +## Key differences between supported SSO + +* Identity Service only supports implicit flow as of ACA v3.5.1. SAML secret is kept server-side for Direct SAML. +* Identity Service integration offers the ability for direct Alfresco login and SSO login in the same ACA instance, whereas Direct SAML integration does not. +* Identity Service integration offers logout functionality, whereas Direct SAML integration does not. +* Identity Service is based on the Keycloak identity management application. ACA utilizes the official Alfresco Javascript API to support the OAuth2/OICD connection to Identity Service. + +## Identity Service configuration steps + +### Supported features + +* Support all authentication mechanisms supported in Alfresco Identity Service/Keycloak. +* Allow Direct Login and SSO Login in same instance. +* Optional prompt to force user to click link to direct to Identity Provider sign-in. + +### Preconditions + +* Install, deploy, and configure Identity Service. +* Install, deploy, and configure ACA on ACS. +* Ensure ACA can network communicate with Identity Service installation. + +### Configuration + +To enable and configure Identity Service SSO in ACA: + +1. Navigate to the deployed "ocms" web application and edit the file located at `ocms/assets/config-overrides.js`. + + This file uses the JSON file format to configure the web application. + +2. Uncomment the block titled `auth` and walk through the comments inside the `auth` block. + +3. Update the values of the JSON values as needed to enable and configure your ACA SSO. + +4. Save the file and open ACA in a web browser to test. + +> **Note:** Restarting your Java Web Application server is typically not required for static file updates such as `config-overrides.js`, though this could vary based on your Java Web Application server installation and configuration. + +> **Note:** Clearing browser cookies, history, cache, and local storage is recommended between configuration updates. + +### Example configuration + +For a deployment with the following desired characteristics: + +* Identity Service deployed at `https://alfresco.com/myauthservice` with realm name `alfresco`. +* You wish to enable both direct login and SSO login. +* Your ACA instance is available at `https://alfresco.com/ocms`. + +The `auth` block should look like this: + +```js +"auth" : { + // leave this enabled if you wish users to see the option for direct login using username/password directly into Alfresco + enableDirectLogin: true, + // should always be enabled if you wish to utilize this aisLogin functionality, if not, comment out this full "auth" block + enableAisLogin: true, + // if false, will prompt user to click link to login. if not, will automatically redirect to authorization provider + automaticallyPerformAisLogin: false, + // timer (in milliseconds) for redirect page. suggested range of 1000 - 5000. Set to 0 if you want an immediate redirect + automaticLoginRedirectTimerMs: 0, + // your oauth2 realm host + host : 'https://alfresco.com/myauthservice/realms/alfresco', + // your oauth2 clientId + clientId: 'alfresco', + // your oauth2 secret for the realm + secret: '**********', + // do not change scope - openid only option supported at this time + scope: 'openid', + // update the redirecturi to your loadbalanced url root + redirectUri: 'https://alfresco.com/ocms/', + // do not change + silentRefreshTimeout: '300', //Optional parameter 10 minutes default value + // do not change authType - OAUTH only option supported at this time + authType: 'OAUTH', + // do not change provider - ECM only option supported at this time + provider: 'ECM' +} +``` + +## Direct SAML configuration steps + +The following configuration steps are used to enable Direct SAML SSO integration. + +> **Note:** The Identity Service and Direct SAML integrations are mutually exclusive, so if Direct SAML is utilized, do not include any Identity Service integrations in your ACA configuration files. + +### SSO settings + +The example configuration file below lives on the Java Web Application classpath, for example, `TOMCAT_HOME/shared/classes/hpi-overrides.properties`. + +If one doesn't exist already, place one there and make sure the previous step of adding the `shared/classes` directory to the classpath is done. + +```bash +# NOTE - this properties file should decribe the default properties for the ACA wrapper. Project specific settings +# should be placed in an 'hpi-overrides.properties' overlay file. +# +# SSO settings +# + +# SSO Client Authentication Key (used in getSessionForUser) +clientAuthenticationKey= + +# If true, SSO will be enabled +enableSSO=false + +# Boolean to enable or disable faking out the SSO user (this should only ever be true in development!!!!) +fakeSSO=false + +# SSO Repository (optional for some implementations) +docbase= + +# OpenContent Services REST Root URL (ex: http://{server}/OpenContent/rest) +ocURL= + +# Endpoint to use to connect for SSO. Should build off of the ocURL (ex: /authentication/getSessionForUser) +ssoEndpoint=/authentication/getSessionForUser + +# Indicates whether or not SiteMinder is used for SSO +isSSOSiteminder=false + +# Enable SAML Authentication logic +samlSSO=false + +# SAML Context for load balanced/proxied environments +# Properties should define how ACA is accessed via LB/proxy +scheme=http +serverName=localhost +serverPort=80 +includeServerPortInRequestURL=false +contextPath=/ocms + +# Variables that provide us the ability to override environment settings externally +appRoot= +shareUrl= +serviceUrlRoot= +openAnnotateURL= +openAnnotateVideoURL= +``` + +### SAML settings + +#### Identity Provider (IdP) SAML Setup + +SSO, Recipient, Destination URLs: `http://{server}/ocms/saml/SSO` + +Audience: `{server}` + +#### ACA properties + +Override the following properties in `hpi-overrides.properties`: + +```bash +#A UUID should be generated for the clientAuthenticationKey +clientAuthenticationKey= +enableSSO=true +samlSSO=true +ssoEndpoint=/authentication/getSessionForUser +ocURL=http://{server}/alfresco/OpenContent +entityId=http://{server}/hpi/saml/metadata +entityBaseURL=http://{server}/ocms + +#The metadata file that you want to use (This file should live at the tomcat classpath, for example, TOMCAT_HOME/shared/classes/) +metadata.file=metadata.xml + +# SAML Context for load balanced/proxied environments +# Properties should define how ACA is accessed via LB/proxy +scheme=http +serverName=localhost +serverPort=80 +includeServerPortInRequestURL=false +contextPath=/ocms +``` + +#### hpi-security-context-override.xml + +You will need to create a `hpi-security-context.xml` file and place it on the Tomcat classpath, for example, `TOMCAT_HOME/shared/classes/`. This file will contain the beans and settings for your SAML configuration. Below is an example of what this file could look like: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + classpath:${metadata.file} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +#### OpenContent + +In your `opencontent-override-placeholders.properties` file, set your client authentication key to the same string as the one set in ACA and enable SSO: + +```bash +client.authentication.key= +sso.enabled=true +``` diff --git a/content-accelerator/3.7/install/upgrading.md b/content-accelerator/3.7/install/upgrading.md new file mode 100644 index 0000000000..f520290600 --- /dev/null +++ b/content-accelerator/3.7/install/upgrading.md @@ -0,0 +1,275 @@ +--- +title: Upgrade Alfresco Content Accelerator +--- + +## Recommendations + +It is highly recommended to perform and validate upgrade steps in a pre-production environment before executing in Production. Additionally, ensure that backups of the system and backups of the ACA configurations are taken before initiating the upgrade procedures. + +## Upgrade Path + +The below instructions are validated to work on upgrading a 3.4.x version to 3.5. If upgrading from an older version of ACA, additional changes may be required. + +Here is the recommended upgrade path: + +1. Backup Alfresco system + +2. Upgrade ACS platform to latest released version + + * Verify startup without errors in logs + + > **Note:** If upgrading to the latest released version is not possible, upgrade to the latest patch release. While ACA 3.4.5 will run on Alfresco 7.3, some functionality may be impacted. An upgrade to Alfresco 7.3 requires an upgrade to ACA 3.5 for full support. + +3. Upgrade ACA infrastructure components (AMPs, WARs, Tomcat changes, property files) + + * Verify startup without errors in logs + +4. Upgrade ACA admin configurations (ACA admin web interface) + + * Verify key functionality + * See below for details on ACA admin configuration changes required when moving from ACA 3.4.x to 3.5. + +## ACA Config Updates + +Most ACA 3.5 actions should work with 3.4 configurations. However, as with all releases, it's recommended that you backup your configs prior to the upgrade and visit all areas in the ACA admin to verify and tweak configurations. For production environments, it's recommended to perform the upgrade in a Dev/QA environment and then utilize the config archiver to move upgraded configs to higher environments. + +### Send Notification Updates + +Send Notification were overhauled to provide a more robust experience and will need to be reconfigured to work correctly. + +***Ad Hoc Form*** + +Notifications are now sent with information setup in an Ad Hoc Form. The form can have any type of attributes configured, but there are five named attributes that are associated to the Notification action + +Name | Label | Control Type | Notes | +--- | --- | --- | --- | +bpm_assignees | Users | AutoComplete | Repeating dropdown of all users. Can be set to `allUsers` picklist or another if desired +bpm_groupAssignee | Groups | AutoComplete | Repeating dropdown of all groups. Optional, can be omitted if desired. +notificationType | Notification Type | AutoComplete | Dropdown notification classification type.

      **Note:** If the configuration contains a Notification Type field with `name = notification_type` (use the More button next to the field name to check) or any other value other than `notificationType`, it is recommended to follow the steps outlined below this table. +bpm_workflowDueDate | Due Date | DateBox | Suggested due date for the notification. Suggested to configure that the date must be today or in the future. +bpm_comment | Comment | Textarea | Suggested to configure with WYSIWYG option on. + +> **Note:** Only `bpm_assignees` and `bpm_groupAssignee` are required for notification to work. However, if not present in the form the ACA notification interface will still show columns for Notification Type, Due Date and Comment. Any values missing on the form will result in a column that only contains blank values. + +**Notification Type** - if the name of the Notification Type field is not properly configured as described above, follow these steps: + +1. Click the AutoComplete Options button in the Notification Type field row. Remember which Picklist is configured and any configured help text. + +2. Delete the Notification Type row in the table using the `X` icon in the `Remove` column of the table. + +3. Click the `Delete Custom Attributes` button. Check the box next to `Notification Type` and click `Delete Selected Attributes`. + +4. Click `Create Custom Attribute` and fill out the following: + + * Name: `notificationType` + * Label: `Notification Type` + * Click `Add Attribute` + +5. Click `Add Attributes` and choose the Notification Type attribute. Set: + + * Control Type: `AutoComplete` + * Under Options, choose the picklist noted above and add back in any help text if needed + +6. Click `Save Config` + +***Workflow Config*** + +In the Workflow Config section of the Admin, select the HPI Notification workflow. Add the Ad Hoc form configured above as both the Start Form and View Notification. + +***Action Config*** + +In the sendNotification Action Config, there will be an option "Select Form to Display". Select the Ad Hoc form created in step one. + +### Bulk Upload Updates + +Bulk upload contains a number of updates that should be reviewed and potentially enabled when upgrading an existing ACA instance. These features will *not* be enabled until entering the configs and performing the following steps. + +For each instance of the Bulk Upload action (either as a header action or Stage Folder action): + +1. In Advanced Properties -> Indexing Mode + + * Validate the list of extensions that should show the document preview window while uploading. When users upload documents using the Bulk Upload action, the document preview will only display if the document's extension is in the configured list. Otherwise, for extensions not in the list, the preview pane will not display. + +2. Advanced Properties -> Saved Sessions + + * Determine if users would like saved session functionality. Saved sessions is useful when Bulk Upload actions regularly take users a non-trivial amount of effort. If users generally fill out Bulk Upload forms in less than 5 minutes, Saved Sessions may not be needed. + +3. If you are ever going to enable Saved Sessions, re-run the hpi-setup script. + + * Open a browser window and navigate to the following URL: `{Alfresco Base URL}/alfresco/s/hpi/setup` + +4. Whether or not any updates were made, re-save the config. This will activate the new configurations. + +### Policy and Procedure Updates + +A number of new features were added to the default configurations for the 3.5 release in the Policy and Procedure Accelerator: + +* Document Subscriptions +* Document Distribution Lists +* Automated Training Period +* Periodic Review Interval per-document +* Ad-Hoc Form Supporting Documents +* Review Comments Documents + +Follow these steps to add the above (optional) features to existing Policy and Procedure Configs. + +1. Add the following aspects to the Non-Mandatory Aspect Config. The Aspect Label can be anything, it is not shown to users. Attribute labels will default to sensible values but can be changed as needed. + + * `tsg_distributionsAttrs` + * `tsg_subscriptionAttrs` + +2. In the Object Type Config, add the aspects added in the last step to the `Quality Document` type. If the label of this type was changed, look for the type with `ocName` set to `Quality Document`. + +3. Add the following attributes to `Quality Document`. Attribute labels will default to sensible values but can be changed as needed. + + * `tsg_trainingPeriod` + * `periodic_review_interval` + +4. Edit the `createObjectControlledDocs` form: + + - Add the Training Period property + - Control Type: Textbox + - Suggested Options Settings: + - Regex: `^[\d]*$` + - Regex Validation Message: `as a whole number` + - Help Text: `The number of days between the Approved Date and Effective Date of this document. This date can be modified post-Approval if desired.` + - Editable, Not Required, Not Repeating + - Add the Periodic Review Interval property + - Control Type: Textbox + - Suggested Options Settings: + - Default Value: `730` + - Regex: `^[\d]*$` + - Regex Validation Message: `as a whole number` + - Help Text: `The number of days between the Effective Date and the Periodic Review Date. Documents must undergo Periodic Review and be accepted as is, versioned, or obsoleted prior to the Periodic Review Date.` + - Editable, Not Required, Not Repeating + - Add the Distributions Group List property + - Control Type: Autocomplete + - Suggested Options Settings: + - Picklist: `allGroups` + > **Note:** You may want to configure a more restrictive group depending on your repository and use case + - Help Text: `Groups selected here will receive a notification when this document is Approved, Effective or Obsolete.` + - Editable, Not Required, Repeating + +5. Edit the `viewProperties` form: + + - Add the same properties with the same settings as the `create` form above. Exceptions: + - Periodic Review Interval should *not* have a default value in the `viewProperties` form + +6. Edit the `controlleddocs` Stage config and navigate to the DocViewer config + + - Add the following Document Actions: + - subscribe + - unsubscribe + - Default settings and action order can be changed as desired + +7. Navigate to the Dashboard config and: + + - Add a new "My Subscriptions" dashlet + - ID: `mySubscriptions` + - Name: `My Subscriptions` + - Type: `Saved Search` + - Edit the new dashlet and update the following: + - Saved Search Config: + - Allow User to Control Visibility: checked (suggested, can be unchecked if desired) + - Select an Object Type for the Dashlet: `Quality Document` + - Selected Attributes (suggested, can be set as desired): + - Document Number, Status, Version Label, Modified Date + - Select the Attribute that will be Clickable: `Document Number` (or whichever selected attribute desired) + - Default Sort Attribute: `Modified Date` + - Default Sort Order: `Descending` + - Search Criteria for Saved Search Results: + - Add the following criteria: + - Attribute: `Subscription User List` + - Operator: `Is Equal To` + - Value: `$user.loginName` + - ***Hint**: If the "Subscription User List" attribute is not available, clear your browser cache and try again.* + - Save the dashlet config + - In the Dashboard Tabs section, add the `My Subscriptions` dashlet to the `Home` tab. Order the dashlets as desired and then click `Save Tabs`. + +7. Edit the `wizard` Stage config and navigate to the Folder Actions config. Edit the `Wizard Actions` section. + + - Add the `manageAdHocDocuments` action to the list of selected actions. + - Action order in the list can be set as desired, but it's recommended to place this action above or below the `manageWorkflowDocuments` action. + - Edit the `manageAdHocDocuments` action: + - Under Advanced Properties, Common Configuration: + - In the Set Default Values dropdown, choose `Alfresco` and click the `Set Defaults` button. This should set the Relation Name to `aw:supportingDocument` and the Relation Type to `Two Way Relation` + - The above `Set Defaults` will also update the Search Result Configuration section. Inspect the Selected Attributes and update if desired. + - Edit the `completeWizardReviewRoute` action: + - Under the Comments Section, enable the `Allow Uploading Comment Documents` slider. Suggested settings: + - Allow Upload of Multiple Documents: selected + - Allowed Filetypes: `pdf,docx,doc,xls,xlsx` + - Comment Document Relationship: `aw:relCommentsDocument (alfresco)` + - Make File Title Unique: selected + - Dynamic Filenames for Comment Docs: selected + - Update pattern so the value is: `Review Comment - $displayName$ - $currentDate$ $currentTime$` + +8. In the `wizard` stage config, navigate to Related Objects and: + + - Add a New Relation Configuration: + - Label: `Related Review Comments` + - Relationship Type: `Relation Based` + - Expected Results: `Attached Document` + - Order the new section as desired. Suggested to be immediately above or below `Supporting Documents` + - Edit the new Related Review Comments relation: + - Relation Configuration: + - Show `aw:relCommentsDocument` relation + - For the `Children` + - of the current `Folder` in the stage + - Results Display and Sort Options: + - Number of Results Displayed: 25 + - Display the attribute: `Title` + - Sort Order: `Ascending` + - Sort the results by: `Title` + - Link Resolver Options: + - Resolver: `Stage` + - Resolver Trac: `Do not Switch Tracs` + - Info Block Options: + - Enable Info Block: `No` + - Additional Options: + - Defaults acceptable. Update as desired + +## Upgrading to 3.5.1 and above + +If you previously had the Power Promote action configured, navigate to the ACA admin and locate the action configuration for periodic review. Set the sliders for **Require Authentication** and **Add ESignature Page** appropriately for the results you desire. + +Refer to the image below of the UI: + +![Power Promote]({% link content-accelerator/images/power-promote-options.png %}) + +If you previously had the Periodic Review action configured, navigate to the ACA admin and locate the action configuration for periodic review. Set the sliders for **Require Authentication** and **Add ESignature Page** appropriately for the results you desire. + +> **Note:** If the ACA configurations for your environment were created prior to ACA 3.5.1, the Download Document action must be reconfigured and re-saved in all ACA admin locations where it is referenced. + +This is because new functionality was added to the Download Document action and re-saving loads the correct configuration for the action. If this step is not taken, the Download Document action will cause an error for the user, and fail to download the document. + +### New Identity Service SSO implementation for ACA 3.5.1 + +There is an additional option for configuring Single Sign On (SSO) beyond the ACA standard SSO configuration offered in previous releases. This new SSO implementation: + +* Is standardized on Identity Service as authentication/authorization provider +* Supports Logout functionality +* Is more configurable +* Only supports implicit flow + +If you want to switch your current SSO implementation to the new 3.5.1 SSO implementation, see the additional documentation for this feature in [Single Sign On Support for Content Accelerator]({% link content-accelerator/3.7/install/sso.md %}). + +Note that this newer SSO implementation is not a replacement for the current SSO offering. The current SSO offering can continue to be used with ACA 3.5.1. + +### Upgrading to 3.6 + +Advanced Search is deprecated in Content Accelerator 3.6. Though it is still available, it is expected to be removed in future releases and replaced with the new Advanced Search capabilities added to attribute search in Content Accelerator 3.6. + +To enable advanced capabilities in attribute search, complete the following steps. + +1. Navigate to the Attribute Search config in the Alfresco Content Accelerator Admin and set the value of the **Show Advanced Search** parameter to Enabled. By default, the value is set to `Disabled`. + + ![Advanced Search configuration]({% link content-accelerator/images/aca-show-advanced-search-config.png %}) + +2. After you enable **Advanced Search**, you can enable the following configuration settings: + + * Enable Any/All Search + * Enable Like/Exact/Not Search + + ![Advanced Search additional configuration]({% link content-accelerator/images/aca-show-advanced-search-options-config.png %}) + +> **Note:** If the ACA configuration for your environment was created prior to ACA 3.5.1, the Attribute Search setting must be reconfigured in all ACA admin locations where it is referenced. diff --git a/content-accelerator/3.7/support/index.md b/content-accelerator/3.7/support/index.md new file mode 100644 index 0000000000..e20f5f7773 --- /dev/null +++ b/content-accelerator/3.7/support/index.md @@ -0,0 +1,13 @@ +--- +title: Supported platforms +--- + +The following are the supported platforms for the Alfresco Content Accelerator. + +| Version | Notes | +| ------- | ----- | +| Content Services 7.4 | Requires Content Accelerator 3.5.1 or later | +| Content Services 7.3 | | +| Content Services 7.2 | | +| Search Services 2.x | | +| Search Enterprise 3.x | | diff --git a/content-accelerator/3.7/using/user-guide.md b/content-accelerator/3.7/using/user-guide.md new file mode 100644 index 0000000000..c567009e08 --- /dev/null +++ b/content-accelerator/3.7/using/user-guide.md @@ -0,0 +1,1435 @@ +--- +title: Using the Content Accelerator +--- + +The user guide contains general information about the Content Accelerator as well as information about the two domain specific implementations for policy and procedure and claims management. + +## Features + +When you start using Content Accelerator, you'll see a number of features that guide you through the application. + +### Dashboard + +The Content Accelerator Dashboard provides an overview and links to relevant content, displayed in individually configurable dashlets. Results within many dashlets are pageable, with configurable results per page and text filtering functionality for finding the right document quickly and easily. + +The Dashlets can be reordered on a single page or configured to appear under different tabs. A dashlet can be of a particular type that would be customized for a specific environment to display different information. Here are some of the typical dashlet types available: + +* **Saved Search** : A saved search or query that is custom to load results into the dashlet. +* **Inbox** : A collection of workflow tasks (workflow on a doc) that are specific to the signed in user. +* **Active Wizard Inbox** : A collection of wizard workflow tasks (workflow involving forms) that are specific to the signed in user. +* **Recent Objects** : Configurable date range on objects the user has viewed or modified, which provides easy navigation back to the content. +* **Reporting** : A data visualization dashlet displaying graphs and pie charts for specific objects and specific attributes on those objects. +* **Workflow Reporting** : A data visualization dashlet displaying graphs and pie charts specifically for workflows. Would show "In Progress" workflows generated by the user, for monitoring their statuses. +* **Incomplete Tag Dashlet:** A dashlet to view if tags are incomplete and still remain on a particular object. Signifies outstanding items to the user. +* **IFrame Dashlet** : A dashlet that provides access to 3rd party tools via iFrames. +* **Notifications:** A dashlet that displays active notifications the user has yet to complete and archived notifications. See Navigation Bar explanation of Notifications. + +Here is an example dashboard in the screenshot below. This is not an actual environment. The following dashlets were put together to demonstrate the many combinations of dashlets a user can have in their application. + +![Img Txt]({% link content-accelerator/images/aca-userguide-dashboard.png %}) + +### Search + +The Content Accelerator Search gives users the tools to locate, filter, and review document and folder information. Content can be searched on using a number of metadata fields, such as document name, creator name, version number, and last modified date. Commonly executed combinations of search parameters can be stored as a "Saved Search", allowing for quick execution of a specific search in the future without needing to re-enter parameters. + +![Img Txt]({% link content-accelerator/images/aca-userguide-search.png %}) + +The above screenshot shows what Search's main components look like and environment specific information will be greyed out as we walk through the general descriptions of its components. + +1. Trac (object type) selection. +2. Document type selection. +3. Execute previous saved searches, or click "+" to save current search criteria as a saved search. +4. Provide search criteria here to perform a full text search. +5. Provide search criteria for specific configured metadata fields. +6. The filter tab allows users to filter search results based on property values. +7. Click More Fields to search on other configured metadata fields. +8. Search result controls such as pagination, select results, items per page, and text filtering of results. +9. Table displays results returned by the search, along with configured metadata fields. +10. Reset table settings to its defaults. + >**Note:** this could be on in some environments and not in others depending on if the administrator turned it on. + +Search results can be paginated and filtered all from a single screen without needing to re-execute a search. Many document and folder actions can be performed from Search. There are two easy ways to execute those actions: + +1. Check a document or documents and select an available action from the dropdown labeled *Actions* that will appear. +2. Right-click on one or more documents and select an action from the modal that will appear. + +To learn more about executing actions within *Search*, reference the Document Actions in Search. These sections will talk more specifically about what actions are available. + +### Stage + +The Content Accelerator Stage provides tools to review the information and content of documents and folders. Stage gives the user a results view (similar to that of the Content Accelerator Search tool), information about the folder itself, and actions that can be performed at the folder level. + +The above screenshot shows what Stage's main components look like and environment specific information will be greyed out as we walk through the general descriptions of its components. + +![Img Txt]({% link content-accelerator/images/aca-userguide-stage.png %}) + +1. **Trac Information:** Various attributes and information appears here about the current Trac's Stage that is loaded. A Trac is an object type. +2. **Workflow Info:** Workflow information is displayed within this section. It will detail information such as the workflow name that is associated with this document, when it started, the tasks, and the processes attached to the workflow. + >**Note:** this section will only appear when the document is in a workflow and it is turned on by the administrator for the user to see it. +3. **Folder Action List:** Actions that can be executed with the context of the entire folder. Reference the Folder Actions section to see what type of actions can be available in this section. + >**Note** : this section could potentially be turned off and not seen if no folder actions are applicable. +4. **Object Relations:** Documents typically have relationships to other objects that help with organization. These related objects are displayed in this section with links to that object. +5. **Document Action List:** Actions that can be executed with the context of the document loaded into the document viewer. Reference the Document Actions section to see what type of actions can be available in this section. +6. **Document Viewer:** For viewing document contents, Content Accelerator leverages the Alfresco Enterprise Viewer for previewing and interacting with documents within Stage, giving users access to tools such as annotation and redaction. +7. **Document Title & Additional Document Icons:** The document title will be shown in this section. Also, three icons that will provide the user with more information about the document: + * **Lock Icon** : The lock icon will display if the document is locked by the current user logged in or another user. See Checkout/Checkin for more information about why the document would be locked. + * **Conversation Bubble:** The conversation bubble glows to signify if the document has been annotated or not. To annotate a document, Content Accelerator leverages the Alfresco Enterprise Viewer. + * **Right Arrow:** The right arrow icon will open the document in a new tab to edit the document in a full screen mode. + +### Forms + +A "Form" in the Content Accelerator provides an interface for completing and submitting electronic forms, such as benefits enrolment, vacation requests, Change Requests, and more. Content Accelerator Forms utilizes a questionnaire approach for gathering information, simplifying the process of filling out forms electronically. Content Accelerator Forms validates the information provided to it, ensuring all necessary data has been provided and notify the user if any required data has not been provided before finishing the creation of the form. + +An example of a business scenario that utilizes the Content Accelerator Forms is the Policy and Procedure (PnP) scenario. Check out the PnP's action to Create a Change Form and or the Typical Use Case Scenarios for more information about a real world example using this Content Accelerator feature. + +### Form Fields + +This area will help you understand the various form controls that you'll encounter when filling out forms in Content Accelerator. + +#### Auto Complete + +Auto Complete is a text field that will give you completed text after you type a certain amount of characters. Below is an example of a participants list being filled in after typing 3 characters. + +![Autocomplete Field]({% link content-accelerator/images/aca-userguide-autocomplete-field.png %}) + +#### Proximity Date Range + +The Proximity Date Range control allows you to select a date range that is relative to the current day. You can choose to search for items within a certain time frame, past the time frame, or in the next time frame. +To use it, select the desired option from the dropdown list. Next, enter a number for the desired unit of measurement, such as days, weeks, or months. Finally, select the appropriate unit of measure from the list. This will define the range of dates you're searching for. Here's an example: + +![Proximity Date Range]({% link content-accelerator/images/aca-userguide-proximity-date-range.png %}) + +### Form Field Attributes + +This section outlines the various attributes that can be assigned to form fields within the Content Accelerator platform. + +#### Repeating Field + +A Repeating Field is a field that allows you to provide multiple values. This type of field has an "Add" button next to the input to allow you to enter additional values. To remove a previously entered entry, click on the X next to it. Here's an example: + +![Repeating Field]({% link content-accelerator/images/aca-userguide-repeating-field.png %}) + +#### Required Field + +A Required Field is a field that must be completed before the form can be submitted. These fields are marked with a red asterisk next to the field label. If you attempt to submit a form without completing all required fields, an error message will appear indicating which fields need to be completed. Here's an example of a Required Field: + +![Required Field]({% link content-accelerator/images/aca-userguide-required-field.png %}) + +A submit button will not be able to be clicked until a required field is satisfied see below: + +![Required Field Needed]({% link content-accelerator/images/aca-userguide-still-needs-required-fields-or-validation.png %}) + +Once a required field has been filled the button to submit the form will be available to be clicked again. See below: + +![Required Field Satisfied]({% link content-accelerator/images/aca-userguide-required-fields-statisfied.png %}) + +#### Uneditable Field + +An Uneditable Field is a field that cannot be edited by the user. These fields are displayed in a grayed-out or disabled state to indicate that they are read-only. Additionally, you may notice a cancel icon over the field when highlighted, indicating that it cannot be edited. Here's an example: + +![Uneditable Field]({% link content-accelerator/images/aca-userguide-uneditable-field.png %}) + +#### Validation Error + +A Validation Error may appear when a field has been filled out with an incorrect value. This is indicated by red text above the field, warning you of the issue. To correct the error, update the value in the field to satisfy the validation criteria. Here's an example: + +![Validation Error]({% link content-accelerator/images/aca-userguide-validation-error.png %}) + +### Navigation Bar + +The Content Accelerator Navigation Bar provides a user with links to important areas of the application, ability to execute commonly used actions quickly, notifications to allow for communication, and user preferences to customize the user experience. The Content Accelerator Navigation Bar comes with the following default areas detailed below, but can be customized by the administrator for the application. + +![Img Txt]({% link content-accelerator/images/aca-userguide-nav-bar.png %}) + +#### Header Links + +The header links are shortcuts to rapidly access important Content Accelerator features. + +![Img Txt]({% link content-accelerator/images/aca-userguide-header-links.png %}) + +* The **Search header** is a link to the Content Accelerator Search feature. Follow the link to learn more about this section and its capabilities. +* The **Dashboard header** is a link to the Content Accelerator Dashboard feature. Follow the link to learn more about this section and its capabilities. + +#### Header Actions + +The header actions are a fast and efficient way to execute popular actions that are used frequently. + +![Img Txt]({% link content-accelerator/images/aca-userguide-header-actions.png %}) + +* **Create Form** - Content Accelerator Forms are great resources for completing and submitting electronic forms. To easily build a form the *Create Form* header action becomes crucial. The user can simply click on this header action and immediately begin filling out the specific form they choose from a dropdown list. A specific use case to create a form would be in the Policy and Procedure scenario where users Create a Change Form. +* **Create Folder** - Folders are a helpful resource to provide additional organization of documents or files that are used within Content Accelerator for a particular business's use case. To perform this task of creating a folder with ease, the user can select this header action. A specific use case to create a folder would be in the Claims scenario where users Create a Claim. +* **Add Document(s)** - Adding a document or multiple documents is something a typical user could perform often. An easy way to swiftly accomplish this task can be accessed in the navigation bar. Clicking on the header action will provide a modal to upload a document or multiple documents. To learn more about uploading a document, see Add Documents. + +#### Notifications + +Notifications within the application are a fantastic way to send out reminders or messages to selected recipients for any relevant use case. The notification section is designated by the bell icon in the right corner of the navigation bar. The bell will glow if the user has a notification or notifications they have not completed. There is also the ability to filter and reference archived (completed) messages. See the action Send Notifications to learn more about how these are sent and received. + +![Img Txt]({% link content-accelerator/images/aca-userguide-notifications.png %}) + +![Img Txt]({% link content-accelerator/images/aca-userguide-notifications2.png %}) + +#### User Preferences + +The following section covers user preferences. + +##### Search Preferences + +The following options are available for the user to control that are related to their *Search Preferences*: + +* **Saved Searches** : A saved search is a way to save a search query that the user runs frequently. This saves the user time and the hassle of remembering exactly what parameters were entered to achieve the desired result. +* **Public Saved Searches** : A public saved search is identical to the regular saved search, however, it is open to all users within the application to use. +* **Table View Columns** : The ability to reset the table view columns configuration. The table view has the ability for various properties to be shown with the tables. This option will reset those to their default values within the application. +* **Search Side Bar** : This functionality is exactly what the description says. It will hide the search form (where you entered all the search parameters) when the search is executed. + +##### Dashlet Preferences + +The user has the following choices on how they can view or not view different dashlets in the application: + +* Dashlet Order: The user can drag to change the order of any or all the dashlets that are seen in their particular dashboard. To reset them to the default settings the user can select the reset button. +* Dashlet Visibility Preferences: The dashlet visibility preferences is a section where the user can turn on or off certain dashlets if they choose to do so. Sometimes, however, the administrator for the application may not give the user that option to not view a dashlet because of its importance. Therefore, sometimes a blank screen might be seen. Like the screenshot below. + +![Img Txt]({% link content-accelerator/images/aca-userguide-userpref-dashlet-visibility.png %}) + +An example of if the administrator of the system would turn that ability on would look something like what the screenshot below shows. + +![Img Txt]({% link content-accelerator/images/aca-userguide-userpref-dashlet-visibilities.png %}) + +##### Workflow (if applicable) + +This is a user preference that may not be visible to every user depending on what type of business case/scenario they are using. For example, the Policy and Procedure scenario user would see this while the Claims scenario user would not. + +The user has the ability to designate if they are available to receive workflow tasks. The typical use case for this would be when a user goes on vacation. The employee does not want their vacation time to hold up a particular workflow, so they can designate who should complete tasks on their behalf. + +![Img Txt]({% link content-accelerator/images/aca-userguide-userpref-workflow-recieve-tasks.png %}) + +##### Tour + +The tour section is initiated when it is the first time the user is visiting the Content Accelerator feature sections of *Search* and *Stage*. This can be switched on or off depending on if the user wants to see the tour again because they forgot all the cool things they can do in each of the *Search* and *Stage* areas. + +![Img Txt]({% link content-accelerator/images/aca-userguide-userpref-available-tours.png %}) + +## Actions + +Actions in the Content Accelerator are buttons that allow for an activity to be performed on a folder, document, or documents as a group action. + +### Folder Actions in Stage + +The following actions are folder related. + +#### Add Documents + +Allows for the upload of documents into the repository. Documents can be uploaded via a number of sources, including drag-and-drop, file explorer, Box integration, Gmail integration, or from a scanner. Metadata can then be added to the document for indexing. + +**Add Documents - Initial Page:** + +1. Drag and Drop area to easily select documents to upload +2. The current documents selected for upload + +![Img Txt]({% link content-accelerator/images/aca-userguide-actions-add-docs.png %}) + +If the configured behavior for uploading zip files is **Ask During Upload**, the following dialog box is displayed. + +![Zip file upload dialog box]({% link content-accelerator/images/ACA_zip_upload.png %}) + +**Add Documents - Upload View:** + +1. The list of documents that you are uploading and which one you are currently on. +2. Properties for the document displayed here for the user to edit, some could be required while other properties would be optional. +3. This button will take you back to the initial selection page. + >**Note:** This will not save the properties filled out for documents. +4. A preview display of the document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-add-doc-init-page.png %}) + +#### View/Edit Properties + +Allows for viewing and/or modification of document or folder properties. + +![Img Txt]({% link content-accelerator/images/aca-userguide-view-edit-props.png %}) + +* Note that some fields could be greyed out. These are properties that were configured to be uneditable. +* The non-greyed out sections' values can be changed. Once the property change is made then click Submit. Open back up the *View Properties* action and the new properties should now be seen. + +#### View/Create Folder/Document Notes + +Allows for the creation and viewing of a note on a particular folder or document in Content Accelerator. + +Creating a new note for a document: + +![Img Txt]({% link content-accelerator/images/aca-userguide-create-notes.png %}) + +Listing document notes: + +![Img Txt]({% link content-accelerator/images/aca-userguide-list-notes.png %}) + +### Document Actions in Stage + +The following actions are document related. + +#### View Versions + +Allows for viewing of information and content of previous versions of a document: + +![Img Txt]({% link content-accelerator/images/aca-userguide-view-versions.png %}) + +1. Indicates the different versions of the document. If a version number is clicked, then the document at that version will be displayed. +2. Displays version comments. +3. Users have the ability to revert a document to one of its versions. This will create a new version of the document with that version's content and properties. +4. Choose two versions to compare. Note, this option requires the enabling of a 3rd party integration with Workshare Compare. + +>**Note:** 3 and 4 may not show up in every environment. + +#### View Renditions + +Allows users to view the different renditions (file types) for a particular document: + +![Img Txt]({% link content-accelerator/images/aca-userguide-view-renditions.png %}) + +#### Checkout / Checkin + +Allows for a document to be downloaded, modified, and uploaded to Alfresco as a new major or minor version of the document: + +![Img Txt]({% link content-accelerator/images/aca-userguide-checkinout.png %}) + +1. Drag and Drop area to easily select a file to upload as the documents new content +2. A text box to describe the changes that occurred with the new checked-in document + +#### Cancel Checkout + +Allows a user to cancel their checkout of an object in the repository. This will remove the user's lock on the object: + +![Img Txt]({% link content-accelerator/images/aca-userguide-cancel-checkout.png %}) + +#### Send Notification + +The ability to send out a message to a particular user/users or group/groups with adding a comment. + +1. **Users** : select the user(s) that will receive the notification. The dropdown is populated by a configurable list (picklist) that a query is sent out to populate. +2. **Groups** : select the group(s) that will receive the notification. Like stated above, the dropdown is populated by a configurable query. +3. **Notification Type** : the notification category type for to tell the recipient a little more information about the notification. Like stated above, the dropdown is populated by a configurable query. +4. **Workflow Due Date** : the workflow due date that will tell the user more information about why this notification was sent out. +5. **Comment** : the comment field is to provide more information about the notification that is sent out. + +![Img Txt]({% link content-accelerator/images/aca-userguide-send-notification.png %}) + +Once a user receives a notification, the bell in the top right corner will glow. This notifies the user they can click on the bell icon to view their notifications. + +![Img Txt]({% link content-accelerator/images/aca-userguide-notification-indicator.png %}) + +When the user clicks on the bell icon. The following screenshot displays what the user will see on their screen. The user can click the complete button to acknowledge they have received and understood the notification. + +>**Note:** An email will be sent out to the recipient in addition to this notification within the web application. + +![Img Txt]({% link content-accelerator/images/aca-userguide-view-notifications.png %}) + +### Document Actions in Search + +To access actions in this section, navigate to *Search* and execute a search to bring back documents (See Search). Select a single document (either right-click the document or use the little checkboxes on the left side). Then right-click. The drop-down menu will show all the available document actions that can be performed at this time. + +#### Open in New Tab + +Allows a user to open the selected document in a new tab of his or her browser. + +To perform this action, select the checkbox next to a document and then right-click on the document. Alternatively, you can access this action from the Action dropdown menu once a document has been selected. Click the *Open in New Tab* action, and the document will open in a new browser tab: + +![Img Txt]({% link content-accelerator/images/aca-userguide-doc-actions-search-open-new-tab.png %}) + +#### Download Document + +Allows a user to download the selected document to his or her file system. + +To perform this action, select the checkbox next to a document and then right-click on the document. Alternatively, you can access this action from the Action dropdown menu once a document has been selected. Click the *Download* action, and the document will be downloaded to your file system: + +![Img Txt]({% link content-accelerator/images/aca-userguide-doc-actions-search-open-download-doc.png %}) + +#### View Properties + +This is another way to execute the View Properties on an object, just within the Content Accelerator Search. Please check out the View/Edit Properties for the explanation of this action. + +#### Document Notes + +Notes specifically placed at the document level. See the Document Notes section where this action was already explained. + +#### Send Email + +The send email action is the ability to send an email with the document that this is executed from as an email attachment. Reference the Send Email action within the Claims Scenario to get a better understanding of how it is used within a business use case. + +### Group Actions in Search + +To access actions in this section, navigate to Search and execute a search to bring back documents (See Search). Select multiple documents (either right-click selecting multiple or use the little checkboxes on the left side). Then right-click. The drop-down menu will show all the available group actions that can be performed at this time. + +#### Open Each in New Tab + +It may be beneficial to open multiple documents in a new tab for better viewing and editing. To perform this action, select **multiple** documents from the search results and right-click. Alternatively, you can access this action from the Action dropdown when multiple documents are selected. Press the *Open Each in New Tab* action and each document will open in its own individual tab. (Similar to Open in New Tab). + +For some internet browsers, the tabs may not open due to a popup blocker, so ensure that popup blocker is disabled for the application to ensure all tabs are able to be opened. + +![Img Txt]({% link content-accelerator/images/aca-userguide-doc-actions-search-open-new-tab-each.png %}) + +#### Export Results to Excel + +A quick way to provide information in another format using a different product is the integration to export the search results to an Excel spreadsheet. Select multiple documents from the search results and right-click. Then click on the *Export Results to Excel* action. Alternatively, you can access this action from the Action dropdown when multiple documents are selected. An Excel spreadsheet will be downloaded to your browser that will have organized the search results into the spreadsheet. + +![Img Txt]({% link content-accelerator/images/aca-userguide-doc-actions-search-export-excel.png %}) + +## Policy and Procedure Solution + +The Content Accelerator for Policy and Procedure Management supports efficient and well documented change management of policies, procedures and other quality documents across a variety of industries including life sciences, manufacturing, utility/energy. + +The accelerator will allow users to easily change, approve and release both simple business procedures (for example Expense Policy, Hiring Policy, Disciplinary Policy, etc.) as well as more complex and controlled manufacturing and operations documents such as Specifications, Standard Operating Procedures, Batch Records, and Formulation documents. + +The Content Accelerator provides repeatable change control for initiating and processing of a change request package with both collaborative review as well as formal and dynamic workflow approval, ensuring that changes to policies and procedures are correctly documented and demonstrate compliance with legal, quality, and regulatory requirements including electronic signatures in compliance. + +This section describes actions related to the policy and procedure use case. + +### Power Promote + +Advance a document to the next lifecycle status by inputting the current logged in user's credentials. For example: Doc's lifecycle status of Draft -> would advance to Approved: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-power-promote.png %}) + +### View Audit Events (Documents and Forms) + +An audit trail is kept to keep track of all auditable actions/events that happen with the particular document that is present. + +**Example of audit events for a document:** + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-power-view-audit-events.png %}) + +**Example of audit events for a form:** + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-view-audit-events-form.png %}) + +### Create Change Form + +The ability to create a Change Form with the document this action is executed from attached to the form to route through the form's workflow. If there are any other available forms, they will be populated in the dropdown that the user can select. + +>**Note:** The Change Form supplied in the PnP environment is a test form created to demonstrate the capabilities of +>Active Wizard forms. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-change-form.png %}) + +Once Create Form is selected, the form template appears and there are ![Img Txt]({% link content-accelerator/images/aca-userguide-required-fields-icon.png %}) icons signifying to the user that these areas are required. Below will talk more specifically about each section of the Change Request Form. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-change-form-example.png %}) + +The one section worth noting is the *Description and Rationale*. This section depending on what answer is giving will control what page is displayed next to the user. For example, if *Enter test into this form* is selected, like in the screenshot below. Text boxes are shown for the user to input a text rationale. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-change-form-desc-rationale.png %}) + +If the Attach separate document is selected instead, a user will have to attach a supporting document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-change-form-desc-rationale2.png %}) + +Another noteworthy section is the approvers section (both Initial QA Approvers and Approvers). This section the user has the ability to select what users will receive workflow tasks to approve or reject. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-change-form-approvers.png %}) + +### Generate Impact Assessment + +Uses a search attribute provided to search all documents for text and output queries specified. Once the action is executed it will download an Excel spreadsheet. In this environment, the **Target Query Document Type** is **Quality Document** and **Target Property** is **Document Number** + +Running import assessment: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-gen-impact-assessment.png %}) + +Waiting for result: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-gen-impact-assessment2.png %}) + +### Perform Periodic Review + +Allows the user to either accept or reject a periodic review. A periodic review is an analysis of a document after a certain period of time (e.g. 2 years) to make sure that the document is still valid. + +Submit periodic review: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-perform-periodic-review.png %}) + +Result: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-perform-periodic-review2.png %}) + +### Obsolete Document + +The ability to set an obsolete date for a scheduled job to be run to transition the workflow status to obsolete. An obsolete workflow status means that the document is no longer in use or active. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-obsolete-doc.png %}) + +### Acquire Workflow Task + +Allows a user to claim a workflow task that is assigned to a group, which the user is in. After performing this action, the user will own the workflow task. In this environment, this is used to acquire the Periodic Review group task for the group `GROUP_wizard_doc_editors`. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-aquire-workflow-task.png %}) + +### Complete Attestation + +Users can complete the "To Be Read" (TBR) workflow task, which is a workflow that is sent out to the specified group. The specified group is a property on the document that should be set before the document makes it to an Approved workflow status. When a user attests to the document, they are accepting the document and all changes (if any) made to it. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-complete-attestatation.png %}) + +### Start Review Workflow + +Start a review workflow on a form in the Draft lifecycle state. A review workflow lets the initiator to select the user(s) to *review* the form and any documents attached. The users can either reject or accept the state of the form and documents attached, if any (See **Complete Wizard Review**) + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-start-review-workflow.png %}) + +### Complete Wizard Review + +Allows a user to complete a review task for a form. + +Addional review needed: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-complete-wizard-review.png %}) + +Ready for approval: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-complete-wizard-review2.png %}) + +### Start Approval Workflow + +Allows a user to initiate an approval workflow on a form in the Draft lifecycle state. The form must have assigned approvers. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-start-approval-workflow.png %}) + +### Cancel Workflow + +Allows either the form owner or an administrator to cancel an ongoing workflow. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-cancel-workflow.png %}) + +### Complete Approval + +Allows a user to complete their task by accepting or rejecting the form by entering their credentials. Depending on configuration, a rejection may or may not cancel the workflow. + +Completing and approving: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-complete-approval.png %}) + +Completing and rejecting: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-complete-approval2.png %}) + +### Delegate Task + +Allows a user to give away (delegate) their workflow task to another user that is within their Role (e.g. Change Approval). The form must currently be in a workflow and have active tasks for this action to be available. + +### Reassign Task + +Allows a user within the wizard administrator group to change ownership (reassign) of a workflow task from one user to another. The form must currently be in a workflow and have active tasks for this action to be available. + +Delegate task: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-reassign-task.png %}) + +Select task to reassign: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-reassign-task2.png %}) + +Selecting user to reassign task to: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-reassign-task3.png %}) + +### View Wizard Workflow Status + +Allows a user to view the status of an Active Wizard form in its current workflow. If the form is in the Draft lifecycle state, this action shows the assigned form approvers with a **Pending** status. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-view-wizard-status.png %}) + +As the form proceeds through the workflow, this action will be updated based on the various status changes such as when a user Approves their task. + +### Create Related Form + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-view-wizard-status2.png %}) + +Allows a user to create a new Change Form that will have a related association to the current form where the action is executed. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-create-related-form.png %}) + +### Manage Workflow Documents + +View, remove, and add workflow document relationships to the current form. + +Attached documents: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-manage-workflow-docs.png %}) + +Add documents: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-manage-workflow-docs2.png %}) + +### Set Effective Date + +This action can exist on either a form or document. If attached to a form, it presents the ability to set the effective date of each workflow document attached to the form. Conversely, it only sets the effective date for that specific document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-set-effective-date.png %}) + +### Edit Form + +Allows a user to edit the wizard form. Note: this will version the form (0.1 -> 0.2 after editing) + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-edit-form.png %}) + +### Cancel Form + +Allows a user who is either the owner of the current form or in the wizard administrator group to cancel the wizard form. The form status will be transitioned to Cancelled, and an audit of this event will be created. + +Cancel form with closing remark: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-cancel-form.png %}) + +Form properties: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-cancel-form2.png %}) + +View wizard audit events: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-cancel-form3.png %}) + +### Close Form + +Allows a user who is in the wizard administrator group to close the wizard form this is in the Approved lifecycle state. User needs to provide a closing remark, which will be added to the audit trail. + +Close form with closing remark: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-close-form.png %}) + +Form properties: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-close-form2.png %}) + +View wizard audit events: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-close-form3.png %}) + +### Copy Wizard Form + +Allows a user to copy the metadata (form input/information) from the current form into a new form. The new form will copy the most current version of the form's template. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-copy-wizard-form.png %}) + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-copy-wizard-form2.png %}) + +You may be thinking there has been an error because the form isn't displayed. The form's content is copied over but the approvers need to be re-inputted so the user can validate that the new form should still have those certain approvers. Therefore, click the **Edit Form** action to proceed. Also note that a parent-child relationship is created between the current form and the new copied form. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-actions-copy-wizard-form3.png %}) + +## Policy and Procedure Use Case Scenarios + +In this section, daily use cases will be detailed that an individual for the PnP scenario will frequently carry out. + +### Upload New Document + +To upload a document in the PnP environment, the user will select the header action called *Add Documents*. Once clicking that action the following modal should be seen on the screen. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-add-docs.png %}) + +This is the Add Documents action modal that is detailed in the commonly used actions section, see Add Documents. A document or multiple documents can be dragged or uploaded into the upload screen. + +If the configured behavior for uploading zip files is **Ask During Upload**, the following dialog box is displayed. + +![Zip file upload dialog box]({% link content-accelerator/images/ACA_zip_upload.png %}) + +Then the Next button would be clicked showing the screenshot below. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-add-docs2.png %}) + +A form that consists of the incoming document's properties are filled out at this point with certain fields, such as *Document Number*, are required to upload. Also, notice the Iframe to the right that shows a preview of the incoming document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-add-docs3.png %}) + +Two sections on the form worth noting are the **TBR Groups** and the **Reference Documents**. + +* The **TBR Groups** is a field that determines what group(s) the TBR Attestation workflow tasks are sent out to attest to the changes of the document(s) once it reaches approval (See Complete Attestation Action and TBR Attestation) +* The **Reference Documents** are documents related to the uploaded document. A relationship will be created and the relation could be seen under the *Related Objects* section. + +### Editing Document (Content & Properties) + +Once a document is uploaded, the document can be viewed in the application. Many times a document's content and properties change. Below will talk about how to achieve both. + +#### Editing Content + +To modify a document's content the document will have to be versioned. + +* Click on the icon ![Img Txt]({% link content-accelerator/images/aca-userguide-edit-pen-icon.png %}) to *Check Out* the document and press Checkout (See Check Out). +* The document should have been downloaded. Now is the opportunity to make the necessary changes. Before checking the document back in, notice the lock glowing in the top right corner of the viewer. This icon is telling everyone that this particular document is locked by you as you are making changes. +* If it turns out no changes actually needed to be made. The ![Img Txt]({% link content-accelerator/images/aca-userguide-gray-x-icon.png %}) could be clicked to *Cancel Checkout* (See Cancel Checkout). + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-edit-docs.png %}) + +* When it is time to check the document back in, press the ![Img Txt]({% link content-accelerator/images/aca-userguide-gray-check-icon.png %}) that says *Check In*. The item can be dragged or chosen from the computer to upload back into the application. Then hit submit to check the document back in. +* A couple things to note when a document is checked in. + 1. The lock on the document is released. + 2. The version label has now updated to become the next minor version (e.g. 0.1 -> 0.2). + 3. To view all the versions thus far, see View Versions. + +#### Editing Properties + +To update a document's properties click the *View Properties* ![Img Txt]({% link content-accelerator/images/aca-userguide-view-props-icon.png %}) icon. +A dual pane should be seen with the document's properties displayed. (See View/Edit Properties). + +### Annotations + +Annotations are a very powerful collaboration tool that is integrated within this application thanks to the product called Alfresco Enterprise Viewer (AEV). + +The annotation tool can be used whenever a form or document is viewed (this viewer is configured by default). + +The advantage of using AEV is that it provides additional opportunities to provide feedback on a document. In addition, there are an abundance of use cases that AEV can tackle. During this section, only the particular use cases associated with the PnP scenario will be highlighted. + +To understand more of the use cases of AEV please refer to AEV's user guide or relevant documentation. + +#### Why use annotations in the PnP Scenario? + +The typical use case for annotating a document in the PnP scenario will be during review or the pending approval of a document or form. + +As talked about in the Route for Review and Route for Approval sections, the user has the ability to reject the document or form. Annotations can be a great way to show the owner/author of the form what needs to change to seek the user's approval. + +#### Route for Review Annotation Use Case + +Let's imagine a document is within a Review route and has the status *In Review*. Let's assume the role of a user who has been selected to receive a task to review the document and form. This user goes to complete their task. + +Click on the document to bring it up in the AEV document viewer. The user notices a mistake worth noting on the document. They want to leave a sticky note comment for the owner of the document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation.png %}) + +Select the sticky note annotation icon highlighted in the above screenshot. The ability to write a comment within the sticky note annotation is available at this moment. Leave a comment by the "TSG-104" saying something like, "Consider changing this to SOP instead of TSG" + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation2.png %}) + +Press the **OK** button. The annotation can be seen hovering over the sticky note icon in the document, like below: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation3.png %}) + +Another way to view annotation a little cleaner is by expanding the right sidebar where the "1" icon is in the above screenshot: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation4.png %}) + +The annotations should be auto-saved but in case they aren't select the **Save** icon highlighted in the following screenshot: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation5.png %}) + +Now navigate back to the form. Select the **Complete Wizard Review**. Choose the **Additional Review Needed** under the *Vote* dropdown. Leave a meaningful comment about the annotation and proposed change. Click **Submit**. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-4-review-annotation6.png %}) + +There are two important things to point out in the above screenshot: + +1. Notice in the bottom left corner the annotation icon next to the workflow document. This is a convenient icon notifying to the user across this application that the document has annotations attached. +2. The user action of *Additional Review Needed* will be audited and sent in an email. The owner of the document can navigate to the document and address the concern that was mentioned. + +#### Important Notes + +Even though the above use case was for the *Route for Review*. The same applies for the *Route for Approval*. The only differences are the status would be *Pending Approval*, the task would be *Complete Approval* where the user would *Reject*. All other actions would be very similar. + +The overall goal is to provide the document/form owner a better way to receive feedback and increase the efficiency of collaboration on a document/form. + +Like stated in the intro to this section, AEV has an abundance of use cases it can handle. Please refer to AEV's specific documentation walking through those use cases. This section was to provide a couple use cases that AEV can help in the PnP scenario. + +### Create Form and Attach Document + +The task of creating a form and attaching documents will be a crucial action for a user to carry out within the PnP scenario. Currently, there are a couple different combinations and ways to Create a Form and or attach a document or multiple documents to a form. These are described below. See "Create Change Form" action description for more details. + +#### Create a Form Without Document Attached + +Sometimes a form is needed without any document attached. To achieve this scenario, the user can select the header action **Create Change Form**: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc.png %}) + +When the form has been created notice under the "Related Objects" section that there are no workflow documents attached +(ignore Supporting Documents that is something different): + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc2.png %}) + +#### Create a Form With Document Attached + +A typical use case within the PnP scenario could be when a form needs to be created with one document attached to it. + +To start, navigate to a document and click **Create Change Form** button pictured below. + +>**Note:** the document should not be attached to another form. If it is, there is the ability to version the document +>then attach to a form (only if that use case makes sense if your instance should you do that) + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc3.png %}) + +After the form is filled out and created, the workflow document should be seen under the *Related Objects* section. Once the form is taken through the various workflow routes the document will act accordingly (See "Route for Review" or "Route for Approval") + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc4.png %}) + +#### Create a Form With Multiple Documents Attached + +There could be a time when multiple documents are required to be attached and routed in a form. To achieve this first follow the steps in the "Create a Form Without Document Attached" section. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc5.png %}) + +When the screen looks like above, go ahead and click on the **Manage Workflow Documents** button. See "Manage Workflow Documents" for more details. The action loads in the right-side pane: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc7.png %}) + +Click on the *Add Documents* tab: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-create-form-attach-doc6.png %}) + +A search bar is provided that *requires three characters typed as a minimum* to search for documents. There are checks to determine if the document is able to be attached to the form or not. In this case it shows that the *SOP-9756673* is already attached to the current form, therefore, cannot be attached again. + +The form should now have multiple documents attached and can be seen in the *Attached Documents* section. In addition, the *Related Objects* area shows both workflow documents attached. + +### Route for Review + +A form with or without documents attached to it often needs to be confirmed by selected approvers to make sure all the items are valid. See "Start Review Workflow" section for more details. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review.png %}) + +The route for review was designed to select user(s) to be recipients of these review workflow tasks. The ability to filter users can be seen in the below screenshot, as two users are selected to receive the review workflow tasks. Click **Start Review Route** button to start workflow: + +>**Note:** The users shown are within different permission roles within the application. To clarify, the review +> route isn't designated for a particular permission role and can have a different assortment of users. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review2.png %}) + +The screenshot shows what the screen of a user with a review workflow task should look like at this moment. More specifically, the **Complete Wizard Review** should have appeared. Go ahead and click that button. + +#### Find Review Task + +There are three ways a user can be notified and navigate to their approval workflow task: + +1. An email is sent out to the user's email address. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review2b.png %}) + +2. The *Change Control Inbox* is a collection of all the users tasks as well as group tasks (tasks assigned to the group the user is within). Clicking on the *Form Name* will bring the user to the form to view the review task. + + **Note:** that the *Workflow Docs* can be clicked to view this form's document associations. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review3.png %}) + +3. The user can manually search for the document or form within Search to navigate to the task. See "Search" section for more information. + + a) Search for the document: + + 1. Choose the *Controlled Docs* option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the document from the search results on the right-hand side to load the document. + 3. Click on the form's link under the *Related CR Form* section to be redirected to the form. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review4.png %}) + + b). Search for the form + + 1. Choose the *Change Control* option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the form from the search results on the right side to navigate to the form. + +#### Complete Review Task + +At this point there are two decisions the user with the review workflow task can make: + +1. Mark as **Ready for Approval**, signifying everything looks good to move toward routing for approval. + + If this choice is selected by all recipients, the workflow will be completed and the "Route for Approval" can be initiated. + +2. Mark as **Additional Review Needed**, signifying that there are issues or revisions that still need to be made before routing for approval. + + If this choice is selected, the review route will be aborted so the appropriate changes can be made to the document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-review5.png %}) + +#### Important Notes for Routing for Review + +The user can input comments describing their above choice of action in the textbox. + +An email will be sent notifying about the completion of the task. + +An audit trail entry will be created for the result of the task (See "Audit Trail" section for more information). + +### Route for Approval + +A form and any documents attached (if any) that are ready to be approved by the selected recipients within the form can be started by clicking the **Start Approval Workflow**. + +Upon starting the approval route, the tasks are sent out to the recipients in the first approval role. In the example case below there are 2 roles: **Initial QA Approvers** and **Approvers**. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval.png %}) + +#### Find Approval Task + +There are three ways a user can be notified and navigate to their approval workflow task: + +1. An email is sent out to the user's email address. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval2.png %})) + +2. The *Change Control Inbox* is a collection of all the users tasks as well as group tasks (tasks assigned to the group the user is within). Clicking on the *Form Name* will bring the user to the form to view the task. + + Note that the *Workflow Docs* can be clicked to view this form's document associations. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval3.png %}) + +3. The user can manually search for the document or form within *Search* to navigate to the task. See Search section for more information. + Search for the document: + + 1. Choose the **Controlled Docs** option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the document from the search results on the right-hand side to load the document. + 3. Click on the form's link under the *Related CR Form* section to be redirected to the form. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval4.png %}) + + Search for the form + + 1. Choose the *Change Control* option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the form from the search results on the right side to navigate to the form. + +#### Complete Approval Task + +Now that the approval task can be found. The user should see they have a visible action called *Complete Approval* (See "Complete Approval" section for more information). + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval5.png %}) + +At this point there are two decisions the user with the approval workflow task can make: + +1. **Approve**: if the user selects this option, the workflow will proceed to the next role if there is one. If there isn't a role, the approval route will complete. + Emails and an audit entry will take place upon approval. + +2. **Reject**: if the user selects this option, the workflow will be aborted and all tasks will be canceled. Emails and an audit entry will take place upon rejection. + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval6.png %}) + +Once all approval tasks are approved the form and any attached documents transition to the Approved lifecycle status/state. The version label is also updated to the next major version (e.g. 0.1 Draft -> 1.0 Approved). + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval7.png %}) + +#### Important Notes for Routing for Approval + +Throughout this test example, users in different permission groups were used. The permission group has an affect on how much the specific user can accomplish. + +1. One example would be the *Reassign Task* action is only available to be executed by users who are administrators. +2. If there is a specific question about the permissions pertaining to a certain action please refer to the following documentation: + 1. **Admin Guide** : if your user is an admin, the admin section displays the particular conditions associated with each action. + 2. **PnP Specific Actions** or **Commonly Used Actions**: this section will detail the action more in depth and will touch on permissions when it is relevant to do so. +3. Notable actions that are beneficial throughout the approval workflow: + 1. Reassign Task + 2. Delegate Task + 3. View Wizard Wizard Workflow Status + 4. View Wizard Audit Events +4. **Remember** the approval workflow can be cancelled at any moment. The user has to be either the form owner or an administrator to cancel, though. See "Cancel Workflow" for more details. +5. Emails are sent out throughout the workflow to the various users who are recipients of tasks. + +#### Signature Pages + +The signature page is a great additional resource to the "audit trail" that provides information about the major wizard events that happen. + +After each approval task is completed for each assigned user, a signature entry will be made in the signature page for the document as well as the form. + +The form's signature page should look similar to the following screenshot: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval8.png %}) + +The document's signature page should look similar to the following screenshot: + +![Img Txt]({% link content-accelerator/images/aca-userguide-policy-procedure-use-cases-route-for-approval9.png %}) + +### Power Promote + +There are some instances where the traditional workflow for a document does not fit the particular business need. One of those instances is the approval of a document. A document can be power promoted to the approval lifecycle state/status independent from a workflow. See "Power Promote" for more information. + +* Navigate to a document that is within the Draft lifecycle state and make sure the document is not attached to any workflows already. +* Click on the fast-forward icon ![Img Txt]({% link content-accelerator/images/aca-userguide-fast-forward-icon.png %}) labeled *Power Promote*. + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-controlled-docs.png %}) + >**Note:** Any contributor/editor user will, by default, be able to execute the *Power Promote* action. However, this action's visibility can be configured to only allow a certain group and users. +* Execute the power promote action by inputting the credentials of the user that has selected this action. +* Notice after the action has completed the version label should be the next major version (e.g. 0.1 -> 1.0) and the status is now Approved. + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-controlled-docs2.png %}) + +### To Be Read (TBR) Attestation Workflow + +The TBR Attestation Workflow is a way for additional users to *attest* to the changes made to the now Approved document. + +If you have not been following along through the use case scenarios in order, then please review the "Upload New Document" section. During that section, the `TBR Groups` property on the uploaded document was highlighted. This property needs to be set before the document reaches the Approved state. + +![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow.png %}) + +Once a document gets promoted to the Approved state, no matter if it went through "Route for Approval" or "Power Promote", the TBR attestation workflow tasks are sent to the users within the group(s) in that property on the document. + +#### Find TBR Task + +There are three ways to find the TBR workflow tasks: + +1. An **email** is sent out to the user who is in the TBR Group assigned on the property of the document: + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow2.png %}) +2. The *Inbox* on the *Dashboard*. The *Inbox* is a collection of the TBR workflow tasks that the currently logged in user has to complete. Following the link will direct the user to the document to complete the TBR workflow task: + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow3.png %}) +3. The user can manually search for the document within *Search* to navigate to the task. See "Search" for more information: + + Search for the document: + 1. Choose the *Controlled Docs* option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the document from the search results on the right-hand side to load the document. + +#### Complete TBR Task + +The user should see the document and the *Complete Attestation* icon ![Img Txt]({% link content-accelerator/images/aca-userguide-check-icon.png %}). Click on it. + +A table full of details about the workflow are provided to the user. If everything looks good and the user is ready to attest to the changes, click *Complete Task*. + +### Set Effective Date + +The next step in finalizing a document and its contents is to make sure the document transitions from the Approved to the Effective lifecycle state. + +Setting the Effective Date signifies the date in which the document should reach Effective status. This will give enough time to decide if there are any more changes that need to be made before the document goes into the final (production) state of Effective. + +Once a document has been Approved, there are two ways to *Set Effective Date*: + +1. Setting the effective document of multiple documents on the form they are attached: + 1. Navigate to the form where the document(s) are attached. Click on the *Set Doc Effective Dates*. + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow4.png %}) + 2. The two documents attached to the form show up in the table shown below. Go ahead and set the Effective Date to the appropriate value. + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow5.png %}) + >**Note:** the action was run before this screenshot to show what it looks when a document's effective date is set. +2. Setting the effective date of a single document while viewing the document: + 1. Navigate to the document whose effective date needs to be set and click on the *Set Effective Date* icon ![Img Txt]({% link content-accelerator/images/aca-userguide-set-date-icon.png %}). + 2. The action will show only the document that the user is viewing in the table, unlike above where it should multiple documents because it was run from a form. Go ahead and set the Effective Date to the appropriate value. + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-tbr-workflow6.png %}) + +#### Make Docs Effective Scheduled Job + +At this moment the effective dates are set and no more action needs to be taken by the user. What happens next is a scheduled job that runs in the background will pick up any Effective documents that fit its criteria and promote them to Effective. + +The criteria is the following: + +1. **Approved** status aspect +2. **Effective Date** is set to the day the job runs +3. Does not have **checkedOut** aspect +4. Does not have **workingCopy** aspect + +The job is configured to run at the **top of every hour**. + +### Periodic Review + +A document in its final state (i.e. Effective) can be in circulation and used for many years. To make sure the document is still relevant, a periodic review date is set on the document upon becoming Effective. + +The periodic review date, by default, is set two years from the time it becomes Effective. + +#### Initiating Periodic Review Workflow + +A scheduled job that runs in the background will determine based on the following criteria if the periodic review workflow should be executed: + +1. Document has **Effective** status +2. Within **90 days** of the **periodic review date** +3. Document has **inPeriodicReview** aspect +4. Document doesn't have **checkedOut** aspect +5. Document doesn't have **workingCopy** aspect + +The scheduled job is configured to run **every night at 12:30 AM**. + +#### Find Periodic Review Workflow Task + +Let's assume the scheduled job has run and the periodic review workflow tasks have been sent out to the *GROUP_wizard_doc_editors* (this group is configured as the default). + +There are three ways to find the periodic review workflow task: + +1. An **email** will be sent out to the configured email address for this particular scheduled job under the property `wizard.periodic.review.default.email`. Consult with the Administrator to configure this property. +2. The *Inbox* will have a collection of tasks assigned to the user that refers to documents. A group task tab will appear with the group name and all tasks associated with it that can be acquired. + 1. Click on the *Acquire* to acquire the task for the periodic review workflow task. This will direct the task into the *My Tasks* section. The group task tab will disappear, if there are no more group tasks for that particular group. + 2. The user will click on the document link to be brought to the document to "Complete the Periodic Review Workflow Task" + ![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-periodic-review-workflow.png %}) +3. The user can manually search for the document within *Search* to navigate to the task. See "Search" for more information. + + Search for the document + 1. Choose the *Controlled Docs* option from the top dropdown and input any information in the fields to narrow the search. + 2. Select the document from the search results on the right-hand side to load the document. + +#### Complete Periodic Review Workflow Task + +If the task was acquired in option 2 from above then this step can be skipped. If not, then the *Acquire Task* action icon should be visible ![Img Txt]({% link content-accelerator/images/aca-userguide-aquire-task-icon.png %}). Click on it to acquire the task. See "Acquire Task" for more information. + +Once the periodic review workflow task is acquired the *Perform Periodic Review* action icon ![Img Txt]({% link content-accelerator/images/aca-userguide-perform-periodic-review-icon.png %}) should be visible. Click on that to perform periodic review. + +The user has two options: + +1. Accept the document as is. + The document's periodic review date will be moved to **two years** from the time the user completes this periodic review workflow task. +1. Do not accept the document as is. + 1. A rejection comment section will appear where the user can leave their comments about their rejection. + 2. The document at this point should be made "Obsolete" or revisions should be made to it. + +#### Document Signature Page + +The signature page is a great additional resource to the "audit trail" that provides information about the major wizard events that happen. + +When the periodic review workflow task is complete, an entry in the document's signature page will be created. The signature page should be similar to the one in the screenshot below: + +![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-periodic-review-workflow2.png %}) + +### Obsolete Document + +For whatever reason, during either the "Periodic Review" or realizing after "Setting the Effective Date", the document is no longer valid in its current state. The document is then going to be transitioned into the Obsolete lifecycle state. See "Obsolete Document" for more information. + +The Obsolete lifecycle state signifies that the document is decommissioned and no longer relevant. The Obsolete date can only be designated when the document is in the Effective (final) state. + +#### Setting the Obsolete Date + +Navigate to the Effective document that should become Obsolete and click on the *Obsolete Document* action icon ![Img Txt]({% link content-accelerator/images/aca-userguide-obsolete-doc-icon.png %}). + +The user will fill out the required inputs on the form to then successfully set the obsoletion date. There is no user action needed once this is completed. + +The admin can configure the Obselete Document action to require authentication. + +Authentication Required: + +![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-periodic-review-obsolete-doc.png %}) + +Authentication Not Required: + +![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-periodic-review-obsolete-doc2.png %}) + +#### Make Docs Obsolete Scheduled Job + +At this moment the obsolete date is set and no more action needs to be taken by the user. What happens next is a scheduled job that runs in the background will pick up any Effective documents that fit its criteria and transition them to the Obsolete lifecycle state. + +The criteria is the following: + +1. **Effective** status aspect +2. **Obsolete Date** is set to the day the job runs +3. Does not have **checkedOut** aspect +4. Does not have **workingCopy** aspect + +The job is configured to run **every night at 12 AM**. + +#### Document Signature Page + +The signature page is a great additional resource to the "audit trail" that provides information about the major wizard events that happen. After the document transitions to the Obsolete lifecycle status, the signature page is updated and could look like something below: + +![Img Txt]({% link content-accelerator/images/aca-userguide-power-promote-periodic-review-obsolete-doc3.png %}) + +## Claims Management Solution Features + +The Content Accelerator for Claims Management provides: + +* A robust and efficient claims content management interface and integration platform to vastly improve access and integration to a variety of content including documents, video and audio files +* Simplified connectivity to any claims data system (ex: Guidewire, Salesforce, Fineos, or custom built) to provide unlimited access from any client data driven system for the synchronization of claims data, a critical indexing component of claims documents. +* A modern platform for additional business intelligence analytics for claims documents. + +As an integrated solution, the Content Accelerator does not require the replacement of existing data systems, only extensions to "electronic file enable" the claim systems saving a huge amount of rework for data processing and document processing if combined in a single effort. Data such as insured name, policy number and claim number can be passed to the solution when the electronic file system is first accessed, saving critical data entry time, effort and reducing errors. + +The below integration point can be used from Guidewire, Duck Creek, Salesforce, or any custom system to allow for integration from these systems to create a claim and launch users directly into the claim folder. A typical integration involves generating a URL link on the existing interface that can be put into an iframe or launch a new tab/window that takes the user directly into the claim folder. It will commonly pass in some key metadata from the claims data system to populate and update the claim info each time it is launched. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt.png %}) + +### Stage + +Here you can view all information about a claim, the documents linked to a claim, and perform a variety of actions. The guide below walks through a typical example of a Claim Solution's Stage and what can be achieved. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt2.png %}) + +#### Left Sidebar + +The left side of the image exhibits the left sidebar. Here, this guide will cover the Claim Informational Panel and the Actions Panel. Please note that clicking on the tab on the left near the top of the panel will minimize the panel, allowing more space for the right side panel. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt3.png %}) + +* The red box labeled `1` outlines the *Claim Informational Panel*. The top most panel's header tells you the type of the current claim folder. Moving down, there is a list of some of the properties from the claim the user is currently viewing. +* The dark blue box labeled `2` outlines the *Actions* dropdown panel. Within this dropdown are actions you can perform on this claim folder. + * The orange box labeled `a` outlines the **View All Claim Documents** action. This action allows you to view all the documents within the current claim. Upon launching into a claim, this action is automatically active. + * The pink box labeled `b` outlines the **Claim Notes** action. This action is great for tracking user activity within the claim, as well as creating your notes. + * The light blue box labeled `c` outlines the **Add Documents to Claim** action. This action allows you to add one or more documents to the claim folder and properties for each of those documents. + * The brown box labeled `d` outlines the **Send Email** action. This action allows you to send an email to both internal and external recipients, attach documents found within the claim, and can create a personal note based on custom text after sending. + * The purple box labeled `e` outlines the **Claim Properties** action. This action allows you to view and edit the current properties of the claim folder. + +#### Right Side Panel + +Direct your attention to the right side of the image. The right side panel is the largest area of the Stage. This area can consist of either one or two panes. Either one or both of these panes can be used as a document viewer, which allows you to work on documents side by side. As seen in the initial screenshot of the Stage, this panel can consist of one pane dedicated solely to an action. Additionally, it can be side by side with a document viewer pane. Two action panes cannot be side by side. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt4.png %}) + +### Search + +Some implementations may choose to expose the "Search" interface for searching across various claim and/or document metadata. Search is the easiest way to find a claim based on a set of properties already known to you. In the case only one property is known or even a partial value, search makes it easy to find your desired claims. Additionally, you can search for specific documents that could be located in one or many claims. + +After searching, you can navigate to the displayed results and perform multiple actions on those documents. Below is an example of a Claim Solution's Search and the features can be accomplished: + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt5.png %}) + +#### Search Form + +The search form is where you enter the criteria you wish to search on. Upon navigating to search, this form appears on the left side of the search underneath the search header. Clicking the tab near the top left corner of the pane will open and close the search view. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt6.png %}) + +When searching, some criteria allow for wildcard characters. Here, the asterisk (*) is a wildcard character that allows +you to search for all possible documents in the repository. + +* The red box labeled `1` outlines the object type selector box. Here, you can choose between searching for Claim Folders or Claim Documents. Currently, we are searching for claim documents, as 'Claim Documents' is selected in the dropdown. +* The orange box labeled `2` outlines the saved search input box. Before searching, you can select a pre-saved search from the dropdown list. A saved search stores the values of the previous form into an easy-to-remember text the user can define. This can save you from reentering all the criteria for searches you use everyday. To save a new search, type in the criteria for the search, execute the search, click the plus icon within the saved search input box, and input what you would like your search to be called. You can manage your saved searches from the User Preferences page. +* The dark blue box labeled `3` outlines the full text search box. This field consists of two parts, the input box and the search button. The input box is where you enter any text that could match any property. The returned claims will have at least one property that matches the input text exactly. The button on the right of the box will execute the search. Additionally, the search button at the bottom of the form and the enter key will also execute the search. +* The pink box labeled `4` outlines the attribute search tab. Within this tab, you can add criteria for properties you wish to search. Some properties' criteria can be selected from a dropdown or date picker. Others, such as Claim Number, need to be entered in manually. The results will return all items that match any part of the criteria for the respective property. If the property you wish to search on does not appear, check the more fields section at the bottom of the attribute search tab. You can enable advance search capabilities in Attribute Search. See the next section for additional information on enabling [Advanced Search capabilities with Attribute Search](#advance-search-capabilities-with-attribute-search). + + > **Note:** Not all claim properties will appear in the form. + +* The light blue box labeled `5` outlines the filters tab. After a search has already been run, this tab will populate with filters based on the result. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt7.png %}) + + Here, the results returned had 12 different values within the document category property. The number to the right represents the number of results that match the criteria stated on the left. Selecting the checkbox will remove all results from search results pane that do not match the criteria selected. The reset button at the top left removes all selected filters. + +* The purple box labeled `6` is where you can submit your search form, executing the search. This can also be done by clicking the search button in the full text search input box or by hitting the enter key while within the form. Clicking the reset button empties all previous entered criteria in the form without running another search. + +### Advance Search capabilities with Attribute Search + +Attribute Search includes the option to configure Advanced Search capabilities within the search form. To enable advanced capabilities in attribute search, navigate to the Attribute Search config in the Alfresco Content Accelerator Admin. By default, the values are set to `Disabled`: + +To enable advanced capabilities in attribute search, complete the following steps. + +1. Navigate to the Attribute Search config in the Alfresco Content Accelerator Admin and set the value of the Show Advanced Search parameter to Enabled. By default, the value is set to Disabled. + + ![Advanced Search configuration]({% link content-accelerator/images/aca-show-advanced-search-config.png %}) + +2. After you enable Advanced Search, you can enable the following configuration settings: + + * Enable Any/All Search + * Enable Like/Exact/Not Search + + ![Advanced Search additional configuration]({% link content-accelerator/images/aca-show-advanced-search-options-config.png %}) + +When the **Enable Any/All Search** setting is enabled, you can configure either of the following settings. + +| Settings | Search operator | +| -------- | --------------- | +| ANY of these values | If you select this option, search is performed based on the `OR` operator | +| ALL of these values | If you select this option, search is performed based on the `AND` operator | + +If the **Enable Any/All Search** setting is disabled, `AND` operation is the default operation. + +When you enable the **Like/Exact/Not Search** setting, an additional control is added to the Attribute Search form. The control includes an advanced operator selection drop-down. This drop-down is only available to properties with control type `TextBox`, `AutoComplete`, and `DropDown`. + +The list of operators included in the drop-down is based on the associated property data type. The following table lists the data types and the operators associated with it. + +| Data type | Operators | +| --------- | --------- | +| String | `LOGIC_LIKE`, `OPERATOR_EQUALS`, `OPERATOR_NOT_EQUALS` | +| Integer or Double | `OPERATOR_LESS_THAN`, `OPERATOR_EQUALS`, `OPERATOR_GREATER_THAN`, `OPERATOR_NOT_EQUALS` | + +The operators listed above are described below: + +* `LOGIC_LIKE` - Performs a wildcard (%) search +* `OPERATOR_EQUALS` - Performs a exact (=) value search +* `OPERATOR_NOT_EQUALS` - Performs a not exact (-) value search +* `OPERATOR_LESS_THAN` - The search returns results less than (<) the provided search term. +* `OPERATOR_GREATER_THAN` - The search will return results greater than (>) the provided search term. + +If the **Like/Exact/Not Search** setting is disabled, the default operation depends on the object type. The following table lists the default operation based on the object types. + +| Object | Default operation | +| ------ | ----------------- | +| **AutoComplete** and **DropDown** | Exact search with case sensitivity | +| **RadioButton** and **Cascading** | Exact search | +| **TextBox** | The search depends on values set using “Make Search Exact” and “Case Sensitive Search” and if these values are not set, a wildcard search is performed. | + +> **Note:** +> +> * Advanced Search is deprecated in Content Accelerator 3.6. Though it is still available, Advanced Search feature in Attribute Search, described above, is expected to replace Advanced Search in future releases. +> +> * By enabling “Like/Exact/Not Search”, you override the settings for “Make Search Exact” and “Case Sensitive Search” for any property (if configured). +> +> * On a Property or Full text search, when any value is enclosed in double quotes, it is considered an exact search. +> +> * Popular special characters can be searched on Property and  Full text searches. How special characters are treated depends on tokenization and search index configuration. For additional information, see the [Alfresco Search Services documentation]({% link search-services/latest/index.md %}) and [Apache Solr Reference Guide](https://solr.apache.org/guide/solr/latest/index.html){:target="_blank"}. + +#### Search Results Pane + +Here you can navigate the results, change how the results are displayed, further filter the results down, and perform actions on some or all of the results. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt8.png %}) + +* The red box labeled `1`: outlines the search results control bar. This control bar allows the user to interact, modify, and update the table below it. It consists of 5 main controls but can change depending on the state of the table. Below the controls displays the number of search results returned with the previous search as well as an icon. Hovering over the icon will display detailed timing information about search execution. + * The brown box labeled `a`: outlines the pagination control. You can navigate the various pages of the results using the Prev and Next buttons. Clicking on the page number dropdown in the center allows you to jump to a specific page number. + * The light blue box labeled `b`: outlines the selection control. When items in the table are selected, the number of selected items will be displayed. Clicking on the control allows you to select all items in the table across all pages or deselect all selected items. + * The purple box labeled `c`': outlines the results per page control. Here you can select how many items you wish to display in the table below. + * The pink box labeled `d`: outlines the actions control. The actions control will appear when one or more items are selected. This dropdown can also be accessed by right-clicking on a selected item and applies to all selected items. + * The green box labeled `e`: outlines the quick filter control. This filter allows you to narrow down the results that displayed. This filter removes all results except those that have a partial match of the text you entered to a table property. Note this filter will filter across all pages. +* The dark blue box labeled 2: outlines is the table display options. Currently listview is selected and displayed green. You can toggle table display view, also known as thumbnail view, by clicking on the camera icon. This will show a preview of each item in the results table. Below is an image of the table in thumbnail view. Note right-click functionality is disabled for thumbnails. + + ![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt9.png %}) + +* The orange box labeled 3: outlines the search result's table. This table lists all the search results, displaying important properties along its x-axis within the header. Right clicking on the table header allows you to add or remove various claim properties. Clicking the checkbox in the top right corner selects all items on the current page. The checkboxes down the right side allow you to select or deselect individual items. Right clicking on the table when in listview will show potential actions you can perform on the selected items. Clicking on the blue linked item name will route you to Stage if in search. If clicking on a document, Content Accelerator will also open the document viewer for that document. + +### Navigation Bar + +At the top of the following image is the navigation bar allowing you to navigate to different views or perform actions. Here, this guide will cover Search, Dashboard, and Create New Claim. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt10.png %}) + +* The red box labeled `1` outlines the Search. Clicking there will navigate you to the search view, where you can search for all the claims based on a variety of conditions. +* The orange box labeled `2` outlines the Dashboard. Clicking there will navigate you to the dashboard view. +* The blue box labeled `3` outlines the "Create New Claim" Action. This allows you to quickly create a new claim regardless of the current view. + +## Claim Specific Actions + +Below is a list of all possible actions you can perform within the Content Accelerator for Claims Management. Folder actions are actions that are applied to claims within the Accelerator. Document actions are actions that are applied to documents, and group actions are applied to multiple documents. Header actions are actions that are accessed within the navigation bar. + +### Folder Actions + +Folder actions are actions that apply to the folder as a whole. These actions are accessed in the left sidebar of the stage. Below is a list of actions you can perform on a Claim Folder. + +#### View All Claim Documents + +View All Claim Documents is an extension of the "Search Results Pane". All the documents associated with the claim are listed as search results in. Within Stage you will be able to perform a larger variety of actions on the documents than in Search. + +#### Claim Notes + +See "View/Create Folder/Document Notes". + +#### Add Document to Claim + +See "Common Add Documents" + +#### Send Email + +Allows for one or more documents to be sent to the email addresses specified, along with a message body. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt11.png %}) + +Content Accelerator Send Email: + +1. The To field. +2. Options to send the email as a CC or BCC to individuals. +3. This list indicates the users that have been entered into the To field. +4. The subject of the email. Notice that this email has a custom prefix to the subject that can not be changed. This custom prefix and the ability to edit it are all configurable. +5. The list of attached documents that will be sent with the email. +6. The body of the email. + +#### Claim Properties + +See "Common View/Edit Properties" + +### Document Actions + +Document actions are actions that are applied to a single document. There are a couple ways to select a document action. One method is to open the document in the document viewer and select one of the actions below the header. Another way is to select the row for the document and either right-clicking on the row or clicking on the Action dropdown above the table. For these two scenarios, you may see different lists of actions. + +The lists depend on the context by which the action was accessed. Below is a list of all possible document actions you can perform. + +#### Start Workflow + +Allows for the creation of a workflow process with the specified document included. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt12.png %}) + +Content Accelerator Start Workflow + +1. The current workflow template being used. +2. The users that will be assigned the workflow once it has started. +3. The groups that will be assigned to the workflow once it has been started. Note you can not assign users and a group to a workflow, it must be one or the other. +4. The date the workflow needs to be completed by. +5. Any notes about the workflow. + +#### Download Document + +See "Common Download Document". + +#### View/Edit Properties + +See "Common View/Edit Properties". + +#### View Versions + +See "Common View Versions". + +#### Checkout / Checkin + +See "Common Checkout/Checkin". + +#### Send Notification + +See "Common Send Notification". + +#### Send Email + +As a document action, send email will attach the document that the action was launched from. For example, if the action is launched from document `Audi_Title.pdf`, the send email action will launch with `Audi_Title.pdf` as the pre-attached document. + +#### Document Notes + +See "View/Create Folder/Document Notes". + +#### Split PDF + +Allows for the content of a single document to be extracted and turned into a new PDF document. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt13.png %}) + +Content Accelerator Split PDF + +1. The ObjectType that the new PDF document will be created as. +2. The pages that will be included from the original document in the new document. +3. Clicking this will open a preview of what the new document will look like given the page range. +4. The new document's properties. + +#### Open In New Tab + +See "Common Open In New Tab". + +### Group Actions + +Group actions are actions that apply when multiple documents have been selected. For example, when looking at the table either in Search or Stage, selecting multiple rows and right-clicking on those rows will open the group action menu. Alternatively, you can access these actions by clicking on the Action dropdown menu above the table. + +Below is a list of the possible actions you can perform on a group of documents. Note that all of the actions may not always appear, as they depend on the scenario. + +#### Open Each in New Tab + +See "Common Open Each in New Tab". + +#### Bulk Property Edit + +Allows you to edit the properties of multiple documents simultaneously. + +In the case you wish to edit one or more properties for multiple documents, you can enter in new values on the Bulk Properties page of the form. Each subsequent page represents the properties of one of the documents you selected. + +After entering new values into the Bulk Properties page, you can either click the **Save** button or the **Next** button. The **Save** button will update the properties for all of the documents selected. The Next button will go to the next document you selected to edit, and the properties you entered in the Bulk Properties page should be filled out. You can continue to edit the properties for the document selected here. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt14.png %}) + +#### Download As Zip + +Download as Zip is a group action fired from the Search Results Table. Selecting multiple documents and selecting the action will bring up a prompt to name the zip file. The file will be named the entered name with the current time appended. + +#### Export Results to Excel + +See "Common Export Results to Excel". + +#### Generate Combined PDF + +Allows for the creation of a single PDF document containing content from one or more documents in the repository. The resulting document can be downloaded to your machine, saved to the repository, or sent via email. + +Select the files that should be in the combined PDF: + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt15.png %}) + +Set properties for PDF: + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt16.png %}) + +1. **Selected Documents** - This tab shows the list of documents that will be used to create the combined PDF content. +2. **Order of Documents for Combined PDF** - This represents the order the documents will be added to the new PDF. You can either edit the numbers manually or drag the documents to reorder them. +3. **Page Range Selections for Each Document** - Select the ![Img Txt]({% link content-accelerator/images/aca-userguide-new-doc-icon.png %}) icon next to one of the PDFs if you'd only like to include specific pages. This will open a modal window that allows you to enter the page range you'd like to be included. If this section is not edited, the entire document will be included. +4. **Removal of Document(s)** - If you decide you want no longer want to include one of your selected documents in the combined PDF, click the ![Img Txt]({% link content-accelerator/images/aca-userguide-check-icon-no-circle.png %}) icon. Note it will not be removed from the modal screen, so you can re-add a document if you remove it by mistake. +5. **Edit Properties** - This tab allows you to edit the properties for the combined PDF that will be created. + +#### Send Email + +As a group action, send email will attach the documents that the action was launched from. For example, if the action is launched from both documents `Audi_Title.pdf` and `Audi_ProofOfSale.pdf`, the send email action will launch with `Audi_Title.pdf` and `Audi_ProofOfSale.pdf` attachments. + +#### Create New Claim + +Located in Content Accelerator's navigation bar, the Create New Claim action allows you to either create one new Claim or several. When creating one claim, you will fill out a form similar to the "Claim Properties" form. The greyed out boxes are unable to be edited. Upon populating the form, the **Create Folder** button will create the new claim and route you to the new claim. + +Alternatively, claims can be created all together by uploading a csv file that matches specific formatting dependent on the claim object. + +![Img Txt]({% link content-accelerator/images/aca-userguide-claims-mgmt17.png %}) + +## Typical Ways to Access a Claim + +This section contains info on the different ways you can access a claim. + +### Launch from Claim Service to Content Accelerator + +One of the main ways to open a claim in Content Accelerator is from a Claim Service. Upon launching into the Content Accelerator from a Claim Service, you will arrive at the Stage. From here you can perform a variety of actions on the claim, within the claim, and with the claim documents. + +### Within Content Accelerator Search and Access Claim + +Content Accelerator provides the ability for users to search for a specific claim based on various criteria. After logging into Content Accelerator, navigate to search using the navigation bar at the top of the page. + +### Create a Claim within Content Accelerator + +Content Accelerator allows you to create a new claim if it does not exist yet. After logging into Content Accelerator, click on the Create New Claim action in the navigation bar. diff --git a/content-accelerator/images/ACA_amp-custom-aspect.png b/content-accelerator/images/ACA_amp-custom-aspect.png new file mode 100644 index 0000000000..eb9b164f1e Binary files /dev/null and b/content-accelerator/images/ACA_amp-custom-aspect.png differ diff --git a/content-accelerator/images/ACA_amp-custom-model.png b/content-accelerator/images/ACA_amp-custom-model.png new file mode 100644 index 0000000000..41be4ccecc Binary files /dev/null and b/content-accelerator/images/ACA_amp-custom-model.png differ diff --git a/content-accelerator/images/ACA_zip_upload.png b/content-accelerator/images/ACA_zip_upload.png new file mode 100644 index 0000000000..9bc4cdfaa4 Binary files /dev/null and b/content-accelerator/images/ACA_zip_upload.png differ diff --git a/content-accelerator/latest/configure/notifications-and-notes.md b/content-accelerator/latest/configure/notifications-and-notes.md index 511e9dcc69..87c0e8720d 100644 --- a/content-accelerator/latest/configure/notifications-and-notes.md +++ b/content-accelerator/latest/configure/notifications-and-notes.md @@ -226,3 +226,48 @@ The default note object type is "hpi_note". To configure otherwise, replace this Ensure that the Note Relationship option is configured to : `hpi:folder_note (alfresco)` + +## Subscription and Distribution + +Subcriptions and distributions can be utilized to notify users about changes to documents. + +### Subscription + +ACA allows users to subscribe to a document. + +Actions to configure: + +* Subscribe (allows a user to subscribe to a document) +* Unsubscribe (allows a user to unsubscribe to a document) + +Dashlets to configure: + +* My Subscriptions (allows users to see all documents they are subscribed to on the ACA dashboard) + +When a user is subscribed to a document they will receive an ACA notification and an email when the document they are subscribed to is modified in a way that meets the configured notification criteria for the subscription action (for more information see [Configuring Notifications for Subscription and Distribution](#configuring-notifications-for-subscription-and-distribution)). + +### Distribution + +Distribution lists allow users to define (at index time or later) what users and groups should be notified about changes to a document. + +### Configuring Notifications for Subscription and Distribution + +The following properties define when notifications should be sent for subscriptions and distributions: + +```text +# Configuration for the Distributions List and Subscription List behaviors, which will send users and/or groups a notification when a +# property is updated to a given value. The users and groups that will receive the notification are based on +# values on the properties set in the tsg:distributionsAttrs and tsg:subscriptionAttrs aspects. +# The list of QNames of the properties to check. If this property does not exist on the node, no notifications will be sent. +# Example {http://www.tsgrp.com/model/tsg/1.0}status|{tsg.engineering}status +alfresco.notifications.criteriaProperty= +# A pipe separated list of comma-separated lists of values; each value list corresponds to the above property list +# When a node's property is set to one of these values, a notification is sent +# Example: Approved,Effective,Obsolete|Released +alfresco.notifications.criteriaPropertyValues= +# The QName of the attribute that will identify the document in the notification and email. For example, this could be +# the QName for the node name or document number. If the document doesn't have this property the cm:name will be used. +alfresco.notifications.identificationPropQName= +``` + +In summary, these properties allow to configure according to the statament: "when X property changes to value Y I want an email to be sent to subscribed users and I want the document name in the email to be Z property value". \ No newline at end of file diff --git a/content-accelerator/latest/develop/extension-content-accelerator.md b/content-accelerator/latest/develop/extension-content-accelerator.md index 5ad44f4b25..4213e692a6 100644 --- a/content-accelerator/latest/develop/extension-content-accelerator.md +++ b/content-accelerator/latest/develop/extension-content-accelerator.md @@ -33,4 +33,21 @@ When you add a new document type extension for use in Alfresco Content Accelerat > **Note:** In many ACA Policy and Procedure implementations, dedicated per-version renditions are a regulatory requirement. -If, however, the `tsg:renditioned` aspect is not desired, or the model already exists and cannot be updated, it is possible to turn on view time renditioning in the [Document Viewer]({% link content-accelerator/latest/configure/admin-guide.md %}#document-viewer) config in the Stage. \ No newline at end of file +If, however, the `tsg:renditioned` aspect is not desired, or the model already exists and cannot be updated, it is possible to turn on view time renditioning in the [Document Viewer]({% link content-accelerator/latest/configure/admin-guide.md %}#document-viewer) config in the Stage. + +## How to deploy Alfresco custom content model in Alfresco Content Accelerator + +Once you create a custom AMP, the next step is to deploy it to an Alfresco container and validate that the AMP is applied correctly. For more information see [Install Alfresco Module Package]({% link content-services/latest/install/zip/amp.md %}). + +When the custom AMP is deployed successfully: + +* If a default AMP custom model was installed, a `sample_document` is deployed. The custom content type can be found in the **ACA Admin Console**. +![AMP custom model]({% link content-accelerator/images/ACA_amp-custom-model.png %}) + * Select the document type and configure the properties as required. + * Click **Save Config** at the bottom of the page to save and apply the changes. +* If a default AMP custom aspect was installed, a `sample_aspect` is deployed. It can be added to the **Non-Mandatory Aspect** section in the **ACA Admin Console**. +![AMP custom aspect]({% link content-accelerator/images/ACA_amp-custom-aspect.png %}) + * Select the aspect and configure the properties as required. + * Click **Save Config** at the bottom of the page to save and apply the changes. + +The newly created Object Type and Non-Mandatory Aspect can be used to create new forms in ACA. For more information see [Admin Guide]({% link content-accelerator/latest/configure/admin-guide.md %}). \ No newline at end of file diff --git a/content-services/7.2/support/index.md b/content-services/7.2/support/index.md index c5fa145856..8db06b07b5 100644 --- a/content-services/7.2/support/index.md +++ b/content-services/7.2/support/index.md @@ -99,7 +99,7 @@ Choose a combination of products to build your own Supported Stack. If anything | Alfresco Control Center 7.5 | | | Alfresco Application Development Framework (ADF) 4.x | Some API functionality may be available only in the latest Alfresco Content Services release. | | Alfresco Mobile Workspace 1.8 | | -| Alfresco Content Accelerator (ACA) 3.6 | | +| Alfresco Content Accelerator (ACA) 3.7 | | | Alfresco Enterprise Viewer (AEV) 3.7 | | | | | | **Components** | | diff --git a/content-services/7.3/support/index.md b/content-services/7.3/support/index.md index bac98d8fbd..b8e7243f57 100644 --- a/content-services/7.3/support/index.md +++ b/content-services/7.3/support/index.md @@ -88,7 +88,7 @@ Choose a combination of products to build your own Supported Stack. If anything | Alfresco Digital Workspace 4.4 | | | Alfresco Application Development Framework (ADF) 5.x | Some API functionality may be available only in the latest Alfresco Content Services release. | | Alfresco Mobile Workspace 1.8 | | -| Alfresco Content Accelerator (ACA) 3.6 | | +| Alfresco Content Accelerator (ACA) 3.7 | | | Alfresco Enterprise Viewer (AEV) 3.7 | | | | | | **Components** | | diff --git a/content-services/7.4/support/index.md b/content-services/7.4/support/index.md index a7bd56a201..a2a18f175d 100644 --- a/content-services/7.4/support/index.md +++ b/content-services/7.4/support/index.md @@ -96,7 +96,7 @@ Choose a combination of products to build your own Supported Stack. If anything | Alfresco Mobile Workspace 1.9 | | | Alfresco Control Center 8.3 | | | Alfresco Application Development Framework (ADF) 6.x | Some API functionality may be available only in the latest Alfresco Content Services release. | -| Alfresco Content Accelerator (ACA) 3.6 | | +| Alfresco Content Accelerator (ACA) 3.7 | | | Alfresco Enterprise Viewer (AEV) 3.7 | | | | | | **Components** | | diff --git a/digital-workspace/4.1/develop/extensions.md b/digital-workspace/4.1/develop/extensions.md index 96d4dab20d..2730093eb1 100644 --- a/digital-workspace/4.1/develop/extensions.md +++ b/digital-workspace/4.1/develop/extensions.md @@ -23,7 +23,7 @@ Use this information to develop a `hello word` extension for the Digital Workspa * `Node.js` 18.x -* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/#nexus-search;quick~digital%20workspace){:target="_blank"}. +* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/){:target="_blank"}. Search for "digital-workspace" and pick the version that closest matches your installation. ### Create a Digital Workspace extension diff --git a/digital-workspace/4.2/develop/extensions.md b/digital-workspace/4.2/develop/extensions.md index 96d4dab20d..2730093eb1 100644 --- a/digital-workspace/4.2/develop/extensions.md +++ b/digital-workspace/4.2/develop/extensions.md @@ -23,7 +23,7 @@ Use this information to develop a `hello word` extension for the Digital Workspa * `Node.js` 18.x -* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/#nexus-search;quick~digital%20workspace){:target="_blank"}. +* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/){:target="_blank"}. Search for "digital-workspace" and pick the version that closest matches your installation. ### Create a Digital Workspace extension diff --git a/digital-workspace/4.3/develop/extensions.md b/digital-workspace/4.3/develop/extensions.md index 96d4dab20d..2730093eb1 100644 --- a/digital-workspace/4.3/develop/extensions.md +++ b/digital-workspace/4.3/develop/extensions.md @@ -23,7 +23,7 @@ Use this information to develop a `hello word` extension for the Digital Workspa * `Node.js` 18.x -* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/#nexus-search;quick~digital%20workspace){:target="_blank"}. +* Download the Digital Workspace project from [Nexus](https://nexus.alfresco.com/nexus/){:target="_blank"}. Search for "digital-workspace" and pick the version that closest matches your installation. ### Create a Digital Workspace extension diff --git a/enterprise-viewer/latest/install/logging.md b/enterprise-viewer/latest/install/logging.md new file mode 100644 index 0000000000..4474f93814 --- /dev/null +++ b/enterprise-viewer/latest/install/logging.md @@ -0,0 +1,17 @@ +--- +title: Overriding Logging Defaults +--- + +You can override the default logging configuration in OpenAnnotate by deploying the `log4j2-OpenAnnotate.xml` file to the configured classpath. + +To override the default logging configuration: + +1. Stop the Alfresco server. + +2. Locate the `/alfresco` classpath, for example, the `tomcat/shared/classes` directory. + +3. Place the `log4j2-OpenAnnotate.xml` file on the configured classpath. + +4. Start the Alfresco server. + +>**Note:** For more information on overriding logging in OpenContent, see [Logging in the Content Accelerator]({% link content-accelerator/3.7/install/logging.md %}). diff --git a/governance-services/7.1/develop/index.md b/governance-services/7.1/develop/index.md index 0455f0418e..b23d7dd75b 100644 --- a/governance-services/7.1/develop/index.md +++ b/governance-services/7.1/develop/index.md @@ -10,7 +10,7 @@ The APIs are designed for you to create remote clients to manage the {% include You can download the API Explorer from: -* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#welcome){:target="_blank"} +* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"} The Governance Services distribution zip contains the `alfresco-governance-services-enterprise-rest-api-explorer-11.153.war` file. diff --git a/governance-services/7.1/install/zip.md b/governance-services/7.1/install/zip.md index 667ddfc9d5..a1e0490eba 100644 --- a/governance-services/7.1/install/zip.md +++ b/governance-services/7.1/install/zip.md @@ -4,6 +4,8 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Content Services installation. +You can download the Alfresco Governance Services distribution from [Hyland Community](https://community.hyland.com/). Log in, select the **Support** tab, and then the **Alfresco Downloads** option under **Software Downloads**. Search for the required version of Governance Services. + The Governance Services distribution zip file contains the following files: |alfresco-governance-services-enterprise-repo-12.21.amp|Contains Governance Services functionality that's applied to an existing Alfresco Content Services installation.| @@ -11,7 +13,7 @@ The Governance Services distribution zip file contains the following files: > **Note:** Install the AMPs manually using the Module Management Tool (MMT), rather than using the `apply_amps` tool. -1. Browse to the [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#nexus-search;gav~org.alfresco~alfresco-governance*~7.1.0~~){:target="_blank"}, log in, and download `alfresco-governance-services-enterprise-distribution-7.1.0.zip`. +1. Download the distribution zip. 2. Stop the Alfresco Content Services server. diff --git a/governance-services/7.2/develop/index.md b/governance-services/7.2/develop/index.md index 0455f0418e..b23d7dd75b 100644 --- a/governance-services/7.2/develop/index.md +++ b/governance-services/7.2/develop/index.md @@ -10,7 +10,7 @@ The APIs are designed for you to create remote clients to manage the {% include You can download the API Explorer from: -* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#welcome){:target="_blank"} +* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"} The Governance Services distribution zip contains the `alfresco-governance-services-enterprise-rest-api-explorer-11.153.war` file. diff --git a/governance-services/7.2/install/zip.md b/governance-services/7.2/install/zip.md index f5595e78b7..b1dc71ff84 100644 --- a/governance-services/7.2/install/zip.md +++ b/governance-services/7.2/install/zip.md @@ -4,6 +4,8 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Content Services installation. +You can download the Alfresco Governance Services distribution from [Hyland Community](https://community.hyland.com/). Log in, select the **Support** tab, and then the **Alfresco Downloads** option under **Software Downloads**. Search for the required version of Governance Services. + The Governance Services distribution zip file contains the following files: |alfresco-governance-services-enterprise-repo-14.142.amp|Contains Governance Services functionality that's applied to an existing Alfresco Content Services installation.| @@ -11,7 +13,7 @@ The Governance Services distribution zip file contains the following files: > **Note:** Install the AMPs manually using the Module Management Tool (MMT), rather than using the `apply_amps` tool. -1. Browse to the [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#nexus-search;gav~org.alfresco~alfresco-governance*~7.2.0~~){:target="_blank"}, log in, and download `alfresco-governance-services-enterprise-distribution-7.2.0.zip`. +1. Download the distribution zip. 2. Stop the Alfresco Content Services server. diff --git a/governance-services/7.3/develop/index.md b/governance-services/7.3/develop/index.md index 6775e30857..f42df12493 100644 --- a/governance-services/7.3/develop/index.md +++ b/governance-services/7.3/develop/index.md @@ -10,7 +10,7 @@ The APIs are designed for you to create remote clients to manage the {% include You can download the API Explorer from: -* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#welcome){:target="_blank"} +* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"} The Governance Services distribution zip contains the `alfresco-governance-services-enterprise-rest-api-explorer-17.173.war` file. diff --git a/governance-services/7.3/install/zip.md b/governance-services/7.3/install/zip.md index 1ab3e48bef..38d7494224 100644 --- a/governance-services/7.3/install/zip.md +++ b/governance-services/7.3/install/zip.md @@ -4,6 +4,8 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Content Services installation. +You can download the Alfresco Governance Services distribution from [Hyland Community](https://community.hyland.com/). Log in, select the **Support** tab, and then the **Alfresco Downloads** option under **Software Downloads**. Search for the required version of Governance Services. + The Governance Services distribution zip file contains the following files: |alfresco-governance-services-enterprise-repo-17.173.amp|Contains Governance Services functionality that's applied to an existing Alfresco Content Services installation.| @@ -11,7 +13,7 @@ The Governance Services distribution zip file contains the following files: > **Note:** Install the AMPs manually using the Module Management Tool (MMT), rather than using the `apply_amps` tool. -1. Browse to [Hyland Community](https://community.hyland.com/){:target="_blank"} and download `alfresco-governance-services-enterprise-distribution-7.3.0.zip`. +1. Download the distribution zip. 2. Stop the Alfresco Content Services server. diff --git a/governance-services/7.4/develop/index.md b/governance-services/7.4/develop/index.md index 94d897e39a..df6f249962 100644 --- a/governance-services/7.4/develop/index.md +++ b/governance-services/7.4/develop/index.md @@ -10,7 +10,7 @@ The APIs are designed for you to create remote clients to manage the {% include You can download the API Explorer from: -* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#welcome){:target="_blank"} +* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"} The Governance Services distribution zip contains the `alfresco-governance-services-enterprise-rest-api-explorer-20.143.war` file. diff --git a/governance-services/7.4/install/zip.md b/governance-services/7.4/install/zip.md index a2974e73f3..2acf7b0131 100644 --- a/governance-services/7.4/install/zip.md +++ b/governance-services/7.4/install/zip.md @@ -4,6 +4,8 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Content Services installation. +You can download the Alfresco Governance Services distribution from [Hyland Community](https://community.hyland.com/). Log in, select the **Support** tab, and then the **Alfresco Downloads** option under **Software Downloads**. Search for the required version of Governance Services. + The Governance Services distribution zip file contains the following files: |alfresco-governance-services-enterprise-repo-20.143.amp|Contains Governance Services functionality that's applied to an existing Alfresco Content Services installation.| @@ -11,7 +13,7 @@ The Governance Services distribution zip file contains the following files: > **Note:** Install the AMPs manually using the Module Management Tool (MMT), rather than using the `apply_amps` tool. -1. Browse to [Hyland Community](https://community.hyland.com/){:target="_blank"} and download `alfresco-governance-services-enterprise-distribution-7.4.0.zip`. +1. Download the distribution zip. 2. Stop the Alfresco Content Services server. diff --git a/governance-services/community/install/zip.md b/governance-services/community/install/zip.md index 40d5669ebe..a136bb47a2 100644 --- a/governance-services/community/install/zip.md +++ b/governance-services/community/install/zip.md @@ -4,7 +4,7 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Community Edition installation. -Download the Alfresco Governance Services distribution from [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#nexus-search;gav~org.alfresco~alfresco-governance*~23.2.1~~){:target="_blank"}. +You can download the Alfresco Governance Services distribution from [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"}. Search for "alfresco-governance-services-community" and pick the version that closest matches your installation. The Governance Services Community Edition distribution zip contains the following files: diff --git a/governance-services/latest/develop/index.md b/governance-services/latest/develop/index.md index 5c2dd59884..b92315fe7a 100644 --- a/governance-services/latest/develop/index.md +++ b/governance-services/latest/develop/index.md @@ -10,7 +10,7 @@ The APIs are designed for you to create remote clients to manage the {% include You can download the API Explorer from: -* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/#welcome){:target="_blank"} +* [Alfresco Nexus repository](https://nexus.alfresco.com/nexus/){:target="_blank"} The Governance Services distribution zip contains the `alfresco-governance-services-enterprise-rest-api-explorer-23.x.x.xxx.war` file. diff --git a/governance-services/latest/install/zip.md b/governance-services/latest/install/zip.md index 6ac294191d..8742377e07 100644 --- a/governance-services/latest/install/zip.md +++ b/governance-services/latest/install/zip.md @@ -4,6 +4,8 @@ title: Install using the distribution ZIP Governance Services is installed by applying two AMP files to an existing Alfresco Content Services installation. +You can download the Alfresco Governance Services distribution from [Hyland Community](https://community.hyland.com/). Log in, select the **Support** tab, and then the **Alfresco Downloads** option under **Software Downloads**. Search for the required version of Governance Services. + The Governance Services distribution zip file contains the following files: |alfresco-governance-services-enterprise-repo-23.x.x.xxx.amp|Contains Governance Services functionality that's applied to an existing Alfresco Content Services installation.| @@ -11,7 +13,7 @@ The Governance Services distribution zip file contains the following files: > **Note:** Install the AMPs manually using the Module Management Tool (MMT), rather than using the `apply_amps` tool. -1. Browse to [Hyland Community](https://community.hyland.com/){:target="_blank"} and download `alfresco-governance-services-enterprise-distribution-23.x.0.zip`. +1. Download the distribution zip. 2. Stop the Alfresco Content Services server. diff --git a/support/latest/policies/product-lifecycle.md b/support/latest/policies/product-lifecycle.md index d0a34d35f4..a91ddd880e 100644 --- a/support/latest/policies/product-lifecycle.md +++ b/support/latest/policies/product-lifecycle.md @@ -2,13 +2,13 @@ title: Product Support Lifecycle --- -The Alfresco Product Support Lifecycle and the how Alfresco products, versions and components transitions through support states +This page describes the Alfresco Product Support Lifecycle and how Alfresco products, versions, and components transition through support states. ## Product Support Status The **Support Status** of Alfresco Products can change over time according to the **Alfresco Product Support Lifecycle**. This can happen for a number of reasons, including customer demand, product strategy changes and innovation. -To help customers plan around the **End of Maintenance** of our products, Alfresco publishes a list of all products with their current support status, first release date, deprecation date, and end of maintenance. This list is available on the [Alfresco Product Support Status](https://www.alfresco.com/services/subscription/technical-support/product-support-status){:target="_blank"} page. +To help customers plan around the **End of Maintenance** of our products, Alfresco publishes a list of all products with their current support status, first release date, deprecation date, and end of maintenance. This list is available on the [Alfresco Product Support Status](https://www.hyland.com/en/resources/alfresco-product-support-status){:target="_blank"} page. For general policies on Support of different Alfresco Product versions please refer to the [Alfresco Product Support Policy]({% link support/latest/policies/index.md %}) page.