In many institutes the publicationlist is handled manually either by the administrator or by every member of the group. The result is on both cases the same the sites are outdated. These have different reasons publications got lost on the way to the administrator or somebody forgets to insert her work. Furthermore, the publications are usally stored in a database which is potential open for attacks. Since these systems are often some handmade solutions, even the possibility of filtering the data is limited. Thus, finding a relevant publication might be diffcult even if the list is up-to-date.
Therefore, we need a system with these features:
- It updates itself
- It needs no administration
- It is a static site with no DB in the background
- It is interactive and allows filtering of the data.
The largest problem here is clearly point 1. It leads to the question: From where get most recent data?
Fortunately, there is a project called ORCID (https://orcid.org). There Vision is:
"ORCID’s vision is a world where all who participate in research, scholarship, and innovation are uniquely identified and connected to their contributions across disciplines, borders, and time."
These matches perfectly with our aim to collect all data of a group of researcher. So the idea is clear:
- Collect the ORCIDs of your resaracher.
- Collect all publications for the IDs.
We are even more lucky because ORCID has a free public API. Thus, data can be collected automatically.
ORCHID runs a sandbox isntance with this API which comes handy into play for our tutorial.
For this tutorial, there are three fictional ORCIDs in the Sandbox that we use:
- Norbert E. Horn (0000-0002-1909-4153)
- ScaDS_test (0000-0002-0183-570X)
- ScaDS_test2 (0000-0003-0397-7442)
The complete project is written following the object-oriented prgramming paradigm , i.e. is encapsulated into classes. In Python all these classes can be put in one file or can be spread in different packages. In the tutorial, all classes are put into one file. The tutorial is written to work with python 3.6.
An overview of the data flow in the tutorial looks as follows:
The data is hold into four different forms (horizontal lines) and six different states (vertical lines). The data flow is shown by the arrows. In the bottom the corresponding Sections of the tutorial shown.