Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
3 replies
Subscribers
9 subscribers
Views
1771 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
General
Hi, I have created process Dashboard for the process model say "Job or
ajinkyab277
Certified Lead Developer
over 11 years ago
Hi,
I have created process Dashboard for the process model say "Job order",in which i have two process pariable of type cdt lets say jobOrderDetail and jobTickets.jobtickets is of multiple type and in job ticket cdt i am having almost 30 fields.again i am saving both pv jobOrderdetail and jobTickets to database. i need to show this information on the dashboard. so which is better way perfomancewise and memory from below 2
1. Keeping both pv jobOrderDetail and jobTickts array in process itself.and showing them on dashoard.
2. or fetching data from database and showing on dashboard. as i have data in database so there is no need to maintain jobOrderDetail and jobTickts array in process...
OriginalPostID-74276
OriginalPostID-74276
Discussion posts and replies are publicly visible
0
shrutij
over 11 years ago
It is not a hard and fast rule but I personally believe that this is relative to the way an application is designed
We may have to consider the following, while
1. Fetching Data from Database -
a. If the dashboard is refreshed a number of times then those many database hits may lead to a performance hit.
b. If lots of data (columns) is being fetched from multiple tables (joins), then the query rule execution will be more time consuming.
2. Picking the data directly from the process variables -
a. If the process is only maintaining the process variables for display on the dashboard then I see no point as the data will be fetched from the query rule in the process which will be the same number of hits as we would have if the dashboard is refreshed, unless it is passed from some other process or we have configured it accordingly for example - do not instantiate if an active process exists.
b. If there exists other process models who can change the data in the tables (relating to jobOrderdetail and jobTickets), then one may not receive the real time data as soon as it would be required.
So depending on the requirements we may have to choose one over the other.
Apologies for not having a direct answer.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
ajinkyab277
Certified Lead Developer
over 11 years ago
Hi shrutij,
In Second approach fetching data from database. as i am using ncolumntable function to show data on dashboard,i am calling same query rule for each column(e.g getJobTicketsDetail(parameter1).jobTicketID) i am repeating this expression for each column with different field. is it good way to do that . or can we achieve this in other way
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
shrutij
over 11 years ago
Hello Ajinkya, since this is a process dashboard, we will have access to all the process variables, why not have a process variable which will call the query rule once. So in the process model we have <pv!someProcessVariable> = getJobTicketsDetail(), we can access this process variable in the dashboard.
=ncolumntable({"Col1","Col2","Col3"},pv!someProcessVariable.Field1,pv!someProcessVariable.Field2,pv!someProcessVariable.Field3), rather than having a query rule being called directly in each of the column.
You may have another requirement which mandates you to follow the currently implemented design, cannot deny this, but if it is straight forward query rule call then having it as a process variable should do good.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel