cancel
Showing results for 
Search instead for 
Did you mean: 

versioning implementation

ra74
Champ in-the-making
Champ in-the-making
I'm wondering if it's possible that someone from the alfresco team could describe how versioning in implemented in the alfresco 2.1 from the database point of view. I want to compact our database and
I'm thinking of deleting old history of the nodes. I prefer to do it directly by sql scripts so I can move the rows somewhere and keep them as a backup. I do not want to change/reset versionLabels and I hope that upgrade in the future will be possible
I found that versioned data are stored in alf_node, alf_child_assoc and alf_node_properties but it's not easy to understand how it's working. Usually it's not a problem but this database is too generic
I've even attached spy jdbc driver but hey there're about 300-500 statements generated during creating new version of a node
I can see that deleting specific version from the java code is not supported in 2.1 either. I don't know was it too difficult ?
2 REPLIES 2

tim-erwin
Champ in-the-making
Champ in-the-making
Hi ra74,

you should investigate the structure of the version store in the node browser first. That gives a good hint how the database is organized. Before making even trivial changes you should back up your database… bad experiences Smiley Sad

VersionHistory is - as far as I know - a more conceptual than a technical thing. Simply the accumulation of the versions which is not stored explicitly.

Good Luck,
Tim

ra74
Champ in-the-making
Champ in-the-making
I've analysed the source code and now I understand how it's working and I belive I can delete old history of the node except a few last history entries
But I'm not sure if it's safe
- what about content files - will they be deleted by the cleaner job ?
- what about lucene indexer - are they indexed at all ?
- what about upgrades in the future