NexJ Logo

Managing Process Management forms

Process Management forms, form templates, template attachments, and documents are managed from the Process Management Admin Portal. Access the Admin Portal from <Application Root URL>/nexj/ui/bp-admin.

This information focuses on the type of forms that you can configure, which are non-transient forms.

You must have bp:FlowAdmin privileges to access the Process Management Admin Portal. Out of the box, this privilege is seeded into the following privilege groups:

  • gFlowAdmin
  • gFlowTemplateManage

The CPM application system setting must be enabled by your system administrator.

You can create business process templates in NexJ CRM on the Customize workspace in the Business Processes tab, To add a form to the template, click the Manage Business Processes button , select the required form from the Select Template dialog, and click OK.

Managing forms in use

The Forms in Use workspace provides a data table that displays the Process Management forms that were created when a user added the relevant business processes to an entity in NexJ CRM, using the Business Processes tab on the Contacts workspace. You can use the text search field to locate forms in use by form name.

The data table columns include:

  • Status - The status of the form in use. Forms can be pending (creating), submitted (after submission), or processed (approved or rejected if linked to a business process template approval).
  • Transient - A form can be transient (true) or non-transient (false). Transient forms are short-lived forms and are removed from the system by a regularly-run batch job.
  • Related Object Id - ID of the related object, which can be a Contact, Company, or Opportunity.
  • Current Page - The last page you saved.
  • Created By - The login name for the user who created the business process template containing the Process Management form on the Contacts workspace.
You can sort the data table columns by clicking the Sort by button and selecting the column you would like to sort by.

If you make changes to a form's code on the Templates workspace, you can click the Reseed button Reseed button to update all out-of-the-box business form templates in the system. While code changes can be made without using the Admin Portal (for example, Scheme console), reseeding from this location simplifies the creation process.

To fill out a form, click Open for the form's record, complete the form fields, and save your changes. For more information about filling out forms, see Filling out Process Management forms.

Managing templates

The Templates workspace displays a data table that lists all form templates that you create. You can use the text search field to search for templates by name. The Templates workspace also enables you to create forms using the form editor.

The data table columns include:

  • Seeded - Shows a check mark if a form is live.
  • Created by - The user that created the template.
  • Object Type - The related object type, which can be a Contact, Company, Opportunity, ScheduleItem, null, and so on.
You can sort the data table columns by clicking the Sort by button Sort by button, and selecting the column you would like to sort by.

To add a new form template, click the Add button Add button and enter a name.

If a form is unseeded, click the Open Code button  for the form record to open the form editor and create or modify the form.

When creating a form:

  • In the Language drop-down, select either Scheme or JavaScript as the coding language. 
  • In the Theme drop-down, select a theme for the form. Themes are provided out-of-the-box and change the syntax highlighting in the editor UI.

For complete information about the coding the form, see "Developing Process Management forms" in the technical documentation.

When creating a multi-page form, a progress list is displayed in the form's Completion Status by default. This enables users to track their completion of required questions using a progress indicator for each page of the form, as well as a visualization of the entire form's status. This is shown in the example below:

Completion status for Process Management forms

You can disable the progress list by adding the following code, under the bp:flow element in your form.

Scheme code:

(: showProgress #f)

JavaScript code:

 showProgress: false

If you want to implement the progress list for a single page form, add the following code under the bp:flow element, in your form.

Scheme code:

(: showProgress #t)

JavaScript code:

 showProgress: true

After you enter your code, click Preview to test the form. When prompted, confirm that you want to save your changes. The form appears in the Preview section on the right of the workspace. Click Save to save your form.

If a form is seeded, you can:

  • Click the Open Code button Open code button for the form's record to displays its JavaScript or Scheme code in the View page, which is in read-only mode.
  • Create a copy of the form record by clicking the Copy button Copy button for the record, click the Edit button Edit button for the form's record, change the form's name, and then click the Open Code button to edit the form's code in the form editor.

Form template examples

The following Scheme code is for an example form that disables the progress list and contains the following sections:

  • Client Details
  • Addresses
  • Related Parties
  • Related Party - Spouse
  • Related Party - Accountant
  • Related Party - Referred By
  • Dummy page
(bp:register-flow "formName" #t
   (bp:flow
      (: showProgress #f)
         (bp:page Client_Details
         (: caption "Client Details")
         (: number "1")
         (bp:section profile
            (: caption "Profile")
            (bp:text firstName)
            (bp:text initials)
            (bp:text lastName)
            (bp:text fullName)
            (bp:date birthTime)
            (bp:combo genderCode)
            (bp:combo entityStatus)
            (bp:combo tier)
            (bp:object company)
            (bp:image image)
         )
         (bp:section homeAddress
            (bp:combo type)
            (bp:text address1)
            (bp:text address2)
            (bp:combo countryValue)
            (bp:text zip)
            (bp:text attention)
            (bp:textarea deliveryInstructions)
         )
      )
      (bp:page Addresses
         (: caption "Addresses")
         (: number "2")
         (bp:section addrs
            (: captions
               (string-append
                  (unless (null? (@ question name)) (string-append "(" (@ question name) ") "))
                  (@ question address1)
               )
            )
            (bp:text name)
            (bp:combo type)
            (bp:text address1)
            (bp:text address2)
            (bp:combo countryValue)
            (bp:text zip)
         )
      )
      (bp:page customFieldEntities
         (: caption "Related Parties")
         (: valueCaption "Related Party")
         (: captions
            (string-affix ((@ question type)'caption) " " ((@ question entityValue)'fullNameFirstLast))
         )
         (: number "3")
         (bp:section s1
            (bp:combo type)
            (bp:object entityValue
               (: caption "Entity")
               (: filterPath "fullTextSearch")
               (: order ())
               (: valueCaption "fullName")
            )
         )
      )
      (bp:page dummyPage (: caption "Dummy page"))
      (: bind Person)
   )

The following JavaScript code is for an example form that disables the progress list and contains the following sections:

  • Client Details
  • Addresses
  • Related Parties
  • Related Party - Spouse
  • Related Party - Accountant
  • Related Party - Referred By
  • Dummy Page
(function() {
function addressPages() {
	return bp.page("Addresses",
		{
			caption: "Addresses",
			number: "2"
		},
		addressSection());
}
function addressSection() {
	return addressSectionHelper();
}
function addressSectionHelper() {
	return bp.section("addrs",
		{
			captions: function() {
				if ($.question.name !== null)
					return "(" + $.question.name + ") " + $.question.address1;
				return $.question.address1;
			}
		},
		bp.text("name"),
		bp.combo("type"),
		bp.text("address1"),
		bp.text("address2"),
		bp.combo("countryValue"),
		bp.text("zip")
	);
}
return bp.flow(
			{showProgress: false}
			bp.page("Client_Details",
				{
					caption: "Client Details",
					number: "1"
				},
				bp.section("profile",
					{caption: "Profile"},
					bp.text("firstName"),
					bp.text("initials"),
					bp.text("lastName"),
					bp.text("fullName"),
					bp.date("birthTime"),
					bp.combo("genderCode"),
					bp.combo("entityStatus"),
					bp.combo("tier"),
					bp.object("company"),
					bp.image("image")
				),
				bp.section("homeAddress",
					bp.combo("type"),
					bp.text("address1"),
					bp.text("address2"),
					bp.combo("countryValue"),
					bp.text("zip"),
					bp.text("attention"),
					bp.textarea("deliveryInstructions")
				)
			),
			addressPages(),
			bp.page("customFieldEntities",
				{
					caption: "Related Parties",
					valueCaption: "Related Party",
					captions: $.question.type.caption + " " +
						$.question.entityValue.fullNameFirstLast,
					number: "3"
				},
				bp.section("s1",
					bp.combo("type"),
					bp.object("entityValue",
						{
							caption: "Entity",
							filterPath: "fullTextSearch",
							order: null,
							valueCaption: "fullName"
						}
					)
				)
			),
			bp.page("dummyPage", {caption: "Dummy Page"}),
			{bind: Person}
		);
})();


Managing template attachments

The Template Attachments workspace displays a data table showing all the form templates in the system. You can use the text search field to search for templates by name.

For each template, the data table columns include:

  • Object Type - The related object type, which can be a Contact, Company, Opportunity, ScheduleItem, null, and so on.
  • Version - The version of the form.
  • Number of Forms - Number of additions by end users of the business process template that contain this process management form on the Contacts workspace.
  • Document ID - System ID for a Word or PDF attachment to the template that can be downloaded by the user.
  • Last Updated - The last time the template was updated.
  • Created - The date and time the template was created.

You can attach a Microsoft Word or PDF document by uploading a document from your computer or by using the ID of a document that has already been uploaded.

Uploading a document as an attachment also adds this document to the list of available documents. You do not need to upload a document more than once. To upload a new document:

  1. Select the template in the Template Attachments table.
  2. In the Attach document area, select By Document Upload.
  3. Use the Upload Document field to navigate to and select the document from your computer.
  4. Click Attach Document.

To attach an existing document:

  1. Select the template in the Template Attachments table.
  2. Navigate to the Documents workspace.
  3. Find the document you want to attach and note the ID listed in its Document Id column.
  4. Navigate to the Template Attachments workspace.
  5. Select the template in the Template Attachments table.
  6. In the Attach document area, select By Document Id.
  7. In the Document Id field, enter the ID you noted earlier.
  8. Click Attach Document.

Uploaded documents can include merge fields. A merge field is an object that references a specific piece of information, such as a contact's first name. It is used to personalize documents for multiple contacts at once, so that you do not need to create a unique version of the document for each recipient. For example, if you want to send a letter to several contacts that includes their addresses, you can use a merge field to populate the addresses from the form.

Merge fields on Process Management forms are configured to extract information from specific answers entered in the form. They are managed differently from other merge fields used in NexJ CRM because the token name that you give to these merge fields must match the reference name of the corresponding question in the form.

For more information about including merge fields in Microsoft Word and PDF documents for forms, see Configuring Microsoft Word document merge fields for form templates and Configuring print document merge fields in PDFs for forms.

Managing documents

The Documents workspace displays a data table that shows all documents in the system. You can use the text search field to search for documents by name.

The data table columns include:

  • Class Code - The type of documents as defined in the system.
  • Document Id - The system ID for the document.

To remove a document, click Remove for the record.

Removing a document deletes the document from the system. Only attachments that are not used by any templates can be removed.