Skip to content

Commit d9d9b9b

Browse files
committed
Merge remote-tracking branch 'origin/master' into feat/geomap-accessibility-improvements
2 parents f21373a + 2d4ac95 commit d9d9b9b

30 files changed

Lines changed: 218 additions & 323 deletions

.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: 17 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

@@ -264,7 +273,6 @@ services:
264273
networks:
265274
- headstart
266275

267-
268276
volumes:
269277
redis:
270278
db_data:

examples/public/main_integration/css/main.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2075,6 +2075,7 @@ a.donation-button:hover, a.donation-button:active, a.donation-button:focus {
20752075

20762076
#error-remedy_list li {
20772077
list-style: disc;
2078+
margin-bottom: 10px;
20782079
}
20792080

20802081
#error-remedy_list {

headstart.png

-100 KB
Loading
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.
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": "9d4dc6b920d1e2cc08a741f7c56821db",
6+
"vis_title": "openaire",
7+
"vis_clean_query": "DP0878177",
8+
"vis_query": "DP0878177",
9+
"vis_params": "{\"project_id\":\"DP0878177\",\"funder\":\"ARC\",\"acronym\":\"\",\"title\":\"Understanding the impact of global environmental change on Australian forests and woodlands using rainforest boundaries and Callitris growth as bio-indicators\",\"start_date\":\"2008-01-01\",\"end_date\":\"2011-12-31\",\"special_clause\":\"false\",\"oa_mandate\":\"false\",\"organisations\":[],\"openaire_link\":\"http:\\/\\/purl.org\\/au-research\\/grants\\/arc\\/DP0878177\",\"obj_id\":\"arc_________::fe52f7d04f4139c2c80b4144c294f12d\",\"call_id\":\"\",\"funding_tree\":[null,null,\"Discovery Projects\"]}",
10+
"data_file": "9d4dc6b920d1e2cc08a741f7c56821db.json"
11+
}
12+
]
13+
}
14+
15+

0 commit comments

Comments
 (0)