Form Progress Steps

  • 23 September 2015
  • 29 replies

This is a visual control that displays a linear flow. It could give users a simple view of where they are in the process, and what other steps to take.

It can populate from a workflow and display client events into a linear progress bar (think of it as a super simplified View Flow), or it could populate from a SmartObject.

An item is highlighted in blue to mark is as 'active'. If populating from a workflow, this is detected form the SerialNo parameter to detect the current event; otherwise if populating from a SmartObject, this is defined by the State name.

29 replies

Hi ,

Really nice custom controls. Thanks for sharing with us. I used the control in my workflow and configured to read from workflow(Please find the screenshot). Its showing all the user activities nicely, but not changing the status according to the current activity. Alwasy in the first step.


Can you please advice me, if anything wrong in my configuaration?





I followed the manuel and uses the transfer data to set the state of the control but that isn't working at all.
is this a know bug. will this be fixed and when?

Hey guys, to get this to work for me I had to make a few changes to the code and recompile it. Firstly I changed the username string from : string sUserName = "K2:" + this.Context.User.Identity.Name; to just string sUserName = this.Context.User.Identity.Name; Secondly I changed all the this.Page.Request.QueryString["SerialNo"] to this.Page.Request.QueryString["SN"] Hope this helps!

Hi dwsteven,

Sorry for the late response! Didn't realize I wasn't auto-subscribed to my own post.

Try setting it to the Label name and it should work.


Planning to release another version soon that will support 4.7.

Thanks to Esmond for pointing those out!

I notice that it often doesnt reflect the right client event, I open the viewflow and observe that its on the right activity but the progress img does not reflect that?

Actually it works if I issue an iisreset (it will reflect correct activity in the bar)



Hi aaronmmc, That's strange. I've never encountered that before. Does it continue to work after doing a 1-time iisreset? What's your control's properties? Are you populating from the SN, or did you specify the workflow name / ID?

even after an iisrest it appears to get stuck in some previous state. Ill test on different machines next


I had the same probblem with control not reflecting the right client event. Turns out it was a caching issue.
Adding following to the control class solved the issue


protected override void OnInit(EventArgs e)






thanks what worked great, no issues.

Hi All, i have uploaded a new version that includes bug fixes mentioned in this thread + your valuable feedbacks.

Please see the updated documentation for more details.

Badge +6

Hi Riva,

I faced one issue while implemetning progress control.


I have added few Activities and used form progess control,Its working fine.

Now there is change requrest hence i have added couple of new acitvities in middle of the workflow. but progress control not updated steps ,My new activites came to last .


E.g  Submission  --> Assignment-->Approval --> END


Now i have added two more acitvities UpdateApproval,Investigation after Asssignment but now form progess rule dispaly those acitvities after END steps


Submission  --> Assignment-->Approval --> END-->UpdateApproval-->Investigation


How i can update the acitvity sequence if we add any new activites in middle .


Thanks in advance.

Hi Nik86,

Unfortunately, that is one of the limitations of the control, as documented in the PDF.

The Events are sorted based on the sequence of adding activities within the workflow. (i.e. First activity created within the workflow --- its event will be first in the control; 2 nd activity created will display its event as 2nd; etc.). Unfortunately, this cannot be easily changed for now. If you happen to have suggestions for the APIs (specifically for finding out the line sequences), do let me know. Meanwhile I'll ask around if there's a way to fix this.

Hi riva,
Regarding problem with event sorting, my suggestion is to add option to sort events by their Display name (not very useful) or Metadata.
Metadata fields are good solution for this problem because one could simply put sequence numbers in them.



We can also specify Metadata in Activity General Properties so for more flexibility maybe  allow to sort by both.

Hi Viesturs,

That is an awesome suggestion!

Will add that in when i find the time in the next few weeks. :)


Hi Nik86 and Viesturs,

Thank you for your awesome feedback.

I have uploaded a new version that supports sorting based on WF Event Metadata. 


Hi Riva, when clicking the Download All Links above the zip is empty. Can you please re-upload? Thanks.

Hi Wortho,

I have reuploaded v0.7 and it seems to work now.


[Strangely the download all didn't work, but the individual downloads work. I have raised a ticket to our IT to check out the cause of this issue.]

Many thanks!

Hi riva,


we are using a different K2 Server port than 5555. I guess this is the problem why the control doesn't work in our environment. Is there any possibility to make the port the control should use configurable?


Many thanks!

Hi Alpseb,

Done! Please see v0.8 uploaded. :)



Hi Riva,


I like to deploy this custom control in K2 Five.but it is not supported in K2 Five.

In K2 Five New clean installation does not provide k2 Designer for visual studio.


Let me know How to create custom control In k2 five new installation.



Hi Riva,


I am currently working in K2 five, Does this control support K2 five? I am trying to populate this control from a workflow name and I have a admin access to that workflow. Even after that it throw me an exception " You don't have view permission for the mentioned Workflow". 


Let me know if I am doing something worng. If not then how can I resolve this issue.





Badge +1

Hi Garvit,


This control works on K2 Five, with the exception that the account that accesses the form needs full admin rights on K2 since the WorfklowManagementServer class that is used to get the progress steps is a bit more restricted now with the authorization framework.


Of course, that is not what you want; you don't want to assign every user admin rights on K2 just to show some progress steps.


So I implemented a fix that reverts the current user identity to the application pool account for the WorkflowManagementServer code part. Now you only need users to have view rights on the process (directly or via the group Everyone) and the K2 application pool needs admin rights on the process (or on the K2 server level if you use the control for every process).


Can't upload the updated the code as an attachment unfortunately, so if you need it, send me a PM.


@Riva, maybe we can get in contact to share the code fix so you can upload the updated package here.




Hi, Great Control, love it. A feature i would like to see is the ability to use any SmartObject and method as the current version is only limited to SmartBox SmartObject and it would be great if we could choose to use SQL server SmartObject with store procedures etc.. or a SharePoint List. Thanks Simon
Badge +1

I published the the K2 Five code fix here since some people started asking for it: