Related links
CMS - Content Management & Web API services
FI - Finance Management
Framework Core functionality
- prices
- managementfaq
- prices_private-installation
- clientdefinedattributes
- phplibraries
- servermethods
- io_export
- AyMINE Framework Server
- The AyMINE licence model
- System Rights
- servermethods_frmfrm
- io_import
- multiclient-architecture
- servermethods_stringsandtranslations
- frmevent
- System messaging
- usersessions
Libraries & Lincences
Module - support for management
Front-End Scripting
HR - Human Resources
Mobile & Web Application
- clientprogramming_fevaldataobject
- userinterface-objectstructure
- cliplink
- npmlibraries
- fclip
- drag-drop
- AyMINE Application
- objectdefinition_inlineedit
- npmlibraries_stringlibrary
- clientprogramming
- mobileapplication
- languagesupport
- objectdefinition_multiupdate
- clientprogramming_fevalglobal
- clientprogramming_fevallanguage
- clientprogramming_fevaluser
- objectdefinition_viewdefinition
- offlineobjects
- System console
- Runtime debugging
- objectdefinition_detailview
Sales & Asset management
Sales related services
Description of a part of the AM module - sales partSystem Management (part of framework)
Task, Project, Quality
Task & Task pattern
Areas with special purpose
Areas defined with special purpose is the principal model of the UI encapsulation
- What means "special-purpose" business area
- Definition of the special purpose
- User interface definition
What means "special-purpose" business area
Business areas itself supports encapsulation of the objects but they do not define any special functionality. The functionality is defined by two completely distinctive ways:
- Descendant (object inheritance) e.g. Projects, Methodologies etc.
- Special-areas (interface definition) e.g. Location management area or HR management
Definition of the special purpose
The modules that defines special-purpose area should define module-settings for assignment the purpose to the client-defined area. The linkage between area and module-defined purpose is defined by the module itself and managed in the module administration.
List of areas with special interface is loaded to the application as a part of the module application initialisation data.
Areas of the special purpose are linked with processes and other objects. The special-purpuse process areas are described in the chapter here.
User interface definition
Modules creates special-area user interface by business area extension. The extension changes the area board and fulfil new menu items, functions and dashboard items.
An example presents how HR module defined HR extension for Human-resource department:
// ****************************** Extension – special-purpose Business Area ******************************
// All personalist data are managed from the area defined in the settings – this extension add finance settings to the selected area
"tskArea":{
// Main page extension for hr module.
"extParameters":{ "uright":"hr@HRPersonnel" },
"about":{"langModules":[ "hr/langs/@/hrCommon"] },
"views":{
// Dashboard: add access to the personal items
"dashboards":{ "default":{
"menu":{
"menuItems":{
"Staffers":{
"enabled":"=obj.tskAreaID == user.mParam('hr').hrArea ",
"icon":"hrManagement", "a":"form.hrStaffer.list.hrPersonnel", "order":"CA"
},
"mHRCompanyStructure":{ "uright":["hr@HRPersonnel" ], "icon":"company",
"enabled":"=obj.tskAreaID == user.mParam('hr').hrArea ",
"menuItems":{
"mHRStContract":{ "icon":"areaproject", "a":"form.hrStContract.list.default" }
} }
} }
} }
} // end of views
}, // end of frmAymine extension
Let's mention linkage between the UI definition and the module settings. The command user.mParam('hr').hrArea provides data from HR module initialisation. The complete condition: "enabled":"=obj.tskAreaID == user.mParam('hr').hrArea ", provides initial control and adds the UI definition on to the area defined in HR module administration.
Special-purpose areas
Example:
- Human resource data are available only in single special-purpose HR area.
- Helpdesk areas for internal or client helpdesk are also special-purpose
Special-purpose areas:
- Have self-defined list of functions
- They have typically self-defined dashboard
- They are not listed in the list of common areas on the main dashboard
/** Add sytem tag to the list of area info icons
*
* @param int $tskAreaID – if of the area to update
* @param string $tag – the tag identification
* @param bool $removeOthers = false – when true, icon is removed from all other areas
* – set to true in case that area could be only one
*
* * systemTags is a list of marks that inform about special area settings, like that the area is set as a personal-management area
* * Adds icon only if not yet exists in the list
* * Max length of the field is 250 chars so that it should be enough
* * Icons are comma separated like any multi-enum field
*
* Note: actually not used. Specific areas are market directly by modules in the clip extension
*
* __Special behaviour of the tags:__
* * selfAcc_ -- tags starting with this prefix marks areas that has self-managed access.
* Actually makes sense for areas with access buttons on the top-menu line or from some other buttons.
* Those areas are not listed in list of areas
* _Warning:_ Done use selfAcc_ without some area-specific mark with module prefix (selfAcc_hrHR – for HR management)
*/
tskArea::addSystemTags(int $tskAreaID, string $tag, bool $removeOthers = false): void;
/** Remove the task from the list – opposite from addSystemTag
* @param int|null $tskAreaID
* – when set, only defined area is updated
* – when no set, field is removed from all client areas
* @param string $tag – the tag identification
*
*/
tskArea::removeSystemTags(int|null $tskAreaID, string $tag): void;