some sort of service discovery seems a good idea... i'd be happy to write some code
-Federico 2009/1/27 Evan Prodromou <[email protected]> > One thing that's come up recently for API clients is being able to let > users sign up for an account on a public Laconica site. We have quite a few, > and the number is growing. It's not always easy for users to add in the API > root to general-purpose interfaces (like Twitterfeeds), nor is it easy for > client developers to special-case each and every Laconica site in their > software. > > I'd like to propose a mechanism that would let client developers find > public Laconica sites that their users can register on or log into an > existing account. > > The API would be rooted at dir.laconi.ca. It would be Twitter-like (RESTy, > JSON and XML supported), with the following API elements: > > 1. http://dir.laconi.ca/providers.[xml|json] would be a full list of > all providers. It would support a "since" parameter to only show providers > listed more recently than some date. > 2. http://dir.laconi.ca/providers/<provider-id>.[xml|json] would give > data on a single provider. > 3. http://dir.laconi.ca/providers/<provider-nickname>.[xml|json] would > give data on a single provider. > 4. http://dir.laconi.ca/providers/search.[xml|json]?q=<search term> > would return a list of providers whose full name, nickname, or description > contains <search term> as a substring. This might be useful for type-ahead > directory interfaces. It would also take an hl=[code] parameter to limit > results to descriptions or names in a particular language. > > Updating profile information would be out-of-band; we'd probably have a Web > UI for site admins to keep this data up-to-date. > > Each provider is described by a data structure as follows: > > - ID - a unique numerical ID. Example: 3, 35015. > - nickname - a unique nickname, lowercase ASCII alphanum, 1-64 chars. > Example: "identica", "bleeper", "twitarmy". > - fullname - a more descriptive name, UTF-8, up to 255 chars. Example: > "Identi.ca", "Twit Army Canteen", "Saigonica". > - minilogo - URL of a logo image, 24x24 pixels > - streamlogo - URL of a logo image, 48x48 pixels > - profilelogo - URL of a logo image, 96x96 pixels > - rooturl - root URL, like "http://bleeper.de/" <http://bleeper.de/> > - registrationurl - URL for a registration page, optional > - apirooturl - URL for the Twitter-like API root, like > "http://identi.ca/api" <http://identi.ca/api>. > - description - a text description of the provider. Typically 1-3 > sentences. > > "fullname" and "description" could have multiple values, varying by human > language. For the XML representation, we'd use xml:lang to differentiate; > I'm not sure what to do for JSON. Something like "description_en", > "description_no"? > > Finally: participation for this directory would be voluntary. It would > initially only contain Laconica sites, but other sites that support the > Twitter API could also be listed in the future. Code for the directory would > be Free Software under a liberal Apache 2.0 license, and the data would be > CC0 (public domain-ish). > > Any ideas or comments? Anyone want to do a fun little piece of work? > > -Evan > > > _______________________________________________ > Laconica-dev mailing list > [email protected] > http://mail.laconi.ca/mailman/listinfo/laconica-dev > >
_______________________________________________ Laconica-dev mailing list [email protected] http://mail.laconi.ca/mailman/listinfo/laconica-dev
