Skip to content

Commit 157c9e4

Browse files
committed
Merge remote-tracking branch 'upstream/master' into dockerized-rstudio
2 parents 92908a0 + eddcd13 commit 157c9e4

File tree

16 files changed

+157
-316
lines changed

16 files changed

+157
-316
lines changed

.docker.test.env

Lines changed: 0 additions & 26 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ server/workers/tests/testutils/
3333
local_dev/renv/*
3434
local_dev/dev.env
3535
local_dev/paper_preview
36+
.docker.test.env
3637

3738
# php files
3839
/server/classes/headstart/vendor

README.md

Lines changed: 17 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Head Start
22

3-
Head Start is a web-based knowledge mapping software intended to give researchers a head start on their literature review (hence the name). It comes with a powerful backend that is is capable of automatically producing knowledge maps from a variety of data, including text, metadata and references.
3+
Head Start is a web-based knowledge mapping software intended to give anyone a head start on their literature search (hence the name). It comes with a scalable backend that is capable of automatically producing knowledge maps from a variety of data sources.
44

55
![Head Start](headstart.png)
66

@@ -9,7 +9,7 @@ Head Start is a web-based knowledge mapping software intended to give researcher
99
### Client
1010
To get started, clone this repository. Next, duplicate the file `config.example.js` in the root folder and rename it to `config.js`.
1111

12-
Make sure to have installed `node` version >= 14.18.1 and `npm` version >=8.1.1 (best way to install is with [nvm](https://github.com/nvm-sh/nvm), `nvm install 14.18.1`) and run the following command to install the Headstart dependencies:
12+
Make sure to have installed `node` version >= 18.20.0 and `npm` version >=10.7.0 (best way to install is with [nvm](https://github.com/nvm-sh/nvm), `nvm install 18.20.0`) and run the following command to install the Headstart dependencies:
1313

1414
npm install
1515

@@ -19,119 +19,47 @@ We use [webpack](https://webpack.github.io/) to build our client-side applicatio
1919

2020
The browser will automatically open a new window with the example.
2121

22-
You can run also different examples
23-
24-
- `npm run example:pubmed` will run the PubMed example
25-
- `npm run example:triple` will run the GoTriple example
26-
- `npm run example:viper` will run the Viper example
27-
- `npm run example:covis` will run the CoVis example
28-
29-
If everything has worked out, you should see the example visualization.
30-
31-
To run Headstart on a different server (e.g. Apache), you need to set the publicPath in `config.js` to the URL of the `dist` directory:
32-
* Dev: specify the full path including protocol, e.g. `http://localhost/headstart/dist`
33-
* Production: specify the full path excluding protocol, e.g. `//example.org/headstart/dist`
34-
35-
Then build it with the command `npm run prod`. The build will appear in the _dist/_ folder in the root directory.
36-
37-
You can also set the `skin` property in the config to one of the following values to use the
38-
particular data integration skin:
39-
40-
- `"covis"`
41-
- `"triple"`
42-
- `"viper"`
43-
44-
or leave it empty (`""`) for the default project website skin.
45-
46-
See [client configuration](doc/README.md) for details on adapting the client.
47-
48-
Also see visualization [options](doc/README.md#visualisation-settings).
49-
50-
### Server
51-
52-
See [Installing and configuring the server](doc/server_config.md) for instructions on how to install and configure the server. Also, see [HOWTO: Get the search repos example to work](doc/howto_search_repos.md).
53-
54-
Make sure to have installed `node` version >= 14.18.1 and `npm` version >=8.1.1 (best way to install is with [nvm](https://github.com/nvm-sh/nvm), `nvm install 14.18.1`) and run the following two commands to build the Headstart client:
55-
56-
npm install
57-
npm run dev
58-
59-
We are using [webpack](https://webpack.github.io/) to build our client-side application. `webpack` is started in *watch mode* which means that changes to files are tracked and the created `headstart.js` is automatically updated.
60-
61-
Now you can run a local dev server:
62-
63-
npm start
64-
65-
Note: you can also set the skin in this step as an argument to the `npm start` command (e.g. `npm start -- --env skin=triple`).
66-
67-
The browser will automatically open a new window with the example specified by the skin.
68-
69-
Alternatively, you can point your browser to one of the following addresses:
70-
71-
http://localhost:8080/project_website/base.html
72-
http://localhost:8080/project_website/pubmed.html
73-
http://localhost:8080/local_covis/
74-
http://localhost:8080/local_triple/map.html
75-
http://localhost:8080/local_triple/stream.html
76-
http://localhost:8080/local_viper/
22+
You can run also run the PubMed example using `npm run example:pubmed`
7723

7824
If everything has worked out, you should see the example visualization.
7925

80-
To run Headstart on a different server (e.g. Apache), you need to set the publicPath in `config.js` to the URL of the `dist` directory:
81-
* Dev: specify the full path including protocol, e.g. `http://localhost/headstart/dist`
82-
* Production: specify the full path excluding protocol, e.g. `//example.org/headstart/dist`
83-
84-
8526
## Contributors
8627

87-
Maintainer: [Peter Kraker](https://github.com/pkraker) ([pkraker@openknowledgemaps.org](mailto:pkraker@openknowledgemaps.org))
88-
89-
Authors: [Maxi Schramm](https://github.com/tanteuschi), [Christopher Kittel](https://github.com/chreman), [Jan Konstant](https://github.com/konstiman), [Asura Enkhbayar](https://github.com/Bubblbu), [Scott Chamberlain](https://github.com/sckott), [Rainer Bachleitner](https://github.com/rbachleitner), [Yael Stein](https://github.com/jaels), [Thomas Arrow](https://github.com/tarrow), [Mike Skaug](https://github.com/mikeskaug), [Philipp Weissensteiner](https://github.com/wpp), and the [Open Knowledge Maps team](http://openknowledgemaps.org/team)
90-
91-
92-
## Features
93-
94-
* Interactive, web-based knowledge maps based on [D3.js](https://d3js.org), following Shneiderman's principle of "overview first, zoom and filter, then details-on-demand"
95-
* Synchronized list representation of documents complementing the knowledge map
96-
* Integrated PDF viewer and annotation tool, courtesy of [Hypothes.is](https://hypothes.is)
97-
* Powerful server component written in PHP and R for the creation of knowledge maps, including algorithms for clustering, ordination and labelling
98-
* Connectors to a number of academic search engines through [rOpenSci](https://ropensci.org), including [BASE](https://base-search.net), [PubMed](https://www.ncbi.nlm.nih.gov/pubmed), [PLOS](https://plos.org) and [DOAJ](https://doaj.org)
99-
* Persistence and versioning system based on SQLite
28+
Maintainer: [Christopher Kittel](https://github.com/chreman) ([christopher.kittel@openknowledgemaps.org](mailto:christopher.kittel@openknowledgemaps.org)), [Maxi Schramm](https://github.com/tanteuschi) ([maxi@openknowledgemaps.org](mailto:maxi@openknowledgemaps.org)), and [Peter Kraker](https://github.com/pkraker) ([pkraker@openknowledgemaps.org](mailto:pkraker@openknowledgemaps.org))
10029

30+
Authors: [Thomas Arrow](https://github.com/tarrow), [Andrei Shket](https://github.com/andreishket), [Sergey Krutilin](https://github.com/modsen-hedgehog), [Alexandra Shubenko](https://github.com/vrednyydragon), [Jan Konstant](https://github.com/konstiman), [Asura Enkhbayar](https://github.com/Bubblbu), [Scott Chamberlain](https://github.com/sckott), [Rainer Bachleitner](https://github.com/rbachleitner), [Yael Stein](https://github.com/jaels), [Mike Skaug](https://github.com/mikeskaug), [Philipp Weissensteiner](https://github.com/wpp), and the [Open Knowledge Maps team](http://openknowledgemaps.org/team)
10131

10232
## Showcases
10333

104-
* [Open Knowledge Maps](https://openknowledgemaps.org/): Creates a visualization on the fly based on a user's search in either BASE or PubMed.
105-
* [VIPER - The Visual Project Explorer](https://openknowledgemaps.org/viper/): Provides overviews of research projects indexed by OpenAIRE.
106-
* [CRIS Vis](https://ois.lbg.ac.at/en/cris-I-research-questions): Enables the exploration of crowd-sourced research questions related to mental health.
107-
* [Overview of Educational Technology](https://openknowledgemaps.org/educational-technology): A working prototype for the field of educational technology based on co-readership.
108-
* [OpenUP Dissemination Toolbox](https://www.openuphub.eu/tools): A prototype showcasing an overview of innovative dissemination case studies.
109-
* [Conference Navigator 3](http://halley.exp.sis.pitt.edu/cn3/visualization.php?conferenceID=131) [registration required]: An adaptation of Head Start for the conference scheduling system CN3. This version enables users to schedule papers directly from the visualization. Scheduled papers and recommended papers are highlighted.
34+
* [Open Knowledge Maps Search](https://openknowledgemaps.org/): Creates a visualisation on the fly based on a user's search in either BASE or PubMed.
35+
* [OKMaps Custom Services](https://openknowledgemaps.org/custom): Enable third parties to embed customisable search components and visualisations.
36+
* [VisConnect](https://openknowledgemaps.org/visconnect): Provides an interactive visual profile of a researcher’s work.
11037

111-
## Compatibility
38+
## Browser compatibility
11239

113-
The visualization has been successfully tested with Chrome, Firefox, Safari and Microsoft Edge. Unfortunately, Internet Explorer is not supported due to the fact that it is not possible to insert HTML into a foreignObject.
40+
The frontend has been successfully tested with Chrome, Firefox, Safari and Microsoft Edge. Unfortunately, Internet Explorer is not supported due to the fact that it is not possible to insert HTML into a foreignObject.
11441

11542
## Background
11643

11744
More information can be found in the following papers:
11845

46+
Kraker, P., Beardmore, L., Hemila, M., Johann, D., Kaczmirek, L. & Schubert, C. (2024). [Partizipative Modelle im Zusammenspiel von Bibliotheken und KI-Systemen: Drei Fallstudien zur Integration der visuellen Recherche-Plattform Open Knowledge Maps](https://www.b-i-t-online.de/heft/2024-04-fachbeitrag-kraker.pdf). B.I.T. Online, 27(4), 327-335.
47+
48+
Kraker, P., Goyal, G., Schramm, M., Akin, J., & Kittel, C. (2021). [CoVis: A curated, collaborative & visual knowledge base for COVID-19 research](https://doi.org/10.5281/zenodo.4586079). Zenodo. doi: 10.5281/zenodo.4586079
49+
11950
Kraker, P., Schramm, M., Kittel, C., Chamberlain, S., & Arrow, T. (2018). [VIPER: The Visual Project Explorer](https://zenodo.org/record/1248119). Zenodo. doi:10.5281/zenodo.2587129
12051

12152
Kraker, P., Kittel, C., & Enkhbayar, A. (2016). [Open Knowledge Maps: Creating a Visual Interface to the World’s Scientific Knowledge Based on Natural Language Processing](https://doi.org/10.12685/027.7-4-2-157). 027.7 Journal for Library Culture, 4(2), 98–103. doi:10.12685/027.7-4-2-157
12253

12354
Kraker, P., Schlögl, C. , Jack, K. & Lindstaedt, S. (2015). [Visualization of Co-Readership Patterns from an Online Reference Management System](http://arxiv.org/abs/1409.0348). Journal of Informetrics, 9(1), 169–182. doi:10.1016/j.joi.2014.12.003
12455

125-
Kraker, P., Weißensteiner, P., & Brusilovsky, P. (2014). [Altmetrics-based Visualizations Depicting the Evolution of a Knowledge Domain](http://know-center.tugraz.at/download_extern/papers/sti_visualization_evolution_kraker_etal.pdf). In 19th International Conference on Science and Technology Indicators (pp. 330–333).
126-
12756
Kraker, P., Körner, C., Jack, K., & Granitzer, M. (2012). [Harnessing User Library Statistics for Research Evaluation and Knowledge Domain Visualization](http://know-center.tugraz.at/download_extern/papers/user_library_statistics.pdf). Proceedings of the 21st International Conference Companion on World Wide Web (pp. 1017–1024). Lyon: ACM. doi:10.1145/2187980.2188236
12857

12958

13059
## License
13160
Head Start is licensed under [MIT](LICENSE).
13261

62+
## Funding
63+
<img src="https://raw.githubusercontent.com/OpenKnowledgeMaps/CoVis/master/img/EU-flag_small-270x183.png" width="60">
13364

134-
## Citation
135-
If you use Head Start in your research, please cite it as follows:
136-
137-
Peter Kraker, Christopher Kittel, Maxi Schramm, Jan Konstant, Rainer Bachleitner, Thomas Arrow, Scott Chamberlain, Asura Enkhbayar, Yael Stein, Philipp Weissensteiner, Mike Skaug, Katrin Leinweber & Open Knowledge Maps team and contributors. (2019, March 7). Headstart 5 (Version v5). Zenodo. http://doi.org/10.5281/zenodo.2587129
65+
This project has received funding from the European Union's Horizon 2020 and Horizon Europe research and innovation programmes, under grant agreement nos. 831644, 863420, and 101129751.

docker-compose.yml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
services:
2-
32
db:
4-
image: 'postgres:12.2-alpine'
3+
image: "postgres:12.2-alpine"
54
hostname: "${POSTGRES_HOSTNAME}"
65
restart: unless-stopped
76
environment:
87
POSTGRES_USER: "${POSTGRES_USER}"
98
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
10-
command: postgres -c config_file=/etc/postgresql.conf -c hba_file=/etc/pg_hba.conf
9+
command:
10+
postgres -c config_file=/etc/postgresql.conf -c hba_file=/etc/pg_hba.conf
1111
volumes:
1212
- db_data:/var/lib/postgresql/data
1313
- ./local_dev/pg_hba.conf:/etc/pg_hba.conf
@@ -16,18 +16,26 @@ services:
1616
- headstart
1717

1818
redis:
19-
image: 'redis:6.0-alpine'
19+
image: "redis:6.0-alpine"
2020
restart: unless-stopped
2121
hostname: "${REDIS_HOST}"
2222
environment:
2323
REDIS_HOST: "${REDIS_HOST}"
2424
REDIS_PORT: "${REDIS_PORT}"
25-
command: ["redis-server", "/etc/redis/redis.conf", "--bind", "${REDIS_HOST}", "--port", "${REDIS_PORT}"]
25+
command:
26+
[
27+
"redis-server",
28+
"/etc/redis/redis.conf",
29+
"--bind",
30+
"${REDIS_HOST}",
31+
"--port",
32+
"${REDIS_PORT}",
33+
]
2634
volumes:
27-
- 'redis:/var/lib/redis/data'
28-
- ./local_dev/redis.conf:/etc/redis/redis.conf
35+
- "redis:/var/lib/redis/data"
36+
- ./local_dev/redis.conf:/etc/redis/redis.conf
2937
ports:
30-
- "127.0.0.1:${REDIS_PORT}:${REDIS_PORT}"
38+
- "127.0.0.1:${REDIS_PORT}:${REDIS_PORT}"
3139
networks:
3240
- headstart
3341

@@ -80,6 +88,7 @@ services:
8088
- ./server/workers/persistence/src:/api
8189
depends_on:
8290
- redis
91+
- db
8392
networks:
8493
- headstart
8594

@@ -236,6 +245,8 @@ services:
236245
LANG: "en_US.UTF-8"
237246
RENV_PATHS_CACHE: /renv/cache
238247
PYTHONIOENCODING: "utf-8"
248+
R_ALTMETRIC_APIKEY: "${R_ALTMETRIC_APIKEY}"
249+
R_CROSSREF_APIMAIL: "${R_CROSSREF_APIMAIL}"
239250
restart: unless-stopped
240251
volumes:
241252
- ./local_dev/renv/cache:/renv/cache
@@ -262,7 +273,6 @@ services:
262273
networks:
263274
- headstart
264275

265-
266276
volumes:
267277
redis:
268278
db_data:

headstart.png

-100 KB
Loading

local_dev/dev.env

Lines changed: 0 additions & 24 deletions
This file was deleted.

local_dev/searchflow-container/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ RUN a2enmod rewrite
77
RUN apt-get update && apt-get install -y \
88
curl libsqlite3-dev libonig-dev libxml2-dev \
99
libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \
10-
libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf-2.0-0 \
10+
libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf-2.0-0 \
1111
libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \
1212
libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \
1313
libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \
14-
fonts-liberation libappindicator3-1 libnss3 lsb-release xdg-utils wget
14+
fonts-liberation libnss3 lsb-release xdg-utils wget
1515

1616
RUN docker-php-ext-install pdo pdo_sqlite mbstring xml fileinfo
1717

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"author":null,"documents":"[]"}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"endpoint": "http://127.0.0.1:8081/dev/persistence/createVisualization/dev",
3+
"visualizations": [
4+
{
5+
"vis_id": "81abae6d3af6e47761e2a761a47c2c11",
6+
"vis_title": "base",
7+
"vis_clean_query": "digital education",
8+
"vis_query": "digital education",
9+
"vis_params": "{\"from\":\"1665-01-01\",\"to\":\"2025-12-03\",\"document_types\":[\"121\"],\"sorting\":\"most-relevant\",\"min_descsize\":\"300\",\"lang_id\":[\"all-lang\"]}",
10+
"data_file": "81abae6d3af6e47761e2a761a47c2c11.json"
11+
}
12+
]
13+
}
14+
15+

local_dev/tools/db-insertion/OpenAIRE/9d4dc6b920d1e2cc08a741f7c56821db.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)