Commit 1abc8f5c authored by Stefan Probst's avatar Stefan Probst
Browse files

fix: fix quotes, code blocks, page title

parent cb1e2623
Pipeline #166340 passed with stage
in 4 minutes and 31 seconds
---
title: What is the SSH Open Marketplace?
---
The Social Sciences and Humanities Open Marketplace, built as part of the
[Social Sciences and Humanities Open Cloud project (SSHOC)](https://www.sshopencloud.eu/),
is a discovery portal which pools and contextualises resources for Social
......@@ -15,18 +16,18 @@ scheduled for December 2021.
## Key aspects
* **Curation** – This portal thrives on a curation process that makes it easy to
- **Curation** – This portal thrives on a curation process that makes it easy to
discover the most appropriate results for each request, so that researchers
can discover the best resources for the digital aspects of their work. The
curation process relies on three components: automatic ingest and update of
data sources; continuous curation of the information by the editorial team and
– most important – contributions from its users, the SSH research community.
* **Community** – The content available in the SSH Open Marketplace and its
- **Community** – The content available in the SSH Open Marketplace and its
contextualisation is the result of collaborative work that is characterised by
a user-centric view. Features that allow contributions, feedback and comments
are implemented – or will be soon – to ensure that the portal mirrors real
research practices.
* **Contextualisation** – The portal puts all items into context: each solution
- **Contextualisation** – The portal puts all items into context: each solution
suggested is linked to other related resources (e.g. a tutorial showing how to
use a tool, a tool used in a workflow, a publication presenting research
results produced using a given service). This contextualisation reinforces
......@@ -49,9 +50,11 @@ Open Marketplace supplements the existing services offered by EOSC (e.g. EOSC
Catalogue & Marketplace) and aims to facilitate fluid exchange of tools,
services, data and knowledge.
![SSHOC Project Structure diagram](/assets/images/sshoc_project_structure_about1.png "SSHOC Project Structure ")
![SSHOC Project Structure diagram](/assets/images/sshoc_project_structure_about1.png 'SSHOC Project Structure')
*Source: Versic Ilijasic, Ivana, & Dekker, Ron. (2020, March 4). SSHOC – Position paper 2020 (Version v1.0). Zenodo. [http://doi.org/10.5281/zenodo.3697121](<Source: Versic Ilijasic, Ivana, & Dekker, Ron. (2020, March 4). SSHOC – Position paper 2020 (Version v1.0). Zenodo. http://doi.org/10.5281/zenodo.3697121>)*
_Source: Versic Ilijasic, Ivana, & Dekker, Ron. (2020, March 4). SSHOC –
Position paper 2020 (Version v1.0). Zenodo.
[http://doi.org/10.5281/zenodo.3697121](<Source: Versic Ilijasic, Ivana, & Dekker, Ron. (2020, March 4). SSHOC – Position paper 2020 (Version v1.0). Zenodo. http://doi.org/10.5281/zenodo.3697121>)_
### Lifting the SSH Open Marketplace into the Cloud
......@@ -64,8 +67,8 @@ attention will be paid to the integration of the Marketplace with other EOSC
catalogues and/ or marketplace(s). Beyond this task force, the SSH Open
Marketplace is built following recommendations and outputs of
[SSHOC WP3](https://sshopencloud.eu/publications/deliverables?field_wp_tid%5B%5D=14),
led by CLARIN, that aims at Lifting Technologies and Services into the SSH
Cloud.
led by CLARIN, that aims at "Lifting Technologies and Services into the SSH
Cloud".
### ERICs contributions
......@@ -74,6 +77,7 @@ Open Marketplace sustainability after the SSHOC project.
<div class="grid grid-cols-5">
<a href="https://www.cessda.eu">
<img src="/assets/images/cessda-logo.png" />
</a>
......@@ -90,4 +94,5 @@ Open Marketplace sustainability after the SSHOC project.
<img src="/assets/images/share-eric.png" />
</a>
</div>
\ No newline at end of file
</div>
---
title: Technical aspects
---
## Data model
The data model of the SSH Open Marketplace was designed to be generic and flexible enough to support a variety of sources. A first version of the data model was presented in the [“System Specification of the SSH Open Marketplace”](https://doi.org/10.5281/zenodo.3547648). Some adjustments were made while ingesting the first sources, and version 1.4 of the SSH Open Marketplace is currently being implemented.
The data model of the SSH Open Marketplace was designed to be generic and
flexible enough to support a variety of sources. A first version of the data
model was presented in the
["System Specification of the SSH Open Marketplace"](https://doi.org/10.5281/zenodo.3547648).
Some adjustments were made while ingesting the first sources, and version 1.4 of
the SSH Open Marketplace is currently being implemented.
## Data ingestion workflow 
The SSH Open Marketplace provides a REST API at the backend where data can not only be read but also inserted or updated. This approach allows technology-agnostic ingestion. Currently, the main ingestion is built up by the Semantic Web Company (SWC). Based upon their product [PoolParty UnifiedViews](https://www.poolparty.biz/agile-data-integration) a dedicated ingestion pipeline for every source is created. This includes the gathering of the data at the source (e.g. via an API or a Git repository), the mapping of the data to the SSH Open Marketplace data model including transformation of parts of the data (e.g. connecting terms from the source to a vocabulary like TaDiRAH) and the integration of the processed data into the SSH Open Marketplace via the API.
The SSH Open Marketplace provides a REST API at the backend where data can not
only be read but also inserted or updated. This approach allows
technology-agnostic ingestion. Currently, the main ingestion is built up by the
Semantic Web Company (SWC). Based upon their product
[PoolParty UnifiedViews](https://www.poolparty.biz/agile-data-integration) a
dedicated ingestion pipeline for every source is created. This includes the
gathering of the data at the source (e.g. via an API or a Git repository), the
mapping of the data to the SSH Open Marketplace data model including
transformation of parts of the data (e.g. connecting terms from the source to a
vocabulary like TaDiRAH) and the integration of the processed data into the SSH
Open Marketplace via the API.
![](/assets/images/data_ingestion_workflow.png "Data ingestion workflow")
![Data ingestion workflow](/assets/images/data_ingestion_workflow.png 'Data ingestion workflow')
*Illustration: Overview on the different parts of the ingestion workflow*
_Illustration: Overview on the different parts of the ingestion workflow_
## Information about the development of the website
The development of the SSH Open Marketplace is managed via GitLab. If you want to know more, pay a visit to our GitLab instance: <https://gitlab.gwdg.de/sshoc> 
The development of the SSH Open Marketplace is managed via GitLab. If you want
to know more, pay a visit to our GitLab instance: <https://gitlab.gwdg.de/sshoc>
## API documentation
The SSH Open Marketplace also includes an Application Programming Interface (API), which is opened for anyone to use. Some of the functionalities are closed, but most are opened, such as searching and retrieving detailed information on all items of the Marketplace.
The SSH Open Marketplace also includes an Application Programming Interface
(API), which is opened for anyone to use. Some of the functionalities are
closed, but most are opened, such as searching and retrieving detailed
information on all items of the Marketplace.
You can inspect the API Swagger documentation here: <https://marketplace-api.sshopencloud.eu/swagger-ui/index.html?url=/v3/api-docs>
You can inspect the API Swagger documentation here:
<https://marketplace-api.sshopencloud.eu/swagger-ui/index.html?url=/v3/api-docs>
The endpoint of the SSH Open Marketplace API is: <https://marketplace-api.sshopencloud.eu/api/>
The endpoint of the SSH Open Marketplace API is:
<https://marketplace-api.sshopencloud.eu/api/>
The API responses are in JSON and follow the data model that we have created for the Marketplace (see “Data model” section above).
The API responses are in JSON and follow the data model that we have created for
the Marketplace (see "Data model" section above).
For example, you can request a description of all the “tools and services” that the SSH Open Marketplace provides with this URL <https://marketplace-api.sshopencloud.eu/api/tools-services> and following pages <https://marketplace-api.sshopencloud.eu/api/tools-services?page=2>. 
For example, you can request a description of all the "tools and services" that
the SSH Open Marketplace provides with this URL
<https://marketplace-api.sshopencloud.eu/api/tools-services> and following pages
<https://marketplace-api.sshopencloud.eu/api/tools-services?page=2>.
The API also includes some endpoints that are only accessible to logged in users. To use them, you need to ask for a JWT (JSON Web Token) to the authentication endpoint and then use the Token to connect to the other endpoint, by passing the Token as a Bearer Authentication. 
The API also includes some endpoints that are only accessible to logged in
users. To use them, you need to ask for a JWT (JSON Web Token) to the
authentication endpoint and then use the Token to connect to the other endpoint,
by passing the Token as a Bearer Authentication.
Example:
### Example
```
curl -i --request POST 'https://sshoc-marketplace-api.acdh-dev.oeaw.ac.at/api/auth/sign-in' --header 'Content-Type: application/json' --data-raw '{"username": "SomeUserName","password": "xxxxxxxx"}'
```
Will response with a Token has such:
Will respond with a Token as such:
```
Authorization: Bearer xxxyyyyzzzhfdsklmgdflkngfdngdfklngfdfgdf,gfdngfndkljgn
```
And this is then use in the following requests to prove you are authenticated, for example:
And this is then used in the following requests to prove you are authenticated,
for example:
curl -X DELETE 'https://sshoc-marketplace-api.acdh-dev.oeaw.ac.at/api/datasets/3752' --header 'Authorization: Bearer xxxyyyyzzzhfdsklmgdflkngfdngdfklngfdfgdf,gfdngfndkljgn'
\ No newline at end of file
```
curl -X DELETE 'https://sshoc-marketplace-api.acdh-dev.oeaw.ac.at/api/datasets/3752' --header 'Authorization: Bearer xxxyyyyzzzhfdsklmgdflkngfdngdfklngfdfgdf,gfdngfndkljgn'
```
......@@ -15,36 +15,36 @@ from the following sources:
<div style={{ display: 'grid', gridTemplateColumns: '150px 1fr', gap: '2rem 1rem' }}>
![TAPoR logo](/assets/images/source_TAPoR_logo.png "TAPoR logo")
![TAPoR logo](/assets/images/source_TAPoR_logo.png 'TAPoR logo')
[TAPoR](http://tapor.ca/home) is a long-standing gateway to tools used for text
analysis and retrieval.
![Programming Historian logo](/assets/images/ph-en.svg "Programming Historian logo")
![Programming Historian logo](/assets/images/ph-en.svg 'Programming Historian logo')
The [Programming Historian](https://programminghistorian.org/) publishes
novice-friendly, peer-reviewed tutorials that help humanists learn a wide range
of digital tools, techniques, and workflows to facilitate research and teaching.
![Standardization Survival Kit logo](/assets/images/source_ssk_logo.svg "Standardization Survival Kit logo")
![Standardization Survival Kit logo](/assets/images/source_ssk_logo.svg 'Standardization Survival Kit logo')
The [Standardisation Survival Kit](http://ssk.huma-num.fr/#/) presents a
collection of research use case scenarios illustrating best practices in Digital
Humanities and Heritage research.
![Language Resource Switchboard logo](/assets/images/source_switchboard_logo.png "Language Resource Switchboard logo")
![Language Resource Switchboard logo](/assets/images/source_switchboard_logo.png 'Language Resource Switchboard logo')
The [Language Resource Switchboard](https://switchboard.clarin.eu/) helps you
find tools that can process your data.
![dblp computer science bibliography logo](/assets/images/source_dblp_logo_320x120.png "dblp computer science bibliography logo")
![dblp computer science bibliography logo](/assets/images/source_dblp_logo_320x120.png 'dblp computer science bibliography logo')
The [dblp computer science bibliography](https://dblp.org/) provides open
bibliographic information on major computer science journals and
proceedings. Only a subset of publications related to digital humanities is
being ingested in the SSH Open Marketplace.
![EOSC logo](/assets/images/source_eosc_logo.png "EOSC logo")
![EOSC logo](/assets/images/source_eosc_logo.png 'EOSC logo')
The [EOSC Portal catalogue & marketplace](https://marketplace.eosc-portal.eu/)
is an integrated platform that allows easy access to plenty of services and
......@@ -57,8 +57,8 @@ is being ingested in the SSH Open Marketplace.
Linguistic, social sciences and cultural heritage sources will be added in 2021.
Manual and individual additions of content is also a way to further populate the
SSH Open Marketplace. More details are provided in the How is this website
curated? section below.
SSH Open Marketplace. More details are provided in the "How is this website
curated?" section below.
## Types of content
......@@ -68,7 +68,7 @@ content led to the identification of 5 main types of content:
<div style={{ display: 'grid', gridTemplateColumns: '60px 1fr', columnGap: '1rem' }}>
![Tool or service](/assets/images/categories/tool-or-service.svg "Tool or service logo")
![Tool or service](/assets/images/categories/tool-or-service.svg 'Tool or service logo')
<div>
......@@ -89,7 +89,7 @@ graphs and networks
<div style={{ display: 'grid', gridTemplateColumns: '60px 1fr', columnGap: '1rem' }}>
![Training Material](/assets/images/categories/training-material.svg "Training Material")
![Training Material](/assets/images/categories/training-material.svg 'Training Material')
<div>
......@@ -98,7 +98,7 @@ graphs and networks
Tutorials, lessons or didactic resources explaining how to perform an action or
highlighting the learning outcomes one would gain from engaging with the
material. Example: The lesson Beginner's Guide to Twitter Data coming from the
material. Example: The lesson "Beginner's Guide to Twitter Data" coming from the
Programming Historian website.
</div>
......@@ -108,7 +108,7 @@ Programming Historian website.
<div style={{ display: 'grid', gridTemplateColumns: '60px 1fr', columnGap: '1rem' }}>
![Workflow](/assets/images/categories/workflow.svg "Workflow logo")
![Workflow](/assets/images/categories/workflow.svg 'Workflow logo')
<div>
......@@ -116,10 +116,10 @@ Programming Historian website.
### Workflows
A research workflow is a sequence of operation/steps performed on research data
during their lifecycle. It can be seen as a recipe, as it was designed in the
during their lifecycle. It can be seen as a recipe, as it was "designed" in the
Standardisation Survival Kit. This workflow can be achieved by using diverse
tools and facilities, and useful resources are connected to each step. Example:
Extract textual content from images is a workflow composed of 13 steps coming
"Extract textual content from images" is a workflow composed of 13 steps coming
from the Standardization Survival Kit.
</div>
......@@ -129,7 +129,7 @@ from the Standardization Survival Kit.
<div style={{ display: 'grid', gridTemplateColumns: '60px 1fr', columnGap: '1rem' }}>
![Dataset](/assets/images/categories/dataset.svg "Dataset logo")
![Dataset](/assets/images/categories/dataset.svg 'Dataset logo')
<div>
......@@ -148,7 +148,7 @@ Parlamint 1.0
<div style={{ display: 'grid', gridTemplateColumns: '60px 1fr', columnGap: '1rem' }}>
![Publication](/assets/images/categories/publication.svg "Publication logo")
![Publication](/assets/images/categories/publication.svg 'Publication logo')
<div>
......@@ -157,10 +157,10 @@ Parlamint 1.0
Research results published in an academic journal or repository. In the SSH Open
Marketplace, only publications that can be connected to other resources are
referenced. We dont aim at collecting all the research papers in SSH, but only
referenced. We don't aim at collecting all the research papers in SSH, but only
to reinforce the contextualisation of our resources, offering perspectives in
which a tool has been used and cited in a paper for exemple. Example:
PoetryLab. An Open Source Toolkit for the Analysis of Spanish Poetry Corpora
"PoetryLab. An Open Source Toolkit for the Analysis of Spanish Poetry Corpora"
is a Conference Paper presented during the DH2020 Conference in which you can
find an example of use of the SpaCy library (referenced as a tool in the SSH
Open Marketplace).
......@@ -175,20 +175,20 @@ In this beta version of the SSH Open Marketplace, you can:
- search among the resources, refining what you are looking for through faceted
search
![screenshot search resources](/assets/images/search-refine-screenshot.png "screenshot search resources")
![screenshot search resources](/assets/images/search-refine-screenshot.png 'screenshot search resources')
- browse the content, by activities or keywords
![browsing screenshot](/assets/images/browse_activities_screenshot.png "browsing screenshot")
![browsing screenshot](/assets/images/browse_activities_screenshot.png 'browsing screenshot')
- obtain a detailed view of every item registered in the website, including a
structured set of metadata describing the resource, and highlighting the
related items to facilitate the discovery of relevant resources
![detailed view screenshot](/assets/images/details-related-screenshot.jpg "detailed view screenshot")
![detailed view screenshot](/assets/images/details-related-screenshot.jpg 'detailed view screenshot')
- report issues. While waiting for more community features – such as the
editorial components or the comments section – to be implemented in 2021, the
beta release of the SSH Open Marketplace offers you the possibility to report
issues on every page of the website. Help us to improve our content or to
report a bug, using this temporary functionality!
- re-use the SSH Open Marketplace content using the Application programming
Interface (API). See the API documentation in the technical aspects section,
Interface (API). See the API documentation in the "technical aspects" section,
if you want to know more.
## Content Curation Guidelines
......@@ -202,7 +202,7 @@ Marketplace, we curate and enrich them thanks to a hybrid approach: automatic
checks are run on the ingested data, followed by manual review of the identified
problems as well as of aspects that cannot be checked automatically. In this
process, contributors and moderators are playing an essential role (see below
How to contribute section).
"How to contribute" section).
### Curation Criteria
......@@ -252,7 +252,7 @@ content description will be added soon!
In a few months, you will be able to suggest new content in the SSH Open
Marketplace, but also to propose changes to existing items, via user-friendly
edit forms. In the meantime, you can use the report an issue function
edit forms. In the meantime, you can use the "report an issue" function
available on all pages of the website to improve our content or to report a bug.
To stay tuned and updated about the developments, and to be aware of events and
......@@ -263,7 +263,7 @@ hands-on sessions organised in 2021, join our community of testers,
Towards the end of 2021, the editorial board of the SSH Open Marketplace will
also be created! Its mission is to ensure the quality of the Marketplace content
by reviewing new items and ensuring the editorial policys implementation.
by reviewing new items and ensuring the editorial policy's implementation.
Moderators are key actors of the SSH Open Marketplace! Let us know if you would
be interested to join the SSH Open Marketplace editorial board!
......
......@@ -61,7 +61,7 @@ collections:
label: Text
widget: markdown
- name: implementation
label: About the Technical Stuff page
label: About the Technical Aspects page
file: content/pages/implementation.mdx
format: frontmatter
fields:
......
......@@ -38,6 +38,8 @@ const defaultComponents = {
h3: SubSectionTitle,
ul: List,
ol: OrderedList,
pre: Pre,
code: Code,
}
function AbsoluteOrRelativeLink({
......@@ -86,3 +88,16 @@ function OrderedList({ children, ...props }: ComponentPropsWithoutRef<'ol'>) {
</ol>
)
}
function Pre(props: ComponentPropsWithoutRef<'pre'>) {
return (
<pre
{...props}
className="py-4 overflow-x-auto font-mono text-sm text-gray-200 bg-gray-800 rounded"
/>
)
}
function Code(props: ComponentPropsWithoutRef<'code'>) {
return <code {...props} className="px-4" />
}
......@@ -149,7 +149,7 @@ function MainNavigation(): JSX.Element {
href={{ pathname: '/about/implementation' }}
highlighted={active}
>
About the implementation
About the technical aspects
</MenuLink>
)}
</Menu.Item>
......
......@@ -17,7 +17,7 @@ import { useActiveLink } from '@/utils/useActiveLink'
const links = [
{ label: 'About the project', pathname: '/about' },
{ label: 'About the service', pathname: '/about/service' },
{ label: 'About the implementation', pathname: '/about/implementation' },
{ label: 'About the technical aspects', pathname: '/about/implementation' },
{ label: 'About the team', pathname: '/about/team' },
]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment