| Intro | Overview | Wiki | Downloads | BerliOS | |
|---|---|---|---|---|---|
| Distributed user profiles. More freedom to users. More users for individual web sites. | ![]() |
||||
XUP is an attempt to replace static per-site user accounts, which most present dynamic web sites use in absence of an easy to use and open/shared user account system. It allows people to use a single account or profile with many sites, or one of their existing user profiles on multiple other web sites.
It is best suited to so called "community" sites, where the account serves mainly for lax identification of people among each other. It does not stipulate strong authentication (while OpenID or LID can be used) and is therefore only useful for applications with mediocre security and privacy demands. Chat and discussion sites are the main target, but profiles in different applications can often also be enriched with them. They are meant to get used secondarily (as alternative) to static/local user accounts.
The XML format of
user profiles is extremely simple, as is the associated login service
API. Both are
outlined and explained in the
introduction (HTML).
The format is basically an XMLified vCard with a few additions
targetted at online/web communities. It is easy to parse and generate
and therefore also suitable for profile exchange or import.
There's also a more authoritative
RFC-style text version of
the current proposal, which provides further hints and explanations for
implementors. Future extensions will get
listed in the project Wiki however (field
names in the XUP format are not regulated).
This effort is quite new, and therefore only very few actual (real-world) implementations are known so far.
Some software, like discussion boards (which mostly suffer from spaghetti code), are of course hard to extent with XML User Profiles. Even those that abstract their internal user database and UI logic reasonably well can often be difficult to adapt. It is however expected that the more professional systems will sooner than later be XUP compatible.
To foster adoption, a small collection of sample implementations and code libraries (currently in PHP) are of course prepared. Refer to the download section.
You might wish to try the sample XUP generator or create a temporary/testing user profile with this examplary all-in-one XProfile service and toy with the login-test (all available for download).
Obviously the specification is anything but frozen. Please feel invited to discuss implementation details or recommend changes in the project Wiki.