Announcement Announcement Module
Collapse
No announcement yet.
GUI for Roo Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Bouml by Bruno Pags 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?

    Comment


    • #3
      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, 07:08 PM. Reason: Mentioned ROO-731

      Comment


      • #4
        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 ?

        Attachment
        Attached Files

        Comment


        • #5
          Originally posted by joshefin View Post
          Each action will actually execute a roo command.
          Attachment
          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.
          Attached Files

          Comment


          • #6
            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 ?

            Comment


            • #7
              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.
              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.

              Comment


              • #8
                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.

                Comment


                • #9
                  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.

                  Comment


                  • #10
                    Roo Team, any answer about the diagrams, documentation, etc ?

                    Comment


                    • #11
                      Hi joshefin,

                      Everything publicly available is linked from the pinned "Latest project links and version details" thread.

                      Comment

                      Working...
                      X