[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] ArXiv-like versioning?



Dear Eprinters,

I would like to implement an arXiv-like versioning system on top of the one built into EPrints. 

I run an archive for a largish Maths department and am migrating it from EPrints 2.3.13 to 3.3.12. We currently have a versioning system that's pretty close to the one that's built into EPrints: 

* Completely new eprints receive a local ID of the form yyyy.nnn where yyyy is the year of submission and nnn is a number that counts up as submissions arrive.

* When a user deposits a new version of an existing eprint, the two verisons share a common local ID and, behind the scenes, we use EPrints' "succeeds" field to record the chain of versions.

In our new, upgraded archive I would like to arrange things so that:

* There are URLs that take the punter directly to the most recent version of an eprint. I'd thought of something based on our own-brand IDs

	http://www.myarchive/yyyy.nnn/
	
* One can still reach older versions of an sprint with a conventional EPrints URL such as  http://www.myarchive/1234/

One way to arrange this would be to start from 

	/opt/eprints3/archives/archiveID/cfg/cfg.d/rewrite_url_demo.pl  
	
and write something to catch the new URLs and redirect them. But this seems to subvert the function of static abstract pages: I'd need to hit the database to chase down the version chain and find the most recent version. Ideally I'd like to be able to make an additional static page, or perhaps a symbolic link, that points to the most recent abstract page. I can't, however, see how to do this without modifying things in /opt/eprints3/perl_lib and I'd really rather not do that. 

I feel sure there are cleverer ways to accomplish this and I'd be grateful for any suggestions.

Thanks,
Mark