[development] SoC: Multi-site administration through rich XUL client

Ben Francis lists at hippygeek.co.uk
Wed May 24 10:27:37 UTC 2006


Hi all,

Unfortunately, despite a huge amount of effort on my application and
lots of encouragement from the community (thank you), I didn't get
accepted for the Google Summer of Code this year. The odds were against me.

If anyone is interested I can move the content of my wiki page
(http://ideas.hippygeek.co.uk/wiki/DrupalAdminClient) to somewhere
useful on the Drupal site if there's anywhere useful for it to go.
That's probably only relevent if there isn't another student taking up
this project though because they probably have their own take on it :)

Hopefully I can still find time to do some work on Drupal this summer,
I've got an idea for an admin module which can register domain names and
create drupal sites automatically from a single install. But
unfortunately my main priority will be earning some cash.



I just have a suggestion about the remote admin API for the XUL client.
It seems to me that a content management system lends itself very well
to a RESTful API. Each node could be a resource which you can GET, PUT
or POST to.

For a crude example, for the Multi-site user approval use case, there
could be a
* [HTTP GET] http://example.com/user/?enabled=0
to get a list of disabled users
and a
* [HTTP PUT] http://example.com/user/2
to update the enabled status of user 2 for example.

To disable a module for security reasons, you could do a PUT to update
its enabled status.
*[HTTP PUT] http://example.com/admin/module/1

To view the logs on a website you could GET like this:
* [HTTP GET] http://example.com/admin/logs

You get the idea. The only problem with this approach is that I suspect
it could be quite difficult because it would require modifications to
lots of modules, correct me if I'm wrong. For this reason it may be
easier to develop a procedural based API like XML_RPC, or send a
function with a simple POST like Daniel suggested:

  $_POST['json'] =
  '{"function":"login","parameters":{"name":"foo","password":"bar"}}';

Cheers

--
Ben "tola" Francis
http://hippygeek.co.uk


More information about the development mailing list