Base objects are products that have been built and maintained by Nextworld or a Nextworld partner. Objects with this status cannot be changed or customized. If you want to make changes to a Base object, you must use the Customize row action.

When you use the Customize action on an object, a copy of the object is created that remains connected to the base version of the object. The original object and the new version share the same name, but the newer version has a Customized ownership, while the original still has a Base ownership. An object's ownership is shown in the list view of the object application. Learn more about the different object ownerships in the Metadata ownership and namespacing topic.

In the customized version of the object, you can make selected changes to the object without the Base object being impacted. The changes you can make to an object depend on which customization pattern is configured for the object. Learn more about the different customization patterns in the Customization patterns topic. 

When an object has both a Base version and a Customized version, the Customized one is always used instead of the Base one.

Update customizations

Updates to Nextworld, such as new releases or patches issued between the releases, may change Base objects that you have already customized. Any changes that are applied to the Base versions are also applied to the connected customized objects. When Nextworld software is updated, all customizations that you've already made are preserved and the changes made in the Base version are merged into the Customized object. 

There are exceptions to this, such as updating workflow. Learn more about customizing and updating workflow in the Customized workflow and base workflow updates section.

Repeated records and values

When you add a record or value to a customized version of an object and the base version is updated with a matching record or value, the record or value stay the same in the customized version. However, the restrictions on the record or value are now enforced as a Base object.

For example, you have a customized list lookup in which you added the following because it was not originally in the list lookup's base version:

Lookup ValueLookup Description
CompanyCompany Type

In the newest base version of the list lookup, the following record was added:

Lookup ValueLookup Description
CompanyCompany Org

When the Customized object is updated, your customized Company Lookup Value and the base Company Lookup Value are merged and your customized list lookup maintains Company Type as the Lookup Description. The merged Company Lookup Value acts as a Base object now, so if the list lookup has a customization pattern of Allow Additions you are no longer able to delete the Company Lookup Value in the customized version.

Customizations and lifecycles

Customize objects in the base lifecycle when you want that customization to always be used. If you want to try out different customizations before you commit the object to a production lifecycle, you can check the object into different lifecycles. You can customize the object differently in each lifecycle. When you are satisfied with a customization, you can check the object back into a production lifecycle. The only exception to this are list lookups and workflows, which are not dependent on lifecycles.

Customizations, customer defined attributes (CDAs) and extensions

Customizations, CDAs, and extensions all provide ways to modify base objects to fit your needs.

CDAs are unique fields that you can create and add to any of the applications, reports, or View tables involved in one of your business processes. Learn more in Customer defined attributes.

Extensions, however, are a development feature only available to Nextworld and Solution Developers. Customers do not create extension objects.

Customization patterns

The customization pattern are rules that specify what users can do to a customized version of a Base object. When an object is customized, the customization pattern set for that object determines which fields in that table are locked or unlocked, and whether a user can add, delete, modify, or move subtable records on that table.

The customization pattern of an object is indicated in the Customization Pattern field found in most Nextworld objects.

An application can have multiple customization patterns available that can be applied to different records. For example, a record in the List Lookup Definitions application may use the Complete Lock pattern, which prevents users from making any changes to customized versions of that record. Another record in the application may use the Allow Additions pattern, which allows users to add more lookup keys to their customized record, but not edit any existing values.

Follow the links below to learn more about the Nextworld objects that have customization patterns:

Application customization

This section describes the different customization considerations for the applications. 

Considerations

Only Owned data items, or items you create, can be changed in a Customized application. Base data items cannot be updated. 

If you customize an application with the Allow Additions customization pattern, you can only add fields in custom rows. Each base row may have two custom rows. Custom rows, such as A Custom 01, display below the corresponding base row. For example, if you place a field in row B Custom 01, it displays immediately below row B. If both custom rows are used, they can be flipped in order, but they cannot be sorted away from their base row. Custom rows have the same Sort Sequence value as their base row, with either .1 or .2 appended to the end based.

Additionally, Base data items in an application cannot be added to any of the custom rows. 

Customization patterns

PatternDescription
Complete LockNo changes can be made.
Allow AdditionsModify any fields added to the table the application is built over in the List Form Fields, Detail Form Fields, and Subtable Fields subtables. You can also add new pages, rows, and actions to customized applications. All non-subtable fields are locked.
The Allow Additions customization pattern also allows for customization of camera scannable fields. Camera scannable fields allow users to scan a barcode with a phone or tablet to fill in detail form fields while using the mobile platform. When customizing an application with camera scannable fields, you can set an existing base data item, or add a new owned data item, as camera scannable. Learn more in Camera scannable fields for mobile users.

Application setting customization

This section describes the different customization patterns supported by the application setting object type.

PatternDescription
Complete LockNo changes can be made.
Allow AdditionsEdit any enabled field and add new items to all subtables. Modify, add, and delete configurations in all data mappings in the Data Mapper tool.
The Allow Additions customization pattern also allows for customization of camera scannable fields. Camera scannable fields allow users to scan a barcode with a phone or tablet to fill in detail form fields while using the mobile platform. When customizing an application setting with camera scannable fields, you can remove the camera scannable feature from existing fields, set an existing base data item, or add a new owned data item, as camera scannable. Learn more in Camera scannable fields for mobile users.

Dashboard card customization

This section describes the different customization considerations for the dashboard card object type.

There are no customization patterns for dashboard cards. When a dashboard card is customized, you can only make changes to fields that hide a card on all dashboard pages.

Dashboard page customization

This section describes the different customization considerations for the dashboard pages object type.

There are no customization patterns for dashboard pages. When a dashboard page is customized, you can only make changes to fields that hide a page, or make the dashboard page a global favorite. 

Data item customization

This section describes the different customization considerations for the data item object type.

Considerations

If you customize a data item to add or update a Synonym, you don't need to generate the application to see the updated synonym in the application. 

Customization patterns

PatternDescription
Complete LockNo changes can be made.
Change Synonyms OnlyMake changes to any fields on the Synonyms page.
Change Synonyms, Formatting, and ValidationsMake changes to any fields on the Synonyms page or any fields in the Formatting & Validation row on the Formatting & Validations page.

Endpoint definition customization

This section describes the different customization considerations for the endpoint object type.

PatternDescription
Complete Lock
No changes can be made.
ChangeSecretsAndIntegrationConfig
Change Secrets and Integration Configuration values, but all other fields are locked.

List lookup customization

This section describes the different customization considerations for the list lookup object type.

Considerations

If you customize a list lookup, and then update a Lookup Description, you don't need to generate the application to see the updated Lookup Description in the application. 

Customization patterns

PatternDescription
Complete LockNo changes can be made.
Complete UnlockMake changes to all fields except for the object name and other internal fields.
Changes Only

Only make changes to the following fields in the header:

  • Description
  • Sort
  • Display

Only make changes to the following fields in existing lookup keys:

  • Lookup Description
  • Lookup Icon
  • Background Color
  • Text Color
  • Default Value
  • Disabled
Allow AdditionsAdd new list lookup keys, but you cannot change existing keys. 

Logic block customization

This section describes the different customization considerations for the logic block object type.

Considerations

During implementation, decide whether a customer can add logic into the beginning or end of your logic block, or whether you want it completely locked. 

Customization patterns

PatternDescription
Complete LockThe logic block is not customizable. 
AllowCustomBlockAnother logic block can be called and values can be set at the start or end of the logic block. This is the default pattern used if no pattern is specified. 

Provide additional logic block prior to Insert, Update, or Delete Actions 

When creating an action block, or any other logic block that performs the basic table actions of insert, update, or delete, consider adding an additional logic block that is empty and has the Customization Pattern of AllowCustomBlock. This allows an easy way for partner's to add an extension or customer's to add a customization prior to inserting, updating, or deleting the data. This logic block would act as a pre-insert, pre-update, or pre-delete to the record and gives them the ability to alter the data or perform additional actions. An few examples of this can be found in the following:

  • In the WriteDirectory logic block, an additional logic block called DirectoryPreInsertUpdateDelete was delivered in the base code. The DirectoryPreInsertUpdateDelete is delivered empty and has the Customization Pattern set to AllowCustomBlock. This logic block can be extended or customized and provides an easy way to alter the data prior to inserting, updating, or deleting the record. 
  • In the WriteNettingTransactionJE logic block, an additional logic block called ExtendWriteNettingTransactionJE was delivered before calling WriteGLTransaction logic block. It's delivered empty and has the Customization Pattern set to AllowCustomBlock. This gives the ability to add additional JE lines before the GL API runs by extending or customizing the ExtendWriteNettingTransactionJE logic block.

Menu customization

This section describes the limitations of customizing records in the Menu Definitions application. 

There are no customization patterns for menu records. When a menu record is customized, you can only change the following fields:

  • Application Setting Name
  • Sequence
  • Disabled

Restricted field customization

This section describes the limitations of customizing the restricted field object type. 

There are no customization patterns for restricted fields. When a restricted field is customized, only the Active field can be changed. While you can change a restricted field from inactive to active, you cannot change it from active to inactive. 

Roles customization

This section describes the limitations of customizing the role object type.

There are no customization patterns for roles. When a role is customized, only the Active field can be changed. This allows you make a role inactive in a delivered role hierarchy.

Table customization

This section describes the different customization considerations for the table object type.

Considerations

Only Owned data items, or items you create, can be added to a table. You cannot add Base data items to a Customized table.

Like other table types, summary tables can be customized and any fields added must be Owned. Any customization added added STFAsOfDataSources.STFDataSourceAlias need to be namespaced. Learn more in Metadata ownership and namespacing.

Customization patterns

PatternDescription
Complete LockNo changes can be made. 
Allow AdditionsYou can add new fields or modify the Required field on the Fields page. Existing fields cannot be changed. 
You can add new indexes on the Indexes page. Existing indexes cannot be changed. 
AllowAdditionsAndTriggers
You can add your own triggers, rather than customizing an existing trigger on the table. Learn more in Table triggers.
AllowViewChanges
You can add new fields to tables of type View. Learn more in View tables.

Workflow restricted fields customization

This section describes the different customization considerations for workflow restricted fields. 

Considerations

Customizing a workflow restricted field definition enables you to add any customized fields added to the workflow controlled application in downstream development. 

Customization patterns

PatternDescription
Complete LockNo changes can be made.
Allow AdditionsYou can add new fields to the workflow restricted field definition. Existing fields cannot be changed.

Agent customization

This section describes the different customization considerations for the agents configured in the Agent Builder application. 

Customization patterns

PatternDescription
Complete LockNo changes can be made.
Allow AdditionsYou may add new toolsets to the agent. 

Automatic number and automatic format customization

This section describes the different customization considerations for automatic number and automatic format defintions. 

Considerations

Changes to automatic number definitions can have unintended consequences in applications with existing records. 

You can only define an automatic format on numeric automatic number definition's if there is a value defined in the Automatic Format Field.

Customization patterns

The table below shows the customization patterns for automatic number definitions. 

PatternDescription
Complete LockNo changes can be made.
AllowAutoFormatAllows you to change the Auto Format applied to the automatic number definition. 
AllowGroupedSequencingAllows you to change the Group By Lookup field. This pattern is only available if automatic number by company or org unit is enabled in the definition. 
AllowGroupedSequencingAndAutoFormat
Allows you to change the Auto Format and the Group By Lookup field.

Workflow customizations and subflows

Customize workflows to add or modify existing processes in the workflow such as transitions, orchestrations, logic blocks, and approvals. 

Select the Customize row action on a workflow definition to create a customized definition. You can customize a workflow by making changes in the workflow definition, or by adding a subflow definition. 

Workflow definition customizations

This table describes the different customizations you can do in a workflow definition:

Workflow featureCustomization
Logic blocks

Add new post-run or multi-transition logic blocks to existing workflows. You cannot modify or remove any of the base or post logic blocks. 

Existing transition fieldsChange the values of the following fields in existing workflows as long as the workflow's validations allow for it:
  • Manual Transition trigger to Automatic Transition trigger
  • Secured
NotificationsAdd new notifications into the Action Type field. 

Subflow definition customizations

This table describes the different customizations you can do in a subflow definition:

Workflow featureCustomization
Approvals

Add new approvals to existing workflows. You cannot modify existing approvals.

Workflow Types

Add a new workflow type to existing workflows. Add new transitions to your customized workflow with that workflow type specified.

Orchestration

Add new orchestrations to existing workflows. You cannot modify or remove any of the base orchestrations.

Transitions

Add new transitions to existing workflows.

State and State Types

You can create new transitions which exist between existing From State and To States of a transition. You cannot select different values for existing state and state types which exist in the workflow definition. 

You can use any of the values from the list lookups defined in the State Lookup and State Type Lookup fields. If you want to use a new value that does not exist in the current list lookup, you must customize that list lookup to add it in. You can only add new values to the lookup if it has a customization pattern of Allow Additions or Complete Unlock. See List lookup customization for more information on customizing list lookups.

Subflows can be added to both workflow definitions and inside of other subflows. Only transitions with the Allow Subflows checkbox selected in the parent definition may have subflows attached to them.

A transition path is the Base sequence of states a record must go through from start to finish. For example:

New / Initial >To Do / Active>In Progress / Active>Done / Closed

When you configure a subflow definition you can add steps in between the transition path's sequence of states, but you can't change the states or the order of the sequence they are in. For example:

New / Initial >To Do / Active>In Progress / Active>Review / Active>Reviewed / Active>Exit Subflow / Active>Done / Closed

 Learn more in Subflows and Subflow configuration.

Learn more about how to update a Customized workflow in the Customized workflow and base workflow updates and Configure customized workflow updates topics.

Customized workflow and base workflow updates

Customized workflows do not automatically receive updates whenever the Base version changes in a new release or patch. 

The Customization Status field in the list form of the Workflow Builder application shows a customized workflow's state in relation to the base version. The values of this field are automatically generated and are only used on customized workflows. Custom workflows with a Current status are up-to-date with the latest base version. When the Customization Status field shows an Update Available status, this indicates that a new base version exists for that workflow and you are able to begin a merge of your current customizations with the newest base version features.

You can continue to use your customized workflow version as your Active workflow without immediately updating the newest Base version, but you cannot make any additional changes to that custom workflow until the updates have been applied.

To update your workflow, you can create a draft of what your current customizations would look like when merged with the latest base version before you commit to the update. The workflow draft merge preserves your current, In-Active custom workflow while it creates an updated version that combines your current customizations with the newest base version features. When the draft merge is complete, you can review the updated version and mark it as your Active workflow if you are satisfied with the merge, or you can reject the draft merge and create a new customized workflow over the latest base workflow.

Draft merge process flow

The following diagram outlines the steps that make up a successful workflow draft merge process:

Flow diagram of the workflow draft merge process, showing five stages connected left to right, with a branch after the third stage leading to either an accept path or a reject path. Color-coded markers distinguish original object versions from updated versions at each stage.

Original version
Original version of objects.
Updated version
Updated version of objects.
1

A customized workflow exists over a base workflow.

2

The base workflow is automatically updated when a new version of the base workflow is released. The custom workflow does not receive any updates and remains the same as it was before. 

The Customization Status field shows an Update Available status.

3

You create a draft merge copy of the workflow to see how your current customization is merged with the new base version. 

4

You accept the draft merge workflow by marking it as your In-Active workflow which causes the older version to be archived. 

5
Archived version of object.

To configure your workflow update, see the Configure customized workflow updates topic. 

Configure customized workflow updates

Configure a customized workflow update in the Workflow Builder application when the Customization Status field indicates the Base version of the workflow has been updated. 

Workflow Builder

In the Workflow Builder application, you must: 

  • Select the Update row action on the custom workflow you want to merge with the newest base version. This creates a copy of the original workflow which is used to contain a drafted merge of the customized workflow and the newest base version. 
  • Refresh the Workflow Builder application list form to see the copy of the custom workflow next to the custom workflow. The custom workflow retains its name while the copy is named <custom workflow name>UpdateInProgress.
  • Open the <custom workflow name>UpdateInProgress workflow to review the changes made to the custom workflow when it was merged with the newest base version. 
  • Select the Mark As Active row action if you are satisfied with the changes made in the draft merge workflow. This archives the original customized definition with the name <custom workflow name><current date>. This allows you to revert back to the old version of the customized workflow if you discover something wrong with the merge. You can delete the archive once you feel it is no longer necessary.
  • If the merged workflow does not meet your requirements, you can delete it and make changes in the original custom workflow before attempting another merge. You can also create a new custom workflow over the newest base version and recreate the customizations you had before. 

The <custom workflow name>UpdateInProgress workflow name automatically changes to match the name of the base version it is customized off of and the definition changes to a Current status. This workflow is then moved into Active.

Subflows

Use subflows to add additional transitions, states, and approvals into existing workflow definitions. You cannot delete existing states, state types, or transitions.

A subflow definition consists of the transitions that you define to support your business processes, and where those transitions are configured to take effect within the parent workflow. The parent workflow can be a standard workflow definition, or another subflow. 

For example, a parent workflow definition could have the following transitions configured: 

Workflow Type
Transition Trigger

From State

From State Type
To State
To State Type

Allow Subflows

Supplier InvoiceManual TransitionIn ProgressInitialReady to ReconcileActiveSuccess

Supplier InvoiceAuto TransitionReady to ReconcileActiveReconciledClosedSuccess

Supplier InvoiceAuto TransitionReady to ReconcileActiveErrorActive
Supplier InvoiceManual Transition ErrorActiveReady to ReconcileActive

You could create a subflow definition which has the following transition configured: 

Transition Trigger

From State

From State Type

To State

To State Type

Allow Subflows

Manual TransitionReviewActiveReviewedExit Subflow

The subflow definition can use different combinations of fields on the Subflow Configuration page to attach the subflow to different places in the parent workflow.

If you want your subflow attached to...Use the fields...Result
All transitions in the parent definition that match the To State and To State Type designated, regardless of the From State and From State Type. 
A parent workflow definition may have multiple transitions with different From State and State Types and the same To State and Type.

SubflowParentStates.SubflowParentState: Ready to Reconcile

SubflowParentStates.SubflowParentStateType: Active

The subflow manual transition from Review to Reviewed is attached between In Progress and Ready to Reconcile, and between Error and Ready to Reconcile. 


One transition in the parent definition that matches the From State and State Type, and the To State and State Type. 
A parent workflow can only have one transition that has the same From State and State Type, and To State and State Type.
SubflowParentStates.SubflowParentFromState: In Progress
SubflowParentStates.SubflowParentFromStateType: Initial 
Parent To State: Ready to Reconcile
SubflowParentStates.SubflowParentStateType: Active

The subflow manual transition from Review to Reviewed is attached between the In Progress and Ready to Reconcile statuses. 


Any transition in the parent definition that matches the To State, To State Type, and Workflow Type. A parent workflow can have different Workflow Types that further define the records, such as Supplier Invoice and Supplier Credits. 
A parent workflow definition may have multiple transitions with different From State and State Types, but the same To State, Type and Workflow Type.
SubflowParentStates.SubflowParentState: Ready to Reconcile
SubflowParentStates.SubflowParentStateType: Active
SubflowParentStates.SubflowParentWorkflowType: Supplier Invoice
The subflow manual transition from Review to Reviewed is attached between In Progress and Ready to Reconcile, and between Error and Ready to Reconcile, for any records of type Supplier Invoice. 
One transition in the parent definition that matches the From State and State Type, To State and State Type, and the Workflow Type. 
A parent workflow can only have one transition that has the same From State and State Types, To State and State Types, and Workflow Type. 

SubflowParentStates.SubflowParentState: In Progress

SubflowParentStates.SubflowParentStateType: Initial

SubflowParentStates.SubflowParentFromState: Ready to Reconcile

SubflowParentStates.SubflowParentFromStateType: Active

SubflowParentStates.SubflowParentWorkflowType: Supplier Invoice


The subflow manual transition from Review to Reviewed is attached between In Progress and Ready to Reconcile, for records of type Supplier Invoice. 


Subflow configuration

Configure subflows in the Workflow Builder application. Subflow definitions enable you to add additional transitions, states, and approvals into an existing workflow definition.

Configure the subflow

Open the Workflow Builder application from the Navigation Menu or within the Developer Studio. Identify the workflow definition where you want to add a subflow. To add a subflow definition, the workflow transition must have the Allow Subflows checkbox selected.

Create a new record in the Workflow Builder and select Subflow Definition. Then:

  • Enter the parent workflow definition's name. 
  • On the Subflow Configuration page, configure your subflow. You must have the To State and From State of the transition from the parent workflow which you want to insert your subflow definition between. 
  • On the Transitions page, add detail lines for the transitions you want included in the subflow. 
    • Ensure one detail line uses the Exit Subflow To State Type. Records never exist in this state type, but it is necessary to include so the system know when the record should exit the subflow and continue in the base workflow definition transition path. 

Enable the subflow definition

Once a subflow definition has been created, it is not active until:

  • The parent workflow definition has been customized by selecting the Customize row action.
  • The subflow definition has been marked as Active. This can be done during subflow configuration. If the subflow definition was delivered, you must customize the subflow definition and select the Active checkbox. 

Control which records use subflow

To control which records in an application use the subflow definition, you can configure a decision definition in the Decision Builder application. Then, specify that decision definition in the Decision field of the subflow definition. 

For example, the Expense Reports application has a workflow definition enabled. If you wanted to add an approval to the workflow, you could create a subflow definition with an approval in it. If you wanted to specify that only expenses which exceed a certain dollar amount require the approval, you would create a decision definition which specifies the criteria for a record requiring the subflow be enabled. 

Learn more in Decisions.

Create or customize workflow restricted fields

Define or customize lists of restricted fields for workflow with the Workflow Restricted Field Definitions and Workflow Security Definitions applications. Workflow restricted field profiles are added to access rules in workflow security to prevent users from making changes to the specified fields. 

Customize an existing workflow restricted field profile if you want to change or limit access to fields based on a workflow state which was delivered to you. This allows you to prevent users from making changes to tenant owned custom fields. Only definitions which have the AllowAdditions value selected in the Customization Pattern field are allowed to be customized. 

Create a new workflow restricted field profile if you need to create a new workflow state and limit access to the fields, or if your delivered workflow restricted field profile does not allow customization.

Customize a workflow restricted field profile

To customize a restricted field profile, in the Workflow Restricted Field Definitions application, you must:

  • Open the definition. 
  • In the Restricted Fields subtable, select the Add button to create an entry for each additional field that should be restricted. Only tenant owned fields can be added. 

Create a workflow restricted field profile

To create a new restricted field profile, in the Workflow Restricted Field Definitions application, you must:

  • Create a new record.
  • In the Restricted Fields subtable, select the Add button to create an entry for each field that should be restricted.
  • In the WorkflowRestrictedFieldList.DataItemLookup field, select the name of the data item associated with the field.

In the Workflow Security application, you must:

  • Create a new record. 
  • Select the table the workflow is built over. 
  • In the Access Rules subtable, enter the name of the restricted field definition.

Learn more in the Configure workflow security topic.

Metadata ownership and namespacing

The ownership of a metadata object indicates who has control over and responsibility for it. Namespaces are amended to the metadata you create to ensure the objects are globally unique and prevent conflicts during release upgrades.

The ownership of a metadata object can be:

  • Base—These objects were created by Nextworld or a solution development partner. Base objects cannot be altered, but you may be able to customize or copy them.
  • Customized—These are Base objects which have been customized in your environment. Customized objects share a connection with the base version. If a Base object changes as part of an upgrade, the customized object is also updated. You can customize a Base object with the Customize row action. Learn more in Customizations.
  • Owned—These objects are yours and were created in your environment. You have complete control over these objects. 

Namespacing owned objects

Any metadata object you create includes a namespace automatically at the beginning of the objects identifying name. A namespace is a set of characters unique to your tenant that ensures that only one version of the object exists. Namespaces always begin with ns, and you cannot delete them.

For example, your organization's namespace might be nsCst. You might create a data item to track the storage temperature of an item, called nsCstStorageTemperature. If Nextworld later delivers a similar data item named StorageTemperature, the namespace ensures no conflicts exist between the two objects.

Some metadata objects, such as applications and tables, have a variety of configuration options. In some cases, a namespace is also applied to those configurations, such as pages you add to a customized application. In other cases, no namespace is applied to your addition. If Nextworld delivers an upgrade to a customized metadata object with an addition that has the same name as an addition you've added, Nextworld takes ownership over that object. You can still modify the object, but you cannot delete it.

For example, you can customize an application to add an application link. If Nextworld delivers an upgrade to the application with an application link that has the same name as the one you added, you can modify the application link, but you can't delete it.