Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pde-dev] Autogenerating plugin documentation

Hi everyone,

My name is Anthony Cunningham and I am currently employed writing plug-ins for eclipse, not open source plugs-ins unfortunately J.

Recently we got a request for comprehensive documentation for some plug-ins/products and I realized how much meta-information is contained in the plugin.xml, ids, extensions, javadoc and class names.  I assumed it would be possible to auto generate the bulk of the documentation, both user and reference, from this metadata.  This ability could be improved by using class names and dialog titles and messages.  

Working on the presumption that I rarely think of anything that someone else hasn’t thought of at some stage I am asking this list if this facility exists, or if someone is already doing it for personal projects.

 

If it doesn’t exist here are some ideas I’ve had, if people know the best ways I could approach this, which methods/classes best contain the metadata, or if people decide this is good functionality to add to the Plug-In Development Environment please respond with your thoughts

 

I guess the Holy Grail would be:

In the requirements phase use cases and user stories could auto generate basic Command and Wizard classes that could be fleshed out.  I’m not fully sure what commands are but I’m assuming in this case they are a sort of abstract use case, and actions are the implementation of them.  By capturing all the use cases thus, a reference manual could list all the command names and metadata.

 

New project and file use cases could create basic wizards.

In the PDE new plug-in project wizard the following messages could be written into a user document:

NewProjectWizard_MainPage_desc = Create a new plug-in project

By adding better prompts and messages to wizards this would flesh out the user documentation.

 

By using automation to launch wizards and code to capture screenshots of the wizards and editors a lot of the screenshots common in manuals could be automatically generated.

 

The documentation could be created in Docbook and output to multiple formats which include eclipse help.

 

Auto generating EclipseMonkey/ GroovyMonkey scripts could give users a live demo of the functionality of the plug-in.

Its possible cheat sheets and help files with the _javascript_:launchcommand  links could also be generated.

 

 

Document as a quality indicator:

By creating the documentation this way, a cursory glance would show weird class naming and inconsistent javadoc comments, by fixing these in the code and the metadata both the code and the document quality would improve.

Technical/Architectural documentation would show up poor packaging practices.

 

Incremental document builder:

The PDE could auto build documentation for plug-in being developed similar to how it auto compiles classes.

 

 

Example screenshot code:

   1  Control c=((PartSite)window.getActivePage().getActivePart().getSite()).getPane().getControl();
   2             GC gc = new GC(c);
   3             final Image image = new Image(Display.getCurrent(), c.getBounds());
   4             gc.copyArea(image, c.getBounds().x, c.getBounds().y);
   5             gc.dispose();

 

 

These ideas are based on the DRY principle..Don’t repeat yourself.

http://en.wikipedia.org/wiki/Don't_repeat_yourself

 

The requirements say the user should be able to create a new DOMAIN_NAME project, the menu and wizard has “Create a new DOMAIN_NAME project”, the user manual has a section Create a new DOMAIN_NAME project…

Why should this information have to be entered multiple times by the developer?

 

I look forward to people’s thoughts and ideas,

 

Anthony

 

 

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. Duolog Technologies Limited, Company No. 316532. Registered Office: 1 The Pines, Woodley Park, Kilmacud, Dublin 14, Ireland. www.duolog.com

 


Back to the top