On 15-Jun-06, at 11:16 AM, Khalid B wrote:
Alan -- thanks for this write up. I think the staging/production server issue is one that merits attention. A lot of times, it means we're running without a safety net -- it is too hard to merge (config, content) changes between a dev site and a live site...so lots of people just don't, or do extra work in re-doing the same config steps on a live site.
Boris/Alan
I have had clients ask me on this as well. The idea is to have a production server than no one posts content to directly, and a staging server where content is posted, edited, refined, ..etc. Then a button is clicked to push selected content from the staging to the production.
OK...so for *content only*....you can use John Van Dyk's publish - subscribe modules to do this *today*. They are done for 4.6, and he is working on improvements in the 4.7 line. (well, content and taxonomy terms....)
Perhaps a starting point would be something similar to the Node Import/Export that Jeremy Epstein is writing as part of SoC.
If this is coupled with:
a) an API that modules can use to push/pull their own data along with what core does.
pub - sub doesn't yet have hooks. I have a request to "group enable" pub - sub, so it is OG aware. Haven't scheduled a call with JvD yet, but have talked to Moshe about it.
b) an XML RPC or some other protocol for sending the data from one server to the other.
publish - subscribe
c) Users and roles as well.
pub - sub has filters.
d) all of the above is configurable (push content only, content + comments, users only, user + roles, all the above)
pub-sub has filters. In some ways, the pub - sub filter system is VERY similar to "Views"...and lots of modules are views enabled. So there might be an interesting play here to pub - sub enable Views (I don't think pub - sub should necessarily depend on views...)
If this happens, we can have truly federated servers and other neat things. For example, this can be the solution for sharing of users and roles across sites. If the sites are multi site on the same physical server, or across the globe, it will still work.
Just some thoughts.