Skip to content

Commit

Permalink
Merge branch 'develop' into feature/3401_skip_links
Browse files Browse the repository at this point in the history
  • Loading branch information
Steven-Eardley committed Oct 3, 2023
2 parents 6e6233f + 6c9730a commit 2d1c8a6
Show file tree
Hide file tree
Showing 26 changed files with 430 additions and 83 deletions.
File renamed without changes
7 changes: 0 additions & 7 deletions cms/data/ambassadors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,6 @@
photo: "ivonne.jpg"
coi:
2022: https://drive.google.com/file/d/1HnGhYbvbzL34guWOmIqcthcwAN8NADX1/view?usp=sharing

- name: John G. Dove
region: North America
bio: "John has had a career in executive management, and is now an independent consultant and open access advocate who works with organisations seeking to accelerate their transition to open access. He advises both for-profits and non-profits, and has a particular interest in identifying the steps necessary to flip an entire discipline’s scholarly record to open access. His ambassador activities focus on increasing the support to DOAJ from the community. He served for six years on NISO’s <a href='https://www.niso.org/topic-committees/information-discovery-interchange' target='_blank'>Information Discovery and Interchange Topic Committee</a>, and has written for <a href='https://onlinelibrary.wiley.com/doi/10.1002/leap.1086' target='_blank'>Learned Publishing</a>, <a href='https://against-the-grain.com/2011/12/v23-5-atg-interviews-john-g-dove-president-credo-reference/' target='_blank'>Against the Grain</a>, and <a href='https://scholarlykitchen.sspnet.org/2019/11/07/guest-post-transparency-what-can-one-learn-from-a-trove-of-invoices/' target='_blank'>Scholarly Kitchen</a>. John serves on the Board of Trustees of his local public library in Revere, Massachusetts. He has a B.A. in Mathematics from Oberlin College."
photo: "johndove.jpg"
coi:
2022: https://drive.google.com/file/d/1cWijl2xdmVjshsvaGTABOvC_chIIfuVA/view?usp=sharing

- name: Mahmoud Khalifa
region: Middle East and Persian Gulf
Expand Down
18 changes: 9 additions & 9 deletions cms/data/team.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
2022: https://drive.google.com/file/d/1E45ycyctDfYkh65ZCM8PMtQsYym_eP6L/view?usp=sharing

- name: Cenyu Shen
role: Quality Team Lead and Managing Editor
role: Deputy Head of Editorial (Quality)
photo: cenyu.jpg
bio: 'Cenyu holds a PhD in Information Systems Science at Hanken School of Economics in Finland. She has spent around seven years on Open Access research with a particular focus on gold OA publishing concerning journals and publishers outside the mainstream. She was one of three DOAJ ambassadors for China from 2016 to 2017.'
coi:
Expand Down Expand Up @@ -58,6 +58,13 @@
coi:
2022: https://drive.google.com/file/d/1-3xzwkHMclREgLhj_XNF5n6Nr4q2_bnw/view?usp=sharing

- name: John G. Dove
role: Advisor
photo: johndove.jpg
bio: "John has had a career in executive management, and is now an independent consultant and open access advocate who works with organisations seeking to accelerate their transition to open access. He advises both for-profits and non-profits, and has a particular interest in identifying the steps necessary to flip an entire discipline’s scholarly record to open access. His ambassador activities focus on increasing the support to DOAJ from the community. He served for six years on NISO’s <a href='https://www.niso.org/topic-committees/information-discovery-interchange' target='_blank'>Information Discovery and Interchange Topic Committee</a>, and has written for <a href='https://onlinelibrary.wiley.com/doi/10.1002/leap.1086' target='_blank'>Learned Publishing</a>, <a href='https://against-the-grain.com/2011/12/v23-5-atg-interviews-john-g-dove-president-credo-reference/' target='_blank'>Against the Grain</a>, and <a href='https://scholarlykitchen.sspnet.org/2019/11/07/guest-post-transparency-what-can-one-learn-from-a-trove-of-invoices/' target='_blank'>Scholarly Kitchen</a>. John serves on the Board of Trustees of his local public library in Revere, Massachusetts. He has a B.A. in Mathematics from Oberlin College."
coi:
2022: https://drive.google.com/file/d/1cWijl2xdmVjshsvaGTABOvC_chIIfuVA/view?usp=sharing

- name: Judith Barnsby
role: Head of Editorial
photo: judith.jpg
Expand Down Expand Up @@ -93,21 +100,14 @@
2022: https://drive.google.com/file/d/1fRJtvci2_j4vad0C5N1pfqm2sHZQkFz3/view?usp=sharing

- name: Leena Shah
role: Managing Editor and Ambassador
role: Deputy Head of Editorial (Workflow) and Ambassador
photo: leena.jpg
bio: "Leena joined the DOAJ team in 2016 as an Ambassador for India before becoming a Managing Editor. Prior to joining DOAJ she worked as a science librarian at Nanyang Technological University, Singapore, where she developed a keen interest in scholarly communication & open science. A recent addition to her interests is artificial intelligence in scholarly communication. Leena holds a Master’s degree in Information Studies and lives in Singapore. She loves watching sci-fi shows and is enthusiastic about travelling to new places."
coi:
2018: https://drive.google.com/file/d/1tifEjAIlU3txBw9DjIcRW9cZL7YG7_nU/view?usp=sharing
2020: https://drive.google.com/file/d/1zU-lLB5W54E_QUm5uto5tqB6cZl83TAJ/view?usp=sharing
2022: https://drive.google.com/file/d/19rw-naMJqHkI5T7aDIDPUkwPutBdDpDm/view?usp=sharing

- name: Luis Montilla
role: Managing Editor
photo: luis.jpeg
bio: "Luis is a marine ecologist with a passion for improving the quality of scientific publishing. After finishing his Masters in Venezuela, he spent three years in Italy completing his PhD studying marine microbial symbioses in seagrass beds. In his free time, he enjoys reading and watching movies."
coi:
2023: https://drive.google.com/file/d/1IJhnV2Ht5t5jilaCAFzpuFdYk7UMOjN3/view?usp=sharing

- name: Mahmoud Khalifa
role: Managing Editor and Ambassador
photo: mahmoud-new.jpg
Expand Down
2 changes: 1 addition & 1 deletion cms/pages/legal/terms.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ DOAJ uses a variety of licenses for the different parts of its website and the c
+ In our [OAI-PMH feed](/docs/oai-pmh)
+ In the [full data dump of all article metadata](/docs/public-data-dump/).

4. The *open source software* that DOAJ is built with is licensed under [an Apache license Version 2](https://github.com/DOAJ/doaj/blob/a6fc2bee499b5a8a1f24fb098acfb8e10bd72503/portality/static/vendor/select2-3.5.4/LICENSE).
4. The *open source software* that DOAJ is built with is licensed under [an Apache license Version 2](https://github.com/DOAJ/doaj/blob/develop/LICENSE).

---

Expand Down
4 changes: 2 additions & 2 deletions deploy/doaj_gunicorn_config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import multiprocessing

bind = "0.0.0.0:5050"
workers = multiprocessing.cpu_count() * 8 + 1
workers = multiprocessing.cpu_count() * 6 + 1
proc_name = 'doaj'
max_requests = 1000

Expand All @@ -13,4 +13,4 @@
max_requests_jitter = 100

timeout = 40
graceful_timeout = 40
graceful_timeout = 40
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
test_id,eissn,pissn,validated
1,eissn_in_doaj,pissn_in_doaj,yes
2,eissn_in_doaj,eissn_not_in_doaj,
3,eissn_in_doaj,pissn_not_in_doaj,
4,eissn_in_doaj,!eissn_in_doaj,
5,pissn_in_doaj,eissn_in_doaj,
6,pissn_in_doaj,eissn_not_in_doaj,
7,pissn_in_doaj,pissn_not_in_doaj,
8,pissn_in_doaj,!pissn_in_doaj,
9,eissn_not_in_doaj,eissn_in_doaj,
10,eissn_not_in_doaj,pissn_in_doaj,
11,eissn_not_in_doaj,pissn_not_in_doaj,
12,eissn_not_in_doaj,!eissn_not_in_doaj,
13,pissn_not_in_doaj,eissn_in_doaj,
14,pissn_not_in_doaj,pissn_in_doaj,
15,pissn_not_in_doaj,eissn_not_in_doaj,
16,pissn_not_in_doaj,!pissn_not_in_doaj,
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
field,test_id,eissn,pissn,validated
type,index,generated,generated,conditional
deafult,,,,no
,,,,
values,,eissn_in_doaj,eissn_in_doaj,yes
values,,pissn_in_doaj,pissn_in_doaj,no
values,,eissn_not_in_doaj,eissn_not_in_doaj,
values,,pissn_not_in_doaj,pissn_not_in_doaj,
,,,,
,,,,
conditional validated,,eissn_in_doaj,pissn_in_doaj,yes
constraint eissn,,eissn_in_doaj,!eissn_in_doaj,
constraint eissn,,eissn_not_in_doaj,!eissn_not_in_doaj,
constraint eissn,,pissn_not_in_doaj,!pissn_not_in_doaj,
constraint eissn,,pissn_in_doaj,!pissn_in_doaj,
constraint pissn,,eissn_in_doaj,!eissn_in_doaj,
constraint pissn,,eissn_not_in_doaj,!eissn_not_in_doaj,
constraint pissn,,pissn_not_in_doaj,!pissn_not_in_doaj,
constraint pissn,,pissn_in_doaj,!pissn_in_doaj,
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
{
"parameters": [
{
"name": "test_id",
"type": "index"
},
{
"name": "eissn",
"type": "generated",
"values": {
"eissn_in_doaj": {
"constraints": {
"pissn": {
"nor": [
"eissn_in_doaj"
]
}
}
},
"pissn_in_doaj": {
"constraints": {
"pissn": {
"nor": [
"pissn_in_doaj"
]
}
}
},
"eissn_not_in_doaj": {
"constraints": {
"pissn": {
"nor": [
"eissn_not_in_doaj"
]
}
}
},
"pissn_not_in_doaj": {
"constraints": {
"pissn": {
"nor": [
"pissn_not_in_doaj"
]
}
}
}
}
},
{
"name": "pissn",
"type": "generated",
"values": {
"eissn_in_doaj": {},
"pissn_in_doaj": {},
"eissn_not_in_doaj": {},
"pissn_not_in_doaj": {},
"!eissn_in_doaj": {
"constraints": {
"eissn": {
"or": [
"eissn_in_doaj"
]
}
}
},
"!eissn_not_in_doaj": {
"constraints": {
"eissn": {
"or": [
"eissn_not_in_doaj"
]
}
}
},
"!pissn_not_in_doaj": {
"constraints": {
"eissn": {
"or": [
"pissn_not_in_doaj"
]
}
}
},
"!pissn_in_doaj": {
"constraints": {
"eissn": {
"or": [
"pissn_in_doaj"
]
}
}
}
}
},
{
"name": "validated",
"type": "conditional",
"values": {
"yes": {
"conditions": [
{
"eissn": {
"or": [
"eissn_in_doaj"
]
},
"pissn": {
"or": [
"pissn_in_doaj"
]
}
}
]
},
"no": {}
}
}
]
}
8 changes: 4 additions & 4 deletions doajtest/unit/resources/harvester_resp.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@
"journal": {
"title": "My Journal",
"medlineAbbreviation": "My Jour",
"essn": "1234-5678",
"issn": "9876-5432",
"issn": "1234-5678",
"essn": "9876-5432",
"isoabbreviation": "My Jour",
"nlmid": "123456789"
}
Expand Down Expand Up @@ -143,8 +143,8 @@
"journal": {
"title": "My Journal",
"medlineAbbreviation": "My Jour",
"essn": "1234-5678",
"issn": "9876-5432",
"issn": "1234-5678",
"essn": "9876-5432",
"isoabbreviation": "My Jour",
"nlmid": "123456789"
}
Expand Down
76 changes: 75 additions & 1 deletion doajtest/unit/test_article_acceptable_and_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ def is_acceptable_load_cases():
"test_id",
{"test_id": []})

def issn_validation_against_journal_load_sets():
return load_parameter_sets(rel2abs(__file__, "..", "matrices", "article_create_article"), "issn_validation_against_journal",
"test_id",
{"test_id": []})


class TestBLLPrepareUpdatePublisher(DoajTestCase):

Expand Down Expand Up @@ -110,4 +115,73 @@ def test_has_permissions(self):
assert failed_result["unowned"].sort() == [pissn, eissn].sort()
# assert failed_result == {'success': 0, 'fail': 1, 'update': 0, 'new': 0, 'shared': [],
# 'unowned': [pissn, eissn],
# 'unmatched': []}, "received: {}".format(failed_result)
# 'unmatched': []}, "received: {}".format(failed_result)


@parameterized.expand(issn_validation_against_journal_load_sets)
def test_issn_validation_against_journal_load_sets(self, value, kwargs):
kwpissn = kwargs.get("pissn")
kweissn = kwargs.get("eissn")
validated = kwargs.get("validated")

js = JournalFixtureFactory.make_many_journal_sources(2)
journal_in_doaj = Journal(**js[0])
journal_in_doaj.set_in_doaj(True)
journal_in_doaj.bibjson().pissn = "1111-1111"
journal_in_doaj.bibjson().eissn = "2222-2222"
journal_in_doaj.save(blocking=True)

journal_not_in_doaj = Journal(**js[1])
journal_not_in_doaj.set_in_doaj(False)
journal_not_in_doaj.bibjson().pissn = "3333-3333"
journal_not_in_doaj.bibjson().eissn = "4444-4444"
journal_not_in_doaj.save(blocking=True)

if (kwpissn == "pissn_in_doaj"):
pissn = journal_in_doaj.bibjson().pissn
elif (kwpissn == "eissn_in_doaj"):
pissn = journal_in_doaj.bibjson().eissn
elif (kwpissn == "pissn_not_in_doaj"):
pissn = journal_not_in_doaj.bibjson().pissn
else:
pissn = journal_not_in_doaj.bibjson().eissn

if (kweissn == "pissn_in_doaj"):
eissn = journal_in_doaj.bibjson().pissn
elif (kweissn == "eissn_in_doaj"):
eissn = journal_in_doaj.bibjson().eissn
elif (kweissn == "pissn_not_in_doaj"):
eissn = journal_not_in_doaj.bibjson().pissn
else:
eissn = journal_not_in_doaj.bibjson().eissn


art_source = ArticleFixtureFactory.make_article_source(pissn=pissn, eissn=eissn)
article = Article(**art_source)

if validated:
self.assertIsNone(self.svc.is_acceptable(article))

else:
with self.assertRaises(exceptions.ArticleNotAcceptable):
self.svc.is_acceptable(article)

def test_check_validation_for_2_journals(self):

js = JournalFixtureFactory.make_many_journal_sources(2, in_doaj=True)
journal_in_doaj = Journal(**js[0])
journal_in_doaj.bibjson().pissn = "1111-1111"
journal_in_doaj.bibjson().eissn = "2222-2222"
journal_in_doaj.save(blocking=True)

journal_not_in_doaj = Journal(**js[1])
journal_not_in_doaj.bibjson().pissn = "3333-3333"
journal_not_in_doaj.bibjson().eissn = "4444-4444"
journal_not_in_doaj.save(blocking=True)


art_source = ArticleFixtureFactory.make_article_source(pissn="1111-1111", eissn="4444-4444")
article = Article(**art_source)

with self.assertRaises(exceptions.ArticleNotAcceptable):
self.svc.is_acceptable(article)
Loading

0 comments on commit 2d1c8a6

Please sign in to comment.