Kuali Rice Roadmap
  1. Kuali Rice Roadmap
  2. KRRM-129

Create a tool that can be used to generate various KRAD-required artifacts and accelerate general development velocity

    Details

    • Type: Rice Enhancement Rice Enhancement
    • Status: Reopened Reopened
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Component/s: KRAD
    • Labels:
      None
    • Rice Theme:
      Development Ease of Use
    • Priority Score:
      0
    • Priority - KFS:
      No Priority
    • Priority - KC:
      No Priority
    • Priority - KS:
      No Priority
    • Priority - Rice:
      No Priority
    • Effort Estimate:
      Very High ~ 2500 hrs

      Description

      This issue was broken off from KRRM-71.

      Currently, it's very tedious and repetitious for developers to create data dictionary files, business objects and other things which represent their data model. It essentially involves lots of typing of XML and SQL by hand.

      A tool which could help with defining data models and then generating these artifacts would be a time saver.

      I think such a tool should probably have a command line interface (like Grails and Spring Roo) as well as a GUI. It should help with the generating of at least the following artifacts:

      1. Data Dictionary metadata for business objects
      2. OJB database mapping files
      3. DDL for the database
      4. Generation of Business Object java classes.

      Additionally, here are some notes from Jerry on specific KRAD Development Tooling that would be in scope for this item:

      KRAD Development Tooling

      1) Data/Business Object Generator

      • this is a tool that will create the artifacts necessary for a KRAD data object, including the data object class, JPA annotations or OJB mapping,
        data object dictionary file (with attribute definitions), inquiry-lookup-maintenance UIF files
      • there are various options of how this could work, for instance starting with an object that has annotations and generating the other artifacts,
        or starting with a data definition
      • some Kuali applications have similar tools that could potientially be used as a starting point

      2) New Document Generator

      • similar to data generator, this creates the artifacts necessary for a new KRAD document, including the document dictionary file and view, base
        controller class/form, authorizer/presentation controller (optional), worflow doc type XML, document class, JPS annotations or OJB mapping, rules
        class

      3) Dictionary Editor

      • this is a tool that allows you to edit the dictionary entries visually (with a GUI editor)
      • will be backed by command line program that can be used standalone (without the GUI)

      4) Dictionary Hot Deploy

      • allows changes to the dictionary to be deployed without a restart of the application
      • This is already complete and will be available for Rice 2.0

      5) Standalone Dictionary Validation

      • allows the dictionary files to be validated without starting up the application (can save a lot of time since the dictionary validation happens
        towards the end of the app startup)

      6) Conventions Manager

      • this allow you to implement your own conventions for dictionary configuration, likely a service that is invoked to implement the convention
        checks

      7) Messages Manager

      • helps in adding new messages for errors (warnings/infos), including adding the constant for the key, adding the resource file or generating
        the sql insert for table based storage, could also output the message map put statement

      8) More code templates, aids for IDE

      • in general developing more coding templates and IDE aids for common KRAD tasks

      9) View Tester

      • allows applications to easily test their views by initially capturing a snapshot (html output) of the desired outcome and giving to the framework to compare.
        Each time the test case is run the framework will render the view and compare to the snapshot

        Issue Links

          Activity

          Hide
          Jessica Coltrin (Inactive) added a comment -

          IU has contributed some student resources to work on this as a contribution, so moving to KR 2.2.

          Show
          Jessica Coltrin (Inactive) added a comment - IU has contributed some student resources to work on this as a contribution, so moving to KR 2.2.
          Hide
          Norm Wright added a comment -

          Kuali Student has a tool that does many parts of this:
          (1) Generate a baseline KRAD dictionary
          (2) Generate a baseline set of KRAD screens to CRUD your business object.
          (3) Generate HTML documentation
          (3a) about your business object
          (3b) about its validations as defined in the business object's dictionary.
          (4) I think I wrote a dictionary validator too that makes sure the dictionary can be loaded via Spring.

          See https://wiki.kuali.org/display/STUDENT/The+Contract+Doc+Maven+Plugin

          Contact me if you want more information on this

          Show
          Norm Wright added a comment - Kuali Student has a tool that does many parts of this: (1) Generate a baseline KRAD dictionary (2) Generate a baseline set of KRAD screens to CRUD your business object. (3) Generate HTML documentation (3a) about your business object (3b) about its validations as defined in the business object's dictionary. (4) I think I wrote a dictionary validator too that makes sure the dictionary can be loaded via Spring. See https://wiki.kuali.org/display/STUDENT/The+Contract+Doc+Maven+Plugin Contact me if you want more information on this

            People

            • Assignee:
              Unassigned
              Reporter:
              Eric Westfall
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Structure Helper Panel