Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: GUI for Roo

  1. #1
    Join Date
    Nov 2010
    Posts
    10

    Default GUI for Roo

    Hi to authors of Spring Roo,

    I'm starting to work on my master's thesis, and since i want to make something useful and interesting i thought about doing a GUI for Roo. My first idea was to make a web app with some kind of a designer for entities and references, which will as an output produce a Spring Roo script. But now i think that it would be better to make something that is more closely integrated with Roo. Maybe a desktop app, or a plugin for some IDE.

    Do you have any plans for making a GUI for Roo ? Can i help ? Any ideas or suggestions would be helpful, or just a hint where to start.

    If this is not a right place for this, please contact me by email zeljko[dot]zirikovic[at]gmail.


    BR,
    Zeljko

  2. #2
    Join Date
    Aug 2010
    Location
    Goteborg, Sweden
    Posts
    434

    Default

    Bouml by Bruno Pagès is a free UML 2 tool box that has the RooPlugout, I have not tried this for Roo project development myself.
    There are UML design tools for Eclipse/Springsource Tool Suite. Maybe these provide possibilities for developing a solution for creating Roo commands or scripts?

  3. #3
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    667

    Lightbulb

    ROO-46 mentions Bouml and some other 3rd-party projects that can generate a Roo script from a UML diagram. I'm not sure how much mileage there would be in a more general Roo GUI. I guess it could discover which commands exist (based on what addons are installed) and which of those commands are currently available. Another interesting feature could be a list of available addons (via RooBot) that allows you to install them as desired? As for delivery format, I think an IDE plugin would be best, as you can then offer commands in the relevant context (e.g. right-click an entity's Java source file and choose "create integration tests").

    Also please see ROO-731, which has some further ideas.
    Last edited by Andrew Swan; Sep 6th, 2011 at 07:08 PM. Reason: Mentioned ROO-731
    Andrew Swan
    "Now is the EJB of our discontent made glorious Spring"

  4. #4
    Join Date
    Nov 2010
    Posts
    10

    Default

    As you said, there are already some tools that can generate Roo scripts from UML, but none of those seems as easy to use as Roo. I don't want to write a converter. What i have in mind is a simple GUI for Roo, like an extension, for those who like clicking better than typing. See a quick mockup in attachment. So the GUI part would have options for creating a new project or opening existing, running, packaging, installing addons etc. And the main part is a visual designer for entities and relationships (basically a tool for drawing class diagrams), which enables one to add/remove entities, fields, enums etc. Each action will actually execute a roo command. Roo console will be embedded so it can be used alongside the visual designer.

    To achieve this i would need to write addon for commands like remove entity/field and update entity/field, which shouldn't be hard. But the tricky part is how to synchronize everything. First problem is tracking the execution of commands in console and reflecting the changes in GUI. But a problem that i currently don't see a solution for, is how to be aware of changes when user does something in Roo/GUI for Roo, exits, changes Java files and than comes back ?

    What do you think about the idea ? Any suggestions ?

    guroo_mockup.jpg

  5. #5
    Join Date
    Aug 2010
    Location
    Goteborg, Sweden
    Posts
    434

    Default

    Quote Originally Posted by joshefin View Post
    Each action will actually execute a roo command.
    guroo_mockup.jpg
    I think this is a bad idea. When building a design diagram, the least thing I want is to make it a reality at once. I want to create the code when the design is ready.

    The changes you'd handle as Roo does it, by polling and analyzing the results. I suspect there is already open sourced code in some of the tools involved that is doing this already, so I'd look for that first. But that it exists is just a guess.

  6. #6
    Join Date
    Nov 2010
    Posts
    10

    Default

    I was going with the way Roo works, where each command generates code, but i think you're right.

    As for polling and tracking changes, i was hoping for a more concrete example or suggestion where to look in Roo source code.

    Another question for the Roo team - is there any publicly available documentation, diagrams, conceptual models of Roo internals ?

  7. #7
    Join Date
    Aug 2010
    Location
    Goteborg, Sweden
    Posts
    434

    Default

    Quote Originally Posted by joshefin View Post
    As for polling and tracking changes, i was hoping for a more concrete example or suggestion where to look in Roo source code.
    Unfortunately I'm not familiar with the Roo source. I have compiled it myself a few times, but that's it.
    Quote Originally Posted by joshefin View Post
    Another question for the Roo team - is there any publicly available documentation, diagrams, conceptual models of Roo internals ?
    Until the team answer about this properly and perhaps you omitted this as it's a self evident approach, but have you looked at analytic tools like Graphviz and similar? I've used it for other frameworks where the documentation was lacking and it gave me some overview and some insights at least.

  8. #8
    Join Date
    Aug 2010
    Location
    Goteborg, Sweden
    Posts
    434

    Default

    Quote Originally Posted by joshefin View Post
    As for polling and tracking changes, i was hoping for a more concrete example or suggestion where to look in Roo source code.
    Did you read Enrique Ruiz and Isuru talking about this problemspace in Roo-46. It seems like a starting point at least.

  9. #9
    Join Date
    Nov 2010
    Posts
    10

    Default

    I planned to do the same thing and use a file in some xml based format as a backing file for the entity diagram. This file can be modified by using the GUI, executing Roo commands or modifying java files, and changes will be reflected to the diagram. Just need to wire it all together And for that, some more answers from the Roo team would be useful.

  10. #10
    Join Date
    Nov 2010
    Posts
    10

    Default

    Roo Team, any answer about the diagrams, documentation, etc ?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •