Skip to content

ahli-org/chil-website

 
 

Repository files navigation

MiniConf

MiniConf is a virtual conference in a box. It manages the papers, schedules, and speakers for an academic conference run virtually. It can be easily integrated with interactive tools such as video, chat, and QA.

MiniConf was originally built to host ICLR 2020 a virtual conference with 6000 participants and have been used to host a wide variety of major conferences.

It is designed to be:

  • Run based on static files hosted by any server.
  • Modifiable without a database using CSV files.
  • Easy to extend to fit any backend or additional frontend tools.

Links

Demo system: http://www.mini-conf.org

Source Code: https://github.com/Mini-Conf/Mini-Conf

Get Started

> pip install -r requirements.txt
> make run

When you are ready to deploy run make freeze to get a static version of the site in the build folder.

Tour

The MiniConf repo:

  1. Datastore sitedata/

Collection of CSV files representing the papers, speakers, workshops, and other important information for the conference.

  1. Routing main.py

One file flask-server handles simple data preprocessing and site navigation.

  1. Templates templates/

Contains all the pages for the site. See base.html for the master page and components.html for core components.

  1. Frontend static/

Contains frontend components like the default css, images, and javascript libs.

  1. Scripts scripts/

Contains additional preprocessing to add visualizations, recommendations, schedules to the conference.

  1. For importing calendars as schedule see scripts/README_Schedule.md

Extensions

MiniConf is designed to be a completely static solution. However it is designed to integrate well with dynamic third-party solutions. We directly support the following providers:

  • Rocket.Chat: The chat/ directory contains descriptions for setting up a hosted Rocket.Chat instance and for embedding chat rooms on individual paper pages. You can either buy a hosted setting from Rocket.chat or we include instructions for running your own scalable instance through sloppy.io.

  • Auth0 : The code can integrate through Auth0.com to provide both page login (through javascript gating) and OAuth SSO with Rocket Chat. The documentation on Auth0 is very easy to follow, you simply need to create an Application for both the MiniConf site and the Rocket.Chat server. You then enter in the Client keys to the appropriate configs.

  • SlidesLive: It is easy to embedded any video provider -> YouTube, Vimeo, etc. However we have had great experience with SlidesLive and recommend them as a host. We include a slideslive example on the main page.

  • PDF.js: For conferences that use posters it is easy to include an embedded pdf on poster pages. An example is given.

Acknowledgements

MiniConf was built by Hendrik Strobelt and Sasha Rush.

Thanks to Darren Nelson for the original design sketches. Shakir Mohamed, Martha White, Kyunghyun Cho, Lee Campbell, and Adam White for planning and feedback. Hao Fang, Junaid Rahim, Jake Tae, Yasser Souri, Soumya Chatterjee, and Ankshita Gupta for contributions.

Citation

Feel free to cite MiniConf:

@misc{RushStrobelt2020,
    title={MiniConf -- A Virtual Conference Framework},
    author={Alexander M. Rush and Hendrik Strobelt},
    year={2020},
    eprint={2007.12238},
    archivePrefix={arXiv},
    primaryClass={cs.HC}
}

Archiving

Dynamic archiving has been built-in to automatically add a Past Events main menu item if data exists in the archive folder.

Currently, past event pages have been built for the following sitedata files:

  • proceedings.csv
  • speakers.csv (this file is used for Keynotes pages)
  • symposiums.csv
  • tutorials.csv
  • workshops.csv

There is also a highlights.md file which can be added if you would like to manually currate or display an additional page for a given archived year.

Steps to archive the current year's data (assuming 2022 is the current year):

  1. Create a folder in ./archive/sitedata with the name of the current year (2022)
  2. Copy files mentioned above from ./sitedata to ./archive/sitedata/2022
  3. Restart/Redeploy the server.

Packages

No packages published

Languages

  • JavaScript 74.2%
  • HTML 15.5%
  • Python 6.0%
  • CSS 4.0%
  • Makefile 0.3%