Types of Items in a Customization Project

When you customize an instance of MYOB Advanced by using the Customization Project Editor, the platform stores all items of a customization project as records in the CustObject table of the database. Each record in this table contains the data of an item, including the XML code of the item in a specific field. When you add an item to the customization project, the platform adds the new record to the table, creates the XML code of the item, and stores the code within the Content field of the record.

Note: You can view the content of an item of a customization project by using the Edit Project Items of the Customization Project Editor.

XML Code of the Items

Different item types have XML code that is structured differently. For example, if you create the UsrPersonalID bound custom field in the CR.Contact DAC (which is mapped to the SOOrder table) and the control for the field on the Customers (AR303000) form, the customization project might contain the following new objects:
  • An item with the following XML code to add the column to the DB table.
    <Table TableName="Contact">
      <Column TableName="Contact" ColumnName="UsrPersonalID" ColumnType="string" 
              AllowNull="True" MaxLength="15" DecimalPrecision="2"
              DecimalLength="15" IsNewColumn="True" IsUnicode="True" />
    </Table>
  • An item with the following XML code to add the field to the DAC.
    <DAC type="PX.Objects.CR.Contact">
      <Field FieldName="UsrPersonalID" TypeName="string" MapDbTable="Contact" 
             TextAttributes="#CDATA" StorageName="AddColumn">
        <CDATA name="TextAttributes">
        <![CDATA[[PXDBString(15)][PXUIField(DisplayName="Personal ID")]]]></CDATA>
      </Field>
    </DAC>
  • An item with the following XML code to add the control to the form.
    <Page path="~/pages/ar/ar303000.aspx" ControlId="5"
          pageSource="...binary content of the page...">
      <PXFormView ID="DefContact" ParentId="phG_tab_Items#0_DefContact"
                  TypeFullName="PX.Web.UI.PXFormView">
        <Children Key="Template">
          <AddItem>
            <PXTextEdit TypeFullName="PX.Web.UI.PXTextEdit">
              <Prop Key="Virtual:ApplyStylesheetSkin" />
              <Prop Key="ID" Value="CstPXTextEdit2" />
              <Prop Key="DataField" Value="UsrPersonalID" />
              <Prop Key="CommitChanges" Value="True" />
            </PXTextEdit>
          </AddItem>
        </Children>
      </PXFormView>
    </Page>

Note that the items in these code blocks differ by type (Table, DAC, and Page) and structure.

Item Types Within a Customization Project

All the possible types of items in a customization project are summarized in the following table. The value in the Can Be Unpublished column identifies whether the changes introduced by the item type are reversed when you unpublish the customization project. For details on which changes are reversed, see Unpublishing Customization Projects.
Item Type (XML Tag, if differs) Object Description Form for Editing Can Be Unpublished
Page A custom form, or changes to an existing form
  • For a custom form, the content of the form, and the path to the .aspx file of the form (the path is required for the system to detect changes of the file on the file system in the development environment and to deploy the file while publishing the project)
  • For an existing form, the layout change instructions and the action change instructions that have to be applied by the platform to the ASPX code of the form during the project publication
Screen Editor Yes
AutomationScreenCondition A condition that changes the business logic of a customized screen A data set containing a list of conditions for a customized screen Condition Editor (seeConditions for details) Yes
AUScreenAction An action that changes the business logic of a customized screen A data set containing the properties of an action Screen Editor Yes

AUScreenNavigationAction

An action that changes the business logic of a customized screen and navigates to another screen A data set containing the properties of an action Screen Editor Yes
AutomationScreenField A field to which conditions are applied A data set containing the properties of a field Screen Editor Yes
DAC Changes to an existing data access class The data required to create the corresponding extension for the original data access class Data Class Yes
Table Changes to the schema of an existing database table A definition of the custom columns added to a table for bound custom fields created in the appropriate DAC Table Editor (see Edit Table Columns Dialog Box for details) No
Code (Graph) Custom C# code
  • A custom DAC, which has the PX.Data.IBqulTable base class
  • A custom BLC, which has the PXGraph<> base class
  • An extension for an existing DAC, which has the PXCacheExtension<> base class
  • An extension for an existing BLC, which has the PXGraphExtension<> base class
  • A customization plug-in, which has the CustomizationPlugin base class
  • Any custom class, which has no or any base class
Code Editor Yes
File Custom file The path to a custom file and the GUID of the file content in the file storage of the database. The path is relative to the website folder; new custom forms are added to the project as custom files. File Editor (see Custom Files for details) Yes
GenericInquiryScreen Custom or customized generic inquiry A data set of a custom or customized generic inquiry form Generic Inquiry (SM208000) form No
Report Custom MYOB Advanced Report Designer report A data set of a custom report created by using the MYOB Advanced Report Designer MYOB Advanced Report Designer No
Dashboard Custom or customized dashboard A data set of a custom or customized dashboard Dashboards (SM208600) form No
SiteMapNode Custom or customized site map node A data set of a custom or customized site map node (which includes information about the location of the custom form or report); you should create a custom site map node for each custom form or report included in the customization project Site Map (SM200520) form No
Sql Custom SQL script A custom database table definition or custom SQL script that has to be executed while the customization project is published SQL Script Editor (see Edit SQL Script Dialog Box for details) No
Locale Custom locale A data set of a custom system locale, which is a set of parameters that defines the language and other local preferences—such as how to display numbers, dates, and times in the user interface—for a group of users System Locales (SM200550) form No
XportScenario Custom integration scenario A data set of a custom export or import scenario used to perform data migration between a legacy application and MYOB Advanced Import Scenarios (SM206025) form and Export Scenarios (SM207025) form No
SharedFilter Custom shared filter A data set of a custom reusable shared filter created on a processing or inquiry form Filters (CS209010) form No
ScreenWithRights Custom access rights to a form A data set of the custom access rights of roles to a form, down to the control of form elements, such as buttons, text boxes, and check boxes Access Rights by Screen (SM201020) form No
WikiArticle Custom wiki module A data set of a custom wiki and all the articles created within this wiki Wiki (SM202005) form No
EntityEndpoint Custom web service endpoint A data set of a custom web service endpoint Web Service Endpoints (SM207060) form No
ReportDefinition Custom analytical report A data set of a custom analytical report, including the data of the predefined sets of rows, columns, and units Report Definitions (CS206000) form No
PushNotification Push notification configuration A data set that includes the push notification destination and the data query that defines for which data changes MYOB Advanced sends notifications Push Notifications (SM302000) form No
BpEvent Business event A data set of a business event Business Events (SM302050) form No
MobileSiteMap Mobile app screen A script for adding or changing a mobile app screen Mobile App Editor (see Mobile Application for details) Yes
CSAttribute User-Defined Field A data set of a user-defined field with a list of screens on which the field is displayed User-Defined Fields Editor Yes
Webhook Webhook A description of a webhook for an external application and identification parameters of the webhook. Webhooks (SM304000) form No
OAuthClient Connected Application A dataset of properties of a connected application and identification parameters of the connected application. Connected Applications (SM303010) form No