I have been thinking about this for a while for the CodeX site at
Xerox. My view of it is that each service should export aq subset of
its API through a mechanism of some sort. Of course SOAP immediately
comes to mind but there may be other ways... then the command line
stuff can be simply built on top the SOAP API.
From a corporate standpoint the ability of a GF-like platform to be
scriptable is key to integrate it with the existing project
development processes in place and/or legacy applications.
A few thoughts on the manner.
It might be possible to write a simple shell script or a perl program
which takes a command like
gforge address@hidden login
and turn it into
curl
http://localhost/gforge/cli_api.php?action=login&userid=someuser&password=somepassword
in fact if you wanted to be more generic you could do this
curl
http://localhost/gforge/cli_api.php?action=login¶m1=someuser¶m2=somepassword
At this point the php page could hand back some session ID which would
have the user info, and a datetime stamp in it (so it expires) and the
client could keep passing this sessionid back to the php page on each
invocation.
I believe this would be the absolute "simplest thing that could possibly
work".
You can even then use the same API and register it with a SOAP server
thereby killing two birds with one stone.