Replies: 4 comments 2 replies
-
@pradeepkumarcm-egov @elzanmathew-eGov can one of you help here? |
Beta Was this translation helpful? Give feedback.
-
In Finance module the workflow are tracked in workflow state tables. Finance uses a custom workflow engine for doing workflow processes, the major component and its corresponding table as given below. For ease of use, workflow API's gets embedded in the entity itself by the means of extending the StateAware class. Responsible Classes:- State, StateAware, StateHistory Tables Involved:- eg_wf_states, eg_wf_state_history How to Implement:- The entity which requires workflow processing must first extend the abstract class StateAware and give implementation for the required methods, once this is done the entity straightaway can use its underlying API's to do the state transitions. API pseudo code Class Responsible:- WorkflowType, State Tables Involved:- eg_wf_types, eg_wf_states, eg_wf_state_history How to Implement:- There is no need for additional implementation for Inbox/Draft/History rendering unless a module requires grouping of Inbox items or want to change the way the state-aware items are fetched or populated. The following services are used mainly to fetch the Inbox/Draft/History items. InboxRenderServiceDelegate:- Called from InboxController to fetch Inbox/Draft/History items. InboxRenderService:- The interface for fetching state aware items. This interface may be implemented by those modules need grouping/difference in rendering items. DefaultInboxRenderServiceImpl:- Default implementation for InboxRenderService which is responsible for default fetching of workflow items. (See Javadoc for how to implement). |
Beta Was this translation helpful? Give feedback.
-
Dear All
Thank you very much for your response.
Our objective at this point in time is to establish the Audit Capabilities
- which depend on audit LOGGING. Request your further assistance on
following points:
A. Is eGov PGR module also audit trail enabled like Finance?
B. Is the Audit Trail logging into the audit tables enabled by default
for a module? Or does this depend on any System Parameter setting or
Flag?
C. Can we know which transactions and events in Finance/ PGR module
get audit logged. Audit Logging is desirable for the following cases:
1. Add/Modify/ Delete on Various Masters and Transaction Tables of
an application by users
2. Changes to system metadata - e.g. New users/ roles created ,
changes in privileges (Basically System Admin Tasks)
3. User Access - Login / Logout
4. Are all the above addressed, anything more or less
D. What data is captured in the audit log? Are some of these basic
details covered
I. City (ULB)
II. User Name and Role
III. Transaction
IV. Event Timestamp
V. Nature of audit event (add/
modify/ delete / Approve or Authorize)
VI. Details of the change/update (DB
Tables affected / fields updated / old value-new value, etc.)
E. Can we request for the Table structure of the Audit Tables, which
eGov has proposed, from where the reports are to be extracted.
Can we get short extracts from these tables - to help us visualize actually
what is being LOGGED. Extracts can come from audit tables of their
development/demo environment - anyplace where LOGGING is happening.
The same is also posted at the original thread in forum.
Regards
sourav
*From:* elzanmathew-eGov ***@***.***
*Sent:* 17 August 2023 15:18
*To:* egovernments/Digit-Core
*Cc:* TCGSourav; Author
*Subject:* Re: [egovernments/Digit-Core] Audit Trail report on Workflow
Transactions of Finance Module (Discussion #180)
In Finance module the workflow are tracked in workflow state tables.
Finance uses a custom workflow engine for doing workflow processes, the
major component and its corresponding table as given below. For ease of
use, workflow API's gets embedded in the entity itself by the means of
extending the StateAware class.
Responsible Classes:- State, StateAware, StateHistory
Tables Involved:- eg_wf_states, eg_wf_state_history
How to Implement:- The entity which requires workflow processing must first
extend the abstract class StateAware and give implementation for the
required methods, once this is done the entity straightaway can use its
underlying API's to do the state transitions.
API pseudo code
.transition().start().withOwner(position or user) -- starts workflow
.transition().withOwner(a).xyz(b) -- take care of next state change
.transition().end().xyz(a).xyz(b) -- ends the workflow
.reopen() -- reopens a ended workflow
.startNext() -- start a new workflow by chaining with the existing workflow
(if ended)
.progressWithStateCopy -- will clone the previous state value and carry
forward with other changes to next state.
How to Define Workflow Steps:- Workflow process steps can be defined using
various ways.
Using DB, we call it us workflow matrix, the following are the classes and
tables responsible for
Classes Responsible:- WorkFlowMatrix, CustomizedWorkFlowService
Tables Responsible:- EG_WF_MATRIX, EG_WF_AMOUNTRULE, EG_WF_ADDITIONALRULE
Using a dynamic scripting language like python.
Classes Responsible:- Script, ScriptService
Tables Responsible:- eg_script
Directly coding the steps in java code (Open workflow).
Inbox/Draft/History:-
Under progress workflow items are shown in the Home page as two distinct
items like Tasks(Inbox) and Draft. On click of the history button in any
task item, it shows processing history for that workflow item. The
following tables are used to determine the Inbox rendering.
Class Responsible:- WorkflowType, State
Tables Involved:- eg_wf_types, eg_wf_states, eg_wf_state_history
How to Implement:- There is no need for additional implementation for
Inbox/Draft/History rendering unless a module requires grouping of Inbox
items or want to change the way the state-aware items are fetched or
populated. The following services are used mainly to fetch the
Inbox/Draft/History items.
InboxRenderServiceDelegate:- Called from InboxController to fetch
Inbox/Draft/History items.
InboxRenderService:- The interface for fetching state aware items. This
interface may be implemented by those modules need grouping/difference in
rendering items.
DefaultInboxRenderServiceImpl:- Default implementation for
InboxRenderService which is responsible for default fetching of workflow
items. (See Javadoc for how to implement).
—
Reply to this email directly, view it on GitHub
<#180 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BB44P2T2IBHNNN2ON7RH433XVXSFRANCNFSM6AAAAAA3PFWE6M>
.
You are receiving this because you authored the thread.[image: Image
removed by sender.]Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi Sourav,
It would be great if we post queries on discussion forum. That helps
creates repo for future as well. Please post it there.
Thanks
---
Vibhor Bansal
Manager - Partnerships, eGov Foundation
Mob: +91 8130 949 888
www.egov.org.in |www.digit.org
…On Thu, Aug 17, 2023 at 5:25 PM Sourav Howlader < ***@***.***> wrote:
Dear All
Thank you very much for your response.
Our objective at this point in time is to establish the Audit Capabilities
- which depend on audit LOGGING. Request your further assistance on
following points:
A. Is eGov PGR module also audit trail enabled like Finance?
B. Is the Audit Trail logging into the audit tables enabled by
default for a module? Or does this depend on any System Parameter
setting or Flag?
C. Can we know which transactions and events in Finance/ PGR module
get audit logged. Audit Logging is desirable for the following cases:
1. Add/Modify/ Delete on Various Masters and Transaction Tables of
an application by users
2. Changes to system metadata - e.g. New users/ roles created ,
changes in privileges (Basically System Admin Tasks)
3. User Access - Login / Logout
4. Are all the above addressed, anything more or less
D. What data is captured in the audit log? Are some of these basic
details covered
I. City (ULB)
II. User Name and Role
III. Transaction
IV. Event Timestamp
V. Nature of audit event (add/
modify/ delete / Approve or Authorize)
VI. Details of the change/update
(DB Tables affected / fields updated / old value-new value, etc.)
E. Can we request for the Table structure of the Audit Tables,
which eGov has proposed, from where the reports are to be extracted.
Can we get short extracts from these tables - to help us visualize
actually what is being LOGGED. Extracts can come from audit tables of
their development/demo environment - anyplace where LOGGING is happening.
The same is also posted at the original thread in forum.
Regards
sourav
*From:* elzanmathew-eGov ***@***.***
*Sent:* 17 August 2023 15:18
*To:* egovernments/Digit-Core
*Cc:* TCGSourav; Author
*Subject:* Re: [egovernments/Digit-Core] Audit Trail report on Workflow
Transactions of Finance Module (Discussion #180)
In Finance module the workflow are tracked in workflow state tables.
Finance uses a custom workflow engine for doing workflow processes, the
major component and its corresponding table as given below. For ease of
use, workflow API's gets embedded in the entity itself by the means of
extending the StateAware class.
Responsible Classes:- State, StateAware, StateHistory
Tables Involved:- eg_wf_states, eg_wf_state_history
How to Implement:- The entity which requires workflow processing must
first extend the abstract class StateAware and give implementation for the
required methods, once this is done the entity straightaway can use its
underlying API's to do the state transitions.
API pseudo code
.transition().start().withOwner(position or user) -- starts workflow
.transition().withOwner(a).xyz(b) -- take care of next state change
.transition().end().xyz(a).xyz(b) -- ends the workflow
.reopen() -- reopens a ended workflow
.startNext() -- start a new workflow by chaining with the existing
workflow (if ended)
.progressWithStateCopy -- will clone the previous state value and carry
forward with other changes to next state.
How to Define Workflow Steps:- Workflow process steps can be defined using
various ways.
Using DB, we call it us workflow matrix, the following are the classes and
tables responsible for
Classes Responsible:- WorkFlowMatrix, CustomizedWorkFlowService
Tables Responsible:- EG_WF_MATRIX, EG_WF_AMOUNTRULE, EG_WF_ADDITIONALRULE
Using a dynamic scripting language like python.
Classes Responsible:- Script, ScriptService
Tables Responsible:- eg_script
Directly coding the steps in java code (Open workflow).
Inbox/Draft/History:-
Under progress workflow items are shown in the Home page as two distinct
items like Tasks(Inbox) and Draft. On click of the history button in any
task item, it shows processing history for that workflow item. The
following tables are used to determine the Inbox rendering.
Class Responsible:- WorkflowType, State
Tables Involved:- eg_wf_types, eg_wf_states, eg_wf_state_history
How to Implement:- There is no need for additional implementation for
Inbox/Draft/History rendering unless a module requires grouping of Inbox
items or want to change the way the state-aware items are fetched or
populated. The following services are used mainly to fetch the
Inbox/Draft/History items.
InboxRenderServiceDelegate:- Called from InboxController to fetch
Inbox/Draft/History items.
InboxRenderService:- The interface for fetching state aware items. This
interface may be implemented by those modules need grouping/difference in
rendering items.
DefaultInboxRenderServiceImpl:- Default implementation for
InboxRenderService which is responsible for default fetching of workflow
items. (See Javadoc for how to implement).
—
Reply to this email directly, view it on GitHub
<#180 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BB44P2T2IBHNNN2ON7RH433XVXSFRANCNFSM6AAAAAA3PFWE6M>
.
You are receiving this because you authored the thread.[image: Image
removed by sender.]Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi
We are going to implement Finance module at our client place. Now client want to see sample Audit Trail report on Workflow Transactions of Finance Module. It is not about Financial Audit. We understand there is no canned report available at present.
In this regard, request you to share the field heading details of the transaction tables.
We can prepare a tentative audit trail report and get it reviewed by the client.
Please also let us know, if you have any other workaround.
regards
sourav
Beta Was this translation helpful? Give feedback.
All reactions