11 August 2017

1. Core

1.1. Core Authenticator

Authenticator enables possibility to authenticate the user while performing certain actions. Example: workflow task which requires signature on approval or reject uses core authenticator.

There are three built-in authenticators available in Core. They are "context" (default), "ldap" and "passport". The authenticator value can also be a class full-name which implements "com.technia.tvc.core.auth.Authenticator". The authenticator can be configured as below.

<init-param>
    <param-name>tvc.core.authenticator</param-name>
    <param-value>passport</param-value>
</init-param>

2. Structure Browser

2.1. TinyMCE upgraded to 4.6.3

The Rich Text Editor that is used and can be enabled in several places has been upgraded to version 4.6.3.

Note: This version of TinyMCE has some breaking changes regarding the syntax to customize the editor. So if the editor is used in Forms with the <RichText> settings enabled AND it has custom TinyMCE settings enabled then please check the admin guide for the correct syntax.

3. Collaboration

3.1. TinyMCE Support

Collaboration now supports the usage of TinyMCE as Rich Text Editor when creating or replying to discussions. Check the admin guide for more information on how to configure it.

3.2. 2017x Support

Collaboration is verified in ENOVIA 2017x.

3.3. Query based ConfigType Support

Collaboration ConfigType supports mql query based conditions. Using this feature role based panel enabling can be configured.

<DiscussionConfigs>
     <ConfiguredTypes>
           <Type derived="false" status="enabled" if="$&lt;context.user.isassigned[role_CustomRole]&gt;">type_Part</Type>
           <Type derived="false" status="disabled">type_Part</Type> <!-- required for disabling for other users -->
     </ConfiguredTypes>
<DiscussionConfig for="Part">
 ...
</DiscussionConfig>
</DiscussionConfigs>

3.4. Enovia Based Filter

Exalead powered feature and filter can be enabled in enovia mode by setting the following system property key:

tvc.collaboration.enovia.filter=true

Same configurations which are defined for Exalead Powered feature need to be done to use the filter and features such as Unread, Archive, To ME, CC Me, Followup etc…​

Following fields must be added in Exalead Indexed Configuration file.

<BOTYPEFIELDS name="TVCCollaborationMXCriteria">
			<FIELD name="TVC_COLLAB_MX_NOTIFICATION_USER_NAME"
				select="to[TVC Collaboration Notification].from.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_WORKFLOW_CONTEXT_ID"
				select="to[TVC Collaboration Set].from.to[TVC Collaboration Object Proxy].from.id"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_THREAD_CONTEXT_ID"
				select="to[TVC Collaboration Discussion].from.to[TVC Collaboration Discussion  Container].from.id"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_THREAD_SENT_TO"
				select="from[TVC Collaboration Thread Message].to.from[TVC Collaboration Sent To].to.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_NOTIFICATION_UNREAD_USERS"
				select="to[TVC Collaboration Notification|attribute\[TVC Collaboration Unread Count\]>0].from.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_THREAD_LAST_MSG_SENT_TO"
				select="from[TVC Collaboration Last Message].to.from[TVC Collaboration Sent To|attribute\[TVC Collaboration Recipient Type\]==0].to.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_THREAD_LAST_MSG_SENT_CC"
				select="from[TVC Collaboration Last Message].to.from[TVC Collaboration Sent To|attribute\[TVC Collaboration Recipient Type\]==1].to.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_FOLLOWUP_USER_NAME"
				select="to[TVC Collaboration Followup].from.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_THREAD_FIRST_MSG_SENT_TO"
				select="from[TVC Collaboration First Message].to.from[TVC Collaboration Sent To].to.owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_TASK_ASSIGNED"
				select="from[TVC Collaboration Item].to[|attribute\[TVC Collaboration Task Status\]==Active].owner"
				type="STRING" />
			<FIELD name="TVC_COLLAB_MX_TASK_STATUS"
				select="from[TVC Collaboration Item].to[*|revision==last].attribute[TVC Collaboration Task Status]"
				type="STRING" />
		</BOTYPEFIELDS>

4. Graphic Reporting

4.1. Workflow

4.1.1. CellShowableExpression setting support in workflow-chart column

Since 2017.3.0 release we can use Configurable CellShowableExpression setting in workflow-chart column like below to show/not show value of cell.

<Table>
    ...
    <Column>
        <Name>workflow-chart</Name>
        <ColumnType>workflow-chart</ColumnType>
        <CellShowableExpression>type.kindOf[Software Part]</CellShowableExpression>
    </Column>
</Table>

In above example Workflow will be visible only for Software Part in workflow-chart column of table.

4.1.2. Multiple Context object support

Workflow can be created in context of multiple objects. Builtin triggers are executed on all the connected context objects of the workflow. Workflow creation UI with multiple context can be launched using below JavaScript.

top.getCollaborator().openCollaborationPanel(['14668.27509.6640.55228', '14668.27509.37564.32487'], { component: 'workflow', launchCreate: true });

4.1.3. 3DPassport Authentication

Workflow’s task approval or rejection’s signature authentication supports 3DPassport using Core Authenticator feature.

4.1.4. Task Based Filter

Following filters are introduced for filtering the workflow based on task status.

Assigned Filter

Filter workflows based on Active tasks which are assigned to context user.

<FilterItem>
     <Operator>EQUAL</Operator>
     <LogicalOperator>AND</LogicalOperator>
     <Type>assigned</Type>
     <Value>
        <SubmitValue>Assigned</SubmitValue>
        <DisplayValue>Assigned</DisplayValue>
     </Value>
     <UIControl>textbutton</UIControl>
</FilterItem>

Task Status Filter

Filtering the workflow based on TVC Collaboration Task Status attribute using TVC_COLLAB_TASK_STATUS indexed field.