Announcement Announcement Module
Collapse
No announcement yet.
Spring Roo Community Add-Ons Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring Roo Community Add-Ons

    Someone in a separate thread asked if we can create a 'sticky' thread where add-on developers can announce their work.

    I think this is a good idea so here is the thread. If possible please provide a short description providing details about your add-on. It would also be useful to point interested forum members to a 'how to install' page and let them know if the add-on is available in the Spring Roo shell (through RooBot).

    If you have a newer version available with significant new functionality you can also post a message here.

    This primary goal of this thread is to announce add-ons. Please refrain from detailed discussions about the functionality of a given add-on (this is better placed in a separate thread or the add-on's own forum / bug tracker).

  • #2
    Typical Security addon updated

    Just a quick note to announce that the typicalsecurity addon has been updated to reflect some of the concerns that have been identified by the community.

    Changes:
    1) Password encryption
    2) Fixed SimpleMailMessage Autowire bug in SignUpController.java and ForgotPasswordController.java
    3) Fixed activationDate
    4) Fixed the finders
    5) Renamed UserModel to User and RoleModel to Role.
    6) Renamed the Typicalsecurity command to typicalsecurity
    7) Set the default entity package to ~.domain (to align with how the rest of roo works).

    We welcome your continued feedback.

    Get the latest here: http://code.google.com/p/spring-roo-...ical-security/.

    Thanks,
    The typicalsecurity team.

    Comment


    • #3
      SiteMesh2 ROO Addon 0.1.3.RELEASE

      Use SiteMesh 2 instead of Tiles.

      ROO Commands:
      sitemesh setup (Installs SiteMesh)
      sitemesh info (Provides information of any steps needed prior to install)

      Caviats:
      Tiles Configuration files still exist, but are not used.
      Waiting on ROO-2179 for a fix. However, this has no impact on the project except for the fact you have still have the tiles xml files that are not used or needed.

      Sample usage:

      pgp trust --keyId 0xA95E26B1
      addon install bundle --bundleSymbolicName org.codeconsole.roo.addon.sitemesh
      project --topLevelPackage org.codeconsole.example
      persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
      entity --class ~.Owner
      field string --fieldName name --notNull
      entity --class ~.Pet
      field string --fieldName name --notNull
      field reference --fieldName owner --type ~.Owner --cardinality MANY_TO_ONE
      field set --fieldName pets --class ~.Owner --type ~.Pet --cardinality ONE_TO_MANY
      controller scaffold --class ~.web.OwnerController
      controller scaffold --class ~.web.PetController --entity ~.Pet
      sitemesh setup

      Comment


      • #4
        Webapp Analytics and Error Tracking Add on 0.1.1.RELEASE

        Webapp Analytics and Error Tracking Add on

        ROO Commands:
        analytics setup (Installs Webapp Analytics)
        analytics info (Provides information of any steps needed prior to install)

        This addon will enable your application to email you a detailed report any time an Exception occurs on your site.

        The report will show you the last 50 urls hit before the exception as well as the provide the information of the user who experienced it.

        It also enables the /analytics url such that you can see your own history as you go.

        I will provide detailed documentation on how to unlock more power of this addon in a few weeks when I get some free time, but the add on does give you the ability to filter which urls you do not want to track as well as customize what is sent in the report.

        There is also a separate server that can receive these error reports and store them in a database. This server also provides an interface for searching and seeing exception statistics. I will try and make this available as well as soon as I get a chance.

        Sample usage:

        pgp trust --keyId 0xA95E26B1
        addon install bundle --bundleSymbolicName org.codeconsole.roo.addon.webappanalytics
        project --topLevelPackage org.codeconsole.example
        persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
        entity --class ~.Owner
        field string --fieldName name --notNull
        entity --class ~.Pet
        field string --fieldName name --notNull
        field reference --fieldName owner --type ~.Owner --cardinality MANY_TO_ONE
        field set --fieldName pets --class ~.Owner --type ~.Pet --cardinality ONE_TO_MANY
        controller scaffold --class ~.web.OwnerController
        controller scaffold --class ~.web.PetController --entity ~.Pet
        security setup
        email sender setup --hostServer smtp.gmail.com --username [email protected] --password changeme --port 465
        analytics setup


        mvn tomcat:run

        At any point you can see your recorded history:
        http://localhost:8080/example/analytics

        (This url can also be changed in the web.xml configuration file).

        Comment


        • #5
          Jasper Reports addon for Spring Roo

          Hi all,

          I am pleased to announce that I have released an addon for Roo to integrate Jasper Reports.

          jasperoo

          There is an introduction on my blog at: http://my.digitalface.ca/2011/03/jas...-jasperoo.html

          The project is hosted on Google Code at: jasperoo.digitalface.ca.

          Synopsis

          Install with:
          roo> osgi start --url http://s.digitalface.ca/jasperoo-latest
          Setup with:
          roo> jasperoo setup
          Create a report from an entity with:
          roo> jasperoo add --type ~.domain.SomeEntity
          Create reports for all entities with:
          roo> jasperoo all
          I would welcome feedback from anyone who tries it out.

          There are still a couple of small bugs, and right now it only generates list reports (I plan to add detail reports soon).

          Waldo
          Last edited by wrochow; Mar 23rd, 2011, 07:18 AM.

          Comment


          • #6
            gvNIX 0.6.0 has been released, it includes great add-ons for Spring Roo 1.1.2:

            The add-ons reference guide is at: https://code.google.com/p/gvnix/wiki/LearnGvnixEn

            Enjoy!

            Comment


            • #7
              gvNIX 0.7.0 released

              gvNIX 0.7.0 has been released, built for Spring Roo 1.1.4.

              This new release adds the add-ons below to gvNIX add-ons collection:
              • Dynamic configuration add-on, gives you the ability to change project settings depending on the environment where it is being built.
              • Basic screen patterns add-on, an easy way to change entity relations rendering from comboboxes to table based layout.
              • Exception handler add-on, manage the application exception handlers from
                Roo shell.
              • MVC binding add-on, customize request parameter binding by providing a custom WebBindingInitializer.
              • Invoke secure web services

              The add-ons reference guide is at: https://code.google.com/p/gvnix/wiki/LearnGvnixEn

              Enjoy!

              Comment


              • #8
                I would like to extend Spring Roo Apache Solr Add on so that it takes care of doing a listing of search from Solr.
                Can someone help me with getting started on where to get code base, build it etc? Also i would like to know if there is a reference guide which helps a developer to understand how to extend an existing add on?

                Regards,
                Anand

                Comment


                • #9
                  I don't know if it was correct place to ask this question, but...

                  >I would like to extend Spring Roo Apache Solr Add on ...

                  cool

                  You can get solr addon source from github spring account - addon-solr

                  >Also i would like to know if there is a reference guide which helps a developer to understand how to extend an existing add on?

                  Have You read the Internals and Add-On Development chapter from the reference?

                  Good luck,
                  Ats
                  Last edited by atsuk; Dec 27th, 2011, 10:26 AM.

                  Comment


                  • #10
                    Roo Addon Development - Not Finding Dependencies

                    I created an application that reads the Roo Scaffolding information and generates a jquery-mobile application. I'm now trying to build it as a Roo addon but struggling with the dependency jars not getting deployed or bundled with the deployment. I generated an advanced addon template using roo. Tried to test the application in roo using osgi "start --url file:///<path-to-addon-project/target/<addon-bundle-name>.<version>.jar" and i get the error:

                    org.osgi.framework.BundleException: Unresolved constraint in bundle com.uibinder [76]: Unable to resolve 76.0: missing requirement [76.0] package; (&(package=org.apache.commons.io)(version>=2.1.0)( !(version>=3.0.0)))

                    It's not finding my dependency:

                    <dependency>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                    <version>2.1</version>
                    </dependency>


                    I've spent way to much time trying to figure this out. Any help would be greatly appreciated.
                    Last edited by Cullie; Feb 8th, 2012, 04:46 PM.

                    Comment


                    • #11
                      Cullie, you might get more response if you

                      a) publish this in the general forum (this thread is for announcing new add ons).
                      b) Give people access to your source project folder so they can look at it.

                      Comment


                      • #12
                        Hi there,

                        just a quick note to tell you that I just release a "taggable" addon for Roo.

                        It enable your domain objects to be marked with tags and add the following methods :

                        void addTag(String tag);
                        Set<String> getTags();
                        List<Domain> findAllDomainsWithTag(String tag);


                        You can check it at https://github.com/lbroudoux/spring-roo-addon-taggable

                        By the way, is there any documentation explaining how to release an addon using GitHub ?
                        (just like http://static.springsource.org/sprin...le-addons.html but
                        using GitHub in place of Google code ?)

                        Thanks,

                        Comment


                        • #13
                          The OSGi part of Roo is sometimes difficult to work through. I believe your problem is only solved by creating a Roo wrapper add-on for your commons-io jar, or seeing if commons-io is already OSGi ready (see if the project v. 2.1 contains any OSGi info in the META-INF/MANIFEST.MF file). That would mean that your project requires another add-on to function properly.

                          For another take, DBRE add-on requires the shell (i.e. user) to install a JDBC provider JAR, and if your Roo shell really needs commons-io then you have to install it yourself.

                          Do you really need commons-io? What feature are you using of it? Keep in mind that Roo add-ons should be writing files transactionally using the FileManager bean (for regular files), the ProjectManager (for pom items). For example, to DbreOperationsImpl's use of the FileManager to completely write a file once the XML has been built:

                          // Write out the updated POM
                          fileManager.createOrUpdateTextFileIfRequired(pom,
                          XmlUtils.nodeToString(document), false);



                          The reason the base Roo add-ons work is that any of the operations that need external libraries have those libraries included in the pom configuration of Roo itself, or generate code and pom.xml elements / dependencies that make it possible for the installed code to run, but don't require a third-party library to do the install itself in the shell add-on. If you follow those rules you should be OK. Otherwise you'll have to provide information in the add-on documentation to inform the user of your third party JAR requirement.

                          Comment


                          • #14
                            Good morning,

                            I am working with spring roo version "spring-roo-1.1.5.RELEASE" and version "spring-roo-1.2.2.RELEASE".

                            We have a problem when we do reverse engeneering in our project, the first time we do it everything is ok,
                            but after changing the DB, if we make reengineering then *Roo_Configurable aspects of the entities and primary keys are modified with the identifier 'id', for example:

                            Originally:
                            @Id
                            @GeneratedValue(strategy = GenerationType.AUTO)
                            @Column(name = "COD_PERFINV")
                            private BigDecimal Turhejsd.codPerfinv;

                            and after we do reverse engineering:
                            @Id
                            @GeneratedValue(strategy = GenerationType.AUTO)
                            @Column(name = "id")
                            private Long Turhejsd.id;

                            We think it is a ROO problem so we would like you to give us some tips to solve it
                            Thank you very much. Best regards.

                            Comment


                            • #15
                              Originally posted by msaornil View Post
                              We have a problem when we do reverse engeneering in our project, the first time we do it everything is ok,
                              but after changing the DB, if we make reengineering then *Roo_Configurable aspects of the entities and primary keys are modified with the identifier 'id'.
                              Create an issue at https://jira.springsource.org/browse/ROO

                              Comment

                              Working...
                              X