Let's reboot the Introspection discussion and put representation format
questions aside for a second.
I'm sure I'm missing some things here, but let's start with the following...
What are the minimum core requirements for APP introspection?
* Discovering the location of APP collections
* Discoverying the capabilities of APP collections?
* Are there any security requirements that need to be considered?
* Does introspection serve a purely functional purpose (e.g. used for
automatically configuring clients)? purely presentational (e.g. used for
presenting options to an end user)? both?
* what else?
What are the non-requirements for the introspection process (e.g. what
should we clearly *not* be attempting to do)
* ??
What are we still unsure about (no obvious consensus) in terms of what
we collectively should or should not do?
* Browser displayability? (does it matter if an introspection document
can be directly viewable in a browser... e.g. without some form of
transform process)
(note: I'm not asking if browser displayability is good in general.
I'm asking if it is a requirement for APP).
* A single mime type for introspection documents?
* Nested collections?
* what else?
For each of the unknowns and non-requirements, what are the
implications/potential issues if, in the core spec, we go ahead and...
* ...allow for direct browser displayability?
> Must use a browser friendly mime type
* ...disallow direct browser displayability?
> End users can't see the data as readily as they otherwise could?
* ...not say anything about browser displayability?
* ...allow for multiple mime types?
> Potentially inconsistent dispatching?
> Potentially beneficial for browser displayability?
* ...require a single mime type?
> Consistent dispatching
> Potentially contrary to browser displayability
* ...not say anything about mime types?
* ...allow for nested collections?
* ...not allow nested collections?
* ...not say anything about nested collections
* what else?
What is the basic model we're assuming for the introspection process?
* Account/Workspaces/Collections/Entries
/Lists (aka traversals) ???
/Categories ???
/Collections ???
/ what else ???
* Do we even have a model we can all agree on??
* If not, on what specific points do we disagree?
* Are the capabilities of a collection part of the model?
* What in the heck does "capabilities of a collection" mean?
* Are collection capabilities generalized enough for us to be
worrying about in the core?
* Should the URI of the collection be distinct from the URI of
traversals/lists/views of the collection content?
* Per collection... more than one traversal URI? A single traversal
URI with multiple parameters?
* what else?
What information MUST be revealed through the introspection process?
* Collection URI's?
* all available collections?
* logical subset of collections ? (e.g. one workspace at a time or
all collections for a given user, etc)
* Type of collection?
* should the collection types be constrained? (e.g. ONLY entry AND
media)
* should the collection types be extensible? (e.g. IANA registry of
collection types)
* Collection name?
* Is the collection name optional? If so, is it "highly
recommended" or "just optional".
* Should there be any constraints on the name? If so, what?
* what else?
What information SHOULD be revealed through the introspection process?
* Capabilities of the collection?
* Traversal URI's? (is this a MUST or SHOULD?)
* what else?
What information MAY be revealed through the introspection process?
* Collection metadata (e.g. textual description)
* Available categories?
* Whether or not specific features are enabled/disabled? (is this one
of those mysterious "capabilities" the spec mentions?
* what else?
What information SHOULD NOT be revealed through the introspection process?
* ??
Out of all this,
What MUST be factored into the syntax used for introspection?
* ??
What SHOULD be factored into the syntax used for introspection?
* ??
What WOULD BE NICE to have factored into the syntax used for introspection?
* ??
What WOULDN'T MATTER if is was factored into the syntax used for
introspection?
* ??
What WOULDN'T MATTER if is was not factored into the syntax used for
introspection?
* ??
- James