Tracking Paper Downloads: Database

In my last post I outlined a few thoughts about tracking downloads of papers from the MISTA web site. Of course, the ideas can be used on any web site but I am particularly interested in MISTA at the moment.

I have now started to develop the database, which will be a MySQL  database which will be updated via PHP.

The database design is still very much work in progress but my initial thoughts are to hold the following fields.

The first table is the paper downloads table. This will hold the following:

id: Auto incrementing index just to track the number of downloads.

bibtex: This is the bibtex key of the paper that was requested. In the future I might use the doi (Digital Object Identifier) but bibtex is the best thing for me to uniquely identify apaper at the moment.

whenRequested: This is be a time stamp indicating when the request was received.

whenRetrieved: This is a time stamp indicating when the paper was actually downloaded.

accessCode: This will be a link between when the paper is requested and when it is retrieved. I will talk more about this in a later blog.

givenName: This is the given name of the person requesting the paper. As I said on my previous blog, I may not actually use this.

familyName: This is the family name of the person requesting the paper. As I said on my previous blog, I may not actually use this.

affiliation: This is the affiliation (university or company) of the person requesting the paper. As I said on my previous blog, I may not actually use this.

email: This is the email address of the person requesting the paper. This field will definitely be used.

retrieved: This is a boolean flag, indicating if the paper has been retrieved. I could use the retrieval date for this so I suppose I am breaking at least one the rules for defining a database, but I think a boolean flag is useful. I will outline the use of this flag in a later blog.

 

There will be another table (papers). This will hold three fields:

bibtex: This is a unique identifier (for this table) which links it to the downloads table (above). Again, I could use the doi but, for now, I will use the bibtex key.

title: This is the title of the paper.

timesDownloaded: This will maintain a count of the number of times that the paper has ben downloaded. I could get it from the download table but having it stoed in this paper means that it is much quicker to access.

 

These are my thoughts so far. As I say, very much work in progress and I have no doubts that it will change but, at lest, it’s a start.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *