Proposal for "Services_Yadis"

» Metadata » Status
  • Category: Web Services
  • Proposer: Pádraic Brady 
  • License: BSD Style
» Description
Services_Yadis is a PHP5 implementation of the Yadis Specification 1.0, a protocol for enabling the discovery of web services available to a Yadis Identity. A Yadis Identity can be generally defined as any online identity whose form may be normalised, or transformed, to an URI. This includes OpenID, Sxip, mIDm, etc.

A Yadis Protocol returns an XML document using the OASIS defined XRD syntax. This represents a list of available services, and provides the URI, Type, Priority, or other optional information needed to make requests to these services.

Yadis 1.0 is a requirement of the OpenID Authentication 2.0 Specification.

A few notes on the current version:
- It currently uses two PHP4 packages (HTTP_Request and Validate) which will be replaced with PHP5 versions once PEAR2 is up, and PHP5 versions exist.
- Unit Tests are currently omitted (will add later)
- Please the consider the code to be alpha quality (some changes I've omitted until I have the unit tests edited)
- There may be minor PEAR CS issues - though nothing huge. The code followed a slightly different standard over brace-positions when it was written originally.

Some better notes:
- Will implement Yadis 1.0 in full
- API is relatively simple since it's a tightly controlled protocol with few options to flex around
- Is a significant chunk of the puzzle for OpenID 2.0 support

Yadis isn't a well known protocol. See the in-line example in Yadis.php for its simple usage however. If you don't have an OpenID, the example URI is actually mine and in use, so feel free to use it.

Source code will be revised as soon as possible to hammer out any issues with the packages current operation.

References:

Yadis Specification 1.0
» Dependencies » Links
  • HTTP_Request
  • Validate
» Timeline » Changelog
  • First Draft: 2007-07-12
  • Proposal: 2007-07-12
  • Call for Votes: 2007-07-19
  • Pádraic Brady
    [2007-07-13 11:28 UTC]

    Updated Package file to Services_Yadis-0.1.0a2.tgz based on current Subversion export with changes committed based on comment from Christian Schmidt.