Yes, it's a good point Jim - all a getEntityIdsMutable method could do
is
serve as an input to a application making policy decisions.
More useful might be a method for asking an Entity specifically for an
immutable EntityId. Call it getCanonicalId. The rule would be that it
always
returns one EntityId value that the Context asserts is the immutable
canonical identifier for that Entity in that Context.
If the Context does not support immutable identifiers, then
getCanonicalId
will return an error, and the application can plan accordingly. But I
suspect the value of having an immutable reference would incent CPs to
support this method.
=Drummond
> -----Original Message-----
> From:
higgins-dev-bounces@xxxxxxxxxxx [mailto:
higgins-dev-
>
bounces@xxxxxxxxxxx] On Behalf Of Jim Sermersheim
> Sent: Monday, September 15, 2008 11:01 PM
> To: 'Higgins (Trust Framework) Project developer discussions'
> Subject: RE: EntityId decision analysis page
(wasRE:[higgins-dev]entityID
> notan attribute?)
>
> How does it help an application to know whether a context's entityIDs
> are mutable? Does that tell the client that they'd better not use
this
> Higgins policy objects (at least none that refer to entities as
subjects
> or resources)?
>
>
>
> >>> "Drummond Reed" <
drummond.reed@xxxxxxxxxxxx> 09/15/08 9:59 PM >>>
> Okay, after talking with Markus and Paul on the phone, and gathering
the
> last round of comments in email, I did another update to
>
http://wiki.eclipse.org/EntityId_Requirements. This should really be
> called
> "EntityId Requirements for Context Data Model 1.1", since what we're
> talking
> about here is the delta between what we have in 1.0 and 1.1.
>
> The current state as I understand it in 1.0 is that the entityId
> parameter
> to the getEntity method on IContext interface:
>
> 1. Is of type string (confirm?)
> 2. Has cardinality 0..1
> 3. MUST be Context-unique; MAY be globally unique.
> 4. Is always exposed as an Attribute.
> 5. Exposes no information about mutability.
>
> Following are the proposed changes in 1.1. Please do comment on each
> one.
>
> #1: NOT REQUIRE entityId TO BE EXPOSED AS AN ATTRIBUTE
>
> The proposed change is to make EntityId OPTIONAL to expose as an
> Attribute.
> Contexts that do not want to expose the EntityId can omit it from the
> list
> of Attributes for an Entity. Note: if the EntityId is mutable, it
SHOULD
> be
> exposed as an Attribute so it can be modified.
>
> #2: ADD getEntityIdsMutable METHOD
>
> The proposed change is to add a getEntityIdsMutable() method on
IContext
> that returns a Boolean indicating whether EntityIds in that Context
are
> mutable or not. True = mutable.
>
> #3: ADD getIdentifiers METHOD
>
> The proposed change is to add a getIdentifiers() method on IEntity
that
> returns all Identifiers for an Entity (0..n). By definition this would
> return all identifiers that the Context considers to be synonyms of
the
> EntityId, even if the EntityId was not among the values returned.
>
> #4: MULTI-PART KEYS
>
> The proposal is to keep it simple by requiring multi-part keys to be
> serialized into a composite identifier, which can then be used as an
> EntityId or exposed as an Identifiers attribute.
>
> Again, comments welcome so we can close this.
>
> =Drummond
>
> > -----Original Message-----
> > From:
higgins-dev-bounces@xxxxxxxxxxx [mailto:
higgins-dev-
> >
bounces@xxxxxxxxxxx] On Behalf Of Tom Doman
> > Sent: Monday, September 15, 2008 1:34 PM
> > To: 'Higgins (Trust Framework) Project developer discussions'
> > Subject: RE: EntityId decision analysis
> page(wasRE:[higgins-dev]entityID
> > not an attribute?)
> >
> > +1
> >
> > On #1, I think more complex could get CP implementors into some
> > difficult situations though that's just a hunch w/o concrete
examples.
> > But, like Jim, I prefer simple.
> >
> > On "another question", I don't see how we could guarantee
immutability
> > or referential integrity. I understand the need, just not how we'd
> pull
> > it off especially w/o producing a major house of cards to implement.
> > Event notification from the backing store, if even possible, would
> still
> > not be guaranteed to be reliable. Maybe doing the best we can is
> better
> > than no guarantee whatsoever.
> >
> > Tom
> >
>
> _______________________________________________
> higgins-dev mailing list
>
higgins-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/higgins-dev
>
>
> ------------------- TEXT.htm follows -------------------
> <html>
> <head>
> <style type=3D"text/css">
> <!--
> body { font-variant: normal; margin-left: 4px; margin-bottom:
1px;
> =
> line-height: normal; margin-top: 4px; margin-right: 4px }
> p { margin-bottom: 0; margin-top: 0 }
> -->
> </style>
> =20
> </head>
> <body style=3D"margin-left: 4px; margin-bottom: 1px; margin-top:
4px; =
> margin-right: 4px">
> <p style=3D"margin-bottom: 0; margin-top: 0">
> <font face=3D"Dialog" size=3D"2">How does it help an application
to
> =
> know whether a context's entityIDs are mutable? Does
that =
> tell the client that they'd better not use this Higgins policy
objects
> =
> (at least none that refer to entities as subjects or
> resources)?=
> ; </font> </p>
> <br> =20
> <p style=3D"margin-bottom: 0; margin-top: 0">
> <br>
> <br>
> >>> "Drummond Reed"
> &
lt;drummond.reed@xxxxxxxxxxxx=
> > 09/15/08 9:59 PM >>><br>Okay, after talking with
Markus
> =
> and Paul on the phone, and gathering the<br>last round of comments
in
> =
> email, I did another update to<br><a
> href="" href="http://wiki.eclipse.org/En=" target="_blank">http://wiki.eclipse.org/En=
>
tityId_Requirements.">
http://wiki.eclipse.org/EntityId_Requirements.</a>&n
> b=
> sp;This should really be called<br>"EntityId Requirements for
Context
> =
> Data Model 1.1", since what we're talking<br>about here
is =
> the delta between what we have in 1.0 and 1.1.<br><br>The current
state as
> =
> I understand it in 1.0 is that the entityId parameter<br>to the
getEntity
> =
> method on IContext interface:<br><br>   1. Is of type =
> string (confirm?)<br>   2. Has cardinality
=
> 0..1<br>   3. MUST be Context-unique; MAY be
globally =
> unique.<br>   4. Is always exposed as an
> Attribute.<br> =
> ;  5. Exposes no information about
mutability.<br><br>Following
> =
> are the proposed changes in 1.1. Please do comment on each
> one.<br><br>#=
> ;1: NOT REQUIRE entityId TO BE EXPOSED AS AN ATTRIBUTE<br><br>The
proposed
> =
> change is to make EntityId OPTIONAL to expose as an
Attribute.<br>Contexts
> =
> that do not want to expose the EntityId can omit it from the
list<br>of =
> Attributes for an Entity. Note: if the EntityId is mutable, it
SHOULD
> =
> be<br>exposed as an Attribute so it can be modified.<br><br>#2:
ADD =
> getEntityIdsMutable METHOD<br><br>The proposed change is to add a =
> getEntityIdsMutable() method on IContext<br>that returns a
Boolean
> =
> indicating whether EntityIds in that Context are<br>mutable or not.
True =
> = mutable.<br><br>#3: ADD getIdentifiers METHOD<br><br>The =
> proposed change is to add a getIdentifiers() method on IEntity
=
> that<br>returns all Identifiers for an Entity (0..n). By
> definition=
> this would<br>return all identifiers that the Context considers to be
=
> synonyms of the<br>EntityId, even if the EntityId was not among
the =
> values returned.<br><br>#4: MULTI-PART KEYS<br><br>The proposal is
to
> =
> keep it simple by requiring multi-part keys to be<br>serialized into a
=
> composite identifier, which can then be used as an<br>EntityId or
=
> exposed as an Identifiers attribute.<br><br>Again, comments
welcome so
> =
> we can close this.<br><br>=Drummond<br><br>> -----Original =
> Message-----<br>> From:
higgins-dev-bounces@xxxxxxxxxxx
> [mailto:
higg=
> ins-dev-<br>>
bounces@xxxxxxxxxxx] On Behalf Of Tom
Doman<br>> =
> Sent: Monday, September 15, 2008 1:34 PM<br>> To:
'Higgins
> =
> (Trust Framework) Project developer discussions'<br>> =
> Subject: RE: EntityId decision analysis page(wasRE:[higgins-
> dev]=
> ;entityID<br>> not an attribute?)<br>><br>>
> +1<br>>=
> <br>> On #1, I think more complex could get CP implementors
=
> into some<br>> difficult situations though that's just a hunch
w/o
> =
> concrete examples.<br>> But, like Jim, I prefer
> simple.<br>><=
> br>> On "another question", I don't see how we
could
> =
> guarantee immutability<br>> or referential integrity.  I
=
> understand the need, just not how we'd pull<br>> it off =
> especially w/o producing a major house of cards to implement.<br>>
=
> Event notification from the backing store, if even possible,
would
> =
> still<br>> not be guaranteed to be reliable.  Maybe doing
the
> =
> best we can is better<br>> than no guarantee
> whatsoever.<br>><br>>=
>
>
Tom<br>><br><br>_______________________________________________<br>higg
> =
> ins-dev mailing list<br>
higgins-dev@xxxxxxxxxxx<br><a
> href="" href="https://dev.e" target="_blank">https://dev.e=
>
clipse.org/mailman/listinfo/higgins">
https://dev.eclipse.org/mailman/listi
> n=
> fo/higgins</a>-dev<br>
> </p>
> </body>
> </html>
> _______________________________________________
> higgins-dev mailing list
>
higgins-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/higgins-dev
_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev
------------------- TEXT.htm follows -------------------
<html>
<head>
<style type=3D"text/css">
<!--