Naming and Syntax Guidelines¶
Use the below coding syntax guidelines in the IFS Cloud model files.
Projection Elements¶
Entityset¶
- Should be the plural of the entity.
ex. ShopOrders, CustomerOrders, MaintenanceOrders, People, Companies
- If the plural noun is the same as the singular noun, use the suffix ‘Set’.
ex. InvoiceSeries -> InvoiceSeriesSet
- Use the ‘C’ prefix if it’s a customization of a core.
C[EntitysetName]Set
Entity\Query¶
-
A meaningful name derived from the entity name.
-
Avoid using prefixes\suffixes like LOV, Query, Entity, Qry, etc for the entity name.
ex. Do not use CompanyLov(entity) and CompanyLovs(entityset)
- Instead try to use meaningful query names using ‘C’ prefix such as CUserAllowedCompany(entity) and CUserAllowedCompanies (entitiy set)
Attribute¶
-
The name should explain the business purpose.
-
Should be singular.
-
Data source's attribute name might need modifications when exposing as an attribute in a Projection entity.
ex. Site (instead of contract), ExpiryDate(instead of ExpDate)
- Always use the ‘C’ prefix if it’s a core customization.
C[AttributeName]
Reference¶
- Suffix “Ref”
ex. reference UnitcodeRef(Unitcode) to IsoUnit(UnitCode);
- Always use ‘C’ prefix if it’s a core customization.
C[ReferenceName]Ref
Array¶
-
Should be plural.
-
If the plural noun is the same as the singular noun, use the suffix “Array”
ex. InvoiceSeries -> InvoiceSeriesArray
- Always use the ‘C’ prefix if it’s a core customization.
C[ArrayName]Array
Enumeration¶
-
“Enum” suffix
-
Always use the ‘C’ prefix if it’s a core customization.
C[EnumerationName]Enum
Structure¶
-
“Structure” suffix
-
Always use the ‘C’ prefix if it’s a core customization.
C[StructureName]Structure
Virtual¶
-
“Virtual” suffix
-
Always use the ‘C’ prefix if it’s a core customization.
C[VirtualName]Virtual
Singleton¶
-
“Singleton” suffix
-
Always use the ‘C’ prefix if it’s a core customization.
C[SingletonName]Singleton
Summary¶
-
“Summary” suffix
-
Always use the ‘C’ prefix if it’s a core customization.
C[SummaryName]Summary
Note: If the Projection Elements are created inside a New Projection in the Cust Layer (ex: CCrmCustomerHandling-Cust.projection) with a ‘C’ prefix then we do not need to add the ‘C’ Prefix to the elements inside this projection.
Client: Elements¶
Navigator entry¶
-
Prefix C
-
suffix NavEntry
C[NavigatorEntryName]NavEntry
Selector¶
-
Prefix C
-
suffix Selector
C[SelectorName]Selector
Dialog¶
-
Prefix C
-
suffix Dialog
C[DialogName]Dialog
Assistant¶
- Prefix C
- suffix Assistant
C[AssistantName]Assistant
Group¶
-
Prefix C
-
suffix Group
C[GroupName]Group
List¶
-
Prefix C
-
suffix List
C[ListName]List
Card¶
-
Prefix C
-
suffix Card
C[CardName]Card
Command¶
-
Prefix C
-
suffix Command
C[CommandName]Command
Command Group¶
-
Prefix C
-
suffix CmdGroup
C[CommandGroupName]CmdGroup
Advanced LOV List¶
-
Prefix C
-
suffix LovList
C[AdvancedLovListName]LovList
Chart¶
-
Prefix C
-
suffix Chart
C[ChartName]Chart
Singleton¶
-
Prefix C
-
suffix Singleton
C[SingletonName]Singleton
Variable¶
-
Prefix C
-
suffix Var
C[VariableName]Var
Note: If the Client Elements are created inside a New Client in the Cust Layer
(ex: CCrmCustomer-Cust.client) with a ‘C’ prefix then we do not need to add the ‘C’ Prefix to the elements inside this client.
File Naming¶
It is recommended to name client/projection files in the following format in general:
Client: C[ClientName].client
Projection: C[ClientName]Handling.projection
Ex: CCustomerCrm.client CCustomerCrmHandling.projection
It is recommended to name fragment files in the following format in general:
C[FragmentName] [FragmentType].fragment*
Ex:
list-based fragment: CPersonDocumentList.fragment
assistant-based fragment: CEmployeeStatusAssistant.fragment
dialog-based fragment: CTansferEmployeeDataDialog.fragment
LovView-based fragment: CCustomerLovSelector.fragment
If the Projection or Fragment is created for Integration purposes, we add the suffix ‘Service’ at the end.
Ex: CMsCrmInterfaceService-Cust.projection.
Git Branch Naming¶
topic/[user-id]/M-[CRIM-ID]-[JIRA-ID]-[INCREMENTING NO]-[Jira Story Description]
topic/damilk/M-M001-LPS-2345-1-Barcode_Report_Modification
There is no hard rule that every Implementation project needs to use this format for git branch naming. The decision to use the preferred naming standard can be a choice made by the project team as well.
More details can be found in the ALE documentation, here.