Whilst you have to explicitly declare to Alfresco that you want a file to be versioned, I believe that Alfresco does this anyway in some respects. i.e.
1) User uploads new file. 2) File saved to contentstore directory in a date ordered directory structure with a unique UUID. 3) Alfresco connects the file pointer to the location of the file on the filesystem. 4) User opens and saves the file 5) Alfresco saves a new copy of the file and updates the file pointer to the new version. Old version remains in original location.
My question is, is there anyway to tell where all the previous versions of a file are located when the versioning hasn't been turned on explicitly. I've looked at the database structure and can't seem to find any information on this.
I think you have some misunderstanding related to this step 5) Alfresco saves a new copy of the file and updates the file pointer to the new version. Old version remains in original location.
Alfresco update the same file. if you have not enabled versioning you can not keep track of older versions.
Thanks for responding. My testing with fresh files shows that what you say is not the case. If you try it yourself, and use Explorer to look at the Node Reference, you'll see that it changes with each save.
One thing is the Repository node uuid that is not changed when a new version is uploaded, and the other thing is the reference than alfresco mantains to access the content in the physical content store.
Older versions are not stored in any place. In fact, I think that there is a cron in charge of after a time deleting those orphan content nodes.
You are correct that your un-versioned content remains for some time after a new version has been uploaded. However there is no reference to it. Furthermore after content has been orphaned the content store cleaner will move it into the deleted folder as a last step before the file being deleted.