This document describes how to install Robin, and it provides use-cases where the tool can be helpful. Robin helps research teams to conduct literature mapping, which is important part of research methodology. Research team members can use Robin to collectively conduct a literature mapping study by create dependent and independent publication lists. This document is consist of the following sections:
Robin is written in Python (Django), and can be installed using the following steps:
- Virtual Environment Setup and Package Installation
- Migrating (Creating) the Database
- Creating Admin User
- Starting Robin server
- Optional features
We recommend using a Python virtual environment, which can be used as the source of packages required for this project. To create the virtual environment, first make sure that python-dev is installed.
On Linux
sudo apt-get update
sudo apt-get install python3 python3-dev python3-venvOn Windows
pip install virtualenvIf above command throws an error, then it means the pip is not installed, and it needs to be downloaded from the official website https://docs.python.org/3/installing/index.html#basic-usage
After installation of venv the following command on both Linux and Windows can be used to start a virtual environment.
python3 -m venv envIf faced an issue while creating the virtual environment, refer to https://docs.python.org/3/library/venv.html.
If the environment is correctly created, it needs to be activated.
On Linux use:
source env/bin/activateOn Windows use:
env\Scripts\activateAfter activating the virtual environment, the command line should look like this:
(env) /path_to_robin/Now, to install the packages (list of packages is in requirments.txt), use pip in the virtual environment.
pip install -r requirements.txtThe next step is to start a database instance (which in this case is SQLite). To do so, use the following command while being on the robin folder:
cd interface
python manage.py migrateFrom this point, all the given commands will need to be done while in interface folder. To check if there is any issue with the project, run the following command
python manage.py checkIf no issues were reported, proceed and create a super-user. A super-user is an admin with all privileges. To create such user, run the following command and enter requested information.
python manage.py createsuperuserNow, it is time to run the server. To start the server, run the following command in the interface folder:
python manage.py runserverNow open http://127.0.0.1:8000/, where the Robin app should be accessible (as shown in the following screenshot).
To open the administration of the tool, go to http://127.0.0.1:8000/admin.
In order to enable login via GitHub, two main steps should be taken.
-
Create an OAuth app on GitHub, which can be done using https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app
-
Create a social account on Robin. If the local server is running, simply login to admin section for social accounts (http://127.0.0.1:8000/admin/socialaccount/socialapp/add/) and enter the following details:
provider: "github",
name: "github",
client_id: "<client id from github app>",
secret: "<secret key from the github app>",
sites: "<choose the site from the list, usually example.com>",
Once saved, the other users should be able to login using GitHub account. To use it as another use, try a session on browser, or logout from the admin panel.
Robin allows importing publications using a search query in the IEEE Xplore database.
The IEEE Xplore database is accessed through API. To get an API access please check https://developer.ieee.org/. It might take over a week to activate the key. Once the key is active, the following information must be added by the admin using this link: http://127.0.0.1:8000/admin/query/queryplatform/add/
key: <IEEE API KEY>,
source: IEEEXplore,
params: """
{
"params:{
"querytext": %query%,
"open_access": "True",
"format": "json",
"apikey": %key%,
"max_records": %max_results%
}
}
""",
url: http://ieeexploreapi.ieee.org/api/v1/search/articles,
help_link: https://developer.ieee.org/docs/read/IEEE_Xplore_Metadata_API_Overview,
Please note that even with APIs activated, searching is monitored and if the API keys are abused they will be banned by the providers.
Robin allows importing publications using a search query in the Scopus database.
The Scopus database is accessed through API. To get an API access please check https://dev.elsevier.com/. The activation is immediate. Once the key is active, the following information must be added by the admin using this link: http://127.0.0.1:8000/admin/query/queryplatform/add/
key: <SCOPUS KEY>,
source: Scopus,
params: """
{
"headers":{
"Accept": "application/json",
"X-ELS-APIKey": %key%
},
"params": {
"start":0,
"count":%max_results%,
"query": %query%
}
}""",
url: https://api.elsevier.com/content/search/scopus,
help_link: "https://dev.elsevier.com/sc_search_tips.html,
Please note that even with APIs activated, searching is monitored and if the API keys are abused they will be banned by the providers.
