Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Context IDs

Hi,

[Summary of a discussion on #higgins today]

Since now the IdASRegistry can also use context IDs obtained via the Configuration API (e.g. from an XML file) in addition to the previous three XRDS-based ways, people are wondering, in which order are these ways tried? And, isn't this a performance problem (Jeesmon)? And, can we add new ways and remove existing ones (Mike)? And, is the context ID string deterministic so we can always know which way is tried (Jim)?

Right now this is handled in a simple way. When IdASRegistry.createContext(String) is called, four hardcoded ways of constructing a IContextId from a String are tried in this order:
1. from Configuration    <-------    This used to be at bottom; I moved it to the top today after IRC discussion
2. from local XRDS file
3. from XRI resolution
4. from URI

(Remember: A context ID contains everything needed to instantiate a context, i.e. context type and context configuration)

Now Mike's idea is to make this process configurable / extensible, so that people can add their own kinds of context IDs. E.g. if you hate XRDS, you kick this way out. Or you add your own way of storing context IDs (e.g. database). The idea is to introduce the concept of context ID "resolvers" (as Mike calls them).

In fact, if done right, this may also be able to solve the other problem I posted to the list recently (creation of new contexts and new context IDs). The individual context ID "resolvers" could work two-way, i.e. provide a method for creating a new context ID (potentially based on an input string, to auto-generate an "appropriate" context ID, as Jim calls it).

In theory this all sounds pretty good to me. The downside is added complexity (new projects; a new interface; another mechanism that needs to be understood; and we may end up having 72814 different ways of using context IDs, instead of them being just a tiny footnote in the already big enough IdAS book).

What do people think?

Markus

P.S. For your reference:
http://wiki.eclipse.org/ContextDiscoveryComponents
http://wiki.eclipse.org/ContextDiscoveryComponents_withoutXRDS


Back to the top