Editing of text in a word doc template

Hi All,

Is there a way to edit / update / modify the text inside the word doc template in Appian by the end user apart from the parameters passed. Any help is appreciated.

Thanks,

Pramod.

  Discussion posts and replies are publicly visible

  • While allowing end users to modify a template in this scenario seems like an odd requirement, you may be able to give them a mechanism to download the template, and upload it where you overwrite the original template.  They would have full control of the document however, including parameter configuration.  I haven't implemented anything similar here, but my guess is that the new template would be used in future processes with the exception of modified parameters (again, not tested).  Better yet, I would consider creating parameters for any text the user might modify (headings, paragraphs, etc), then allow them to modify the default text via these parameters without touching the template.  

    Would be interested to hear more on the use case, seems like both Technical and Security risks are involved here.  

  • 0
    Certified Lead Developer
    in reply to Chris

    I'd add an additional risk to allowing users to download and modify a word doc template:  even if you instruct them to not touch the ###field### replacement fields, and even if they successfully leave those alone, the new version of the template is still very likely to not quite work right once replaced, because Word loves to inject junk XML for little or no reason, in a way that would actually interrupt the replacement field name (in the back-end only within Word), which actually still messes up the Word Docx from Template smart service (even though this bug was reported at least 6 or 7 years ago). 

    Considering this, I recommend against allowing end users to modify the actual templates under *any* circumstances.  If it's an absolute necessity then I suppose it would be possible to allow them to download the template, make edits, and then provide their own temporary runtime template to be used in their particular process instance or something - this still might break in the same ways, but it wouldn't ruin a previously-working template at least.