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.



Tracking Paper Downloads for MISTA

The fifth MISTA conference  ( has just taken place in Arizona. The web site, I think looks pretty good but there is a lot more that I would like to do with it. For example, I should have all the papers available for download and, over the next few months, I am going to put in the effort required to make them all available. I guess that there will be at least 500 of them (including abstracts) which, I believe, is a useful resource for the scheduling community.

But, when I do make them available I would like to do a few things:

  1. I would like to know how many times a paper is being downloaded. This is useful information for the authors as well as for the MISTA organisers.
  2. I would like to collect email addresses as potential conference delegates. I know that people may not like this sort of thing but as long as we are up front about it and, in any case, they are getting the paper for free.

So, for a few days now, I have been sketching out a few ideas as to how I could get this to work. I think I would have the same look/feel as my own publications (see where I list my publications but, for each one, you can go to another page and see all the details about that paper; including being able to download it.

The difference with the MISTA web site would be the fact that when you wanted to download a paper a couple of things would happen. Firstly you would be asked for your email address (and perhaps name and company/institution – but that might be a bit much). It would also say that they would be email’ed about future MISTA conferences and obtaining the paper says that they agree with this.  Once you had entered all the required information, you would be sent an email, with a link in it which would enable you (for one time only) to download the paper.

That’s the idea. Now all I need to do is design the database and write the associated PHP scripts. Oh, and get all the papers in a form that they can be downloaded, which is actually the most time consuming part.

Views welcome.