Developing Basic Functionality Copyright®2000 Meta4 Spain S.A. Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. •1 Module Goals At the end of this module students will be able to State the definition of a Meta4Object List the technologies involved in a Meta4Object Identify the components of the Meta4Object Structure and which ones can be reused in other Meta4Objects Interpret how data are organized in the Meta4Object Create a default presentation Create a menu option Copyright©1999 Meta4 Spain S.A. Copyright®2000 Meta4 Spain S.A. Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. •2 Conceptual Architecture PRESENTATION LAYER REPORTS SCREENS Job Scheduler LOGICAL LAYER MENUS ... QUERIES Workflow Events Meta4Objects DATA LAYER Logical Database (LDB) (PDB) (PDB) DATA LAYER REPORTS SCREENS MENUS Job Scheduler LOGICAL LAYER PRESENTATION LAYER Copyright®2000 Meta4 Spain S.A. S E C U R I T Y LAYER S E C U R I T Y LAYER Meta4Object = The CORE of Meta4Mind FUNCTIONALITY ... QUERIES Workflow Events l Meta4Objects Logical Database (LDB) (PDB) (PDB)Copyright®2000 Meta4 Spain S.A. •3 Copyright®2000 Meta4 Spain S.A. How can I CALCULATE the experience of each HR role in each Work Unit? How can I DISPLAY the HR history? Meta4Object How can I DISPLAY the HR Role History in different Work Units in different periods? How can I DEFINE A PROCESS to automatically start calculating experience? How can I MANIPULATE AND RETRIEVE HR and Work Unit data according to different periods? Copyright®2000 Meta4 Spain S.A. •4 HR Role History in Work Units We need to keep track of the Work Units the HR has been in during a given period of time while in a specific Role. We want to know the Experience (years) of each HR Role in each Work Unit. Copyright®2000 Meta4 Spain S.A. HR Role History in Work Units Copyright®2000 Meta4 Spain S.A. •5 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. Meta4Object • Relational Database • Component Oriented • Spreadsheet Integration with XML-based tools Copyright®2000 Meta4 Spain S.A. •6 Logical Access Statement Meta4Object ... ... LDB PDB Translates Logical access to a Physical access Copyright®2000 Meta4 Spain S.A. Modularity Loose Coupling Encapsulates Data + Processes Meta4Object Incremental Delivery Reuse Advantages: Compatible with other Object Technology Standards Flexible to support a continuously changing environment Easy to implement and maintain Copyright®2000 Meta4 Spain S.A. •7 Stores Data and Processes Information optimally organized in memory Rules and calculations easily externalized Flexible navigation among rows Copyright®2000 Meta4 Spain S.A. Node Structure Fields Meta4Object Concepts Methods Properties ROOT Node Connectors PARENT Node FREE Node CHILD Node Copyright®2000 Meta4 Spain S.A. •8 Multinode Meta4Object ROOT Node Single-node Meta4Object … PARENT Node ROOT Node … Copyright®2000 Meta4 Spain S.A. Developer view End-user view Good design means good performance The way a Meta4Object is designed depends on what you want to do with data and how Copyright®2000 Meta4 Spain S.A. •9 Node Structure Fields Node Structure = The skeleton of a Node Concepts Methods METHOD Properties REUSABLE UNIT Field Property Concept Node Structure Items Copyright®2000 Meta4 Spain S.A. SCO_HR_ROLE CXX_WORK_UNIT CXX_H_HRR_WUNIT t dc V9 ID_HR N4 OR_HR_ROLE DT1 DT_START DT2 DT_END V8 ID_WORK_UNIT V1 ID_CHANGE REASON V254 COMMENT np S P V9 ID_HR N4 OR_HR_ROLE N2 OR_HR_PERIOD DT DT_LAST_WORK DT1 DT_START DT2 DT_END V4 ID_INT_ROLE_TYPE CK MAIN_ROLE V3 ID_DURATION P V8 ID_WORK_UNIT V62 N_WORK_UNIT DT0 DT_START DT1 DT_END V3 ID_WORK_UNIT_TYPE 1p 1p Copyright®2000 Meta4 Spain S.A. •10 Node Structure Fields Concepts Methods Properties Logical Object Columns Copyright®2000 Meta4 Spain S.A. Node Structure Fields Concepts Methods Properties LN4 Editor C++ functions (calls directly) DLLs Copyright®2000 Meta4 Spain S.A. •11 Node Structure Fields Concepts Methods Properties LN4 Editor C++ functions (calls directly) Items defined directly by: DLLs •Data type •Precision •Scale Global Parameters Variables Copyright®2000 Meta4 Spain S.A. Node Structure Fields Concepts Methods Properties Items defined directly by: •Data type •Precision •Scale Global Parameters Variables Copyright®2000 Meta4 Spain S.A. •12 FIELD1 FIELD2 PROPERTY1 CONCEPT1 … Defined once only Applied to several rows Methods do not return a value They do not have a place in the spreadsheet At runtime … Copyright®2000 Meta4 Spain S.A. FIELD1 PROPERTY1 FIELD1 CONCEPT1 PROPERTY1 FIELD1 CONCEPT1 PROPERTY1 CONCEPT1 Blocks Cell Copyright®2000 Meta4 Spain S.A. •13 FIELD1 Node PROPERTY1 FIELD1 PROPERTY1 FIELD1 Block CONCEPT1 CONCEPT1 PROPERTY1 CONCEPT1 Record ITEM Copyright®2000 Meta4 Spain S.A. NODE Block Scope Record Scope 09/28/1999 225 1 2 Node Scope 3 4 226 PARK OXFORD TRAFALGAR GRAFTON 1 2 3 4 ST. STEPHENS BAKER LEICESTER SLOAN AVENUE STREET SQUARE SQUARE AVENUE STREET STREET SQUARE Block 1 Block 2 Copyright®2000 Meta4 Spain S.A. •14 Connectores: Definition USED TO: • Establish logical relationships between records of different nodes • Manage memory • Propagate executions (Methods & Concepts) • Synchronize property value Copyright®2000 Meta4 Spain S.A. Record–Block (RB) For each record of the parent node one block of memory (n records in the child) For each Block of the parent node Block-Block (BB) one block of memory in the child node No description of the data organization in memory. It is used Free to connect the processes to run. Copyright®2000 Meta4 Spain S.A. •15 ROOT NODE: Work Location For each parent record, we load a block of memory This is like a filter 01 USA 02 CANADA 03 MEXICO CHILD NODE: W. Unit in W. Location 01 001 MARKETING 002 SALES R-B 02 101 TRAINING 102 FINANCES 03 201 MARKETING 202 HHRR Copyright®2000 Meta4 Spain S.A. The records are put in several blocks PARENT NODE: Work Unit Location 01 001 MARKETING 01 002 SALES 01 003 ADMINISTR. CHILD NODE: HR Role in Work Unit 01 01 002 EM10 Anne Bell 002 EM12 Richard Hanks CHILD NODE: HR Role in Work Unit R-B 01 001 EM01 James Smith 01 001 EM02 Marie White 01 001 EM08 Sam Hardy 01 001 EM90 Rose Beau Copyright®2000 Meta4 Spain S.A. •16 All the information is stored in one block of memory PARENT NODE: Work Unit Location All the records are put in one block 01 001 MARKETING 01 002 SALES 01 003 ADMINISTR. CHILD NODE: HR Role in Work Location 01 01 01 01 B-B 001 001 002 002 EM01 EM02 EM10 EM12 James Smith Marie White Anne Bell Richard Hanks 01 001 EM08 Sam Hardy 01 001 EM90 Rose Beau Copyright®2000 Meta4 Spain S.A. Block Propagate Copyright®2000 Meta4 Spain S.A. •17 At Runtime HOW MANY TIMES? WHAT? A INSTANCE 1 B Node Structure C Fields Concepts Methods Properties A INSTANCE 2 D E WHEN? HOW? AUTOLOAD & PARTIAL LOAD WHERE? Connectors C/S BEHAVIOUR Copyright®2000 Meta4 Spain S.A. HOW? Connectors WHEN? AUTOLOAD & PARTIAL LOAD WHERE? C/S BEHAVIOUR Copyright®2000 Meta4 Spain S.A. •18 Copyright®2000 Meta4 Spain S.A. Meta4Object Wizard Meta4Object Designer Copyright®2000 Meta4 Spain S.A. •19 By Default: Data Model Designer Works for us: Generating default Meta4Objects Single Node – Maintenance – List/Validate Multinode – Direct Data Model Translation Copyright®2000 Meta4 Spain S.A. Meta4Object Designer More powerful than Data Model Designer Wizard You control the design: Creating new Meta4Objects Modifying and completing default single/multi nodes Meta4Object definitions Offers you all the Meta4Object technology Copyright®2000 Meta4 Spain S.A. •20 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. TABLE GRAPHS FORM Copyright®2000 Meta4 Spain S.A. •21 Presentations: Frontend Designer Work for us : Powerful default Presentations Engine Generate presentations automatically No need to tune parameters Complete Design Assistant (Personalized Presentations) Tools: Preview Test Copyright®2000 Meta4 Spain S.A. First Step in presenting a Meta4Object: Create the presentations for the single-node Meta4Object: Maintenance List/Validate (Note: Very important in auxiliary tables) Copyright®2000 Meta4 Spain S.A. •22 Presentations: Accessing the Tool Wizard Palette Copyright®2000 Meta4 Spain S.A. Presentations: Frontend Designer Copyright®2000 Meta4 Spain S.A. •23 Menus: Two Steps 1) Define the Task 2) Create the Menu Option Copyright®2000 Meta4 Spain S.A. TASKS = Externalizing Functionality Example: TASK RUNS Meta4Object Presentation Copyright®2000 Meta4 Spain S.A. •24 SBP_T3 Task Definition Task Code Task Parameter Definition Task QB Filter Task Security Copyright®2000 Meta4 Spain S.A. SBP_T3 Task Definition Task ID Task Name Task Description Task Security Task Definition Meta4 Object ID. Inherited Meta4 Object Security Owner Flag Copyright®2000 Meta4 Spain S.A. •25 A task can have one or more different code types associated SBP_T3 SBP Code Task Definition Task Code Task ID Code Type: 1 = Windows Client 2 = Job Scheduler 3 = Java Client 4 = Thin Client Executable Code: Long field for storing the executable code Copyright®2000 Meta4 Spain S.A. Menus: Task Code “Code executed from a Windows Client” SBP_T3 Task Definition Examples: •FROM MENU OPTIONS: 1 •Running a Presentation •Running a Designer •Running the Query Tool •Launching a Report ... •FROM PRESENTATIONS •IN A WORKFLOW STEP Copyright®2000 Meta4 Spain S.A. •26 Menus: Task Code SBP_T3 “Code executed from Job Scheduler” Task Definition 2 Examples: •Job Scheduler Tasks This tasks are defined in a special tool called Task Manager Copyright®2000 Meta4 Spain S.A. Menus: Task Code “Code executed from the Web Server” SBP_T3 Task Definition 3 Examples: •Internet/Intranet Presentations Copyright®2000 Meta4 Spain S.A. •27 Menus: Task Code SBP_T3 “Thin Client Tasks” Task Definition 4 •No code for this task. •Task for defining Security Copyright®2000 Meta4 Spain S.A. Windows Client • From Menu Options • From Presentations • In a Workflow Step SBP_T3 Task Definition Job Scheduler • Job Scheduler Tasks Task Code Java Client • Presentations Thin Client • HTML pages Copyright®2000 Meta4 Spain S.A. •28 Dll_Name.Class_name Parameter_Type Parameter_Name, Value … more parameters lines Parameter Types Parameter Values SetConstStr SetConstInt SetConstDate SetConstBool “any_string” any_number {YYYY-MM-DD HH:MM:SS} True | False Copyright®2000 Meta4 Spain S.A. StForm.PTCMFTASK SetConstStr #SYS_IDINSTANCE#, “SCH_MT_CURRENCY” Copyright®2000 Meta4 Spain S.A. •29 M4Throw.CMFThrowProcess SetConstStr ID_REPORT, “SCO_IN_INF_APP” SetConstInt ID_EXECUTION_TYPE, 1 Copyright®2000 Meta4 Spain S.A. SysTask.TaskExternalEXE SetConstStr EXE_NAME, “C:\Program Files\Windows NT\Dialer.exe” Copyright®2000 Meta4 Spain S.A. •30 Task Parameter Definition Parameter ID Parameter Name SBP_T3 Parameter Description Type ID : 1 (String) 2 (Number) ... Task Definition Parameter Ordinal Scope Type: 1 (Mandatory) 0 (Optional) Task Parameter Definition Flow Type: 1 (Input) 2 (Output) Input Task: Task where the parameter receives a value (fields only valid for LN4 Code Type Tasks) Copyright®2000 Meta4 Spain S.A. SBP_T3 RBP_APPROLE Task ID App. Role Task ID: Identifier for the Role permitted to run the Task Task Role Relationship Copyright®2000 Meta4 Spain S.A. •31 Menus: Defining Tasks / Repository Tables Tables where the Tasks are defined are the following: •M4RBP_DEF • M4RBP_CODE and M4RBP_CODE1 • M4RBP_PARAM_DEF • M4RBP_APPROLE Copyright®2000 Meta4 Spain S.A. Menus: Defining Menu Options ... Copyright®2000 Meta4 Spain S.A. •32 Menus: Defining Menu Options ... Copyright®2000 Meta4 Spain S.A. Menus: Defining Menu Options ... DRAG & DROP Copyright®2000 Meta4 Spain S.A. •33 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. Multicompany Meta4Objects Table type Non-company Single company Multicompany Meta4Object type Single company Data on one company Multicompany All data Non-company Data on all the companies Name All the information is shown Single company and non-company table Copyright®2000 Meta4 Spain S.A. •34 Multicompany Meta4Objects Name Multicompany table Single company Information of selected company is shown Meta4Object Information of all companies Multicompany and is shown no-company Meta4Object Copyright®2000 Meta4 Spain S.A. Multicompany presentations Name Company ID field shown only in Multicompany multicompany presentations table Name Same behavior regardless of the type of presentation Other tables Copyright®2000 Meta4 Spain S.A. •35 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. Data Model Changes • • • Deleting or Adding Logical Columns Modifying Extended Type Modifying Temporality Meta4Object Changes • • Identification Changes Node Structure Changes Presentation Changes • Recreate the Presentation Copyright®2000 Meta4 Spain S.A. •36 Data Model Changes Deleting Logical Columns • • • • • Delete the column item Meta4Object Changes Presentation Changes Delete the column Activate Design Generate Script Apply Script View Dependencies Report in the Node Structures that use the deleted column Recreate the default Presentation Copyright®2000 Meta4 Spain S.A. Data Model Changes Meta4Object Changes Presentation Changes Adding Logical Columns • • • • • Add the column Activate Design Generate Script Apply Script View Dependencies Report Nulls not allowed • Add the column item to all NS Nulls allowed • Add the column to all NS requiring it Recreate the default Presentation Copyright®2000 Meta4 Spain S.A. •37 Physical Data type No. of digits: no. of integers no. of decimals Scale Identifier Extended Type Changes Logical Default function and parameters Constraint function and parameters Translation function and parameters No Meta4Object Changes Delete and add a new logical column Data Model Changes Copyright®2000 Meta4 Spain S.A. Node Structure Modify Node Structure Definition Meta4Object Changes Node Modify Connector Definition Change Node Structure Presentation Changes Copyright®2000 Meta4 Spain S.A. •38 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. Reusability Meta4Object Inheritance Meta4Object Meta4Object Inherit Meta4Object + Meta4Object Change Meta4Object as required = Final Meta4Object Copyright®2000 Meta4 Spain S.A. •39 Reusability At this level we can summarize ... The most reusable element of a Meta4Object Node Structure Fields Concepts Methods Properties Inheritance of complete Node Structure Items can be called from different items of another NS of the same or another M4Object Copyright®2000 Meta4 Spain S.A. Copyright©1999 Meta4 Spain S.A. Node Structures: Reuse vs. Inheritance Inheritance Meta4Object_1 Reuse Meta4Object_1 NS_1 NS_1 Node Node Changes to original NS only here Meta4Object_2 NS_1 Node Locked ! Items can only be added to this Meta4Object You can ADD items here but NOT modify original NS Changes to original NS here Meta4Object_2 OR HERE NS_1 Node Items added Modificactions affect all instances Meta4 of the NS!! Copyright®2000 Spain S.A. •40 Node Structure Reusability: Node Items Items are defined in a Node Structure. When you add a new item it will be seen in all the Meta4Objects that have reused this NS. And … What if I want to define an item only for being used in MY Meta4Object? Node Items: Defined in the NS but associated with a Node •Properties •Concepts •Methods Copyright®2000 Meta4 Spain S.A. Node Structure Reusability: NS Dependencies NODE STRUCTURE = UNIT OF REUSABILITY M4O1 NS Fields ... Concepts Methods M4O3 Properties M4O2 Copyright®2000 Meta4 Spain S.A. •41 Node Structure Reusability: NS Dependencies Reusability = A design criteria Helping you to take a decision Report NS DEPENDENCIES “List of Node Structures Uses” Meta4Object ID Meta4Object Name Node ID STD_MT _PERSON Person STD_MT_PERSON SCO_PERSON_DEF Person Directory SCO_PERSON SCO_MNG_INTERV Manage Interview STD_MT_PERSON SCO_DP_NEW_APP New Applicant STD_MT_PERSON … … … Node Name Person Person Person Person … Copyright®2000 Meta4 Spain S.A. Node Structure Reusability: Copy Items Node Structure ... Properties Prop1 Prop1_1 Node Structure ... Properties PropA Prop1_1 Copyright®2000 Meta4 Spain S.A. •42 Reusability Topics … One design, multiple uses Meta4Object specialization Single-node Meta4Object Tasks Copyright®2000 Meta4 Spain S.A. Copyright©1999 Meta4 Spain S.A. Reusability Topics Save As... ! Copyright©1999 Meta4 Spain S.A. Copyright®2000 Meta4 Spain S.A. •43 Introduction Overview Lesson 1: Creating Basic Meta4Objects Lesson 2: Creating the Default Menu-driven User Interface Lesson 3: Working with the Multicompany Feature Lesson 4: Implementing Change Management Lesson 5: Applying Reusability Summarizing What You Have Learned Copyright®2000 Meta4 Spain S.A. Guidelines for building a Meta4Object Create the default Single Node Meta4Objects for each auxiliary table Create the default presentation for each Single-Node M4Object Create the Multi-Node M4Object Create the default presentation for the Multi-Node M4Object Create a Menu Option Copyright®2000 Meta4 Spain S.A. •44 Menu Tree Web Page Menu Option B.P. (tasks) M4 Object 1 Presentation Copyright®2000 Meta4 Spain S.A. Events - B.P. Level 2 (tasks) Documented Level 2 Call (maintained and reusable) Level 2 CALLS M4 Object 1 Level 2 Payroll M4O Level 1 Copyright®2000 Meta4 Spain S.A. •45 Menus: Two Steps 1) Define the Task 2) Create the Menu Option Copyright®2000 Meta4 Spain S.A. Menus: Defining tasks Copyright®2000 Meta4 Spain S.A. •46 Guidelines to building a Meta4Object • Create the default Single Node M4Objects for each auxiliary table • Create the default presentation for each Single-Node M4Object • Create the Multi-Node M4Object • Create the default presentation for the MultiNode M4Object • Create a Menu Option Copyright®2000 Meta4 Spain S.A. •47