NexJ Logo

Managing Process Management forms

Process Management forms in use, templates, template attachments, and documents are managed from the Process Management Admin Portal. You can also develop forms using the 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 the Business Processes tab on the Customize workspace and select forms in the classic NexJ CRM user interface used in the 8.X releases. Users can add business processes to contacts on the Contacts workspace in 9.x.

Managing forms in use

The Forms in Use workspace provides a data table that displays the Process Management forms that have been added by users when adding business processes on the Contacts workspace in the Business Processes tab. 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, 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 in the Edit dialog, and create or modify the form.

When creating a form, you will:

  • 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. For example, you can select a theme that is provided out-of-the-box that changes the syntax highlighting in the editor UI.

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

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}
		);
})();


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.

For examples of how to customize the code, see "Developing Process Management forms" in the technical documentation.

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.

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.

The data table columns include:

  • Object Type - The related object type, which can be a Contact, Company, Opportunity, ScheduleItem, null, and so on.
  • 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.

For information about attaching a Microsoft Word document or PDF to Process Management form templates, see Adding print documents to Process Management form templates.

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.

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