Format broken in transfer. Pasting again
Since Dojo has changed implementation in 1.8.x, Rating control is broken on Domino 9.
The new implementation is calling onchange method (where we submit the new value to the server) on initialization. I will probably change Rating widget entirely as soon as possible.
For a temporary fix, you need to make a couple of changes in xiRating custom control. Open the source pane for xiRating and replace the following div with the new panel object…
<xp:div id="ratingEditable" styleClass="involveRatingStarWrapper">
.....
.....
</xp:div><!-- end-ratingEditable -->
will become
<xp:panel id="ratingEditable" styleClass="involveRatingStarWrapper">
<xp:this.rendered><![CDATA[#{javascript:invTools.isRatingEnabled(compositeData)}]]></xp:this.rendered>
<xp:div id="rateThis" dojoType="dojox.form.CustomRating">
<xp:this.dojoAttributes>
<xp:dojoAttribute
name="numStars"
value="#{javascript:compositeData.starCount || invTools.defaults.starCount}"></xp:dojoAttribute>
<xp:dojoAttribute
name="value"
value="#{javascript:Math.round(invTools.getTotalRating(compositeData.ccId))}"></xp:dojoAttribute>
</xp:this.dojoAttributes>
</xp:div>
<xe:jsonRpcService id="ratingRpcService1" serviceName="rating#{compositeData.ccId}" state="true">
<xe:this.methods>
<xe:remoteMethod name="setRating" script="return invTools.setRating(compositeData,rating);">
<xe:this.arguments>
<xe:remoteMethodArg name="rating" type="number"></xe:remoteMethodArg>
</xe:this.arguments>
</xe:remoteMethod>
</xe:this.methods>
</xe:jsonRpcService>
<xp:eventHandler
event="onClientLoad"
submit="false">
<xp:this.script><![CDATA[
dojo.connect(dijit.byId("#{id:rateThis}"), "onChange", function(newValue){
setRating("#{javascript:compositeData.ccId}", "#{id:ratingPanel}", newValue);
});
]]></xp:this.script>
</xp:eventHandler>
</xp:panel><!-- end-ratingEditable -->
As you see we removed declared onchange event for the rating widget. Instead, we are connecting this event AFTER page has been loaded.