From the posts this week, it seems that I may be the only one on board for
the multiple sites in one database concept, so I'll table that discussion a
little while. Anyway, even with my concept, there are still occassions
where you will want two organizations to interchange data, whether or not
they're in the same database or even the same server; this is where XML-RPC
comes into play. http://www.xml-rpc.org
Let's suppose I have (4) 25,000 member organizations (state universities
without central control). Furthermore, two universities have separate LDAP
authentication and the other two use a database (one MySQL and one
Postgres). The physics professors from all four universities meet at a
conference and decide that they will try to produce Cold Fusion again (the
nuclear kind). Since Appalacian State's physics department is the most
prominant, they will "host" this _collaboration_. How will UC-Berkley,
Georgia Tech and MIT professors be able to login and post on App State's
Cold Fusion site? Enter XML-RPC.
Jeremy will create an associate member account (or whatever we decide to
call it) for Dr. John Smith at MIT on App State's site (let's assume App
State uses a MySQL member database). Wait, there are already two Dr. John
Smiths at AppState already with usernames john_smith and john_smith2. Dr.
Smith at MIT uses john_smith as his login. This special "associate" account
will have username john_smith_mit, BUT MIT's Dr. Smith won't have to know
that because he'll log in as john_smith from mit.edu. App State's phpWS
will send a XML-RPC request to MIT asking for Dr. Smith's md5 password hash
(this is for security purposes). This will only Authenticate Dr. Smith,
assuming his password matches and his account is not disabled at MIT. Upon
authentication, App State's permissions apply exclusive of any permissions
he had at MIT. This separates the Authentication and Permission phases for
MIT's Dr. Smith.
By creating modules (which I like much better than plug-ins BTW) that
support XML-RPC, separate phpWebSite installations can share and transfer
data like the example I gave above. If Dr. Smith's password changes at MIT,
then it's effectively changed at App State. Inter-university calendars
could be done this way too. Similar systems exist to request the latest
headlines form Slashdot and Freshmeat.
Take a look at this XML syndication example if your browser can handle it.
http://www.bsdtoday.com/backend/bt.rdf
--Todd
|