Documentation

This project was conceived and executed as a senior capstone project for RIT's Software Engineering department. As part of this project, the team was required to deliver certain documentation and artifacts. While these artifacts are mostly of interest to the RIT SE department faculty, they are provided here in the spirit of working openly.

Project Plan

The Project Plan outlines the team's goals for the project, including what is and is not in scope, a projected schedule overview, technical process overview, and community engagement plan. It also includes a description of identified risks and mitigation plans, as well as metrics the team plans to track to assess the status of the project.

View Document

Development Process & Methodologies

The Development Process & Methodologies document provides a more in-depth description of the team's planned software development process. It describes both the high-level methodology the team will follow to produce the software, as well as the development process the team will follow while implementing the software.

View Document

Domain Model

The domain model provides a high-level overview of the software's components and how those components interact.

View Document

Interim Presentation

The interim presentation was presented by the team at the half way point of the project to review work done so far, assess the team's performance to that point, and outline plans going forward. A recording of the presentation is available on YouTube and the slide deck is available as a PDF.

View Recording View Slide Deck

Poster

The poster was created near the end of the project to inform about the context, process, and results of the project.

View Document

Final Presentation

The interim presentation was presented by the team at the end of the project to present the end results of the project, assess the team's performance, and outline possible future work for the project. A recording of the presentation is available on YouTube and the slide deck is available as a PDF.

View Recording View Slide Deck


The following charts provide an overview of the metrics collected by the team throughout the year. For a detailed view of metric values, please refer to the data sheet.

Individual Hours

This chart displays the work hours recorded by each of the team members each week.

Total Hours

This chart displays the work hours recorded by the entire team each week.

GitHub Activity

This chart displays the activity on the project's GitHub repositories each week, including comments by external collaborators, repository stars, and commits by external contributors.

Closed Issues

This chart displays the number of open issues closed each week.

Four-ups

Four-ups are a weekly assessment by the team of what was done in the previous week, what they plan to get done in the next week, what potential risks may affect the project in the near future, and what needs the team has for the next week. They are presented here with the most recent first.

2017-04-20

Accomplished

  • Sam Mosher
    • Working on GitHub OAuth for web app
  • Colin O'Neill
    • Working on GitHub OAuth for web app
  • All
    • Finished poster

Planned

  • Sam Mosher
    • Finish web app
  • Colin O'Neill
    • Finish app

Risks

  • None identified.

Needs

  • None identified.

2017-04-13

Accomplished

  • Rob Lowe
    • Working on getting plugin fast-tracked. Missed providing build instructions and needed to resubmit.
    • Has been in contact with Mozilla regarding the plugin.
  • Sam Mosher
    • Working on GitHub OAuth for web app
  • Colin O'Neill
    • Working on GitHub OAuth for web app
  • All
    • Worked on poster design

Planned

  • Eric Lee
    • Rob Lowe
      • Continue pursuing plugin publication
    • Sam Mosher
      • Finish implementing GitHub OAuth for web app
    • Colin O'Neill
      • Finish implementing GitHub OAuth for web app
    • All
      • Finish poster

    Risks

    • None identified.

    Needs

    • None identified.

    2017-04-06

    Accomplished

    Planned

    • Sam Mosher
      • Working to complete web app functionality
    • Colin O'Neill
      • Working to complete web app functionality

    Risks

    • None identified.

    Needs

    • None identified.

    2017-03-30

    Accomplished

    • Eric Lee
      • Continuing work on parsing the .git folder
    • Rob Lowe
      • Got the name of the plugin
    • Sam Mosher
      • Web app: all but one error
    • Colin O'Neill
      • Web app: all but one error

    Planned

    • Eric Lee
      • Continuing work on parsing the .git folder
    • Rob Lowe
      • Help with parsing .git folder
    • Sam Mosher
      • Fix web app error and submit PR
      • Write up email
      • Write up an about page, include who we are and what we're trying to do (link to Mozilla Science Lab and Force11)

    Risks

    • Nearing the end of the project
    • .git folder parsing is continuing to be stagnant
    • No experience deploying to Heroku- may cause unexpected delays

    Needs

    • None identified.

    2017-03-23

    Accomplished

    • Eric Lee
      • Ran into a crash with .git parsing
    • Rob Lowe
      • Got the plugin in
    • Sam Mosher
      • Work on the web app back end
    • Colin O'Neill
      • Working on the web app

    Planned

    • Eric Lee
      • Continue working on parsing .git folder
      • Resolve crash
    • Sam Mosher
      • Continue work on web app
    • Colin O'Neill
      • Continue work on web app

    Risks

    • Plugin review could take longer than expected
    • Colin will be in California for a job interview next weekend (2017-03-29 through 2017-04-01)

    Needs

    • None identified.

    2017-03-09

    Accomplished

    Planned

    • Eric Lee
      • Implement paring of author file and license for .git folder
    • Rob Lowe
      • Finish plugin and submit for certification
    • Sam Mosher
      • Move the web app API to a mozillascience repo
    • Colin O'Neill
      • Merge PR

    Risks

    • Continued infrastructural outages in Monroe county
    • Eric's current state of illness

    Needs

    • Plugin certification

    2017-02-28

    Accomplished

    • Eric Lee
      • Reviewed Colin's PR
    • Sam Mosher
      • Worked on web app API
    • Colin O'Neill
      • Sent newsletter
      • Made a PR to add Figshare support to CitationCore

    Planned

    • Sam Mosher
      • Finish web app API
    • Colin O'Neill
      • Respond to PR comments
      • Create a front end for the web app
      • Get feedback on web app front end from team
      • Iterate
    • All

      Risks

      • Spring Break fast approaching

      Needs

      • Abby will tweet our discussion issues to try to generate discussion

      2017-02-23

      Accomplished

      Planned

      • Sam Mosher
        • Brainstorm list of questions for GitHub contributors
        • Work on back end for web app
        • Enter hours
        • Enter binaries for the plugin into the release one so it can be easily installed as well as sent to Mozilla for approval
      • Colin O'Neill
        • Get figshare merged
        • Initial web app front end mockups

      Risks

      • Career Fair is next week - we want jobs and will likely invest a not insignificant amount of time into that
      • Little traffic on discussion questions
      • Difficulty working with npm server

      Needs

      • Feedback from user community

      2017-02-16

      Accomplished

      • Sam Mosher
        • Got Eric's requested PR changes in
        • Added linter to plugin repo
      • Colin O'Neill
        • Reviewed plugin PR
        • Back and forth on CitationCore refactor PR (almost ready)

      Planned

      • Rob Lowe
        • Draft discussion issues
        • Images/gif for installing the plugin
      • Sam Mosher
        • Images/gif for installing the plugin
        • Respond to Colin's feedback on plugin PR
        • Submit plugin to Mozilla once it's merged
      • Colin O'Neill
        • Send out newsletter once plugin PR is merged
        • Test and PR figshare source support once refactor PR is merged
      • All
        • Brainstorm ideas for web app

      Risks

      • Colds have been going around
      • We have no idea what the plugin approval process will be like
      • Could receive no feedback from the newsletter

      Needs

      • None identified.

      2017-02-09

      Accomplished

      • Eric Lee
        • Rewrite of CitationCore
        • Fixed all of the bugs found and released a patch
        • Research for the .git source handler
        • Started implementing the .git handler
      • Rob Lowe
        • Got style dropdown working
        • Worked on README
        • Cleaned up some of the starting code for the plugin
      • Sam Mosher
        • Added the ability to enter a URL to the plugin
        • Got a room in the library for meeting with Abby on Tuesday
        • Got linter set up for plugin
      • Colin O'Neill
        • Worked on Figshare source handler
        • Spoke with Carrie in the SE Office regarding possible trip reimbursement for MozFest
        • Reviewed Eric's refactor of CitationCore

      Planned

      • Eric Lee
        • Finish up refactor based on feedback
        • Begin work on .git source handler
      • Rob Lowe
        • Discussion issues
        • Finish README
        • Finish cleanup and get Citation Plugin 1.0.0 out the door
      • Sam Mosher
        • Need to update hours
        • Go through Eric's CitationCore refactor
        • Set up hooks so the linter does not need to be run by hand on the plugin
        • Get plugin sent to Mozilla to be added to the add-on marketplace after 1.0.0 released
      • Colin O'Neill
        • Get second newsletter ready to go
        • Test and merge Figshare source handler

      Risks

      • Potential lack of feedback on the plugin; mitigate with the newsletter and discussion issues
      • Mozilla acceptance of plugin; mitigation: see Needs
      • It's cold and flu season! Mitigation: will yourself healthy. (or at least wash your hands)

      Needs

      • Abby will look into fast-tracking the plugin

      2017-02-02

      Accomplished

      • Eric Lee
        • Wrote pre-commit script for linter
        • Published CitationCore 1.0.0
        • Updated CitationCore package.json with Mozilla contributer
      • Rob Lowe
        • Finished tests for BibTeX
        • Fixed bug on BibTeX
      • Sam Mosher
        • Plugin beta completed on Sam's fork of the repo
        • Emailed for room
        • Emailed about reimbursement
      • Colin O'Neill
        • Linked other repos in the central repo
        • Sent out February Newsletter
        • Read Figshare API documentation in preparation of writing the Figshare source handler

      Planned

      • Eric Lee
        • Working on .git directory usage with CitationCore
      • Rob Lowe
        • Cleaning up the plugin
      • Sam Mosher
        • Touch up plugin
        • Reserve room for meeting
      • Colin O'Neill
        • Work on accepting a Figshare source with CitationCore
      • All

        Risks

        • Publishing the Firefox plugin

        Needs

        • Need to acquire a room in the library for meeting

        2017-01-26

        Accomplished

        • Eric Lee
          • Broke CitationCore out into its own repo
          • Published citationCore on NPM (v 0.0.1) :confetti:
          • Set up Mocha Test Framework for Node and Node Assertion Library
          • Test coverage for formatters and URL resolver
          • Set up ESLint for style consistency enforcement
          • Added JSDoc documentation
        • Rob Lowe
          • Plugin research
        • Sam Mosher
          • Plugin research

        Planned

        • Eric Lee
          • Finish pre-commit hook for linter
          • Begin work on .git metadata parsing
        • Rob Lowe
          • Develop plugin for Firefox
          • Link Etherpad
          • BibTeX tests
          • Draft newsletter
        • Sam Mosher
          • Develop plugin for Firefox
          • Email Carrie about getting a room for Tuesday
        • Colin O'Neill
          • Begin work on Figshare source handler
          • Draft newsletter
          • Link out to the new repos in software-citation-tools's README
        • All
          • Brainstorm regarding metrics

        Risks

        • New semester, new schedules: may need some scheduling adjustment
        • Plugin: Framework may be difficult to use, may not do everything we require, or development may be slowed by developer inexperience

        Needs

        • Abby needs to accept CitationCore into mozillascience
        • Need Abby to look into the Mozilla Science group on npm
        • Need a room for next Tuesday's meeting

        2016-11-17

        Accomplished

        • Rob Lowe
          • BibTeX research
          • Implemented BibTeX @misc entry
        • Sam Mosher
          • Worked on adding BitBucket source support
        • Colin O'Neill
          • Looked into TravisCI
          • Worked on HTTP response ticket
          • Corrected CONTRIBUTING doc

        Planned

        • Rob Lowe
          • Implement BibTeX @software entry type
          • Create discussion issues for BibTeX
        • Sam Mosher
          • Finish BitBucket source support
          • Work on presentation
          • Update Project Plan
        • Colin O'Neill
          • Manually move website to SE hosting
          • Finish HTTP response ticket
          • Clean up Google Drive
        • All
          • Practice Interim Presentation
          • Self Assessment
          • Peer-to-peer eval
          • Interim meeting, take notes, and Don turns them in
          • Review Abby's evaluation
          • Take note of what needs to be improved
          • Prepare project artifacts for end of semester one

        Risks

        • Thanksgiving
        • Exams & final projects
        • Dependencies' ability (or not) to run in a browser

        Needs

        • Meet with Don on the 29th @ 6:00 PM to run through presentation

        2016-11-10

        Accomplished

        • Eric Lee
          • CLI output to file
          • Looking into Browserify
        • Rob Lowe
          • Research into BibTeX
        • Sam Mosher
          • Worked on BitBucket support
          • Started researching API
        • Colin O'Neill
          • Sent email responding to MozFest attendees
          • Updated Project Plan
          • Continued looking into SE site

        Planned

        • Eric Lee
          • Continue working on assigned tickets
          • Update package.json
        • Rob Lowe
          • Continue BibTeX research
        • Sam Mosher
          • Reach out to Hans-Peter Bischof, and Scott Hawker
          • BitBucket API implementation
          • Update GitHub picture
        • Colin O'Neill
          • Talk to Kurt about VM needs for building SE site
          • OR look into doing the update with TRAVIS.CI
          • Link CONTRIBUTING.md to contributing section of README.md and fix typo in that section
        • All
          • Merge dev code to master

        Risks

        • Finals and final projects coming up soon

        Needs

        • Contact Kurt for advice on VM needs

        2016-11-03

        Accomplished

        • Eric Lee
          • Prototyped code
        • Rob Lowe
          • Got a Twitter handle
        • Colin O'Neill
          • Began investigating Git hooks and GitHub web-hooks for possibly auto-updating SE site
        • All
          • Attended MozFest 2016

        Planned

        • Sam Mosher
          • Reach out to Hans-Peter Bischof, and Scott Hawker
        • Colin O'Neill
          • Send out thank you email to people who attended our MozFest talk
          • Continue looking into hooks

        Risks

        • None identified.

        Needs

        • None identified.

        2016-10-20

        Accomplished

        • Eric Lee
          • Watched Senior Project presentations for last year's Mozilla team
          • Researched GitHub APIs and compiling a Node module for front end
        • Rob Lowe
          • Got plane tickets
        • Sam Mosher
          • Drafted MozFest tickets
          • Drafted MozFest handouts
        • Colin O'Neill
          • Converted the website to use Jekyll for GitHub Pages
          • Pull request for CONTRIBUTING doc merged
          • Updated the Project Plan on the website
          • Updated the Domain Model on the website
          • Updated the Process and Methodology Document
        • All
          • Video-chat meeting with Neil Chue Hong

        Planned

        • Eric Lee
          • Work on implementing Core Module
        • Rob Lowe
          • Peer review submission
          • Mozfest Questionnaire
          • Contributing link on README
          • Look into Skype recording software
          • Template for Four-ups
        • Sam Mosher
          • Create wireframes for workflow
          • Create Online Survey
        • Colin O'Neill
          • Tweak the website to prepare for incoming hits from MozFest
          • Add Work Ticket Issues so outside contributors can start contributing
        • All
          • Review and finalized MozFest presentation & handout

        Risks

        • May not have demoable code before MozFest

        Needs

        • Hotel reservations
        • Receive reply from David Bond or Ryne Raffaelle

        2016-10-13

        Accomplished

        • Sam Mosher
          • Acquired plane tickets for Sam and Colin
          • Got Meeting planned from Dan
          • Mozilla Style guide
        • Colin O'Neill
          • Made diagrams for Methodology Doc
          • Created Contributing Doc
          • Emailed Ryne Raffaelle

        Planned

        • Eric Lee
          • Begin implementing Core Citation
        • Sam Mosher
          • Create Presentation Draft/Talking points
          • Create Handout Drafts
        • Colin O'Neill
          • Email David Bond
          • Add style guide link to CONTRIBUTING.md
          • Move documentation to website
        • All
          • Peer evals

        Risks

        • Rob remains sick, could reduce work output by as much as 25%
        • Communication issues for conversations with Dan and Neil
        • None of us have extensive experience with Node

        Needs

        • Eric and Rob purchase plane ticket
        • Response from Dr. Raffaelle & Dr. Bond

        2016-10-06

        Accomplished

        • Eric Lee
          • Domain Model
        • Rob Lowe
          • Preliminary README
        • Sam Mosher
          • Contact with Neil and Dan
        • Colin O'Neill
          • Process and Methodology document
        • All
          • Coordinating MozFest

        Planned

        • Eric Lee
          • Investigate previous team's metadata collection
        • Rob Lowe
          • Link Etherpad on README
          • README PR
          • Place IRC badge on README
          • Jekyll templates
        • Sam Mosher
          • Investigate and choose a style guide
          • Email travel agent to approve flight 26th-31st (arrive 27th, leave 31st)
        • Colin O'Neill
          • Make a CONTRIBUTING.md based on the Methodology Document
          • Email Ryne Raffaelle & David Bond about research
          • Jekyll templates
        • All
          • Upload documents to GitHub
          • Peer review Process & Methodology document
          • Peer-to-peer evaluation

        Risks

        • Renewed passports don't get in in time for MozFest

        Needs

        • Travel agent approval of flight

        2016-09-29

        Accomplished

        • Eric Lee
          • Set up Gitter chat room
          • Drafted MozFest 2016 proposal
        • Rob Lowe
          • Drafts for Deliverables and Risks
        • Sam Mosher
          • Email to Neil and Dan
          • Overview and scope draft
        • Colin O'Neill
          • Moved website to GitHub Pages
          • Made the Git repo on SE machine bulletproof (pull only)
          • Outlined Project Plan
          • Drafted Community Engagement Plan
        • All
          • Discussed methodology for the Project Plan

        Planned

        • Eric Lee
          • Domain model
        • Rob Lowe
          • Add IRC badge to README
          • Interview researcher brother
          • Create Jekyll template for four-ups
        • Sam Mosher
          • Methodology and Process Document
        • Colin O'Neill
          • Methodology and Process Document
          • Update new Jekyll blog
        • All
          • Stay on top of responding to contributors
          • Final Revision of the Proposal for MozFest
          • Style guides for contributing
          • Send Don Google Docs info
          • Peer Reviews
          • Get in times

        Risks

        • Department may reject financial support for MozFest
        • Colin and Sam need to renew their passports
        • Compounding delays

        Needs

        • Neil and Dan to get back to us with their schedules
        • SE department to approve/reject sending Colin & Sam to England

        2016-09-22

        Accomplished

        • Eric Lee
          • Pushed Synopsis to the GitHub and approved a couple of pull requests
        • Sam Mosher
          • Wrote bio
        • Colin O'Neill
          • Reformatted hours on website
          • Made small change to synopsis
        • All
          • Discussion questions
          • Review "working openly" guidelines

        Planned

        • Eric Lee
          • Create Gitter chat room
        • Rob Lowe
          • Get Four-up on website
        • Sam Mosher
          • Email Dan & Neil
        • Colin O'Neill
          • Set up a Gitter/IRC bridge
          • Create a public website on GitHub Pages
        • All
          • Outline Project Plan and Development Process & Methodologies
          • Brainstorm Product & Process Metrics
          • Draft individually assigned documents
          • Restructure Questions for GitHub Issues
          • Place first version of documents on website

        Risks

        • Failing to catch up from initial delay
        • No bios for website
        • We are unable to adequately engage the community
        • Difficulty of getting in touch with Neil and Dan

        Needs

        • Get a meeting time response from Neil/Dan

        The raw notes from which these four-ups are written can be found at https://public.etherpad-mozilla.org/p/sciencelab-rit-2016.