This roadmap assumes ~3 month, time-boxed, minor releases. The roadmap considers larger-scale tasks only. Each release will also include numerous bug fixes and minor improvements, as needed.
Release 1.5 (DTGov Series 1 with JMS)
In this release, we maintain the core functionality of DTGov, which is to trigger new BPMN2 workflow instances due to events fired (primarily from S-RAMP). However, we will replace the current polling mechanism (perform S-RAMP searches every 30s) with a true JMS eventing mechanism. S-RAMP will continue to be the primary source of events, but we will also introduce new event sources such as github and JIRA.
- Investigate integrating Camel [DTGOV-204] Investigate integrating Camel for event and notification endpoints - JBoss Issue Tracker
- React to JMS-based events [DTGOV-203] Event source: JMS - JBoss Issue Tracker
- React to GitHub-based events [DTGOV-201] Event source: GitHub - JBoss Issue Tracker
- React to JIRA based events
- New out-of-the-box BPMN2 workflow triggered by a github PR event
- Fetch the github PR changes
- Validate interesting files in the PR (e.g. WSDL)
- Cancel/close the PR if validation fails
- Support Wildfly [DTGOV-178] Wildfly support - JBoss Issue Tracker
- Convert all Errai RPC calls to REST services - removing the need for CDI in the UI
- Upgrade to Errai 3
Release 1.6 (Notifications)
This release focuses on core Notification support within the design time governance layer. The future of the project likely will focus on notifying users when governance policies are violated, rather than necessarily supporting action-based use cases such as deployment lifecycle.
- Notification framework (support Twitter, GitHub PR comments, etc.) [DTGOV-155] Notification framework - JBoss Issue Tracker
- Track an artifact's open GitHub/JIRA issues [DTGOV-202] Track an artifact's open issues - JBoss Issue Tracker
- Notification Service easily usable by the BPMN2 workflows
- UI page to manage Notification Destinations
- Destinations are logically named and contain a list of notification routes of different types
- Supported routing types are e.g. email, sms, twitter
- UI page to manage Notification Templates
- Templates must support each destination type (email, sms, twitter) since each destination type has differing requirements
- UI page to show stream of notifications sent - filterable by various criteria
Release 2.0 (Design Time Governance Policies)
This will be the first release in the dtgov 2.x series and will begin the focus on creating design time governance policies. This should begin moving the focus away from simply triggering workflows to defining and applying design time governance policies.
- Create official dtgov Policy Definition
- Event source(s) - source of policy information
- Decision (was policy violated?)
- Notification channels - tell someone the policy was violated
- Actions - do some action (e.g. close git PR)
- UI to design dtgov policies
- Tie notifications to policies in the notification UI (Show all notifications for a particular policy)
- Upgrade Notification Stream to be a more general purpose Governance Activity stream, adding in policy decision and policy actions (along with perhaps policies that were *not* violated?
- UI look & feel redesign - switch to PatternFly
Release 2.1 (Policy Context)
This release focuses on improving the context under which policies are evaluated. Release 2.0 formalized the concept of a design time governance policy, but didn’t provide any additional context when evaluating/violating policies. This release adds the concept of “Projects”, which allows policies to be associated/correlated with a project. This allows for better filtering of the Governance Activity stream. It should also allow notifications to be more targeted.
- UI to manage Projects
- Create some way to correlate events with Projects when configuring event sources
- Upgrade Governance Activity Stream with Project filter(s)
- Policy framework (jBPM, BPMN2, Drools, scripting, etc.) [DTGOV-154] Governance policy execution framework - JBoss Issue Tracker
- [DTGOV-156] Audit and Traceability - JBoss Issue Tracker
- [DTGOV-157] Extend scope of services available to executing governance policies - JBoss Issue Tracker
- [DTGOV-158] Change Management/Impact Analysis - JBoss Issue Tracker
- [DTGOV-159] Registry Integration - JBoss Issue Tracker
- Integration tests: EAP, Tomcat, Fuse (Arquillian based)
- UI tests (Selenium based)
- OpenShift: deployment target, manage whole gears, etc.