Delayed batch deletion in 7.5

edited April 10 in Captiva

I am in the process of migrating an old Process Developer IPP to a 7.5 CaptureFlow. Before we used Multi and Timer with a $batch/fuse condition to perform a countdown. This allowed us to alter the number of days before the batch was deleted without having to alter the IPP.

I am now trying to do the same in 7.5 and have put a Multi in my CaptureFlow just before the End step. However the Timer documentation seems not to have been updated for using CaptureFlows and custom values, so I am struggling to work out how to set the 'fuse' to an initial number of days that can be decreased by the Timer.

I found but still can't put the pieces together. Has anyone got this going?

Best Answers

  • Accepted Answer

    This is an old question of mine, but now I can get back into the forums I'll outline my solution.

    1. Add a Multi step at batch level as the last step in the CaptureFlow.
    2. On the way in 
      * Assign to _Batch.Description the value "MY TEXT"
      * Assign to _Batch.Priority the value "MY TEXT"
      * Assign to MultiStep:7.Ready the value 8
    3. In Timer use a number of rules to implement your countdown as in previous versions. Use the Description as the condition, and alter the description in each rule. This way you can use the description as a fuse variable.
    

    Hope this helps someone else.

  • Accepted Answer

    Hi @Chris99 , @Akhlesh.Kumar, @ChrisHoliman,
    We are in the process of updating KB6259998 with the complete steps needed to add delayed batch deletion to an XPP CaptureFlow process. Since it has not been approved yet, we attached the same zip file here for your convenience. The info in the current state of this KB is not 100% complete, but will be very soon. The attached file, KB6259998.zip, contains modified sample process AutoIndexing.XPP renamed to DelayedDeletion.XPP with needed steps and value assignments to accomplish delayed batch deletion. Also contained in the zip file, is a word doc explaining modifications needed and IA Timer rule configurations and screenshots.

    We recommend using a batch filter in the IA Timer rule, and minimizing the number of total IA Timer rules that are used in a capture system since they may have a huge impact on system performance. The old method with the batch fuse and an IA Timer rule for each day the batch is kept, should no longer be used. Instead, use just one IA Timer rule to remove batch from Hold once each day and then let the condition of the decision rule compare dates. If delete date of batch has been reached, then allow batch to flow down default branch of decision rule for deletion. Otherwise, allow batch to go to the other branch of the decision rule, so that the batch may be put on hold another day until the IA Timer rule runs again the next day to retrigger and have the dates checked again and process repeats until finally deleted. Please see the attachment for more details or the KB that should be available soon on My Support.

    Hope this helps.

  • Accepted Answer

    Hi @Chris99,
    Unfortunately there is not another way as this field refers to the batch name. Sounds like a great candidate for an enhancement request. I am also not really keen on renaming either and not necessary for this to work. It is more of a way to help lessen the number of batches the IA Timer rule has to open, then check the value in the condition to determine whether the rule can either execute or not. If just the wildcard value, *, is used, then obviously all batches need to be examined for the truth of the condition.

    If there are a lot of batches on the system, this may take some time and resources to run the rule and cycle thru all the batches. So this is why we recommend running rules when the most system resources are available and possibly with a batch filter in the BATCH field. If multiple IA Timer rules are needed, ensure the start time between the different rules is sufficient enough to ensure that one timer rule has completed before another one starts to avoid multiple rules running at the same time.

    Cheers,

  • Accepted Answer

    @Jeff Miyatake said:
    Hi @Chris99 , @Akhlesh.Kumar, @ChrisHoliman,
    We are in the process of updating KB6259998 with the complete steps needed to add delayed batch deletion to an XPP CaptureFlow process. Since it has not been approved yet, we attached the same zip file here for your convenience. The info in the current state of this KB is not 100% complete, but will be very soon. The attached file, KB6259998.zip, contains modified sample process AutoIndexing.XPP renamed to DelayedDeletion.XPP with needed steps and value assignments to accomplish delayed batch deletion. Also contained in the zip file, is a word doc explaining modifications needed and IA Timer rule configurations and screenshots.

    We recommend using a batch filter in the IA Timer rule, and minimizing the number of total IA Timer rules that are used in a capture system since they may have a huge impact on system performance. The old method with the batch fuse and an IA Timer rule for each day the batch is kept, should no longer be used. Instead, use just one IA Timer rule to remove batch from Hold once each day and then let the condition of the decision rule compare dates. If delete date of batch has been reached, then allow batch to flow down default branch of decision rule for deletion. Otherwise, allow batch to go to the other branch of the decision rule, so that the batch may be put on hold another day until the IA Timer rule runs again the next day to retrigger and have the dates checked again and process repeats until finally deleted. Please see the attachment for more details or the KB that should be available soon on My Support.

    Hope this helps.

    Thanks Jeff,

    This looks like a good way to implement the deletion, but our customers may not be okay with the renaming of the batches. Can the Timer filter work with the description or a custom value?

    Chris> @Jeff Miyatake said:

    Hi @Chris99,
    Unfortunately there is not another way as this field refers to the batch name. Sounds like a great candidate for an enhancement request. I am also not really keen on renaming either and not necessary for this to work. It is more of a way to help lessen the number of batches the IA Timer rule has to open, then check the value in the condition to determine whether the rule can either execute or not. If just the wildcard value, *, is used, then obviously all batches need to be examined for the truth of the condition.

    If there are a lot of batches on the system, this may take some time and resources to run the rule and cycle thru all the batches. So this is why we recommend running rules when the most system resources are available and possibly with a batch filter in the BATCH field. If multiple IA Timer rules are needed, ensure the start time between the different rules is sufficient enough to ensure that one timer rule has completed before another one starts to avoid multiple rules running at the same time.

    Cheers,

    Thanks @Jeff Miyatake. I will investigate. I won't bother with the enhancement request, as Timer itself really needs to be replaced with something that has easier configuration. At the moment our standard rules have to be configured with IAExplorer which, if memory serves me, isn't part of the standard installation.

    Thanks again for the KB, although it needs a bit of spellchecking ;-)

    Chris

Answers

  • edited July 2016

    Instead of having Timer handle the countdown, just have your batch put on hold in your Capture Flow, then have Timer release the hold on whatever interval you like.  Prior to reaching the final step, you store the date and time in a custom value.  This will be, basically, when the batch ended.  Then, each time the hold is released, you compare the current date/time against the batch end time and determine if it is the correct interval.  If you need more info, let me know and I'll post an example CF.

  • edited July 2016

    Thanks Chris,

    That sounds like a good way of achieving the same result. Could you show an example flow and show the Timer configuration please?

    What I would like to avoid is a solution where the interval is configured in a custom value, as I don't want any of our customers to use CaptureFlow Designer. We have a standard flow with C# scripting that is controlled by XML configuration. If I had to I could configure the interval in the XML and then set it to a custom value if necessary, but it feels like this is jumping through hoops. As I mentioned above, we previously used a fuse in Timer to handle how quickly the interval was decreased.

  • edited July 2016

    It doesn't appear that I can attach things to posts, so I'll probably have to message you individually to get you the flow.  This is the Timer setup, however.

    TimerSetup.PNG.png

  • edited July 2016

    Hi Chris,

    Can you attach a couple of screenshots of the flow, value assignments and flow script?

    Thanks for your assistance.

  • edited April 10

    Hi Chris,

    We can hold the batch in capture flow and create rule in timer for releasing a batch.

    But we want to delete the batch after 3 days of completion, we need to hold batch 3 days using any custom variable.

    please suggest us how can we create rule in timer for same requirement.

    Thanks

    Akhlesh Kumar

  • David SciutoDavid Sciuto admin
    edited December 5

    Members:
    If you're having trouble posting screenshots, please try this procedure:

    1. Click on the picture icon above the post text box
    2. Select the image from your device you want to upload and display.

    You can select Preview before posting it to ensure that it gets displayed.

  • Hi David,

    Glad to see there is an active admin presence on the Captiva forum.

Sign In or Register to comment.