OSEDev

From Open Source Ecology
Jump to: navigation, search

About

OSEDev aims to be an online community hub for OSE Developers facilitating project management, task tracking, on-boarding, blogging, developer profiles/social networking and the backend for the parts catalog and marketplace.

Frontends backed by OSEDev:

Status

Links

Use Cases

General

I'm new, how do I log my time?

  1. You must be added to osedev.org as an OSE Developer by an admin and you will receive your osedev.org username (usually the same as your wiki username).
  2. Add widget to your Log wiki page (replace YOUR-OSEDEV-USERNAME with your actual username): <html><iframe width="700" height="1000" src="https://osedev.org/wiki/YOUR-OSEDEV-USERNAME"></iframe></html>
  3. Start logging your hours.

I need help, I found a bug or I'm having problems.

Bugs, issues, questions, etc. can be filed in github issue tracker and will be addressed within a day or two (usually faster):

  1. https://github.com/osedev/osedev/issues

If it's about your developer status or something private about your account:

  1. Contact Marcin or HR.


I want to download a .csv with...

weekly hour totals for everybody combined.

https://osedev.org/report/everybody.csv

weekly hour totals for specific user.

Replace YOUR-OSEDEV-USERNAME with actual username:

https://osedev.org/report/YOUR-OSEDEV-USERNAME.csv

The User name is the same user name as the wiki user name.

https://osedev.org/report/Oliver.csv

everybody's hour entries.

https://osedev.org/report/entries.csv


I want to see...

how osedev.org splits entries by week.

https://osedev.org/report/logs

aggregated list of everybody's latest entries.

https://osedev.org/activity


Graphs

I want to embed a graph in the wiki

Embed graphs:


  • Everyone Total - <html><iframe width="600" height="350" src="https://osedev.org/graph/weekly/total/?start=2/1/2017"></iframe></html>
  • Everyone Individual Graphs - <html><iframe width="600" height="650" src="https://osedev.org/graph/weekly/user?start=2/1/2017&height=650"></iframe></html>
  • Individual User (user is username on wiki) - <html><iframe width="600" height="350" src="https://osedev.org/graph/weekly/user/marcin?start=2/1/2017"></iframe></html>

you can now provide a custom height for any graph:

https://osedev.org/graph/weekly/user/?height=600


If you want to both specify a height and a start date then you must separate the parameters with ampersand, so:

https://osedev.org/graph/weekly/total/?start=2/1/2017&height=600


Graph Links:




Admins

I want to add a new Time Log

  1. https://osedev.org/admin/user/user/add/
  2. Enter username.
  3. Enter email address.
  4. Select "Send Verification Email" in the "Emails & Verification" dropdown.
  5. Enter first name, last name and location (just the town/city and/or state and country for the purpose of mapping contributors).
  6. Check "OSE Developer".
  7. Check "Current".
  8. Make sure "Valid" is also checked.
  9. Click "Save" at the bottom and you are done.
  10. Let the developer know about adding the time logging widget to their log page.
  11. Add a new time log as this example replacing name with new username: <html><iframe width="600" height="500" src="https://osedev.org/wiki/name?start=9/1/2019"></iframe></html>

I want to suspend an OSE Developer account

  1. https://osedev.org/admin/user/user/
  2. Find the user you are looking for and click on them.
  3. Scroll to "Permissions".
  4. Uncheck "Current".
  5. Click "Save" at the bottom and you are done.

The user will still show up in total hours logs but they will not show up in the individual efforts graph.

I want to enable a previously suspended OSE Developer account

  1. https://osedev.org/admin/user/user/
  2. Find the user you are looking for and click on them.
  3. Scroll to "Permissions".
  4. Check "Current".
  5. Click "Save" at the bottom and you are done.

I want to ban a user

  1. https://osedev.org/admin/user/user/
  2. Find the user you are looking for and click on them.
  3. Scroll to "Permissions".
  4. Uncheck "Valid".
  5. Click "Save" at the bottom and you are done.

The user will no longer be able to login.

I want to fix a log entry

  1. https://osedev.org/admin/notebook/entry/
  2. Find log entry that needs correction.
  3. Click on log entry, make change and save.

I want to add a log entry

  1. https://osedev.org/admin/notebook/entry/
  2. Click on the "Add Log Entry" link in upper right hand corner.
  3. Pick the user, enter hours and notes and save.

I want to add a new product burn down chart

  1. https://osedev.org/admin/plm/product/add/
  2. Enter new product details including the Google Spreadsheet ID which is in the URL of the Product Development Template spreadsheet; Note this is not the full URL, just the ID after the .../d/ in the URL, and omitting the Edit at the end.
  3. Also enter the Cell where the total completed percentage can be found.
  4. Once you have the product created you can click on checkbox next to it on the product listing screen and choose "Import latest progress for selected products". This will import progress immediately.
  5. To use the burn down chart in the wiki add iframe with a URL like: https://osedev.org/graph/weekly/burndown/Tractor?start=9/17/2017 . Replace "Tractor" with the name of the machine entered when creating the Product. Note: name is tricky - must replace blank spaces and special characters with URL Encoded Characters


HintLightbulb.png Hint: Make sure the visibility of the spreadsheet is set to public

Sample embed:


There is also a cronjob that will trigger imports daily at 4am.

Overview

Premise

Scaling OSE into a global effort will require on-boarding more and more contributors. The following challenges and needs are present:

  1. Scaling technically, socially and organizationally.
  2. Aligning contributor efforts and available resources with completing tasks and accomplishing the mission.
  3. Interact with like minded individuals, collaborate, work, support others and be supported.
  4. Feel appreciated, integrated and accountable.

Features

Finished / Planned

  • Time Tracking: Live.
  • Developer Profile: In-Progress.

Proposed

  • Map of contributors
  • Task Tracking, something like scrumy but more customized for OSE workflow.
  • Integrated video conferencing: with database of tasks and active developers it would be ideal to have one screen with a video conference, task creator and task assignment.
  • Sponsor an OSE Developer: With browsable OSE Developer profiles and ability to see effort and progress per volunteer, the next logical step would be to allow outsiders to sponsor a particular developer. Could be monetary donations, tools, lodging, travel, etc (whatever makes sense for a particular volunteer and their situation). This can either be structured and have OSE management be involved or a direct collaboration between volunteer and donor. Something like patreon.com but with very deep integration with OSE needs, processes and workflows. This is different from organizational level fund raising in that ose developers would be encouraged to contribute more and high quality work in order to attract a sponsor, they can also advertise their OSEDev profile page themselves in other mediums.


Rollout Sequence

Phase 1

  1. Login is same as wiki (if someone is logged in, they can edit their hours)
  2. Contributors Input hours spent on tasks at any time, or all at once, through an inerface embeddable in the wiki
  3. Generates hours graph equivalent of Volunteer_Timesheet#Contributor_Graph (sum of all contributors' hours, number of contributors). This is an overall graph over all of time since 2017.

Phase 2

  1. Generates the same contributor graph with hours broken down by every contributor (many contributors on same graph, contributor labeled by color and name
  2. Back end is editable to correct any errors in inputs
  3. Generates embeddable Contributor Graph (wiki, wordpress). This graph is a sum of all contributions
  4. Validates input (so it's a number)
  5. Generates graph by a single contributor for the last 90 days
  6. Generates overall graph by contributor (over all of their time), with x axis time, and hours on y graph
  7. Generates embed code for each contributor graph (to paste in Work Log)
  8. Allows anyone to see a log of all contributions, and log of contributions by person. Log includes what task was done

  1. Graphs the number of wiki editors (is this possible?) this requires osedev.org and the wiki to be running in the same infrastructure

Phase 3

  • Emails follow up with 90 day cycle completion, and follow up with a mid-point survey.
  • Integrates with phpList so Developees List can be used for dev team emails as needed
  • Adds and removes emails from active Dev List automatically if people leave the team
  • Contains emails of all contributors
  • Automatic send of welcome email (to be written up)
  • Automatic followup email if 2 weeks pass after Video Cover Letter, to see where a person is.
  • Automatic followup email for people to create work log if they don't do so by 2 days.
  • Automatic send of regret letter (for devs let go, or for applicants who do not create a work log)
  • Note that work log documents at which point people get stuck - for quality improvement purposes where OSE learns what of its procedures are adequate/clear
  • Sends auto emails if logging has not occurred for 7 days (email to be written)
  • Sends warning emails if a person is below 6.5 hours per week
  • Sends auto email warning if 4 week average is trending below 6.5
  • Kicks people off the team if 4 week average is below 6.5. This must be approved by HR admin.

Advanced

  • Parses person's work log for key outputs of that week, and posts all those results automatically on a weekly Results Log (presented during Team Meetings, as automated Scrum Standup)

Documentation Requirements

  • App is fully documented so anyone can manage its subsequent modification (coding level)
  • Admin side is documented, including a 1 minute video
  • User howto is documented, including a 1 minute video

Other

Other Automation

  • Automates interview calendar
  • Automates badge creation and update
  • Automates sticker sending + swag sending
  • Integrates with main website (WordPress) for automatic display via simple iframe or embed code
  • integrates display to wiki with iframe or embed code, and is updated automatically on those pages

Automation

  • App should encourage time logging on an ongoing basis, as it provides an automatic week tally.
  • Sends notification - when person did not fill it out
  • Sends notification to Developer if they are not filling their commitment at the absolute minimum level (6.5)
  • Boots people off if they don't meet their average absolute minimum after 1 month
  • Rewards with an Outstanding Badge for meeting 90% of their quota after 3 months
  • Produces the graph that we use currently on an ongoing basis
  • Graphs the number of wiki editors on an ongoing basis
  • Graphs the total size of the dev team at one point
  • Provides a stats dashboard with all contributors like current graph, agraph broken down by each contributor and labeled, a graph of wiki editors, number of wiki articles, number of edits

Questions

  • Pull in alalytics from wiki to track overall Number of Editors, Number of Wiki Pages, Machines Documented
  • Create a burndown for each project. Burndown goes up to a successful enterprise. Would need to know the expected total hours in order to do burndown.
  • Can app talk to Piwik? Probably yes.
  • Can app query Mediawiki database? this requires osedev.org and the wiki to be running in the same infrastructure
  • Can app query Wordpress database? this requires osedev.org and the wiki to be running in the same infrastructure


Other

Content Feed

  • Has auto feed from contributor logs to a single wiki page gallery,where Devs mark up their wiki for inclusion into weekly Results Gallery
  • Results Gallery wiki page feed happens automatically, with new wiki pages created automatically

Good Standing Algorithm

  • 65% is our absolute minimum cutoff
  • If 65% cutoff is not attained over a month duration, Dev is removed from Dev status and asked to rejoin if their time frees up
  • Regular Track is defined as someone who just participates
  • Advanced Track is defined. This means that a certain person is preparing for running workshops. This includes building a machine and then committing 2 weeks on site for a Dedicated Project Visit.


Old Timesheet Hours

Log

See Also