The Mozilla Science Lab is a part of the Mozilla Foundation devoted to supporting a global community of scientists who want to open source their research and their learning materials. The Study Group program is a part of that initiative, and centers around a simple website that leverages Jekyll blog software and Github issues to enable the creation of a website for peer-learning groups. These groups collaborate and come together for in-person workshops and events that teach scientific programming concepts, open science practice, and scripting languages. Study Group Leads fork the Study Group Website Repository and customize the attached website (gh-page) to run meetups all over the world. They organize regular events, skill shares, co-work and create community around open science.
The Dashboard has visualizations about Study Group globally. The Event details have been added to the Mozilla Study Group Event so that members can participate in various events.
There are various data of study group like events, members, location and lessons. These data are scattered. Hence, to know the study group activities, I have collected data from everywhere and converted them into JSON. This JSON format is used to display Visualisation on the Dashboard. Also, I have modified the UI and added event details to Mozilla Study Group Events. Previously, sg-event script fetched only in JSON format. With the help of our contributor Hassen, we can now publish on the excel sheet and the data are displayed on Study Group Events. I have also written a script to fetch member details in plain Text format. After fetching, we use JAVA code to simplify the data into JSON format. These JSON are used in Visualisation. For Automation, We have created scripts to run it once in a week.
The fetching and publication of Data are done by running the scripts once in a week with the help of cron job.
Add the script in sequence:
- First script : To fetch study group events in JSON format.
- Second script : To fetch study group members in Plain TEXT format.
- Third script : To run the JAVA code to fetch location, number of events, lesson and number of members in a study group to JSON format.
- Fourth script : To push the data to the github. Due to ssh clone, this is passwordless login.
Manual running of scripts:
-
Fetch the Study Group Events and Members with the help of sg-event and sg-members scripts. For running these scripts, refer the event README and members README.
-
The sg-event script will fetch the event details as well as publish the contents in excel sheet.
- For publishing to excel sheet, type in terminal:
export SHEET_ID="Excel Sheet ID"
- The Event Details are published to Mozilla Study Group Event with the help of this excel sheet.
-
After fetching the data, run the Java Codes to fetch various Data in JSON format.
-
The JSON fetched by Javascript file is displayed on the Dashboard. (Visualisation : c3.js)
-
To run the Mozilla Study Group Dashboard or Mozilla Study Group Events locally:
$ git clone repository
$ jekyll build
$ jekyll serve
I would like to thank Aurelia for her guidance and support! Also, kudos to Hassen and Rahul Krishna for their contribution and feedback! For any issues, you can drop a message on gitter or contact me.
- We may migrate the repository on cloud.
- Merge scripts for better code development.
- Improved or additional features in Dashboard.
- UI improvement in Mozilla Study Group Events.
- Apply Machine Learning Techniques.
- GSoC Devlog : Blog on GSoC 2017.
- Etherpad GSoC : Meeting details during GSoC 2017.
- Study Group Dashboard : Visualisation on Study Group Data.
- Study Group Dashboard codebase : Codebase of Study Group Dashboard.
- Mozilla Study Group Events : Displays the Study Group Event Details.
- Mozilla Study Group Events codebase : Codebase of Mozilla Study Group Events.
- Excel Sheet of Study Group Events : The sg-events script publishes the events in this Excel Sheet.
- sg-events script : Fetches the study group event details in JSON format.
- sg-members script : Fetches the study group member details in Plain TEXT format.
- Cront job scripts : Automate the fetching and pushing of data.
- Code to fetch Data : These codes fetches data across Study Group.
- GSoC github Repository : Contains Roadmap and issues for GSoC 2017
- Mozilla Study Group : Repository to Create your own Study Group.