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! 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
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
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
- Tax report - In App
- BI - same servers, different databases
- In App (excluding tax report) more analysis is needed
- 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
- create ādummy spreadsheetsā for tax report data
- Action: All please share example use cases of tax report requirements in the folder https://drive.google.com/drive/folders/1p93DZSKGmK4S8QgigpWvM5Mm90YgnWhu
- Action Matt: Share the link to POC for UX. - complete
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
- All please share example use cases of tax report requirements in the folder https://drive.google.com/drive/folders/1p93DZSKGmK4S8QgigpWvM5Mm90YgnWhu
- Follow up to be booked once tax report simple requirements have been provided and reviewed
- Matt: Share the link to POC for UX - complete
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.