XDI2 general purpose library and server
Java Other

README.md


Current version under development: 0.8-SNAPSHOT  Build Status
Current stable release: 0.7.4 Next release: 0.8 More about releases and branches

XDI2 (“XDI Two”) is a general-purpose and modular Java implementation of XDI technology.

Website: https://xdi2.org/. Sample deployment: https://server.xdi2.org/.

Jenkins: https://jenkins.xdi2.org/. Artifactory: https://artifactory.xdi2.org/.

Information

Examples:

xdi2-example-core, xdi2-example-client, xdi2-example-messaging, xdi2-selfhosted, xdi2-csp, xdi2-registry, xdi2-example-advanced-server

Components:

  • xdi2-core - Implementation of the XDI graph model and basic features [.jar]
  • xdi2-rdf - Implementation of the XDI/RDF compatibility layer [.jar]
  • xdi2-messaging - Implementation of XDI messaging [.jar]
  • xdi2-messaging-container - XDI containers that can be deployed in servers to respond to XDI messages [.jar]
  • xdi2-client - An XDI client can send messages to an XDI server over HTTP(S) [.jar]
  • xdi2-client-websocket - An XDI client can send messages to an XDI server over WebSocket [.jar]
  • xdi2-transport - Common transport functionality for receiving and processing XDI messages [.jar]
  • xdi2-transport-uri - Common transport functionality for URI-based transports [.jar]
  • xdi2-transport-http - An HTTP transport that exposes XDI endpoints at URIs [.jar]
  • xdi2-transport-websocket - A WebSocket transport that exposes XDI endpoints at URIs [.jar]
  • xdi2-transport-local - A local transport that executes messages directly against a local graph [.jar]
  • xdi2-server - The XDI server that provides the HTTP and WebSocket transport [.jar]
  • xdi2-server-standalone - The XDI server as a standalone application [.jar]
  • xdi2-server-war - The XDI server as a web application [.war]
  • xdi2-webtools - A collection of web-based XDI tools for testing [.war]

How to build

Just run

mvn clean install

To build all components.

How to run the XDI web tools

cd webtools
mvn jetty:run

Then go to:

http://localhost:8080/

How to use

Maven repository for releases:

<repositories>
    <repository>
        <id>XDI2</id>
        <name>XDI2-releases</name>
        <url>https://artifactory.xdi2.org/xdi2-releases-local</url>
    </repository>
</repositories>

Maven repository for snapshots:

<repositories>
    <repository>
        <id>XDI2</id>
        <name>XDI2-releases</name>
        <url>https://artifactory.xdi2.org/xdi2-snapshot-local</url>
    </repository>
</repositories>

Maven dependencies:

<dependencies>
    <dependency>
        <groupId>xdi2</groupId>
        <artifactId>xdi2-client</artifactId>
        <version>... version here ...</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

See also https://bintray.com/projectdanube/maven/xdi2/view

Plugins

See here for information about XDI2 plugins.

Tests

See here for a description of unit tests.

Community

Website: https://xdi2.org/

Google Group: http://groups.google.com/group/xdi2

Weekly Call: Thursdays at noon US Eastern Time

IRC: irc://irc.freenode.net:6667/xdi

Javadoc: http://projectdanube.github.io/xdi2/apidocs/

Related Projects