You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The Java Broker requires a mechanism that allows a preference, which is owned by a Principle,  to be associated with an arbitrary object with the object hierarchy.  An example of a preference could be:

  • a query
  • a preferred timezone
  • a dashboard layout

Preferences will be owned by a Principle.  Preference will have a visibility which will allow the preference to be private, or shared amongst a group.  Preferences will be editable only by the Principle that created it.  The UI will allow an operator to clone a copy of a preference of another which is visible to him, in order that he may change his own copy.

Preferences will be durable and thus survive a Broker restart.

Preferences associated with a VirtualHost or below need to automatically propagate amongst the nodes within a HA group.  As an operator, this means I will be able to create a query against my HA virtualhost and the same query will be available to me no matter where the mastership resides.

Unlike relationships between CO, preferences are loosely associated with model objects.  This means that an operator will be able to remove a queue even if a preference is still associated, belonging to either himself or another Principle. In this case, the preference becomes orphaned.

Structure of a preference

 

{
id: <UUID>,
type: <type of the preference>,
associatedId: <UUID of model object>,
owner: <Domain prefixed Principle - normally that belonging to a user>,
visibleTo: [<Domain prefixed Principle - normally that belonging to a group>],
<type specify attributes>
}

 

 

 

 

 

 

 

  • No labels