Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wp5 training resources #118

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

srghosh56
Copy link

Description

Add training and recognition resources table from WP5

Related issue #117

Changes made

  • Added training resources data in yaml format
  • Implemented table layout using Liquid templating
  • Added proper table structure with headers and content alignment
  • Ensured styling matches existing RSQKit pages

Files changed

  • _data/cleaned_training_resources.yml (training resources yaml data)
  • pages/training_resources.md (main page markdown content)
  • _layouts/training.html (new layout for training resources table)
  • _config.yml (modified configuration)

Screenshots

Screenshot 2024-12-03 at 11 53 53 (3)

Testing

  • Tested locally using bundle exec jekyll serve
  • Verified table layout and styling matches RSQKit design
  • Confirmed proper data display and formatting
  • Tested on local fork

@dgarijo
Copy link
Contributor

dgarijo commented Dec 3, 2024

@srghosh56,
Thanks a lot. Some comments:
You are changing the config.yml with some local paths. Can you please try deploying your branch in GitHub pages? Like I have done here: https://dgarijo.github.io/RSQKit Just to be sure.

Also, if you add everything into the yaml file, which is excellent. Are you documenting anywhere the schema you are using? I see new properties like contact. Is it the same as in https://github.com/EVERSE-ResearchSoftware/RSQKit/blob/main/_data/tool_and_resource_list.yml?

Finally, we need to figure out a way for the table to auto-generate from the yml. At the moment it is unclear how you generated pages/training_resources.md . If possible, it should be similar to what happens for the tool catalog.

- name: UNIVERSE-HPC
url: https://www.universe-hpc.ac.uk/
domain: agnostic
contact: Neii Chue Hong
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
contact: Neii Chue Hong
contact: Neil Chue Hong

Copy link
Author

@srghosh56 srghosh56 Dec 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, @anenadic . Thank you for pointing that out. I will modify that. I think it's better to directly make the change in the google sheet from where everything is generated.

@anenadic
Copy link
Contributor

anenadic commented Dec 3, 2024

Hi @srghosh56,

Thank you for the PR. As @dgarijo said - we need to populate resources from the data/yml files rather than have them hard coded in e.g. training resources file. We also do not embed CSS directly in layout files. Training resources added conatin many fields that are not correct either - e.g. contact was the person who added the resource to the spreadsheet not the contact person for the training resource. We also need to filter that resource list, e.g. it contains many old summer/winter schools pages where we only want training materials.

At this stage, I do not think we are ready to accept this PR without further modifications. We will soon be creating the data files with schema for training materials and other resources, at which point we will be able to include a subset of training you provided in this PR.

@srghosh56
Copy link
Author

Hi, @dgarijo , yes, I deployed using GitHub pages here for my fork.

Regarding the schema documentation, I used this tool_and_resource_list.yml as base reference.
The schema for the training resources follows a similar structure to the tool catalog. contact here stands for EVERSE contact.

Regarding the generation of pages/training_resources.md , I wrote a python script that directly generates pages/training_resources.md from the .yml file. I tried to replicate the process how the tools catalog was created, but at the moment I don't have information about how the tools catalog was created.

@srghosh56
Copy link
Author

@anenadic , thank you for the feedback. I understand your points completely. From my end, I will make some modifications based on your suggestions like moving the css parts to appropriate stylesheet files or removing them and updating the data schema to accurately reflect the column names.

@dgarijo
Copy link
Contributor

dgarijo commented Dec 4, 2024

@srghosh56 your deployed for does not work appropriately :( (no css are shown, the links to the pages do not work, probably due to changes in the config file).

As raised by @anenadic we need to make sure the pages get build automatically. I suggest removing the markdown table from the corresponding page, leaving only the the .yml file as part of the PR, and @anenadic and I will figure out the script to show the corresponding table. You are welcome to try and figure that part out as well, of course.

Also, I think that we cannot just add new metadata properties without consensus. @anenadic and I will create a separate repo so we record what do these new properties mean and what is the expected value for each of them. For example, it is unclear whether a "contact" refers to a contact within everse (which may be your interpretation, but maybe not from other contributors), or this was the person responsible for the training material, or whether this was the person who added the material in the catalog. Do we keep just the name, or name and id? etc. etc.

In conclusion, please keep the yml file as part of the PR (which is already a great contribution), and we will adapt it with any schema changes we come up with (after consensus).

@anenadic
Copy link
Contributor

anenadic commented Dec 4, 2024

Indeed - we are still in the process of defining the data schemas so, while your PR is a welcome contribution @srghosh56, we just need a bit more time to sort out the underlying infrastructure before we can receive more PRs like this in the future.

Also, we cannot accept config file updates you proposed at this point - these need to be decided by the repository maintainers, e.g. baseurl and url settings etc:

baseurl: ""
url: "http://localhost:4000"

# Build settings
markdown: kramdown
kramdown:
  input: GFM
  syntax_highlighter: rouge

@anenadic
Copy link
Contributor

anenadic commented Dec 4, 2024

This PR is currently blocked until we sort out the data structure of the RSQKit.

@juckel
Copy link
Contributor

juckel commented Dec 16, 2024

@dgarijo @anenadic thanks for taking the time to look at this draft. I believe @srghosh56 resolved all formatting troubles. Now the page is generated from the yml-files. From the WP5 discussion we also wanted to convert some of the initially internal documents into something that is visible as part of RSQkit. As the final metadata schema to be used for this was still under discussion, I asked Srobona to go ahead and build the table based on what was available.

Since the final schema (also for mTess-X) is still in development, I would rather have at least an initial imperfect table and then work with that list of entries also on improving the metadata scheme.

What do you think?

@shoaibsufi
Copy link
Collaborator

Hi @juckel thanks for all the work on this and to @srghosh56 .

RSQKit is based on the underlying theme of RDMkit - known as the ETT - https://elixir-belgium.github.io/elixir-toolkit-theme/ you can see further down that page that this theme is widely used.

In the model of this theme as well as pages and tools, training is surfaced in a particular way - it is surfaced via searching TeSS - so the training resources are registered in TeSS and then the Tools are linked to TeSS searches to find the associated training - you can do the same thing for other resources which might not be strictly tools.

e.g.

description: Docker is a software for the execution of applications in virtualized environments called containers. It is linked to DockerHub, a library for sharing container images
id: docker
name: Docker
registry:
    tess: Docker
  url: https://www.docker.com/

If you go to https://rdmkit.elixir-europe.org/data_analysis and then scroll down and choose 'Training' it does a search for all training related to the page 'data analysis' from TeSS.

Screenshot 2024-12-16 at 16 19 04

In a similar way if you click on 'Tools and Resources on this page' and scroll down to the Docker entry

Screenshot 2024-12-16 at 16 19 53

If you click on the black 'Training' label it will do a search on TeSS (it's getting this information from the registry entry tess:Docker in the _data/tool_and_resource_list.yml file in the RSQKit.

I know mTeSS-X is some time away but the aim would be that all training would be registered in a TeSS and then mTeSS-X could be queried to find the associated training for a tool, resource or page topic - this is the way that it would be least divergent from the ETT theme and more inline with the ecosystem of services approach where RSQKit does not house everything but links out to other cluster/community based registries.

So we have two options

  1. Do not add the yaml file on training and register all the training on the current Elixir TeSS (with a view to it being surfaced in mTeSS-X in time) and the training could then be surfaced using the Your Task pages mechanism or Tool Mechanism mentioned above.
  2. We accept the PR but the longer term view would be to decide where in the data model this fits in - as currently we would have Task connecting to Tools connecting to Training. If we add training - it kind of sits on it's own and is disconnected. So it might be a stop gap where ultimately the training data moves to mTeSS-X. What we are trying to avoid is writing a bunch of infrastructure code which is not compatible with ETT and then we have to support that and can't benefit from changes to ETT - we would rather do PR's to ETT and move things forward that way.

Happy to have a talk about it.

@anenadic
Copy link
Contributor

anenadic commented Dec 16, 2024

Hi @juckel thanks for all the work on this and to @srghosh56 .

RSQKit is based on the underlying theme of RDMkit - known as the ETT - https://elixir-belgium.github.io/elixir-toolkit-theme/ you can see further down that page that this theme is widely used.

In the model of this theme as well as pages and tools, training is surfaced in a particular way - it is surfaced via searching TeSS - so the training resources are registered in TeSS and then the Tools are linked to TeSS searches to find the associated training - you can do the same thing for other resources which might not be strictly tools.

e.g.

description: Docker is a software for the execution of applications in virtualized environments called containers. It is linked to DockerHub, a library for sharing container images
id: docker
name: Docker
registry:
    tess: Docker
  url: https://www.docker.com/

If you go to https://rdmkit.elixir-europe.org/data_analysis and then scroll down and choose 'Training' it does a search for all training related to the page 'data analysis' from TeSS.

Screenshot 2024-12-16 at 16 19 04

In a similar way if you click on 'Tools and Resources on this page' and scroll down to the Docker entry

Screenshot 2024-12-16 at 16 19 53

If you click on the black 'Training' label it will do a search on TeSS (it's getting this information from the registry entry tess:Docker in the _data/tool_and_resource_list.yml file in the RSQKit.

I know mTeSS-X is some time away but the aim would be that all training would be registered in a TeSS and then mTeSS-X could be queried to find the associated training for a tool, resource or page topic - this is the way that it would be least divergent from the ETT theme and more inline with the ecosystem of services approach where RSQKit does not house everything but links out to other cluster/community based registries.

So we have two options

1. Do not add the yaml file on training and register all the training on the current Elixir TeSS (with a view to it being surfaced in mTeSS-X in time) and the training could then be surfaced using the Your Task pages mechanism or Tool Mechanism mentioned above.

2. We accept the PR but the longer term view would be to decide where in the data model this fits in - as currently we would have Task connecting to Tools connecting to Training. If we add training - it kind of sits on it's own and is disconnected. So it might be a stop gap where ultimately the training data moves to mTeSS-X. What we are trying to avoid is writing a bunch of infrastructure code which is not compatible with ETT and then we have to support that and can't benefit from changes to ETT - we would rather do PR's to ETT and move things forward that way.

Happy to have a talk about it.

Thank you @shoaibsufi - this reply reflects the conversations we had internally in the Editorial Board this and last week about how to resurface training in RSQKit. The general feeling is that RSQKit is not a registry of training resources (TeSS is), and while we should link to those, there are conversations if registering training instances in RSQKit this is the best way to do it or use the existing linkage with (currently) TeSS and in the future mTeSS-X (where various scientific communities will be able to populate training relevant for them and is a natural place for training).

During this week we are making more infrastructure changes to RSQKit but have decided to keep the conversation around merging and representing training resources open.

@dgarijo
Copy link
Contributor

dgarijo commented Dec 17, 2024

I am updating my comment after a brief discussion with Aleks. In a nutshell:

  • Let's figure out if we are ok with tools.
  • Let's make sure all training materials are in mTeSS-X.
  • Then, we can link to the resources there
    Until then, we are on hold in this PR

@juckel
Copy link
Contributor

juckel commented Dec 18, 2024

I am updating my comment after a brief discussion with Aleks. In a nutshell:

  • Let's figure out if we are ok with tools.
  • Let's make sure all training materials are in mTeSS-X.
  • Then, we can link to the resources there
    Until then, we are on hold in this PR

Thanks all for the discussion and the summary. My apologies for taking so long with replies - for some weird reason I do not get mail notifications about these new comments. :-(

I am fine with this route and we will report this to WP5 and if all are ok, we ask all contributors to add their resources to TeSS. I would like to describe the technical consequences as of now, while mTeSS-X is not yet ready:
We will flood TeSS with a set of training resources that are not from the Elixir-context (as they are from the other science clusters), so that we can harvest them in RSQkit. I am not sure how this is handled by TeSS. At the same time RSQkit will also pull in all content from TeSS, hence having a lot more training resources than we originally curated in WP5. While this might not be a bad thing, it is not what WP5 has done.

So please allow me to ask again, why it is ok for us to use the WP3 D3.1 results (list of tools) in the current intermediate yaml-form and not the training resources. It was our intend to actually use the same data format/schema also for the intermediate solution until mTeSS-X is ready to import them. I am just confused by this perceived inconsistency. My apologies!

@dgarijo
Copy link
Contributor

dgarijo commented Dec 18, 2024

Hi @juckel,
note that we are not discarding the addition of training materials. We are pausing it. The reason is that many of the tools will point to existing training materials, so some of the materials themselves may be "merged" withing the tool list.
We are adding the tools list from 3.1 because we use them in the tasks pages. We observed that some of the training materials are in reality tools (like CodeMeta).

Rather than having two lists to maintain in the kit, we want to gradually grow tools making sue the contents are referenced in the pages. When we figure out tools and how they link to training materials I think we may make some of these materials first class citizens if they are not in TeSS/mTeSS.

I hope this makes sense.

@juckel
Copy link
Contributor

juckel commented Dec 19, 2024

Thanks @dgarijo for the explanation. This makes sense and we probably have to take this into WP5 to get their input on how to proceed.

@roiser
Copy link
Contributor

roiser commented Jan 9, 2025

Hi,

for what concerns the discussion about linking TeSS to RSQKit. IIUC there are already a few TeSS instances out there and we plan to create one soon at CERN (starting in March) and fill it with relevant high energy physics training material. I'm thinking about using those instances to showcase the interaction of TeSS (and future mTess-X) with RSQKit.

Also, not knowing the internals of (m)TeSS , would it be possible to selectively export training material from TeSS?

@anenadic
Copy link
Contributor

anenadic commented Jan 9, 2025

Hi,

for what concerns the discussion about linking TeSS to RSQKit. IIUC there are already a few TeSS instances out there and we plan to create one soon at CERN (starting in March) and fill it with relevant high energy physics training material. I'm thinking about using those instances to showcase the interaction of TeSS (and future mTess-X) with RSQKit.

Also, not knowing the internals of (m)TeSS , would it be possible to selectively export training material from TeSS?

Hi @roiser,

TeSS has a fully functioning API which can ge used to extract data from TeSS (instances): https://tess.elixir-europe.org/about/developers#api. It also provides a TeSS API client to help with accessing the API: https://github.com/ElixirTeSS/tess-json-api-client that may be helpful.

@anenadic
Copy link
Contributor

anenadic commented Jan 9, 2025

[snip]

I am fine with this route and we will report this to WP5 and if all are ok, we ask all contributors to add their resources to TeSS. I would like to describe the technical consequences as of now, while mTeSS-X is not yet ready: We will flood TeSS with a set of training resources that are not from the Elixir-context (as they are from the other science clusters), so that we can harvest them in RSQkit. I am not sure how this is handled by TeSS. At the same time RSQkit will also pull in all content from TeSS, hence having a lot more training resources than we originally curated in WP5. While this might not be a bad thing, it is not what WP5 has done.

This indeed is not ideal, as @juckel points out. We made some progress on various schemas for RSQKit - which are now in https://github.com/EVERSE-ResearchSoftware/schemas (and where we propose to put the schema for training resources too - which presumably will be (a subset of) Bioshemas for training so we do not reinvent things, in addition to RS quality indicators and dimensions). We are also planning to have separate repos (within RSQKit GitHub organisation) to store the actual entries for RS quality indicators and dimensions (as their natural habitat is not RSQKit - as it is not a registry/repository of such properties) - and were talking just yesterday about moving the training material descriptions there too for the time being (such Bioshema JSON files can be automatically ingested by TeSS when the time comes - here is the preview of that). So, in a way, we can still carry on collecting and curating training resources (in a suitable format) and then decide later on (soon-ish) how to resurafce them in various tools (RSQKit, Tess, mTeSS-X, etc.).

There is a EVERSE TF1 RSQkit today at 12:00 CET - which may be a good place to have a joint conversation about all these things if you are free @juckel. Or even better - join one of the RSQKit Editorial Board meetings @juckel and we will dedicate it to these discussions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants