i installed SiteReview.
On the first match MWG sends a mail. PERFEKT! :-)
But, after this no e-mail is sent any more. In some cases after some time an e-mail is sent again. It also doesnt works from another client within this time.
URL.GetParamete(string) can pull any parameter from the full URL. In the case of the site review ruleset, the parameters are actually passed / created in the block pages that present the hyperlinks. You can pass pretty much anything with the URL parameters. Look carefully at the site review block pages and you'll see how they insert properties into the request that is generated upon clicking the hyperlink. The ruleset then pulls parameters from the URL and uses them in it's processing.
Site Review is working great. We also changed the blockpage for the users to choose who (CIO) should receive the request. :-)
But, i was not able to figure out how to add the Authentication Realm to the e-mail body. Something is going wrong and i can´t figure it out.
As stated in previous post, you need to "pass" it through the block pages as part of a parameter string. Your original block page (most likely "URL Blocked" will need to add a parameter for realm, i.e. &realm=$String.Base64Encode$ with Authentication.Realm as the parameter which translates to a source of:
&realm=$<propertyInstance useMostRecentConfiguration="false" propertyId="com.scur.engine.stringfilter.base64encode">
<propertyInstance useMostRecentConfiguration="false" propertyId="com.scur.engine.auth.realm"/>
This parameter will need to be passed to the request page and then passed to the ruleset which will actually add it to the body of the email.
You'd modify the request page with something like this: <input type="hidden" name="realm" value="$URL.GetParameter$"/> with a parameter of value of realm which translates into this:
<input type="hidden" name="realm" value="$<propertyInstance us eMostRecentConfiguration="false" propertyId="com.scur.engine.system.url.getparameter">
<stringValue value="realm" stringModifier="true" typeId="com.scur.type.string"/>
and the ruleset itself would have something that looked like this:
|Enabled||SiteReview:Create Email Body|
1: URL.Path equals "/mwg-internal/sitereview"
2: AND URL.HasParameter("submit") equals true
|Continue||Set User-Defined.SiteReviewBody = |
"Site Review Request" +
"URL: " +
"Block Reason: " +
"Categories: " +
"User: " +
" (" +
"Realm: " +
"Date Generated: " +
"Rule: " +
"Gateway: " +
thanks for the hint. I already added the line for the authentication realm. But when sending the e-mail no content is added to the e-mail for the authentication realm.
But now, i fixed it. :-)
ThorstenNachricht geändert durch Troja on 30.11.11 12:19:04 MEZ
What you've done should work, but please note that in this case you are sending the realm of the user from the submittal request rather than the original request. In all likelyhood they will be the same for this particular property. If you wanted the realm from the original request, or some other property that may change between requests (URL or URL.host for example), then you really need to pass it as a parameter from the original block page and use Base64 encode / decode as described above. Using Base64 serves two purposes 1) it takes care of passing special characters that shouldn't otherwise be used in parameters and 2) it obfuscates the data.
you are absolutely right. But it was the only way to get the "realm" into the e-mail message. I was not able to figure out why using "String.Base64Decode(URL.GetParameter("realm"))" does not work.
Finally this should be an additional information for the administrator because in my case mwg is a member of 8 active directory domains.
Do you habe an idea why "String.Base64Decode(URL.GetParameter("realm"))" is not working?