Version 1

    General

    • 1.. Repositories (multi module project)
    • 1 System Repository
    • Each Repository is 1...n projects (modules)
    • VFS read/writes to GIT
      • 1 guvnor repository is one 1 repository

    • Registered viewers/editors for file types
      • Guvnor is independent of any project.

      • Not tied to Drools/Jbpm. Drools/jBPM provide and register extensions for viewers/editors
    • Emebdded maven
      • build, install modules and multi-module projects

     

    Build and Deploy

    • Create GIT tag 
    • Set module/multi-module version
    • mvn install/release
    • M2 REPO
      • Guvnor will have local m2_repo, which install uses.

      • Local m2_repo exposed via http, for out of the box simple m2_repo.
      • Optionally sync local m2_repo with external system
        • central m2_repos or other governance systems for handling binaries.

      • May use “mvn release” too, in which case the jars are uploaded to an external location.

    Operations in Guvnor are command requests (some sample commands)

    • Create/Destroy Repository
    • Create/Destory Projects
    • Add/Remove User to Guvnor
    • Add/Remove/Update user permissions for repository
    • Change project version (pom info)
    • Change project dependencies (pom info)
    • Create GIT tag
    • Maven install/release

     

    System Project

    • When guvnor is started, it also instantiates the system project
      • System is a collection of rules and processes connected to a local bus and end points

    • Commands are not RPC executed, instead inserted into the bus
      • Rules pick up the commands and start processes

      • Processes define the work flow for handling commands
        • Typically review/approval related

        • Tasks lists, or any workflow feature ccan be used. 
      • Guvnor has system provided rules and processes for very basic governance
        • Typcially just one stage of request/approve, handled via a task list.

    • User may change or replace rules and processes
      • Customed processes for their organization

      • rules/processes delegate and co-ordinate with external governance system

     

     

    Project Management (Longer Term)

    • Projects have life cycles, and nested life cycles, as part of development process
    • Development process should be modelled in rules and processes.
      • Workflows used to drive the project life cycle and provide reporting

        • implementation, testing, release

      • Should work with external issue trackers to help provide matrix report break down on project progress.

     

    KIE Governance.png