Skip to content

Commit

Permalink
Merge pull request #394 from GateNLP/update-citation
Browse files Browse the repository at this point in the history
Update citation information
  • Loading branch information
ianroberts authored Jan 12, 2024
2 parents 5b9128c + e184954 commit b739432
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 45 deletions.
41 changes: 40 additions & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
abstract: A web application for collaborative document annotation. GATE teamware provides
a flexible web app platform for managing classification of documents by human annotators.
authors:
authors:
- affiliation: The University of Sheffield
email: [email protected]
family-names: Karmakharm
Expand Down Expand Up @@ -38,3 +38,42 @@ title: GATE Teamware
type: software
url: https://gatenlp.github.io/gate-teamware/
version: 2.1.1
preferred-citation:
type: conference-paper
authors:
- affiliation: The University of Sheffield
email: [email protected]
family-names: Wilby
given-names: David
orcid: https://orcid.org/0000-0002-6553-8739
- affiliation: The University of Sheffield
email: [email protected]
family-names: Karmakharm
given-names: Twin
orcid: https://orcid.org/0000-0002-1888-7098
- affiliation: The University of Sheffield
email: [email protected]
family-names: Roberts
given-names: Ian
orcid: https://orcid.org/0000-0002-7296-5851
- affiliation: The University of Sheffield
email: [email protected]
family-names: Song
given-names: Xingyi
orcid: https://orcid.org/0000-0002-4188-6974
- affiliation: The University of Sheffield
email: [email protected]
family-names: Bontcheva
given-names: Kalina
orcid: https://orcid.org/0000-0001-6152-9600
doi: 10.18653/v1/2023.eacl-demo.17
title: "GATE Teamware 2: An open-source tool for collaborative document classification annotation"
collection-title: "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations"
location:
name: Dubrovnik, Croatia
year: 2023
month: 5
start: 145
end: 151
publisher:
name: Association for Computational Linguistics
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,13 @@ We welcome contributions to this open source project. Please [create a fork](htt
Teamware is developed by the [GATE](https://gate.ac.uk) team, an academic research group at The University of Sheffield. As a result, future funding relies on evidence of the impact that the software provides. If you use Teamware, please let us know using the contact form at [gate.ac.uk](https://gate.ac.uk/g8/contact). Please include details on grants, publications, commercial products etc. Any information that can help us to secure future funding for our work is greatly appreciated.

## Citation
For published work that has used Teamware, please cite this repository. One way is to include a citation such as:
For published work that has used Teamware, please cite the [EACL23 demo paper](https://aclanthology.org/2023.eacl-demo.17/). One way is to include a citation such as:

> Karmakharm, T., Wilby, D., Roberts, I., & Bontcheva, K. (2022). GATE Teamware (Version 2.1.1) [Computer software]. https://github.com/GateNLP/gate-teamware
> Wilby, D., Karmakharm, T., Roberts, I., Song, X. & Bontcheva, K. (2023). GATE Teamware 2: An open-source tool for collaborative document classification annotation. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations, pages 145–151, Dubrovnik, Croatia. Association for Computational Linguistics. https://aclanthology.org/2023.eacl-demo.17/
Please use the `Cite this repository` button at the top of the [project's GitHub repository](https://github.com/GATENLP/gate-teamware) to get an up to date citation.

Permanent references to each version of the software are available from [Zenodo](https://doi.org/10.5281/zenodo.7899193).

[docs]: https://gatenlp.github.io/gate-teamware/
[dev-docs]: https://gatenlp.github.io/gate-teamware/development/developerguide/
6 changes: 3 additions & 3 deletions docs/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,10 @@ Please make bug reports and feature requests as Issues on the [GATE Teamware Git
Teamware is developed by the [GATE](https://gate.ac.uk) team, an academic research group at The University of Sheffield. As a result, future funding relies on evidence of the impact that the software provides. If you use Teamware, please let us know using the contact form at [gate.ac.uk](https://gate.ac.uk/g8/contact). Please include details on grants, publications, commercial products etc. Any information that can help us to secure future funding for our work is greatly appreciated.
## Citation
For published work that has used Teamware, please cite this repository. One way is to include a citation such as:
For published work that has used Teamware, please cite the [EACL23 demo paper](https://aclanthology.org/2023.eacl-demo.17/). One way is to include a citation such as:
> Karmakharm, T., Wilby, D., Roberts, I., & Bontcheva, K. (2022). GATE Teamware (Version 0.1.4) [Computer software]. https://github.com/GateNLP/gate-teamware
> Wilby, D., Karmakharm, T., Roberts, I., Song, X. & Bontcheva, K. (2023). GATE Teamware 2: An open-source tool for collaborative document classification annotation. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations, pages 145–151, Dubrovnik, Croatia. Association for Computational Linguistics. https://aclanthology.org/2023.eacl-demo.17/
Please use the `Cite this repository` button at the top of the [project's GitHub repository](https://github.com/GATENLP/gate-teamware) to get an up to date citation.
The Teamware version can be found on the 'About' page of your Teamware instance.
Permanent references to each version of the software are available from [Zenodo](https://doi.org/10.5281/zenodo.7899193). The Teamware version can be found on the 'About' page of your Teamware instance.
11 changes: 8 additions & 3 deletions frontend/src/views/About.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,21 @@

<h3>Citation</h3>
<p>
For published work that has used Teamware, please cite the <a href="https://github.com/GATENLP/gate-teamware" target="_blank">project's GitHub repository</a>. One way is to include a citation such as:
For published work that has used Teamware, please cite the <a href="https://aclanthology.org/2023.eacl-demo.17/" target="_blank">EACL23 demo paper</a>. One way is to include a citation such as:
</p>

<p>
<blockquote>
Karmakharm, T., Wilby, D., Roberts, I., & Bontcheva, K. (2022). GATE Teamware (Version {{ appVersion }}) [Computer software]. https://github.com/GateNLP/gate-teamware
Wilby, D., Karmakharm, T., Roberts, I., Song, X. & Bontcheva, K. (2023). GATE Teamware 2: An open-source tool for collaborative document classification annotation. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations, pages 145–151, Dubrovnik, Croatia. Association for Computational Linguistics. https://aclanthology.org/2023.eacl-demo.17/
</blockquote>
</p>

Please use the <b>Cite this repository</b> button at the top of the <a href="https://github.com/GATENLP/gate-teamware" target="_blank">project's GitHub repository</a> to get an up to date citation.
<p>
Please use the <b>Cite this repository</b> button at the top of the <a href="https://github.com/GATENLP/gate-teamware" target="_blank">project's GitHub repository</a> to get an up to date citation.
</p>
<p>
Permanent references to each version of the software are available from <a href="https://doi.org/10.5281/zenodo.7899193">Zenodo</a>.
</p>

<h3>Version</h3>
<p>
Expand Down
37 changes: 1 addition & 36 deletions version.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
DOCS_PACKAGE_JSON_FILE_PATH = "docs/package.json"
CITATION_FILE_PATH = "CITATION.cff"
MASTER_VERSION_FILE = "VERSION"
README_FILE_PATH = "README.md"
README_VERSION_REGEX = r"\(Version ([^)]*)\)"

def check():
"""
Expand All @@ -30,13 +28,10 @@ def check():
citation_version = citation_file['version']
print(f"{CITATION_FILE_PATH} version is {citation_version}")

readme_version = get_readme_version(README_FILE_PATH)
print(f"{README_FILE_PATH} version is {readme_version}")

master_version = get_master_version()
print(f"VERSION file version is {master_version}")

if js_version != master_version or docs_js_version != master_version or citation_version != master_version or readme_version != master_version:
if js_version != master_version or docs_js_version != master_version or citation_version != master_version:
print("One or more versions does not match")
sys.exit(1)
else:
Expand All @@ -49,21 +44,6 @@ def get_package_json_version(file_path: str) -> str:
js_version = package_json['version']
return js_version

def get_readme_version(file_path: str) -> str:
with open(file_path, 'r') as f:
readme_text = f.read()

match = re.search(README_VERSION_REGEX, readme_text)

if match is None:
print(f"No version found in {README_FILE_PATH}.")
return
elif len(match.groups()) > 1:
print(f"{len(match.groups())} matches found in {README_FILE_PATH}, expected 1.")
return
else:
return match.groups(1)[0]

def get_master_version():
with open(MASTER_VERSION_FILE, "r") as f:
master_version = f.readline().strip()
Expand All @@ -83,8 +63,6 @@ def update(master_version:str = None):

update_package_json_version(DOCS_PACKAGE_JSON_FILE_PATH, master_version)

update_readme_version(README_FILE_PATH, master_version)

with open(CITATION_FILE_PATH, "r") as f:
citation_file = yaml.safe_load(f)
print(f"Writing master version {master_version} to {CITATION_FILE_PATH}")
Expand All @@ -102,19 +80,6 @@ def update_package_json_version(file_path:str, version_no:str):
package_json['version'] = version_no
json.dump(package_json, f, indent=2)

def update_readme_version(file_path:str, version_no:str):
with open(file_path, 'r') as f:
readme_text = f.read()

readme_text = re.sub(
README_VERSION_REGEX,
f'(Version {version_no})',
readme_text
)

with open(file_path, 'w') as f:
f.write(readme_text)


if __name__ == "__main__":
if sys.argv[1] == 'check':
Expand Down

0 comments on commit b739432

Please sign in to comment.