340 likes | 758 Views
IDA 7.6 – New Features: Pluglets (“Macros for Eclipse”). Contents. New Pluglets Feature in IDA 7.6 Pluglets, some background Install option “Run Pluglets” menu Installed Sample pluglets Develop Custom pluglets Trouble Shooting & Known Limitations Extra Slides Sample pluglet enablement
E N D
Contents • New Pluglets Feature in IDA 7.6 • Pluglets, some background • Install option • “Run Pluglets” menu • Installed Sample pluglets • Develop Custom pluglets • Trouble Shooting & Known Limitations • Extra Slides • Sample pluglet enablement • Useful resources
Pluglets – Background Need for scripting/macros: • Automate common tasks and task flows • Execute tasks in bulk (batch mode) • Customize existing product functions • Overcome product short-comings or missing links in particular workflows • Adding very specialized functionality
Pluglets – Background (2) “Macros for Eclipse” • A pluglet is a simple Java source file with plugletmain(…) method • pluglet.xml lists Eclipse/IDA plug-ins are required by the pluglets this controls the pluglet classpath, both at compile and at runtime • Compile and run in the same workspace (Java perspective) • Pluglet output in console view
Pluglets – Background (3) pluglet.xml: • specifies which Eclipse plug-ins are visible to the pluglets in the pluglets project • controls the pluglet classpath, both at compile and at runtime
Run Pluglet menu • Run pluglets from selection in Data Project Explorer (DPE) or on a Data Diagram (IE notation only) • Task groups contain installed sample pluglets • Register Pluglets to run custom Pluglets on the objects selected in DPE or on Diagram Note! • Pluglets are enabled based on the selected objects in DPE or on Diagram
Pluglet Task Groups • Connectivity Tasks • Deployment Tasks • Diagram Tasks (IE notation diagrams only, not UML diagrams) • Model Navigation Tasks • Model Tasks • Reporting Tasks • Transformation Tasks • Custom Tasks
Installed Sample Pluglets • Diagram Tasks • Apply Domain Entity Color (enabled on: logical diagram) • Color Logical Only Attributes (enabled on: logical diagram) • Model Navigation Tasks • Select Objects By Name (enabled on: DPE or diagram (IE notation)) • Model Tasks • Change Owning Schema For All Indexes/ ~ Tables / ~ Views (enabled: PDM or database - LUW/Z) • Change Table Space For All Tables (enabled on: PDM or database - LUW/Z) • Name Indexes (enabled on: PDM, database, schema) • Remove All Auxiliary Tables (enabled on: physical data model, database, schema – DB2 for Z) • Set Attributes of Selected Entities to Required (enabled on: entities) • Set Selected Tables Columns Not Null (enabled on: base tables – not Views, MQTs) • Set Default Values (enabled on: tables, columns) • Update Foreign Key Documentation from Primary Key (on entities, base tables – not Views, MQTs) • Reporting Tasks • Calculate Table and Column Length (enabled on: PDM, database - LUW/Z)
Developing Custom Pluglets Java perspective: • File > New > Pluglet New Pluglet wizard • Select from existing pluglet templates:Modeling Tasks > Data Pluglet... basic code stubs with //TODO: tags will be created automatically
Registering Custom Pluglets Data Perspective: • Run Pluglet > Register Pluglets… new pluglet is added to Task Group
Browse sample pluglets (Java pers.) • Click Edit Pluglet to show Sample Pluglet source code
IDA 7.6 Pluglet plugins and source • com.ibm.datatools.pluglets.samples – Sample pluglets (+source code) • com.ibm.datatools.pluglets.tasks – Common tasks and dialogs (APIs) • com.ibm.datatools.pluglets.ui – UI integration (‘Run Pluglet’ menu)
Debugging Pluglets See RSA v8 Documentation (link on last slide): • Add the debug arguments to the “eclipse.ini” file after the “-vmargs” workbench argument-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 • Modify your desktop shortcut, add the “-vmargs” workbench argument as above • Start your Product (IDA) • Run Pluglet Debugger from the Internal Tools menu • The workbench that will come up actually drives the debug session start debugging by selecting the pluglet from the Internal Tools shortcuts
Trouble Shooting & Known Limitations • No Sample Pluglets show • check install option, is selected object enabled for pluglets? • Custom pluglets can't compile • pluglets.xmlmust contain the referenced plugins • Registering pluglets doesn't work • no plugletmain() method • not implemented getName() method? …each pluglet needs unique name • no task group set? …implement getTaskGroups() method • Check Error Log for error messages (Window > Show View > Error Log) Known defects & limitations: • Pluglets not available on UML diagrams (only on IE notation diagrams) • Compilation Error in CalculateTableColumnLenghtPluglet when importing sample pluglet plugin • Set Default Values pluglet: • only enabled for physical models • throws NPE when columns in table have User Defined Type • Select Objects By Name pluglet: • only selects immediate children of selected object in DPE • selected object in DPE need to be expanded in order to select any children • on diagram, when selected columns in multiple tables, right-click on selected column will lose selection
Known issues (cont’d) • Problem: Compilation error in imported Sample Pluglets source plugin • Work-around: import the missing plugin into the Java workspace
Helpful Resources • RSA v8 Pluglets Documentation:http://publib.boulder.ibm.com/infocenter/rsahelp/v8/index.jsp?topic=/com.ibm.xtools.pluglets.ui.doc/topics/c_whypluglets.html • Developer Works article:http://www.ibm.com/developerworks/rational/library/06/1114_kelsey/index.html • Video tutorial:“Create Pluglets”:http://publib.boulder.ibm.com/infocenter/rsahelp/v8/index.jsp?topic=/com.ibm.xtools.pluglet.creating.tutorial.doc/topics/exercise2_pluglets.html • Developer works – Code examples:http://www.ibm.com/developerworks/wikis/display/RSA/Pluglets+Developer+Guide