I need to manage a library of government policy documents (PDF/DOCs and metadata) such that, for a given document, a user can change any of its fields (including attached files and the title) over several edits, then mark it as a new "revision" (with values from all past revisions stored permanently).
Only admins will see/edit this data in Drupal: another PHP framework will query Drupal's DB directly for the revisions data (the simpler the data model the better).
With those considerations, how should I set up revisioning for collecting/straightforwardly querying this data? I can see a few options:
- Built-in revisions on a single "Document" content type.
- A "Revision" content type with a required node reference field that must point to a parent "Document" content type.
- A dedicated module for managing revisions.
Any wisdom offered here would be appreciated.