- 04 Oct 2023
- 8 Minutes to read
- Contributors
- Print
- DarkLight
- PDF
EdgeReady Platform - Naming Conventions
- Updated on 04 Oct 2023
- 8 Minutes to read
- Contributors
- Print
- DarkLight
- PDF
Overview of the EdgeReady Platform
Pillir's EdgeReady Cloud is a low-code / no-code platform designed for SAP-centric organizations in manufacturing and supply-chain industries, providing a comprehensive set of features and capabilities that enable organizations to rapidly create and deploy custom business applications.
The platform provides the following modules for building Apps that can function in both online and offline/disconnected modes:
- Projects
- Business Process Modeler
- App Process Modeler
- App Designer
- App Behavior
- Integration Builder
- EdgeReady Database
- EdgeReady Drive
- Library
- Scheduler
- Workflow Console
- App Deployment
- Platform Administration
Each module comprises different objects that perform specific functions to aid app development.
Purpose
The goal of this document is to guide the EdgeReady platform users like the developers, business analysts, those involved in platform support & maintenance to follow a standard method in naming the different objects of the EdgeReady platform.
A consistent naming pattern in a project has the following benefits:
- Enables other developers to understand app design, app behaviors, BOS logic and configuration details easily.
- Enables newly onboarded team members to grasp the app design and development process with minimal guidance.
- It also enables developers to debug the underlying code or logic with ease.
Scope
The scope of this document is to provide a standard method to name objects of the platform with clear and consistent names that enable any platform user within an organization to understand the purpose of the object.
While these naming conventions can help you to make the platform more consistent and pave the way for a better coding experience, it may not apply to all your business requirements, under these scenarios, you can use object names that match with your line-of-business.
The information in the document is organized in the following manner:
- Module -> List of Objects -> Naming convention of each object -> Example name
- Additional information is provided under required modules if necessary
General Guidelines for Naming Conventions
- Ensure to use alphabetic and numeric characters with permissible special characters(eg: hyphen(-), underscore(_)). Refrain from using special characters such as &, @, etc.
- Use intention revealing names: An object name must define the exact explanation of its content so it can explain itself in case of no documentation.
- Avoid long terms or sentences. Keep it simple.
- When you use abbreviations, make sure it is meaningful and understandable by everyone in the team.
Projects
Object Type | Object Name | Naming Convention | Additional Info/Abbreviations used | Example |
---|---|---|---|---|
Project | Project Name | Any english term that represents the business requirement of the customer | Capitalize first letter of every word | Work Orders, Purchase Orders |
Database | New table Name | tabletype_tablename | Here tabletype refers to master, bridge, transactional, log, and archive tables. | m_vendor b_material t_taskorder l_qty a_material |
Drive | Folder Name | as per business requirement | The root folder can have the project name. All other sub-folders in the hierarchy can be named by the task for which the file is required. Ensure to align the hierarchy with the business requirement. The names can be a combination of both letters and numbers without capitalization | work order work order1 operation1 operation2 work order2 operation1 operation2 |
Upload File | bf_filename | NA | woexec_saveicon | |
Settings | Deployment (Container App Name) | Containerappname | Any english term that relates to the apps for which the container app is generated. Can be the project name Capitalize first letter of the terms Avoid special characters | Work Order |
Business Process Modeler
Object Type | Object Name | Naming Convention | Additional Info/Abbreviations used | Example |
---|---|---|---|---|
Business Process | Business Process | BusinessProcessName | Any term that relates to a department or unit under which the business functions are created. Capitalize the first letter of the terms. | Sales, Purchasing |
Components | Business Function | BusinessProcessName Action | Here "Action" refers to the task that this business function performs. Capitalize the first letter of the terms. | Work Order Execution |
Condition | Condition Name | Capitalize the first letter of the terms. | Check Approval | |
Variable | variablename | Variable names are to be named the same as the fields(in UI) with the same characteristics (e.g. type, length,etc.). Use small letters. Use appropriate consistent abbreviations. Maintain the same abbreviations throughout the platform. eg: If 'quantity' is abbreviated as 'qty' , name all quantity related columns in db, and in variables as 'qty' | target_qty, rejection_comments |
App Process Modeler
Object Type | Object Name | Naming Convention | Additional Info/Abbreviations used | Example |
---|---|---|---|---|
Components | Group | taskname | If the group comprises of components to perform a particular task, then the task name can be the group name | tax_calculation, or tax_calc |
BOS | Invokedfrom_businessprocess | when the BOS is invoked after approve button is clicked | approve_workorder | |
action_businessprocess_entity | when the BOS is invoked to perform an action | get_work_order_image | ||
Page | BusinessProcessName Pagefunction | NA | Work Order Details | |
Condition | conditionname | NA | approval_amt | |
Case | casename | NA | product, storagecode | |
Decision table | decisionname | NA | gateaccess | |
Send Email | emailname | NA | notification | |
Assignment | assignmentname | NA | alt_approval |
App Designer
The naming conventions for App Designer components help the developer to understand an app behavior and its related components easily when it's displayed in the APM canvas. Without a structured naming format, the platform generated component names may create confusion in understanding the related behaviors.
While the below naming conventions may help to prevent confusions, it may not cover the component structure of every app, under these circumstances you may choose to give specific names as required, keeping these naming conventions as a reference.
(The main components are highlighted in Bold, followed by its subcomponents in normal font.)
Object Name | Naming Convention | Additional Info/Abbrev | Example | Note |
---|---|---|---|---|
Topbar/ID | NA | NA | NA | NA |
Footer/ID | NA | NA | NA | NA |
Heading/ID | NA | NA | NA | NA |
Heading/Title | NA | NA | NA | NA |
Text/ID | functionalname_txt | NA | userid_txt | NA |
Text/Title | enter the UI field name | NA | NA | NA |
Search/ID | functionalname_sch | sch - abbrev of search | schprj_sch | NA |
Search/Title | enter the UI field name | NA | NA | NA |
Button/ID | functionalname_action_btn | NA | workorder_save_btn | NA |
Button/Title | enter the UI field name(label) | NA | NA | NA |
Link/ID | functionalname_link | NA | help_link | NA |
Link/Title | enter the UI field name(label) | NA | NA | NA |
Progress Bar/ID | functionalname_probar | probar - abbreviation of progress bar | upload_probar | NA |
Progress Bar/Title | enter the UI field name(label) | NA | NA | NA |
Bottom bar/ID | btmbar_1 | btm bar - bottom bar | NA | NA |
Bottom bar/item_1/ID | functionalname_btm_itm1 | itm - item | home_btm_itm1 | Follow the same format for all items in a bottom bar. |
Bottom bar/item_1/Label | enter the UI field name | NA | NA | NA |
List View/ID | functionalname_lv | lv-abbreviation of listview | wo_list_lv | Since the sub components within a list view are not constant, you can use the naming convention of that specific sub-component. eg: wo_list_lv_gd - if a grid is added within a listview. Ensure to add ‘lv’ prefix for all subcomponents in a list view |
List Header/ID | functionalname_lvh | lvh -abbreviation of listview header | wo_qty_lvh | |
Text/Title | enter the UI field name | NA | NA | |
List Item/ID | functionalname_lv_itm | itm - item | wo_dept_lv_itm | |
Collapsible/ID | functionalname_c | c - collapsible | wo_list_c | NA |
Collapsible Header/ID | functionalname_ch | ch - collapsible header | wo_list_ch | Follow the same format for all headers |
Text/ID | functionalname_c_txt | NA | wo_desc_c_txt | Ensure to use the Text component naming convention with a ‘c’ prefix. |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Collapsible Content/ID | functionalname_c_itm | itm - item | wo_name_c_itm | Follow the same format for all content cells |
Navbar/ID | navbar_1 | nav - abbrev of navigation bar | NA | NA |
Navbar/item_1/ID | functionalname_nav | NA | gps_nav | Follow the same format for all navbar items |
Navbar/item_1/Label | enter the UI field name(label) | NA | NA | NA |
Grid/ID | functionalname_gd | gd - grid | wo_list_gd | NA |
Grid row/ID | functionalname_gd_row | wo_list_gd_row | Follow the same format for all grid rows. If more than one row, number them as required, eg: wo_list_gd_row2 | |
Grid cell/ID | functionalname_gd_cell | NA | wo_id_gd_cell | Follow the same format for all grid cells |
Table/ID | functionalname_table | NA | wo_list_table | NA |
Table Header cell/ID | functionalname_table_th | th - table header | wo_qty_table_th | Follow the same format for all header cells |
Text/ID | functionalname_table_txt | txt - text | wo_id_table_txt | Ensure to use the Text component naming convention with a ‘table’ prefix. |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Table row cell/ID | functionalname_table_row | td - table data(cell) | wo_desc_table_td | Follow the same format for all table cells |
DataGrid/ID | functionalname_dg | dg - datagrid | wo_list_dg | NA |
DataGrid Header/Id | functionalname_dg_th | th - table header | wo_qty_dg_th | Follow the same format for all datagrid header cells |
Datagrid Row cell/ID | functionalname_dg_td | td - table data(cell) | wo_desc_dg_td | Follow the same format for all datagrid cells |
Text/ID | functionalname_dg_txt | text - text | wo_id_dg_txt | Ensure to use the Text component naming convention with a ‘dg’ prefix. |
Dialog/ID | functionalname_dlog | dlog - abbrev dialog | wo_list_dlog | NA |
Dialog content/ID | functionalname_dlog_cont | cont - content | wo_desc_dlog_cont | NA |
Text/ID | functionalname_dlog_txt | txt - text | wo_desc_dlog_txt | Ensure to use the Text component naming convention with a ‘dlog’ prefix. |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Dialog action/ID | functionalname_dlog_act | act - action | wo_list_dlog__act | NA |
Button/ID | functionalname_dlog_btn | NA | submit_dlog_btn | NA |
Button/Title | enter the UI field name(label) | NA | NA | NA |
Button/ID | functionalname_dlog_btn | NA | clear_dlog_btn | NA |
Button/Title | enter the UI field name(label) | NA | NA | NA |
Dialog Title/ID | functionalname_dlog_t | t - title | wo_list_dlog_t | NA |
Button/ID | functionalname_dlog_tbtn | tbtn - title button | close_dlog_tbtn | NA |
Button/Title | enter the UI field name(label) | NA | NA | NA |
Text/ID | functionalname_dlog_ttxt | ttxt - title text | wo_dlog_ttxt | NA |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Panel/ID | functionalname_p | p - panel | wo_list_p | Since the sub components within a panel list view are not constant, you can use the naming convention of that specific sub-component. eg: wo_list_plv_gd, if a grid is added within a panel listview. Ensure to add ‘plv’ prefix for all subcomponents inside a panel listview. |
Text/ID | functionalname_p_txt | NA | wo_list_p_txt | |
Text/Title | enter the UI field name(label) | NA | NA | |
Listview/ID | functionalname_plv | plv - panel list view | wo_list_plv | |
List header/ID | functionalname_plvh | plvh - panel list view header | wo_qty_plvh | |
Text/ID | functionalname_plv_txt | NA | wo_desc_plv_txt | |
Text/Title | enter the UI field name(label) | NA | NA | |
List item/ID | functionalname_plv_itm | NA | wo_dept_plv_itm | |
Tab/ID | functionalname_tab | NA | wo_list_tab | NA |
Tab item/ID | functionalname_tab_itm | NA | wo_list_tab_itm | Follow the same format for all tab items |
Button/ID | functionalname_tab_btn1 | NA | wo_list_tab_btn1 | NA |
Button/Title | enter the UI field name(label) | NA | NA | NA |
Tab content/ID | functionalname_tab_cont | cont- content | wo_list_tab_cont | Follow the same format for all tab content |
Text/ID | functionalname_tab_conttxt | context - content text | wo_list_tab_conttxt | NA |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Stepper/ID | functionalname_step | NA | wo_list_step | NA |
Step content/ID | functionalname_step_cont | NA | wo_list_step_cont | Follow the same format for all step content |
Step content/Label | enter the UI field name(label) | NA | NA | NA |
Step content/Optional Title | enter the UI field name(label) | NA | NA | NA |
Text/ID | functionalname_step_txt | NA | wo_list_step_txt | Ensure to use the Text component naming convention with a ‘step’ prefix. |
Text/Title | enter the UI field name(label) | NA | NA | NA |
Step Button/ID | functionalname_step_btn | NA | back_step_btn | Follow the same format for all step buttons |
Context Menu/ID | functionalname_cm | cm - context menu | wo_list_cm | NA |
Menu item | functionalname_cm_itm | NA | wo_list_cm_itm | NA |
Select/ID | functionalname_select | NA | wo_list_select | NA |
Select/Title | enter the UI field name(label) | NA | NA | NA |
Textarea/ID | functionalname_txta | txta - text area | wo_list_txta | NA |
Textarea/Title | enter the UI field name(label) | NA | NA | NA |
Text Area/Placeholder | enter the UI field name(label) | NA | NA | NA |
Text Input/ID | functionalname_txtin | txtin - text input | wo_list_txtin | NA |
Text Input/Title | enter the UI field name(label) | NA | NA | NA |
Text Input/Placeholder | enter the UI field name(label) | NA | NA | NA |
Radio Button/ID | functionalname_rbtn | NA | wo_list_rbtn | NA |
Radio Button/Title | enter the UI field name(label) | NA | NA | NA |
Toggle Switch/ID | functionalname_tog | tog - toggle switch | wo_list_tog | NA |
Toggle Switch/Title | enter the UI field name(label) | NA | NA | NA |
Slider/ID | functionalname_sl | sl - slider | wo_list_sl | NA |
Slider/Title | enter the UI field name(label) | NA | NA | NA |
Checkbox/ID | functionalname_chbox | chbox - checkbox | wo_list_chbox | NA |
Checkbox/Title | enter the UI field name(label) | NA | NA | NA |
Checkbox/Label | enter the UI field name(label) | NA | NA | NA |
File Upload/ID | functionalname_upl | upl - file upload | wo_list_upl | NA |
File Upload/Title | enter the UI field name(label) | NA | NA | NA |
File Upload/Placeholder | enter the UI field name(label) | NA | NA | NA |
Image/ID | functionalname_img | img - image | wo_list_img | NA |
Autocomplete/ID | functionalname_autocomp | autocomp - autocomplete | wo_list_autocomp | NA |
Autocomplete/Title | enter the UI field name(label) | NA | NA | NA |
Autocomplete/Placeholder | enter the UI field name(label) | NA | NA | NA |
Rich Text Editor/ID | functionalname_rte | rte - rich text editor | wo_list_rte | NA |
Signature/ID | functionalname_sign | sign - signature | wo_list_sign | NA |
Signature/Title | enter the UI field name(label) | NA | NA | NA |
Address Book/ID | functionalname_adbk | adbk - address book | wo_list_adbk | NA |
Address Book/Title | enter the UI field name(label) | NA | NA | NA |
BarCode Scanner/ID | functionalname_bar_sc | bar_sc - barcodescanner | wo_list_bar_sc | NA |
BarCode Scanner/Title | enter the UI field name(label) | NA | NA | NA |
BarCode Scanner/Placeholder | enter the UI field name(label) | NA | NA | NA |
Map/ID | functionalname_map | NA | wo_list_map | NA |
GPS/ID | functionalname_gps | NA | wo_list_gps | NA |
GPS/Title | enter the UI field name(label) | NA | NA | NA |
GPS/Placeholder | enter the UI field name(label) | NA | NA | NA |
Phonecall/ID | functionalname_call | call - phonecall | wo_list_call | NA |
Phonecall/Title | enter the UI field name(label) | NA | NA | NA |
Phonecall/Placeholder | enter the UI field name(label) | NA | NA | NA |
Pie Chart/ID | functionalname_pchart | pchart - pie chart | wo_list_pchart | NA |
Bar Chart/ID | functionalname_bchart | bchart - bar chart | wo_list_bchart | NA |
Line Chart/ID | functionalname_lchart | lchart - line chart | wo_list_lchart | NA |
Column Chart/ID | functionalname_cchart | cchart - column chart | wo_list_cchart | NA |
Guage Chart/ID | pagename_gchart | gchart - gauge chart | wo_list_gchart | NA |
Integration Builder
For input and output variables, follow the guidelines below:
- For table variables, use names that match with the DB tables. Eg: if the DB table is t_wo_item, then the table variable can be named as wo_item. Also the column names must be similar to the DB table columns.
- For string or integer variables, use functional names that match the UI. eg: search_by
- Use small letters. Use appropriate consistent abbreviations
- Maintain the same abbreviations throughout the platform. Eg: if 'quantity' is abbreviated as 'qty', name all quantity related columns in db, and in variables as 'qty’.
For local variables - name them as per BOS requirement.
Library
Object Type | Object Name | Naming Convention | Additional Info | Example |
---|---|---|---|---|
Database Tables | NA | NA | NA | NA |
Shared Drive | Folder Name | NA | NA | NA |
Upload File | NA | NA | NA | |
Scheduler | New Schedule | functionalname_schedule | NA | get_wo_schedule |
Services | New Service | servicename | NA | post_wo |
Assets | Upload | functionalname | NA | wo |
Logins | New Login | FunctionalName | The login app is generally named, based on the customizations as required by the use-case | BluetoothLoginApp |
Variables | New Variable | g_variablename | g - global | g_taxcalc |
Administration
In the Administration module, you are required to give names for objects under User Management and Integrations.
User Management
1) Object Name: New Role
(A role defines the responsibilities and job descriptions of people executing a business function.)
Naming Convention: Rolename
Eg: Floor Supervisor, Warehouse Manager, Field Operator etc.
Additional Information:
- Capitalize the first letter of the terms in a rolename.
- Define the role name based on the tasks executed by the role in the business use-case.
- Avoid creating generic rolenames that do not explain the job function of the role. Eg: user1, enduser.
- A single user can have multiple roles. Hence it will be helpful to coin appropriate rolenames that differentiate the privileges of each role.
2) Object Name: New Property (under User Settings)
(A property is an attribute you define to describe your user base, such as language preference or geographic location.)
Naming Convention: propertyname
Eg: dept, storagelocation, plant, employeetype etc.
Integrations
1) Object Name: Plugin name
(Plugins are software extensions that can be loaded on a system to improve its functionality.)
Naming Convention: PL-systemname
Eg: PL-abap, PL-saperp
Additional Information
Name a plugin based on the system on which it is installed.
2) Object Name: Adapter name
(An adapter is a software program that facilitates communication between two separate systems. All third-party systems require Adapters to function effectively in the EdgeReady Platform.)
Naming Convention: ADP-systemname
Eg: ADP-salesforce, ADP-sftp
More Information
- For more information on the EdgeReady Platform and its modules, refer to the EdgeReady Userguide.
- For all queries related to the EdgeReady platform, contact support@pillir.io