Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

This process is useful for cases where the standard “Share” action that can be used to share objects with other users is not sufficient. This “Share” action does not only share objects with selected users, it also notifies them about the shared document and requires a confirmation for the process to be completed. The process can be also used as a template for further customization of sharing use cases, if they are to be used in projects.To

Process Start

This process is configured to be startable with any document. To initiate this process, you must have Edit rights for the object type you want to share. Select the “Share” “Share object and notify” action, add the users or user groups you want to share this document with and write a comment:

Image RemovedImage Added

To start the process, click OK. The custom sharing logic is contained within the BeforeStartEvent of the main activity which gives the users or user groups specified Read rights for the shared document.

The start form assures that the process can only be started if the given object type is shareable. If not, the OK button is inactive and an error message below the check box Object type is shareable will be displayed.

Inbox

Each user and member of the group receives groups will receive the task 'Confirm sharing' in his inbox. 

Image RemovedImage Added

Each recipient must accept the task, read the document and confirm the task when finished. When As soon as each user has confirmed, the process ends or the initiator will be notified about that based on the value of the variable notifyInitiator, which can be set on the start form.

Language

This process model ist is available in English and German.


Administering the Sharing Process

Download the zip file below. Extract the Sharing directory into the location of your enaio projects, which usually is ..\user\documents.

Open the project in the designer and copy the Sharing process model into your project. Then validate the process and if nothing is reported, deploy it.

View file
nameSharing.zip
height150

the example model at the bottom of this page. To import the model into yuuvis RAD designer, follow these steps:

  1. Copy the downloaded .bpmdef file into your yuuvis RAD designer project directory and open the designer.
  2. Create a model with same namespace and name of the model (namespace: "Sharing", name: "SharingVx" where x is the version number) you just downloaded and moved into your project directory.

Then validate the model and if everything is fine, deploy the model.


The model looks like this:

Image Removed

The process model consists of one parallel container with an activity notice. This activity notice has to be confirmed by the recipients you specify at the beginning of the process.

Main Activity Settings

Image Removed

Image Added

Configuring the main activity

Image Added

It is configured that the process is only startable with an object, more precisely any document on the system. You can configure the startable object types in the main activity settings.

This process is available for each user and process. Change the Initiators and the Main object type to  to restrict its behavior.


The process subject is set by the title and type of the object the process is started for, as shown below in the BeforeStartEvent of the main activity.:

Version 4

Code Block
languagejs
titleBeforeStartEvent Script
linenumberstrue

...

var processFile = $.file.get()

...

;            // get all 

...

process 

...

file 

...

objects 

...

into the array processFile
var 

...

dmsObject = 

...

processFile[0];            // take the 

...

first 

...

element 

...


...


...

// 

...

set 

...

process 

...

subject
$.variable('objectTitle').value = dmsObject.title;
$.variable('objectTypeName').value = dmsObject.type;

// share the object with the organisational units set in usersgroups
// take into account that this code will echange the current sharing values of the object type
var putBody = {
	

...

query: {
		expression: [dmsObject.id],
		type: 

...

dmsObject.type
	},
 	share: {
		with: [],
		children: false,
		mode: "ADD"
	}
};

var usersGroups = $.variable('usersGroups').value;
for(var i = 0; i < usersGroups.length; i++){
	var userGroupName = $.http
	.get()
	.path('/service/organization/id/' + usersGroups[i].value)
	.execute()
	.data.name;
	
	putBody.share.with.push(userGroupName);
}

var response = $.http
	.put()
	.path('/service/dms/batch

...

')

...


...

	.

...

body(putBody)
	.execute();

if(!response.reason) 

...

{
    $.variable('canBeShared').value = true;
} else {
	$.variable('canBeShared').value = false;
}

$.done();

...


Configuring the multi-instance activity

To send a task to each user or member of the configured groupgroups, the container for parallel execution has to be configured like this:

Image RemovedImage Added


The script to control set the Participant type Participants is the BeforeStartEvent of the multi-instance container:

Code Block
languagejs
titleBeforeStartEvent of sharemulti
// Set all participants
var usersGroups = $.variable('usersGroups').value;
for(var i = 0; i < usersGroups.length; i++){
  	var userGroup = usersGroups[i].value;
	var recipient = new $.OrgObject();
	recipient.id = $.variable('usergroup').valueuserGroup;
	$.activity('this').performers.push(recipient);
}

$.done();

Configuring the activity '

...

note'

Image Added

The Participant type attribute must be set to 'Multi-instance controlled', in accordance with the settings of the parallel multi-instance container (see above).

Each user will also receive an e-mail notification, if an e-mail address is provided in his user profile and the e-mail server is configured.

The standard Forward button is renamed to Confirm, as can be seen in the Actions attribute.Image Removed

Prerequisites

The object types of objects to be shared must be configured first:

Image RemovedImage Added

Check Allow sharing. Please note that this feature will slighty slightly impact the performance of the system.

...

After sharing the object with a user, the Display Read right for this object is assigned to him.

Process Model Version History

VersionDate

Compatible

core-service

version

AuthorDescriptionDownload
4September 07, 20238.0 or newerA-Team
  • Process can only be started with an dms object
  • The notifcation about all confirmations can be activated or deactivated on the start form via an input parameter
  • Multiple users and groups to share the object with can be set
  • Refactoring of script code

View file
namesharing.SharingV4.bpmdef
height150

3March 22, 2019
Martin Bartonitz
  • Start form prevents process start in case of none-shareable object types. The object type and the attribute shareable is shown in the start form as well.
  • Main activity BeforeEventScripts handles none-shareable object types as well. If the start form does not prevent the process start, the initiators get a notification in their inbox.

2March 21, 2019
Martin Bartonitz
  • Notice for initiator about all confirmations
  • Deadline for the sharing notification including e-mail notification for reached deadline

1March 19, 2019
Martin Bartonitz

Start with basics:

  1. Fill out group or user to share object with and a comment during process start
  2. Set display rights in BeforeStartEvent of the mainactivitymain activity
  3. Inform each member of the group

...