Developer Guide
- Development Guidelines
- Version Numbering Scheme
Version numbering
CATS version numbering scheme follows similar approach to what’s known as Semantec versioning (semver). A given version number includes the following parts:
MAJOR.MINOR.PATCH.BUILD
- Kanban Board Usage Guidelines
- Gitflow Branch Management Process
- Environments
- Confluence / JIRA Support Requests
This page documents shortcomings and desired improvements to JIRA and/or Confluence
Better Integration when creating a JIRA issue from a Confluence page
Creating a new JIRA issue from a confluence page only allows the barest minimum of information to be entered:
- Worflow: Define Document Workflow Stored Procedure [e.g. Requisition]
Step-by-step guide
Define stored procedure to define workflow for requisition
/********************************************************************************************************
********************************************************************************************************
– Author: Nathnael Getahun (Senior Software Developer @ Neuronet)
– Type: Stored Procedure
– Name: Define Document Workflow
– Description: A Generic Document Workflow Definition Procedure
– What it does:
– > Reads a formally formatted XML document
– > Inserts a process template
– > Uses the above inserted process id to insert application setting
– > Inserts all the states of the document process defined in the xml document
– > Iterate through each process states trigger a flow template insert query
********************************************************************************************************
********************************************************************************************************/
DROP PROCEDURE define_document_workflow
GO
CREATE PROCEDURE define_document_workflow @xmldoc int
AS
/* Begin a transaction that will hold all the statements executed in this procedure */
BEGIN TRANSACTION
/* Define the variable that holds the insert_id for the process template */
DECLARE @ProcessTemplateID INT;
/* Define the variables that hold the name, the final states, and actions defined for each states in the xml document */
DECLARE @name varchar(50), @finalstates varchar(50), @actions varchar(50)
/* Insert a new process template into the 'ProcessTemplate' table from the <ProcessTemplate /> definition in the xml document */
INSERT INTO ProcessTemplate SELECT Name, Description, GraphicsData, PartitionId FROM OPENXML(@xmldoc, '//ProcessTemplate') WITH ProcessTemplate
/* Check if the above statement failed to execute and rollback the transcation */
IF(@@error <> 0)
ROLLBACK /* Rollback of the transaction */
/* Set the insert_id to the above defined variable for later reference */
SET @ProcessTemplateID = SCOPE_IDENTITY();
/* Insert a new application setting into the 'ApplicationSetting' table from the <ApplicationSetting /> definition in the xml document */
INSERT INTO ApplicationSetting
VALUES ( (SELECT SettingName FROM OPENXML(@xmldoc, '//ApplicationSetting') WITH ApplicationSetting), @ProcessTemplateID, NULL);
/* Check if the above statement failed to execute and rollback the transcation */
IF(@@error <> 0)
ROLLBACK /* Rollback of the transaction */
/* Insert new state templates into the 'StateTemplate' table from the list of <StateTemplate /> definitions in the xml document */
INSERT INTO StateTemplate
SELECT @ProcessTemplateID, Name, AllowedAccessLevel, StateNo, StateType, NULL FROM OPENXML(@xmldoc, '//StateTemplate') WITH StateTemplate
/* Check if the above statement failed to execute and rollback the transcation */
IF(@@error <> 0)
ROLLBACK /* Rollback of the transaction */
- Workflow: Upgrade old data [e.g. Requisition]
Step-by-step guide
- Define a stored procedure for upgrading old data of entities which starts using workflow
use [CatsDRMFSS];
/********************************************************************************************************
********************************************************************************************************
-- Author: Nathnael Getahun (Senior Software Developer @ Neuronet)
-- Type: Stored Procedure
-- Name: Upgrade Old Data
-- Description: Make old data of Relief Requisition table support the new workflow implementation
-- What it does:
---- > Add BusinessProcessID column in Relief Requisition table
---- > Iterate through each Relief Requisition entry and create them a business process and
---- business process state for their current status only
********************************************************************************************************
********************************************************************************************************/
- Define a stored procedure for upgrading old data of entities which starts using workflow