All Projects → theodi → pathway

theodi / pathway

Licence: MIT license
Map your organisation's pathway to open data success

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
SCSS
7915 projects
Gherkin
971 projects

Projects that are alternatives of or similar to pathway

patrick-wechat
⭐️🐟 questionnaire wechat app built with taro, taro-ui and heart. 微信问卷小程序
Stars: ✭ 74 (+469.23%)
Mutual labels:  questionnaire
maturity
中大型组织 DevOps 成熟度模型
Stars: ✭ 31 (+138.46%)
Mutual labels:  maturity
UCAS-Helper
国科大(UCAS, ucas)校园网登录、课程资源下载、自动评教和分数查询助手
Stars: ✭ 105 (+707.69%)
Mutual labels:  assessment
ShinyItemAnalysis
Test and Item Analysis via Shiny
Stars: ✭ 30 (+130.77%)
Mutual labels:  assessment
website-development-questionnaire
Questions to ask your client before you start developing the website.
Stars: ✭ 28 (+115.38%)
Mutual labels:  questionnaire
SQLPowerDoc
Hopefully an up to date fork of SQL Power Doc. Newer PS versions and .NET levels. Maybe too ambitious. This repository was cloned from kendalvandyke, the original author of SQLPowerDoc. Codeplex is currently in the process of shutting down. I cloned this project (and its wiki) with the intention of preserving a wonderful tool that I recently dis…
Stars: ✭ 19 (+46.15%)
Mutual labels:  assessment
reproducible-continual-learning
Continual learning baselines and strategies from popular papers, using Avalanche. We include EWC, SI, GEM, AGEM, LwF, iCarl, GDumb, and other strategies.
Stars: ✭ 118 (+807.69%)
Mutual labels:  assessment
LOCKLEVEL
A prototype that demonstrates a method for scoring how well Windows systems have implemented some of the top 10 Information Assurance mitigation strategies. #nsacyber
Stars: ✭ 98 (+653.85%)
Mutual labels:  assessment
Google-IT-Automation-with-Python-Professional-Certificate
Crash course on python [Course 1 of 6 in the Google IT Automation with Python Specialization
Stars: ✭ 34 (+161.54%)
Mutual labels:  assessment
pathfindR
pathfindR: Enrichment Analysis Utilizing Active Subnetworks
Stars: ✭ 138 (+961.54%)
Mutual labels:  pathway
QuestionnaireView
A simple view to be able to display question and various field (Radio, EditText, checkbox ) for answers
Stars: ✭ 34 (+161.54%)
Mutual labels:  questionnaire
Linkedin Skill Assessments Quizzes
Full reference of LinkedIn answers 2021 for skill assessments, LinkedIn test, questions and answers (aws-lambda, rest-api, javascript, react, git, html, jquery, mongodb, java, Go, python, machine-learning, power-point) linkedin excel test lösungen, linkedin machine learning test
Stars: ✭ 7,014 (+53853.85%)
Mutual labels:  assessment
Prowler
Prowler is a security tool to perform AWS security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains more than 200 controls covering CIS, ISO27001, GDPR, HIPAA, SOC2, ENS and other security frameworks.
Stars: ✭ 4,561 (+34984.62%)
Mutual labels:  assessment
currency-exchange
Currency Exchange | powered by Angular 10, TypeScript, ES6+ features, SCSS, JavaScript, PWA
Stars: ✭ 13 (+0%)
Mutual labels:  assessment
prosoul
Automatic Project Assessment and Visualization based on Quality Models
Stars: ✭ 16 (+23.08%)
Mutual labels:  assessment
Dwsurvey
Open Source Survey System. 最好用的开源问卷调查系统、表单系统。
Stars: ✭ 1,755 (+13400%)
Mutual labels:  questionnaire
Survey Library
JavaScript Survey and Form Library
Stars: ✭ 3,060 (+23438.46%)
Mutual labels:  questionnaire
structor
FHIR Questionnaire Form Builder
Stars: ✭ 25 (+92.31%)
Mutual labels:  questionnaire

Open Data Pathway

Open Data Pathway is a tool to help organisations carry out an assessment of their open data maturity (ODMAT).

The tool allows users to complete a series of short questionnaires to help calculate the maturity of a number of processes in the organisation, e.g. how data is released and governed.

After completing an assessment the tool will provide the organisation with a maturity score and will create a suggested action plan to help them improve their rating. The report will also include any notes and links to evidence provided during the assessment.

To help benchmark organisations, and to provide a sense of the maturity of the overall community of users, the tool also includes some anonymised statistics. These statistics are published as open data.

Summary of features

Open Data Pathway is a rails app that currently supports the following user features.

Follow the public feature roadmap for Open Data Pathway

Assessments

  • User can register with the site to create one or more assessments
  • Basic account management features, including profile editing, password management, etc.
  • User can link themselves to a data.gov.uk organisation to benchmark against their peer organisations
  • Assessment can be started and resumed at any point; user can tackle activity assessments in any order
  • Simple multiple choice questions with supporting help text; user can attach notes and add links to provide evidence of progression

Reports

  • Maturity assessments automatically calculated when assessment is finalised
  • Maturity scores available as high-level summary as well as a detailed breakdown for each activity
  • Maturity scores can be downloaded as a CSV file to allow scores to be used elsewhere
  • The user leading the assessment can share the report with colleagues using a signed link
  • The completed report includes the answers and evidence provided by the user, as well as suggestions for how to improve
  • Application retains archive of reports to allow for, e.g. annual assessments of progress
  • User can set targets scores for each activity, to indicate how they expect to improve between assessments

Statistics

  • Heatmap showing scores for all completed assessments in the system and those for all data.gov.uk organisations
  • A data.gov.uk organisation can compare itself against others in its department (e.g. Defra)
  • Statistics are published as open data for reuse by the community

Development

Build Status Dependency Status Code Climate Badges

Requirements

Ruby 2.4.1

Environment variables

The .env file in the application directory should contain:

MANDRILL_APIKEY=...
MANDRILL_USERNAME=...
GOOGLE_ANALYTICS_TRACKER=UA-XXXX-Y
ADMIN_EMAIL=...
ADMIN_PASSWORD=...
HEATMAP_THRESHOLD=1

The variables are:

  • MANDRILL_APIKEY and MANDRILL_USERNAME are for accessing mandrill API for sending emails
  • GOOGLE_ANALYTICS_TRACKER is the Google Analytics key, this can be defaulted in the dev environment
  • ADMIN_EMAIL and ADMIN_PASSWORD are read during rake db:seed to create a default admin user in the system with the given credentials
  • HEATMAP_THRESHOLD is the number of completed assessments that must be in the system before the statistics are shown to users. Helps to anonymise data when there are only a small number of completed assessments in the system or from a specific data.gov.uk organisation. Recommend to use 1 in development and 5 in production.

These environment variables should also be configured on Heroku - see below. The Mandrill ones (and those for Postgres which are not shown here) are handled when the addon is deployed for the app. The others needs to be manually added.

Development: Running the full application locally

Checkout the repository and run bundle in the checked out directory.

Intialise the database with

rake db:migrate
rake countries:import
rake questionnaire:import

To start the application run rails s in the checked out directory

Application should be available in a web browser at http://localhost:3000/

Tests

Open Data Pathway uses rspec and cucumber frameworks and requires an .env file with the variables stipulated above

To run unit tests execute bundle exec rspec

To run Cucumber features execute bundle exec cucumber

Rake Tasks

In addition to the default Rails tasks the application has a couple of extra rake tasks

  • questionnaire:import - import the questionnaire in survey/survey.xls into the database, used when seeding the app. Should have version number and optional notes parameters, e.g. rake questionnaire:import[1] imports the survey as version `.
  • questionnaire:update - updates a specified version of the questionnaire, using the questions from survey/survey.xls. Should have version number parameter, e.g. rake questionnaire:update[1] imports the survey as version `. Use this when changes have been made to the survey text.
  • organisations:import - imports the list of data.gov.uk organisations into the database
  • organisations:weekly_import - hack to run the above on a weekly basis in heroku
  • statistics:generate - generate the statistics for all completed assessments. Should be configured to run on heroku via the scheduler

Both the statistics generation and weekly organisation import should be configured to run regularly on heroku via the scheduler.

The questionnaire import is only used when seeding the database or when making enough modifications to the questionnaire that it warrants creating a new version (see below). If there have just been changes to the text for existing questions or help text then use the import task, specifying the right version.

The Survey Questionnaire

The questions for the assessment can be found in survey/survey.xls. A spreadsheet was used to try to make it easier to review and edit the question text separately from the application. The spreadsheet is read by the questionnaire:import and questionnaire:update tasks to populate and update the database.

NOTE: currently the application doesn't have a fully developed model for versioning the questionnaire. Care needs to be taken when creating entirely new versions, rather than updated. This is something that was planned to be improved at a later date. Currently the version number in the database is collected as a basic versioning mechanism, but this is not evident to the user and there is no way to stage releases: a newly added version will immediately become the default for users.

The spreadsheet consist of three worksheets:

  • activities - list of the dimensions and activities that define the framework for the questionnaire
  • questions - all questions, answers and help text
  • improvements - list of suggested improvements associated with specific answers

Activities

The activities worksheet has the following columns:

  • Dimension - name of dimension (from the open data maturity model), these are categories and have many activities
  • Activity - name of activity (from the open data maturity model)

Questions

The questions worksheet is structured as follows:

  • ID -- stable identifier for the question
  • Dimension -- the dimension of the maturity model to which the question relates. Should match an entry in the activities worksheet
  • Activity -- the activity to which the question relates. Should match an entry in the activities worksheeet
  • Question Text -- the text of the question
  • Question Notes -- any help text that should be displayed to the user alongside the question
  • Dependency -- indicates whether this question is dependent on whether the user has given a positive answer to a previous question
  • Answer ID -- stable identifier for the answer
  • Answer Text -- text for an answer to this question
  • Positive? -- indicates whether this is a positive or negative answer. Selecting a negative answer will mean the user is not asked any further questions. A positive answer may mean that the user has to answer some additional dependent questions
  • Maturity Score -- the score that the user receives for answering this question, any path through the questions for a specific activity should yield a single score
  • Internal Notes -- working notes for editors, not to be loaded into the database

Improvements

The improvements worksheet is structured as follows:

  • ID -- stable identifier for the improvement
  • Answer ID -- the answer to which the improvement relates. Should match an entry in the questions worksheet
  • Notes -- the text displayed to the user

An answer may have several improvements associated with it, e.g. a list of recommended tasks. These are displayed to the user based ordered by the ID in the spreadsheet.

Deployment

Deployment on Heroku

Currently there are two deployment: a live site and a test server. Both use the following add-ons:

  • Heroku Postgres
  • Mandrill
  • Heroku Scheduler - for running the data.gov.uk download and statistics generation

The Travis build is configured to automatically deploy successful builds of master to the odmat-staging application.

Releases to production have so far been done manually: the production heroku app is set up as a remote git repo and code is pushed to that (git push production master).

$ git remote -v
origin	[email protected]:theodi/ODMAT.git (fetch)
origin	[email protected]:theodi/ODMAT.git (push)
production	https://git.heroku.com/odmat.git (fetch)
production	https://git.heroku.com/odmat.git (push)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].