Moving from Office (Word/Excel/PowerPoint) to Online means to recreate all the Office templates using the Online Editor. This article will give you a brief guidance on the work you need to do as a Salesforce admin to make sure that the online templates run smoothly for your end users.
To get started with Dynamo Online, please follow the instructions in this article to download the managed package from the AppExchange: https://documill.zendesk.com/hc/en-us/categories/115000107485-Get-Started
If you would want to start creating online templates right away before configuring Salesforce (as instructed in 'Get Started' link above), a shortcut is to use a straight link to Dynamo Online Editor:
You can log in using your Salesforce sandbox or development org's credentials (recommended for development purpose instead of production).
1. Move document content from Word to Online (HTML)
Inspect your template carefully in the beginning so that you know what you should recreate in the Dynamo Online version.
You can copy and paste existing content from Word or other document to Body Content part. Due to the differences in traditional document format and online document (HTML format), styling from existing content will be removed. You have to re-styles your template in next step 3. Personalize the template
Header & Footer
You shouldn't copy the header and footer from Word to Body Content. Header & footer in Dynamo template is handled in the Margin Content. When you create a new template, 2 margin contents named as Header and Footer are added and attached to the Body Content as default. Copy and paste content for your Header or Footer to the appropriate part. Learn more Edit Margins, Headers and Footers
- The content will be pasted to the template, without any format or styling.
- If there is table in the content. The table needs to be re-created.
2. Adding main record and other data sources
When creating a blank template, Dynamo will prompt you to choose a main object.
Additional data sources, such as queries and related lists, could be added from the Data tab on the right pane.
Please read more about how to work queries in Dynamo Online at: https://documill.zendesk.com/hc/en-us/articles/115002726911-Adding-a-new-query-using-Query-Editor
How to work with related lists: https://documill.zendesk.com/hc/en-us/articles/115003258945-Add-Related-List-to-template
3. Mapping Salesforce fields
Dynamo Online version offers similar drag-and-drop function as Office add-in to map dynamic Salesforce fields. Please see section How to map Salesforce fields to template for more instructions for this step.
In Word templates, when a field is empty on Salesforce, the placeholder text for the field doesn't appear in the generated document. In the Online version, for the placeholder text to disappear when there's no Salesforce value for the field, an 'If' condition
not empty fieldName needs to be added to the Dynamic Attributes section of the element (screenshot below).
4. Allowing end users to edit document content
One of the biggest differences between online version (using HTML content templates) and Word add-in version is the form of the output document (PDF vs. Word file). With Word outcome documents, end users can freely edit the parts that are not pre-locked. With the online version, the whole document is “locked” and you can make certain parts of the document editable for end users.
This can be achieved using editable spans or groups in the document template. Follow this article to allow end users to edit document content.
5. Loop and tag control
To see what loop and tag controllers your Word template has, click on the Logic button on the Dynamo toolbar > Show all.
Loops and tag logic in Word add-in templates can be recreated in online template using element logic, following these steps:
- On the element breadcrumb, click on the element that you want to add the logic to. In the example below, the element Row has logic behind it and is highlighted in bold blue.
- On the right pane > Tag tab > Logic: in the element logic view, you can search for the command needed from the left side search bar, drag the command to the work-space in the middle and configure the command on the right pane.
6. Embedded content
If you have embedded other Word documents inside your Word template (either via using
importContent() command or drag and drop from the Content Search section of the Task pane), this can be recreated in the online version via the following ways:
- You can create a new Body content part and recreate the content to be imported there.
Additional body content parts can be embedded (mapped) into the main Body Content by navigating to the Data tab on the right pane > Documents > choose the Body part to embed. The mapping procedure is similar to mapping Salesforce fields to any element.
Please be noted that embedding different body content parts to the main Body Content can only be done during template design phase and not during end users’ editing phase.
- If you would want end users to be able to drag ready-made text blocks into the document during the editing phase, you can utilize Dynamo’s ‘Clause’ feature. Steps to implement Clauses feature are:
- Add new clauses in Dynamo Clauses tab on Salesforce
- Enable Advanced Editing Functions in Settings to allow end users to use Clauses.
7. Template's main logic
Depending on how old your Word template is, your template can use legacy logic or flow logic. Although these 2 logic configurations look very different, the general practice to migrate logic remains the same: you need to check all the functionalities of your Word template and recreate them on the Online editor. Many of these functionalities are already available out-of-the-box on the Online version.
7.1 Legacy vs. Flow logic
To see the logic of your template, click on the Logic button on the Dynamo toolbar. You can also click on the small triangle icon next to the Logic button > click on 'Show All' to see all the logic parts.
Legacy templates can be identified by the 'Document Controllers' part as below:
Flow templates, on the other hand, have Compose Flow and Custom Button Flow parts instead.
7.2 Popular functionalities
Below are the list of the most commonly used functionalities/features of Dynamo templates. Many of these are also out-of-the-box functionalities of Dynamo Online, which can be configured or enabled in the Settings section. If your template has custom functionalities/logic that you don't know how to recreate on the Online version, please contact our support team at firstname.lastname@example.org for further assistance.
1. Adding attachments: Dynamo Online offers several ways to include attachments to your outcome document, including optional attachments (a form will pop up in the doc gen process to ask end users to include PDF files as attachments), or mandatory attachments (the PDF files are automatically added to the end of the generated document.
Link to more resource on attachments: https://documill.zendesk.com/hc/en-us/articles/115000889171-Add-PDF-attachments-to-the-document
2. Send email: in the Settings section you can also enable the 'Email' feature. Read more at: https://documill.zendesk.com/hc/en-us/articles/115000953052-Customize-Email-Options
3. Save function: Dynamo Online has many 'Save' features out-of-the-box, please read more at: https://documill.zendesk.com/hc/en-us/articles/115000951792-Save-the-final-document-to-Salesforce
Steps involved in including translations into the template:
- Go to Advanced UI > Home > Translation
- Import translation matrix (.csv file). Dynamo will recognize the first column as ’keys’ (name of the term to be translated) and its language variant.
- In Basic UI > Data tab (right pane) > Translations > click on ’Enable translation’
- The imported translation matrix will appear as labels in this tab, now this tab acts as a data source and can be mapped into the document.
- When translation is enabled from the translation tab, you can modify the field that triggers the translation feature. Navigating to the logic step with the language trigger field can be done via clicking on the navigation button next to Labels (screenshot below):