Using the name of a fixlet in relevance

(imported topic written by dnlongen91)

Is there a way to evaluate relevance based on the name of the current fixlet? My scenario is this:

We use BES to deploy various updates, including some where a user can “opt-in” or “opt-out.” When users opt-out, they are added to a database, from which a retrieved property is automatically created. We add a relevance statement similar to the following to each fixlet:

if exists (setting “Exclusions” of client) then (not (value of it contains “,Fixlet XYZ,”) of setting “Exclusions” of client) else true

If the user has opted-out, they will have this retrieved property, and thus are not relevant to an administrative deployment. This requires adding this relevance statement to each individual fixlet. I would like to instead create a relevance statement for the parent site, something similar to the following:

if exists (setting “Exclusions” of client) then (not (value of it contains name of current fixlet) of setting “Exclusions” of client) else true

If each fixlet can dynamically evaluate relevance based on its own title, instead of based on a literal string, then we achieve the same function without having to fiddle with each fixlet. I cannot find a relevance statement that results in the name of the current fixlet though. current site and current fixlet inspectors are not available in BDE, and don’t seem to be available in Presentation Debugger either:

name of current site

The operator “current site” is not defined.

name of current fixlet

Singular expression refers to nonexistent object.

How can I evaluate the current fixlet name in relevance?

(imported comment written by BenKus)

Hi dnlongen,

This is quite an advanced question.

The short-ish version of the answer is that you always need to add the relevance to the Fixlet. Even if there was a relevance query to give you the name of current fixlet, you would not be able to add this to the parent relevance in BDE because the parent relevance is evaluated before the actual Fixlet runs.

And unfortunately, there is not a “current fixlet” type inspector (there is an inspector for the active action, but not the current Fixlet) and so this approach won’t for you…

I can’t think of any better way to do this, but I will check around a bit and let you know if I find anything…

Ben

(imported comment written by SystemAdmin)

Has this changed since 2007 by any chance? I can see the usefulness of such a query as well.

  1. Use the name of the fixlet during logging performed during the task.

  2. Use the name of the triggering baseline (passed to the task/fixlet) to change the parameters of the triggered fixlet. (So you can write a single generic fixlet for several baselines…)

In my case I’d like to trigger a restore point prior to the application of a baseline. I’d like to write 1 fixlet that I could use across multiple baselines. If the “Restore Point” fixlet could know that it is being triggered by baseline named “Foo” then a parameter in the fixlet could write the name of the baseline to the description field for the restore point.

Currently I suspect I’ll have to write a restore point task for each baseline I use, and check for some written property (registry perhaps) to make sure it runs only once. Or … ick… prepend the restore point action to the action in each task/fixlet in the baseline.

~Paul Kobres

USC

(imported comment written by offerbaruch)

Hi,

I need this functionality as well.

during the action script i would like to use the name of the fixlet and baseline…

is it possible by now?

Thanks!

Offer Baruch