Further on content_revision approach, it would required to create its datamodel together with:
select content_type__create_type (...)
select content_folder__register_content_type(...);
Then on tcl procs level to add a new rate as well its revisions there will require to use a few methods such as
content::item::new
set revision_id [cr_import_content...]
item::publish -item_id $item_id -revision_id $revision_id
Assuming, a rate is never an actual file, to use cr_revisions doesn't seem to be the correct approach to take.
What's the proper way to storage rates of currencies?