Goal
This section explains how to configure the plugin and implement it on a scope integrating the GEC module.
We want to apply it to the Response attachment of the GEC_Step2_ToBeProcessed tasks. Here we want a new document to be created directly from a Word template and associated with the Response attachment.
Prerequisites
You need a FlowerDocs environment with a scope that includes the GEC module.
Check that TemplateAttachmentPlugin is present on the scope. It can be found in the administration, in the Display > Scriptstab.
Configuration
The plugin must be configured for a specific element before it can be used.
To do this, follow these steps:
- Create a new JavaScript script in the Display > Scripts tab of FlowerDocs administration. You can name this script TemplateAttachmentConfiguration.
 
- The contents of this script will be as follows:
 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  | 
new TemplateAttachmentPlugin({
	attachmentId: ‘Response',
  	classId: 'GEC_Step2_ATraiter',
	instantiator:
		function(fileId) {
			var doc = new Document();
			doc.addFile(fileId);
			doc.setClassId('CourrierSortant');
			TagOracle.predict(this.formAPI.getComponent(), doc);
			return doc;
		},
}).bind();
  | 
 
 
- Save the script, then purge the application cache. This takes into account any changes made to the scope configuration.
 
    
        Script explanation
        
1 We use the TemplateAttachmentPlugin as expected.
2-3 The plugin is only applied to Response attachments for GEC_Step2_ToBeProcessed tasks.
4 The instantiator function generates a document from a file whose id is supplied.
6 The document is instantiated.
7-8 The document receives its file and the desired document class.
9 The document is returned when called by the API.
 
     
 
You can add options to this script:
    
        Script options
        
	canAttach:
		function(card, definition, formAPI) {
			return formAPI.getComponent().getAssignee() == JSAPI.get().getUserAPI().getId();
		},
 
Restricts plugin use to the user to whom the task is assigned.
	nameBuilder:
		function() {
			return 'Réponse-' + new Date().toLocaleDateString() + '.docx';
		},
 
This function gives the document the name of the added file.
It must be called in the instantiator function as follows (after document instantiation):
			var name = this.nameBuilder();
			doc.setName(name);