Last edit:
2009-05-04 Graham Wideman |
ModelRight
|
Introduction to ModelRight scripting and automation
Contents
On this page
- Introduction
- Orientation to ModelRight programmability
Subsequent pages
- Choice of two programmability approaches
- Built-in VBScript scripting environment
- Automation using external programs
- What ModelRight features can be programmed?
- Accessing and navigating ModelRight's objects
- ModelRight's programming UI and "Hello world" example
- Script Explorer
- Creating and saving a script
- Script Editor
- Background on ModelRight's Object Model
- A database model as captured in MRObjects
- Sample VBScript code to navigate the model
- Completing your understanding of the structure of ModelRight's data
- Overview of ModelRight's Explorer and Browsers
- Comparison or Model Explorer and Browsers
- Model Explorer View
- Model Browser View
- Metamodel Browser View
- Tips
- Accessing MRObject Properties
- Read a Property
- Write a Property
- Special case: SetDataType
- Local vs Inherited Properties
- Transactions
- VB Scripts and the User Interface
- Operating only on the user's current selection
- Prompting or getting input from the user
- Script Samples Introduction
- Sample Model
- Visual Basic Script documentation
- Navigating and "dumping" a Database Model
- Modifying a database model
- Manipulating ModelRight "Graphics": visibility and style properties
- COM Automation Introduction
- Automation using Excel as the Automation client
- Navigating and "dumping" a Database Model using COM Automation
- Preparation
- Sample Code
- Notes
- List of all ModelRight objects (classes) and their properties with notes.
Introduction
The ModelRight program provides a comprehensive environment for viewing, creating and editing database models
as Entity-Relationship diagrams, and for forward and reverse engineering databases hosted by DBMSs
from different vendors. ModelRight
provides considerable power over the models themselves and also an unusual level of control over
the graphical appearance of the models, including the capability to add annotations and control text
and graphic style features.
To this foundation ModelRight adds scripting features through which to
access and manipulate both the database model and the diagram graphic appearance in powerful ways.
For example:
- ModelRight's built-in forward engineering capabilities call provided scripts to produce
vendor-specific SQL DDL statements. You can modify these SQL-generating scripts to suit your own
workflow purposes,
different dialects of SQL and so on.
- You can develop macros to modify database models to suit your processes. You might use macros
to automatically add standard fields to each table, or to consistently change field types to a new
standard.
- You can create macros to modify the visual appearance of a model view: For example to
highlight some particular fields, or to hide standard housekeeping fields (like LastEditDate).
- You might develop scripts to interrogate ModelRight models as part of a process to automatically generate application code from
database structure.
- After reverse engineering a model from a database that lacks relationships, your might used
code to add knowledge from
the application code (or from inspection of indexes) to add relationships and thereby greatly
improve the understandability of the model and the application. This scenario occurs often with
web applications and MySQL, for example.
Orientation to ModelRight programmability
What there is to know
To master ModelRight programmability, there are two main themes to tackle:
- What kinds of code do you write to interact with ModelRight's world?
ModelRight offers a choice from two programmability approaches:
- Built-in VBScript environment which runs within the ModelRight environment
- You might want to modify or inspect the supplied scripts the ModelRight uses for forward
engineering.
- Add your own scripts to be called while running ModelRight.
- COM Automation interface to ModelRight model files, called outside the ModelRight
application, and suitable for almost any external programming
language
- What ModelRight features can your code interact with?
- ModelRight exposes all aspects of its model data:
- database model features such as tables, columns and all
their properties, and also...
- the visual aspects ("graphics") of ModelRight diagrams.
- ModelRight does not expose an automation interface for operating the ModelRight
application itself (unlike Microsoft Office applications such as Word or Excel).
Much of what you need to know involves understanding the conceptual layout of the tree of
ModelRight objects, and then knowing the programming aspects of accessing these objects. These topics are described on subsequent pages. Next >
Document Status |
Date (reverse) |
Who |
Description |
|
|
|
2009-04-01 to 05-04 |
GW |
Revisions |
2008-07-10 |
GW |
Original |