Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

reportbuilder/spec as user stories: Difference between revisions

From MoodleDocs
(Note about plan not to migrate this page to the new developer resources. See template for more info.)
 
Line 1: Line 1:
{{Template:WillNotMigrate}}
=Reporting Spec as user stories=
=Reporting Spec as user stories=



Latest revision as of 14:08, 24 June 2022


Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.


Reporting Spec as user stories

I've taken the content from https://docs.moodle.org/dev/reporting_spec and tried to convert them to user stories detailing what is required:

Report content (columns)

As a... I want to... So that...
Report creator Be able to report on different types of data (see Data sources) I can create a report containing only what is relevant
Report creator Be able to decide which columns to include in my report (see Column options) It only contains data which is useful to me
Site administrator Be able to restrict which user fields can be included based on my selection in "User policies > Show user identity" I can maintain the privacy of my users

Report content (rows)

As a... I want to... So that...
Report creator Be able to view site-wide data in one place I don't have to check multiple locations to get the information I need
Report creator Be able to restrict which records appear in a report (see Filter options) I can make a report relevant to it's intended audience
Report user Be able to filter the report contents (see Filter options) I can find particular records of interest to me
Report user Be able to filter by multiple items at the same time I can see results from more than one item at a time

Report access

As a... I want to... So that...
Report creator Be able to control which users can view a report I create (see Controlling view access) I can make reports private or only available to the people I want
Report user Be able to view a list of reports I am allowed to see I can find reports of interest to me

Report management

As a... I want to... So that...
Site Administrator Be able to control which users can create reports (see Controlling manage access) I can control access to the site's data
Report creator Be able to create new reports I can view and share reports on the site
Report creator Update existing reports I can make changes without having to create a new report
Report creator Delete existing reports Get rid of reports that are no longer required
Report creator Clone an existing report Save time when creating similar types of reports

Report options

As a... I want to... So that...
Report user Be able to view a report as an HTML table The report is easy to access via the site
Report user Be able to export a report as a CSV file I can download the data and manipulate it externally to Moodle
Report user Be able to sort the report by any column Organise the data into a form that is useful to me
Report user Be able to restrict the overall width of the report I can view a report without needing to scroll horizontally

Specific requirements

Data sources

List of things that report creators may want to report on:

Source
Activity logs
Statistics
Course activity report
Course participation report
Course completion
Gradebook
Quiz
SCORM
Assignment
Lesson
Workshop
Users

Column options

List of columns report creators may want to include in one of their reports

Source
User profile fields
Custom user profile fields
Specific fields depending on report type - see https://docs.moodle.org/dev/reporting_spec#What_is_to_be_reported_on

Filter options

List of ways report creators or users may want to filter the data in a report

Source
Data from one (or more) courses
Data belonging to one (or more) groups of users
Data belonging to one (or more) cohorts of users
Data belonging to users with status (active, suspended)
Data belonging to users in particular role(s)
Data belonging to users in any graded role

Controlling view access

List of methods for controlling who can see a particular report

Method
Specific users (from pick list)
Users with a specific role
Users with a specific capability
Users with a capability in the context of all of the courses included in the report
Users with a specific profile field value

Controlling manage access

List of methods for controlling who can create or manage reports

Method
Specific users (from pick list)
Users with a specific role
Users with a specific capability
Users with a capability in the context of all of the courses included in the report
Users with a specific profile field value