Reports Project

Yes, one server containing data of all instances is much more attractive than one server containing a fraction of that data. From the top of my head, data prone to misuse are all the keys for Stripe, Paypal, emailing etc, then all the personal information to impersonate people or send very targeted phishing emails. Having ten times more data means ten times the impact if it gets hacked.

wow @lin_d_hop that was amazing! :clap: I canā€™t add much that you didnā€™t mention. I share exaclty the same vision. The solution to our needs involves these three pieces.

Iā€™m not clear if thatā€™s what you meant @Matt-Yorkley but Iā€™d like to stress that whether or not we render reports server-side or client-side should be a smaller detail. If we go server-side Iā€™d like to share 90% of the code that feeds the API. If we go client-side instead, chances are that weā€™ll need purpose-specific endpoints that return that data in the format that best fits the UI.

Looking forward to the meeting :heart_eyes:

Take a look at the POC! Itā€™s fully working (currently for one report) and can be accessed from the API or from the reports section in various formats. The code is 100% shared between the API endpoint and the in-app rendering methods (which are twice as fast as they were before): Reports rewrite POC by Matt-Yorkley Ā· Pull Request #5576 Ā· openfoodfoundation/openfoodnetwork Ā· GitHub

2 Likes

Product vision meeting notes 23/06

Thanks everyone for attending the product vision session which helped us start the priorities and scope to help define roadmap of the 3 routes (In App, BI, API)

Please find a summary below

Final high level summary of prioritisation

  1. Tax report - In App
  2. BI - same servers, different databases
  3. In App (excluding tax report) more analysis is needed
  4. API more input needed from DFC

Tax report

Scope of tax report:

  • Agreed would be in app
  • Orders and order with line items
  • Aggregations: Customer totals, supplier totals, Fee/Tax/adjustment totals, product total, variant totals.
  • Columns: Split values into tax itemisations etc
  • Sum by order for suppliers
    • Order by suppliers (by line item?)
    • product strategy for tax report

Tax report notes

BI (including Product infrastructure)

Options discussed :

  • Super admin only for each instance separately
  • Replica DBs (for each instance)
  • Replica DB that aggregates instances
  • Replicate OFN Enterprise permissions for direct user access

BI notes

  • Decision: Same servers, different databases which allows instances to get data they want (change password)
  • Link to previous roadmap
  • Discuss this in product curation on 30/06
  • Action: Wish list/epic created for these
    • thereā€™s some timestamp parsing issues currently that should be fixed when we move to Rails 4, so maybe we should wait for the v3 rollout
    • the first step is provisioning a new Kafka/Metabase server on a bigger droplet. This is already automated, so itā€™s a small job, but it needs to be done first
    • the proposed roadmap is now to expand the replication and Metabase stuff to include France, Aus, and Canada

In App

Options discussed:

  • Refactor all existing reports and resolve consistency issues
  • Mega report with the flexibility to show/hide fields for orders with/without line items

Considerations:

  • Is a mega report realistic? Is it possible to maintain something so flexible?
  • Do we need to keep the existing reports? Can we group, cluster and remove superfluous?
  • Performance and resource issues will be key

In App notes

  • Get ā€˜simpleā€™ requirements from tax report provided first, review and have a follow up

API

Options discussed:

  • Just refactoring existing reports as per Matts POC
  • Redesigning the json outputs for orders w/out line items

API notes

  • Wait for DFC insight

Summary of Actions and next steps

In App Actions

BI Actions

  • Lynne to create wish list/epic for BI Server (FR, AU, CA)
  • Discuss in product curation on 30/06

HH to create first draft of project roadmap

HH to create draft wider product vision for product team input and review

This project is now tracked here: Reports Project Ā· Issue #182 Ā· openfoodfoundation/wishlist Ā· GitHub

closing.