Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Higgins XRDS Service Endpoint
A Higgins XRDS Service Endpoint is a kind of service endpoint (SEP) in an XRDS document. It is obtained either from a ContextURI (using standard Yadis discovery) or from a ContextXRI (using standard XRI resolution) and contains all information needed to instantiate a Higgins Context (i.e. a datastore containing identity information such as an LDAP directory or a Facebook account).
Higgins XRDS Service Endpoints are therefore a key enabling building block for the Higgins Dataweb: They act as discoverable "pointers" into contexts containing slices of your identity.
Contents
Higgins XRDS Service Endpoint
The information in a Higgins XRDS Service Endpoint can be summarized as follows:
- One or more context types: This is a string that identifies the underlying technology of the Context. Based on this string, a suitable Context Provider is selected to instantiate the context.
- The schema of the context: This is a URL pointing to an OWL file describing the context's schema (i.e. the kind of subjects and attributes in the context). For example, a context may contain "people" who have "names", "e-mail addresses" and "friends". This schema is based on the Higgins Data Model
- (Optional) Context authentication type: The type of authentication materials needed to open the context (e.g. a password).
- (Optional) Context configuration: Arbitrary information required to instantiate the Higgins Context (e.g. the address of a server to connect to).
Examples
Facebook account
Example Higgins Relation pointing to a facebook account: @higgins*contexts/$context@facebook//2345673826
- 2345673826 is the SubjectId, i.e. the unique identifier in the context.
- @higgins*contexts/$context@facebook is the ContextId, it resolves to the following service endpoint:
<Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration"> <Path select="true">$context@facebook</Path> <Type select="true">$context@facebook</Type> <Type>$context</Type> <hconf:Schema>http://www.higgins-project.org/schemas/facebook.owl</hconf:Schema> <hconf:Configuration> <Setting Name="apikey" Type="xsd:string">FB8189237498</Setting> </hconf:Configuration> </Service>
LDAP directory
Example Higgins Relation pointing to a user in an LDAP directory: @parity/$context+ldap//msabadello
- msabadello is the SubjectId, i.e. the unique identifier in the context.
- @parity/$context+ldap is the ContextId, it resolves to the following service endpoint:
<Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration"> <Path select="true">$context+ldap</Type> <Type select="true">$context+ldap</Type> <Type>$context</Type> <hconf:Schema>http://www.parityinc.net/schemas/ldap.owl</hconf:Schema> <hconf:Configuration> <Setting Name="Connection" Type="htf:map"> <Setting Name="ConnectionType" Type="xsd:string">LDAP</Setting> <Setting Name="AddressList" Type="htf:list"> <Setting Name="Address" Type="xsd:string">ldap://ldap.parityinc.net:389</Setting> </Setting> <Setting Name="jndiProvider" Type="xsd:string">com.sun.jndi.ldap.LdapCtxFactory</Setting> </Setting> <Setting Name="env" Type="htf:map"> <Setting Name="java.naming.security.authentication" Type="xsd:string">simple</Setting> </Setting> </hconf:Configuration>
XDI endpoint
Example Higgins Relation pointing to a subject at an XDI endpoint: @parity/$context$xdi//=markus
- =markus is the SubjectId, i.e. the unique identifier in the context.
- @parity/$context$xdi is the ContextId, it resolves to the following service endpoint:
<Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration"> <Path select="true">$context$xdi</Path> <Type select="true">$context$xdi</Type> <Type>$context</Type> <hconf:Schema>http://www.parityinc.net/schemas/xdi-test.owl</hconf:Schema> <URI>http://graceland.parityinc.net/xdi-endpoint/idas</URI> </Service>
See also
- A ContextId is the identifier that resolves to a Higgins XRDS Service Endpoint. It is either a URI or an XRI.
- Context Discovery Components describes the Higgins components involved in resolving ContextIds and instantiating Contexts.