Skip to content
This repository has been archived by the owner on Aug 9, 2022. It is now read-only.

Update user stories #22

Merged
merged 26 commits into from
Jul 1, 2020
Merged

Update user stories #22

merged 26 commits into from
Jul 1, 2020

Conversation

kgcreative
Copy link
Member

No description provided.

Changes from initial discussion on 6/23/2020
@kgcreative kgcreative changed the title Update user story 1 per 6/23 discussion Update user stories Jun 26, 2020
@kgcreative
Copy link
Member Author

@davidcui-amzn -- I've updated the user stories per my working session with Viraj.

1. As a user, I should be able to search my reports by report name.
1. As a user, I should be able to view a report details page for any report on the list.
1. As a user, I should see my reports ordered in reverse chronological order by default.
1. As a user, I should be able to download the default file format, or select from a list of contextually appropriate file formats (pdf, png, csv, excel, etc) from the reports list.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs clarity. If user generates/schedules a report in the format of pdf, but he can manually download it from report landing page in other formats?(e.g. png)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way i'm currently thinking about it is a combo download/dropdown button. Clicking download will download the default file format that was predetermined. But since we are not saving the file, we can generate an alternate file on the fly. I'm also ok making that available in the report details page instead to keep the list page cleaner.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be in the Report Details page to avoid clutter on the landing page- maybe an indicator would be helpful on the homepage though, something like a other formats option that will redirect to Report Details

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated based on feedback. I've also cleaned up the mocks to take this into account

#### Report configurations
1. As a user, I should see Name, Owner, Type, Status (active/disabled), Source, Last updated, Details on the `Report configurations` list.
1. As a user, I should be able to view, edit and delete a report configuration.
1. As a user, I should be able to
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

delete if unnecessary


#### Report configurations
1. As a user, I should see Name, Type, Owner, Source, Last updated, Details, Status (active/disabled) on the `Report configurations` list.
1. As a user, I should be able to view, edit and delete a report configuration.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also disable a report config?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will that be a P0 feature? If not I think it's ok not to include it yet?

Comment on lines +85 to +86
1. As a user, I should be able to insert a file URL refecence to the email body.
1. As a user, I should be able to insert the report source URL reference to the email body.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need more clarity on "file url", what file does it refer to?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of attaching the file, a link to download the file through the kibana API

##### Sharing or archiving an existing report
1. As a report owner, I should be able to share or archive a report.
1. As report owner, I should be able to add new email recepients, and new kibana recepients to an existing report.
1. As a report owner, I sholud not be able to remove existing email or kibana recepients from an existing report.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder the reason behind this

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the intent to share a report, is to send the report to either a user or an email address. Once they have been shared or sent, the user has generally downloaded that file, so we are keeping the record of who it was emailed to or sent to. If we were to remove senders from the report, this wouldn't recall the email, so we don't want to alter the record of which addresses/users a report was delivered to.

@kgcreative kgcreative requested a review from zhongnansu June 30, 2020 18:04
Copy link
Member

@zhongnansu zhongnansu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

docs/dev/Kibana-Reporting-Design-Proposal.md Show resolved Hide resolved
* The user should be able to create/modify reports both through the Kibana UI or programmatically through APIs.
* Ability to schedule/trigger reports periodically (a cron based schedule) or at a given frequency continuously or within certain time range.
* Ability on instantly create downloadable reports or deliver scheduled reports via external channels.
* Ability to enable/disable report generation
* Ability to generate download logs as part of fine-grained audit lgos.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. typo
  2. What's the format of such log files that can be downloaded? What information do we keep in the log?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I believe those are defined in the Security plugin settings: https://opendistro.github.io/for-elasticsearch-docs/docs/elasticsearch/logs/ -- There may need to be some technical requirement gathering here, but basically if application logging is enabled, a record of download requests should be included. I would defer to your team / Ani / Viraj in terms of what information is needed for what level of logging.

### In-context reports
1. As a user, I can download a PDF, PNG, CSV, XLS file in-context from any available panel (e.g. Dashboards, visualizations, saved searches, etc).
1. As a user, any time I download a report from any available panel (e.g. Dashboards, visualizations, saved searches, etc), a report will be auto-generated in the reports list.
1. As a user, I can create a report definition from the share menu of any available panel (e.g. Dashboards, visualizations, saved searches, etc).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From doc- When download is clicked from the share menu, it will direct to the Create Report page with settings pre-populated contextually

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was before we decided to split Download from Share. This current user story reflects the change in thinking. The flow is Share -> Create report definition, or Download -> PDF report | PNG report | CSV report | XLS report

1. As a user, I should see my reports ordered in reverse chronological order by default.
1. As a user, I should be able to download the default file format from the reports list.
1. As a user, I should be able to see a list of reports for the past 100 days.
1. As a user, archived reports should not be visible by default (the default filter should exclude archived reports) (p2)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarity on archive: archive is a status- shouldn't be able to see by default but a user should be able to filter by status to see archived reports

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct

1. As a user, if I select `recurring`, I should be able to configure a recurring schedule.
1. As a user, if I select `custom cron`, I should be able to configure a cron-based schedule.
1. As a user, if I select `recurring` or `custom cron`, I should be able to configure an end date.
1. As a user, when I select `Alert`, I should be able to select the alert a report gets triggered from.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where to select the alerts from? What generates the list of selectable alerts?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These will come from the Alerting plugin. In the alerting plugin, we can create monitors, and those monitors have triggers. We need to get a list of available monitors, and once a monitor has been selected, we need to get a list of available triggers to use as a report trigger target.

1. As a user, when I create a report definition, the definition settings are saved and show up as a list item in the ‘Report definitions’ list.
1. As a user, when a report definition has been triggered via schedule or alert, I should be able to see an instance of the report in my "Reports" list, and any users I send the report to, will also see a report instance in their repective "Reports" list page.
1. As a user, when a report is created from a triggered definition condition, I should receive a notification on all configured delivery channels (Email, chime, slack, etc)
1. As a user, when a report is created from a triggered definition condition, I should receive a kibana toast alert letting me know that the report is available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Toast alert will pop up no matter where we are in Kibana?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might need to think about this one a bit more. It would be annoying to be inundated by toasts. Maybe only pop a toast when a user has been added as a recepient via the "share" option in the report details page. (So automated and scheduled reports don't create extra noise)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will change this user to something along this lines:

  1. As a user, when a new report is available and I'm outside the reporting plugin, there will be some kind of indicator on the reporting plugin icon to let the user know that there are new reports available. We shouldn't generate toasts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So to clarify- if I'm on Kibana but not on the reporting plugin, the only notification I might see is one that's on the Reporting plugin icon in the sidebar?

1. As a user, when a report definition has been triggered via schedule or alert, I should be able to see an instance of the report in my "Reports" list, and any users I send the report to, will also see a report instance in their repective "Reports" list page.
1. As a user, when a report is created from a triggered definition condition, I should receive a notification on all configured delivery channels (Email, chime, slack, etc)
1. As a user, when a report is created from a triggered definition condition, I should receive a kibana toast alert letting me know that the report is available.
1. As a user, when a report fails due to an error, I should receive a kibana toast alert letting me know that the report failed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as above

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss this one as well.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The sender of a shared report should receive a toast informing them there was an error
  • The owner of a report definition should receive a toast informing them that there was an error when triggering the report generation
  • The receiver of a report will only see a report in the reports list, with a status of error. They will not see a toast.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these toasts coming only when the user is in the Reporting plugin? Is it following the same practice as the comment above?

Copy link
Member Author

@kgcreative kgcreative Jul 1, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I am a sender, or a definition owner
The toast should come wherever I am in the application.

When I am a receipient
No toasts should display whatsoever for scheduled or triggered events. I should only see the "New report available" indicator on the reporting icon on the sidebar.

The rationale being, if I am the owner of a report definition, I will want to be alerted of an error when a report definition is triggered. But I don't want to be alerted that reports have been generated successfully.

* The user should be able to create/modify reports both through the Kibana UI or programmatically through APIs.
* Ability to schedule/trigger reports periodically (a cron based schedule) or at a given frequency continuously or within certain time range.
* Ability on instantly create downloadable reports or deliver scheduled reports via external channels.
* Ability to enable/disable report generation
* Ability to generate download logs as part of fine-grained audit logs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need clarity on what is meant by logs? What kind of logs?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Application logs via FGAC audit logs. See documentation in Security plug-in (https://opendistro.github.io/for-elasticsearch-docs/docs/security-audit-logs/) Depending on the level of logging enabled, download actions should be part of the generated logs. This is more of a backend question than front-end.

@davidcui1225 davidcui1225 merged commit de26751 into opendistro-for-elasticsearch:dev Jul 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants