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 DocumentDevelopment 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 DocumentDomain Model
The domain model provides a high-level overview of the software's components and how those components interact.
View DocumentInterim 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 DeckPoster
The poster was created near the end of the project to inform about the context, process, and results of the project.
View DocumentFinal 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 DeckThe 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
- Sam Mosher
- Web app live on Heroku
- Abby added as collaborator and ownership transfered
- Renamed and live at http://software-citation.herokuapp.com
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
- Rob Lowe
- Got the link added to the extension
- Sam Mosher
- Built web app API (repo: https://github.com/sam1360/citation-web-server)
- Colin O'Neill
- UI for front in built (take a look at http://imgur.com/a/QnARG)
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
- Eric Lee
- Can iterate through commits in .git folder
- Sam Mosher
- Got changes in for PR
- Colin O'Neill
- Discussed web app and opened some Issues (https://github.com/mozillascience/software-citation-tools/labels/Webapp)
- Drafted newsletter (Abby approves!)
- Worked on figshare support for CitationCore
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.