At 07:05 AM 11/8/2005 -0800, Donn Denman wrote:
+1 to ViewableKind as an annotation that the view applies to a Kind. This could be the "textbook" example of good annotation usage!

The intent as I understood it was that the inverse attribute of ViewableKind.detailView would be something like Branch.viewerForKinds, and that you'd normally set up the relationship from that end. Thus, the ViewableKind annotation would've been an implementation detail used by the branch point to find the view, and would never even be seen by the parcel developer; they would just set the branch's 'viewerForKinds' to be a list of the target kinds.

Of course, that's not a fully fleshed out design, as it doesn't deal with (for example) the possibility that multiple views might apply to the same kind, especially when stamping is involved. There would probably need to be something like Branch.supersedesView/supersededBy to allow the system to find the "most specific" view that applies (rather similar to the way that inter-task startup dependencies are handled in osaf.startup now).

It also might simply make sense to use something like a dropdown or tabbed interface to allow non-superseded parallel views to exist, as it's likely that third or "fourth party" plugins (i.e. plugins to extend other plugins), will want to provide alternative or related views. It also would make it easier to access specialized views like a "Soccer Referee" view on a "Contact" item. Another possibility is to just combine applicable views into one scrolling view.

Anyway, some of these ideas may be worth looking at in the next review of the plans for stamping - and they might turn out to be quite simple if we use the annotation system to do stamping.

(FWIW, I've noticed some discussion on the Design list about annotation that's talking about a UI idea, so we may have to come up with a different name for schema.Annotation in the near future to avoid conflict with the UI concept of an annotation.)


On Nov 7, 2005, at 9:13 PM, Phillip J. Eby wrote:

At 04:45 PM 11/7/2005 -0800, Katie Capps Parlante wrote:

Would you feel differently if the annotation and attribute had different names that didn't imply "hint to layer above me", but made it clear that the annotation belonged to the view layer?

Actually, now that you mention it, if we were to do something like ViewableKind, it shouldn't go in osaf.pim anyway, but rather be part of the detail view parcel(s), since the annotation is on their behalf. I'm guessing John just put it there because of the old ContentKind being there before.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to