On 05/27/2015 09:16 AM, Ondrej Zizka wrote:


On 27 May 2015, at 03:06, Ondrej Zizka <ozizka@redhat.com> wrote:

(19:45:09) LincolnThree: ok guys/gal, let's discuss rule ID syntax (ozizka, jsightler, sgilda)
(19:45:15) LincolnThree: we need a standard
(19:45:23) sgilda: yes, we do
(19:45:45) LincolnThree: I think we have a few things to consider:
(19:45:48) LincolnThree: 1) uniqueness
(19:45:51) LincolnThree: 2) descriptiveness
(19:45:58) LincolnThree: anything else?
(19:46:06) LincolnThree: 3) searchability
(19:46:39) LincolnThree: or we can discuss this tomorrow during the meeting.

Sorry, I missed that conversation.
My view:

1) Uniqueness, no doubt.
2) Decriptiveness - to a minimal level.  It will be useful when getting user feedback (bugs, I suspect :)

So that when something goes wrong and the user will send the stacktrace, we will know what rule caused it right away.

This is exactly what we mean by searchability. If you have the rule id, it should be easy to find the rule itself.

E.g.  "weblogic>eap:asynchbeans.Work-6bcvk" for
   
        <rule id="
weblogic>eap:asynchbeans.Work-6bcvk">
            <when>
                <javaclass references="com.ibm.websphere.asynchbeans.Work" as="default">
                    <location>INHERITANCE</location>
                </javaclass>
            </when>



In theory, I think this is great, but in practice I think it will be very awkward. For example, your example has a ">" in it, which can often cause complications. I'd prefer something simple, unique, searchable, and easy to use as a global id (for example, even in HTML at times) over hoping that we can always have some great semantic meaning in and of itself.

Just my $.02 :)