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.