How to add destination users while the activity is active

  • 10 September 2009
  • 2 replies
  • 0 views

Badge +4

I am battling to get the best solution for my problem and was looking for some suggestions.


I am developing a complex controlled document approval process. 


My problem is that the document author can change the list of approvers at any time during the process, they can also change the escalation due date at any time.


The list of approvers is defined in a "Person" field in a custom SharePoint content type that inherits from the folder content type.  This content type also stores the escalation due date.  I do not have the option to change this architecture.


I have already built a web service that extract the list of approvers for me in XML format as well as the escalation due date.


My problem is that they want the current approvers to continue working while add ing new approvers as destinations.  So expiring the activity would result in me having to write some code to get the latest approval worklist item for the current document, for all the users that already opened their worklist items before the activity expired.


Would it be possible for me to write a custom smart object that read from my web service, to get the destination users and they use this smart object in a dynamic destination role? 


Any ideas or suggestions or recommendations are welcome. 


2 replies

Badge +11

you can use DataFields that are assigned to a destination rule.


1. Make a new datafield


2. Assign this datafield to the destination rule in the Activity


3. In the code and upon reaching the specified Activity Assign a user to the datafield; this will automatically assign the user to the destination rule.

Badge +4

I am already doing this from a XML field.


 This helps if they chnage the destination users before the activity is planned. 


But if they chnage the users after the activity is planned, I need the changes reflected in my detination.


I could do this by redirecting the task back to itself, but that leaves a lot of complexities, like users that already opened their tasks will have new serial numbers and I only want to send the destination users 1 email.  I can get a round all of this with some clever coding, but was looking for a more legant way of dealing with this.

Reply