
Pre-requisites
Programming/Coding background REQUIRED. This course will not teach anyone how to be a programmer.
Prerequisite courses on UML, SysML, or UPDM/UAF used our tool prior to this class.
Comfortable with CATIA Magic, Cameo/MagicDraw and basic features.
Course Overview
This course will teach fundamental concepts of report generation (Report Wizard).
Covers Velocity Template Language (VTL), select extensions, and general concepts required to understand report generation.
Includes a hands-on practical exercise after each module, followed by a course final Lab.
This course is intended for students with strong programming background that are already knowledgeable about the tool and the domain that is modeled (UML, SysML, or UPDM / UAF, etc.).
Course Curriculum
Day 1
Module 01 - Introduction to Report Generation (the Report Wizard)
What is a report
Velocity Templates and Report Wizard
Presentation of the UI and overview of the kinds of example reports that come with the tool.
Demo using the report wizard windows to export an existing demo report.
Module 02 – Introduction to Velocity Template Language (VTL)
Understand the Velocity Template Language
Basic concepts of Templating
Basic Constructs
Comments
References
Directives
Generating Warnings and exceptions
Accessing the Model
Best Practices
Lab
Module 03 – MagicDraw’s Implementation of VTL
Extensions to VTL
Helper Tools
Dissecting MagicDraw Specification
Logging to the console
Lab
Module 04 – Reporting and Metamodels
Metamodel basics
Examples of MOF and UML Specifications
Beyond the Metamodel
Stereotypes
Day 2
Module 05 - Macros Development
Why use macros
How to Use Macros
Recursion
Labs
Module 06 – Working with Tables
Tabular Export Background
Accessing all Elements contained on a diagram
Dynamic Row Creation
Dynamic Column Creation
Issues with tables
Labs
Module 07 – Excel and Power Point
How to export data into Excel
How to export data into PowerPoint
#forpage directive
2 labs
Module 08 – Built-in Templates
Model Difference Report
Oracle DDL, Code Engineerin
Other Templates
Module 09 – Report Diagram
Overview of Report diagrams
Day 3
Module 10 - Report Patterns
About Patterns
Pattern: Filter-based Section
Pattern: Tables to Select Report Content
Pattern: ReoportWizard Selected Elements
Pattern: Smart Package for Report Content Data
Pattern: Report Model
Pattern: Use Tables to Drive Reports
Pattern: Preprocess complex data
Pattern: Reading Writing JSON
Anti-pattern: Monolithic Template
Anti-pattern: Too Many Macros
Anti-pattern: Hard-coded references
Module 11 – Template Development Process
Documentation Useful for Template Development
Template Development Process
Reviewing the Target Template
What is in the Model?
What is the Model’s Metadata?
Using VTL and model API to write the data
Cameo Collaborator Custom Templates
Template Development Best Practices
Module 12 - Intro to Collaborator
Overview of Collaborator (note this is only an intro and not a tutorial