Forum OpenACS Q&A: Exporting OACS4.5 Data Objects

Collapse
Posted by defunct defunct on
I'm guessing this is a well understood problem/solution so my apologies if I'm being a bit slow today but...

(Particularly for Postgres),

Is there a common method/approach/tool for exporting subsets of data from one system to another?

As I understand it the problem is related to the use of system wide unique identifiers. Suppose I wanted to export the data in one instance of a bboard application onto another already running system?

How to ensure the acs_object ids aren't duplicated etc?

Has anyone done something along these lines?

Is there a general solution in OACS, and if not should it be addressed?

On a slightly different note, I keep coming back to this issue of a single unique system wide id.. its obviously a neat mechanism and removes a whole layer of issues to do with integration, common permissioning etc..but it also presents some problems, i.e. possibly scaleability and performance, the fact that a single system id is also creating an inherent data structure that spans the entire database, making data difficult to move and so on...

I beleive the workflow package has some facility like this. Given that the ACS itself should be a common toolkit for developing apps, its probably not wise to start introducing 'developed for each package' elements of fairly common functionality.

Any thoughts (or solutions)?

Simon

Collapse
Posted by Don Baccus on
The migration scripts worked up by Musea provide a good example of how to move stuff around.  They build a mapping table containing the old id and new id for a piece of content, slurping out old content and using the appropriate "new()" API call to build the new content.  The mapping table lets you get the between-table references right.

This requires moving stuff in the right order, i.e. moving forums before moving messages in the case of bboard.

As far as the single unique system wide id issue, I don't see why this should of and by itself cause performance problems.