Skip to content

Transitional TransitionIn Sets

I’ve been struggling lately with poor SQL performance in a Test environment and I’m pretty sure that has been causing an intermittent problem with objects not transitioning in to Sets and Groups straight away. They all get sorted out when the FIMTemporalEvents job runs overnight – but that’s not very comforting to the testers who are expecting immediate results.

Unfortunately improving the SQL platform hasn’t been an available option to date, so I’ve been looking at other ways I can improve performance around Sets, and started using a “transitional TransitionIn set” in a couple of places. While it’s been very hard to measure the actual impact of this particular change, and I have been making various other refinements as well, the reported incidence of “my object didn’t go active” does indeed seem to have dropped off.

We often have sets that describe when an object is “Active” or “Inactive”. The set criteria to determine this may actually be quite complex. Workflows will typically be triggered on transition in to these sets, probably including one which actually flags the objects as “Active” or “Inactive”. The Active set in particular may be very large and I was seeing multiple incidences of failure to transition in to this set, hence also failure to get marked as Active at the expected time.

So what I’ve done is moved all that complex logic into the following sets:

  • “Objects that should be flagged Active”: Active criteria + Status not ‘Active’
  • “Objects that should be flagged Inactive”: Inactive criteria + Status not ‘Inactive’

Transition in to these sets triggers the “flag as Active” or “flag as Inactive” workflows, at which point the objects transitions straight out, keeping these sets empty most of the time.

The criteria for my actual Active/Inactive sets is then nice and simple:

  • “Active Objects”: Status = ‘Active’
  • “Inactive Objects”: Status = ‘Inactive’

There’s another thing I like about this approach, and it’s kind of hard to explain, but here goes: Various workflows, which may well include notifications, will typically be triggered off those Active/Inactive sets – however the criteria of what makes an object Active or Inactive can change. It can be dangerous to mess with the criteria of large sets – you can inadvertently set off large numbers of set transitions and accompanying workflows. Sure I’d be doing this first in dev/test – but triggering tens of thousands of set transitions in an underperforming dev/test environment isn’t much fun either!

So I like the fact that my big sets here have an unchanging rule, and the only place I need to modify criteria is on the small, “should be flagged” sets. Yes the end result is the same, but starting from modifying a zero-member set is certainly an easier position to predict the size of the change – just preview the set membership before committing!

I’m definitely not saying this is a generally applicable approach but it is something I plan on using now whenever a set has complex criteria, it’s expected membership is very large, and it is used to trigger workflows.

 

Post a Comment

Your email is never published nor shared. Required fields are marked *

Spam comments will be blocked by Akismet

*

Tamoxifen for sale Furosemide 40 mg without prescription Cytotec no prescription to buy buy Requip 2mg order Seroquel online canada buy Clomiphene australia buy Seroquel generic order no prescription Metformin online Requip buy Seroquel purchase overnight delivery Seroquel no prescription needed 50mg buy seroquel online without prescription from canada no prescription generic seroquel seroquel for sale canadian pharmacy no prescription seroquel buy seroquel online uk buy seroquel 25 mg seroquel online 50mg how to buy seroquel online seroquel online uk seroquel 50mg canada buy generic seroquel seroquel no script seroquel online without a prescription can you buy seroquel online buy seroquel usa buy seroquel in canada Prednisone on line buy Prednisone overnight buy cheap Prednisone online free consult buy Prednisone on line amex uk buy Prednisone buy cod Prednisone order overnight Prednisone medikament Prednisone Prednisone order online buy Prednisone no scams buy Prednisone mastercard online purchase Prednisone buy cheap Prednisone no prescription buy Prednisone amex online without rx buy Prednisone canada purchasing Prednisone without a script where to buy generic Prednisone online without a prescription Prednisone drug non rx cheap Prednisone order Prednisone cheap overnight fedex Prednisone overnight without a prescription buy Prednisone 20 mg buy Prednisone where Prednisone without prescription overnight shipping purchasing Prednisone without a script Prednisone without rx overnight shipping where to purchase Prednisone no prescription no fees Prednisone online overnight delivery cod Prednisone prescription order order Prednisone without rx from us pharmacy buy Prednisone pills in toronto buy Prednisone online online pharmacies Prednisone buy Prednisone no prescriptions buy Prednisone once a day order Prednisone pay pal online without rx buy Prednisone where buy line Prednisone best finpecia online pill buy Maxalt us pharmacy Maxalt buy Maxalt with visa Cytotec purchase overnight delivery where buy Lisinopril purchasing finpecia with overnight delivery no prescription requip buy requip over the counter where can i order requip online how to get arimidex arimidex cheap online buy Requip online australia generic requip no prescription arimidex ordering requip no rx in us requip buying requip online without prescription Requip express online i need to order Requip without a prescription buy Requip from the uk purchase Arimidex order requip without rx arimidex online order where can i buy arimidex without prescriptions buy arimidex generic requip for sale without prescription buy generic arimidex buy requip no prescription needed order requip online overnight shipping cheap generic arimidex no prescription requip buy online no prescription Lisinopril overnight cod cheap order rx metformin prednisone 40 mg cheapest place to buy Metformin purchase Metformin online Maxalt no prescription needed 10mg Maxalt 10mg canada where to buy Maxalt uk buy generic Maxalt canada buy metformin cod discount Cytotec order Cytotec uk purchase Cytotec online no membership overnight shipping best Cytotec online pill Valacyclovir Cytotec want to buy Cytotec in usa Cytotec online overnight delivery cod buy cytotec with a mastercard order Cytotec no rx how to order Cytotec online without a rx how to buy Metformin without a prescription Metformin price buy Alli without prescription