Skip to content
This repository has been archived by the owner on Jun 26, 2022. It is now read-only.

datalad-datasets/ohbm2020-posters

Repository files navigation

🚪📹 OHBM2020 GallOP (Gallery of Open Presentations) platform

All Contributors

❓ Motivation

As much as we had fun preparing our Center of Open Neuroscience: DataLad, ReproNim, et al. booth, experience with the conference platform quickly showed its shortcomings: poster sessions seemed to be limited to "open a PDF, find the presenter somewhere in an old fashioned chat and 'converse' there". It is not even 2010 -- it is more of 2000. There were discussions about establishing some gather.town room for poster presentations etc.

Since there is a spreadsheet with all the posters, and unique IDs for each one (but unfortunately without PDF URLs to be added to git-annex/DataLad), we decided to (ab)use Jitsi to provide each poster with a dedicated video room.

💥 What the Heck Is Jitsi?

Jitsi is your free and open source Zoom, Google Meet, whatnot... But it is more than that -- it is a decentralized, and IIRC end-to-end encrypted video conferencing system. I believe it is used by the gather.town that many of you got to love. Discover more on wikipedia:Jitsi.

▶️ Implementation

This "website" is a crude lobotomization of what the basic DataLad datasets navigator datalad create-sibling --with-ui creates for you; https://datasets.datalad.org is one of such websites.

Also, if you check the git history, you will see that we have used datalad run to annotate how posters.json was produced. So you can use datalad rerun _produce_posters.json (where _produce_posters.json is just a git tag) to regenerate posters.json using either a modified script or the original .tsv.

💻 How to Guideline

✔️ How to Visit the OHBM2020 Posters Jitsi Rooms?

Go to our website: https://datalad-datasets.github.io/ohbm2020-posters/ & wait for the page to load.



🔍👀🚪

  1. Searching for a poster: Enter your desired keywords (Number ID, Title, Presenter, Category/ies) in the Search box, click on Enter, and the table will be limited to the results of your search.
  2. Viewing a poster PDF: Click on the PDF associated with the poster you would like to "present" or "attend". Each specific poster PDF would open in a new "dedicated" tab or window. Clicking on it again would just lead you to that tab/window if it was already open.
  3. Visiting a poster Jitsi room: Click on the jitsi: associated with the poster you would like to "present" or "attend". Again, each specific poster Jitsi room would open in a new "dedicated" tab or window. Clicking on it again would just lead you to that tab/window if it was already open. Presenters can share their poster window by clicking on the Share your screen button in the bottom-left corner of the Jitsi room.

Remark: Unfortunately, the "source" spreadsheet neither had presentation dates/times, nor URLs to PDFs. So we might improve upon that (send a PR if you see how).

✔️ How to Do a Pull Request? Adding Your Poster's Info to the Table

  1. GitHub account: Create a GitHub account if you don’t already have one. As a student, you can apply for the GitHub Student Developer Pack, which includes offers and benefits from GitHub partners.
  2. Forking: Fork https://github.com/datalad-datasets/ohbm2020-posters to create a copy of the repository on your own GitHub account.
    • Click on Fork in the top-right corner of the page and choose to Fork a copy of the repository on your own GitHub account.
    • You will automatically go to that Fork.
  3. Branching: Within your Fork, create a Branch to add your poster's info to the table.
    • Click on Branch: gh-pages in the semi-top-left corner of the page and write the name of your new Branch (e.g. poster1929) in the white rectangle under Switch branches/tags. Click on Enter.
    • You will automatically go to that Branch.
  4. Editing: Within your Branch, go to the posters-overrides.json file & click on the pencil ✏️ in the top-right corner of the file to edit/add your poster's info (Video Chat and PDF) to the table.
    • Search for your poster's number (e.g. "number": 1929).
    • Which information to edit/add?
      • The poster information from the OHBM's "source" spreadsheet (--> only if you want to edit an error in the "number", "title", "institution", "presenter", "categories", "authors", or "keywords" fields). You can check these fields in the posters.json file. Click on View raw & search for your poster's number.
      • The poster Jitsi room's name & URL ("videochat" --> only if you want to edit the default Jitsi room's name & URL we've allocated to you: jitsi:ohbm2020-POSTER_NUMBERID).
      • An URL to your poster PDF ("pdf").
    • Copy those lines with the information you want to edit/add and paste them under your your poster's number. Do not forget to personalize the information after the colons! If you only want to add an URL to your poster PDF, you only need to copy-paste & personalize one line, i.e. the one starting with "pdf".
    • Always put a comma after the previous line when adding a new one (except for the last line before ] or }).
      {
       "number": 1929,
       "title": "The rsHRF toolbox (v2.2): Additional features and analyses, and extended user documentation",
       "institution": "Ghent University",
       "presenter": "Sofie Van Den Bossche",
       "categories": "Neuroinformatics and Data Sharing<br>Workflows",
       "videochat": "<a href=\"https://meet.jit.si/rsHRF_toolbox\" target=\"_rsHRF_toolbox\">jitsi:rsHRF_toolbox</a>",
       "pdf": "https://github.com/sofievdbos/OHBM2020/blob/master/OHBM20_SVDB_interactive.pdf",
       "authors": [
        "Sofie Van Den Bossche",
        "Guorong Wu",
        "Nigel Colenbier"
       ],
       "keywords": [
        "functional mri",
        "statistical methods",
        "workflows",
        "other - resting-state fmri; hemodynamic response function; toolbox; neuroinformatics"
       ]
      }
  5. Committing: Commit your changes by clicking on the green Commit changes button. Do not forget to add a comment, e.g. add videochat and pdf to poster 1929.

  6. PR: Create a pull request (PR).
    • Within your Branch, click on the green Compare & pull request button.
    • You will be redirected to the main repository to confirm your PR. Check the remarks displayed in the Write section to make sure you haven't forgotten anything. Then, click on the green Create pull request button.

Installation

UI can be served directly on any static web servers such as nginx, apache, lite-server, or hosted services such as github pages, netlify, etc. index.html on gh-pages branch can be used as the entry point for the UI. index.html uses pre-built (webpacked) static content stored in ./static

To run the dev instance of the UI, please install npm, then run npm run install, then launch the dev UI by running npm run dev.

The UI is currently hard-coded to use the test websocket backend server at https://dev1.soichi.us/ohbm2020/. If you'd like to run your own backend server, please run backend/server.js. You will normally want to persist this server via pm2, docker, or any other process management service. For example, if you want to use pm2, you can run

pm2 start backend/server.js --name gallop --watch

Server port number is currently hardcoded to 3000. Please adjust it if necessary. You can make this port accessible to all of your client instances, and/or you can proxy the server through your web server. For example, if you have nginx server running, you can expose the gallop server by adding something like the following.

    location /ohbm2020/ {
        proxy_pass http://localhost:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 300s;
    }

✨ Contributors

Thanks goes to these wonderful people (emoji key):


Adina Wagner

🚧

Benjamin Poldrack

💻 📓

Chris Markiewicz

💻 🤔

Christian Mönch

💻 🚧

Elizabeth DuPre

💻 🤔 📋

Roberto Toro

💻

Ross Markello

💻 🤔

Sofie Van Den Bossche

📖 💡

Soichi Hayashi

💻 🎨 🤔 🚧 ⚠️

Thomas Nichols

💻 🤔

Yaroslav Halchenko

💻 🚇 🚧 🤔 🎨 📆 📢

This project follows the all-contributors specification. Contributions of any kind are welcome!