HKuizenga

I'm looking for a way to hide methods and properties from the intellisense built into the RuleSetDialog. When I open the dialog and begin creating a condition, all members of the type I am accessing are displayed and I would like to find a way to limit the list.

Is there an attribute I can place on the properties and methods in my business objects that will prevent them from being displayed in the RuleSetDialog Ideally, it would be nice to hide everything by default then expose paritcular properties to the intellisense as necessary. Even a property on the dialog itself to only display public members would do the trick.

The goal is to open up our rules to our end users, however, we don't want them to be able to call potentially harmful methods or access properties we don't want them to access via our rules mechanism either.

Any help would be appreciated,

~Howard



Re: Windows Workflow Foundation Intellisense in RuleSetDialog

Acumen

Howard,

You can build your own custom rule editors. The challenge is always to keep it as simple as possible, without losing too much of the expressiveness. Microsoft rule editor has a very expressive language for the rules (It is close to the actual Common Language Runtime). For programmers this is very good, however for business users, this becomes too technical.

At Acumen Business we have developed a business rules solution that allows the business user to create simple rules, test rules (by verification and validation) and animate the rules. Once a rule policy is approved by the business, they can be exported with a wizard to WF rules. A complete Visual Studio 2005 solution will be generated. This can be passed off to the IT developers for further integration.

We try to keep the rules as simple as possible. E.g. it is not possible to write complex functions. For this we would suggest that the IT developer implements and tests the function and the business user can invoke this as a black box.

You can download a trial version of the Rule Manager. The trial version limits the rule export to 10 rules. The rule creation, validation and animation are all 100% functional.

The new release (1.5.0.x) has some interesting rule execution animation in the interactive rule map. Here is a video (only get's interesting after a minute)

Hope you like it





Re: Windows Workflow Foundation Intellisense in RuleSetDialog

Kavita Kamani - MSFT

Yes, unfortunately we do not expose a knob to do what you ask for. We have got this feedback earlier and well taken. For now, you might want to go with a custom editor option, especially for business analysts. Both InRule (www.inrule.com) and Acumen (replied to this post already) have business analyst friendly authoring support for WF Rules.




Re: Windows Workflow Foundation Intellisense in RuleSetDialog

HKuizenga

Thanks for the replies. This gives me a bit more to go on.

Much appreciated,

~Howard





Re: Windows Workflow Foundation Intellisense in RuleSetDialog

Mel Grubb

Here's what I'm doing. Extract an interface from your entity type and remove the items you don't want shown. At runtime, when you are about to open the dialog, pass it the interface instead of the actual object. The rules will still run against the real object just fine, but Intellisense will only show the members exposed by the interface, or by "object" itself (Meaning the actual class "object", not the entity class. You'll still see things like Equals and GetHashCode, but at least the private backing variables and methods will have gone away.

Check out my blog post about this here:
(http://melgrubb.spaces.live.com/blog/cns!A44BB98A805C8996!182.entry)

good luck.