| ModelRight Scripting Guide - Introduction ContentsOn 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   
                                                
                                                Reading/Setting Properties of various datatypes   
                                                
                                                Reading and writing a Property which holds a Point datatype value   
                                                
                                                Special case: SetDataType Transactions   
                                          
                                          VB Scripts and the User Interface
                                            
                                            
                                                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   
                                          
                                          Preparation to use ModelRight automation   
                                          
                                          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.  IntroductionThe 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 programmabilityWhat there is to knowTo 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 that ModelRight   uses for forward engineering.   
                                                      
                                                      Add your own scripts to be called while running ModelRight. COM Automation interface to ModelRight model files. You create an   external application (in almost any language), which, using the ModelRight   automation DLL, can read and write ModelRight model files.
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. Original article by Graham   Wideman |