weixin_39943926 2020-11-21 18:23
浏览 0

Create an API to build and render reports

| PR | Relies On | Tracking | Project | ------ | ------------ | ----------- | ------------ | ~#6289~, ~#6329~ | ~#6254~, ~#6280~ | #6236 | 3DD™: Reporting API Reboot

Background

This primarily builds off of the work being done in #6254 and #6280. Once the report and endpoint registries are in place, we'll need to introduce an API for actually rendering the pieces stored in those registries.

The thinking is that, just as Endpoint objects are being built from Endpoint_Registry entries in #6280, the process of instantiating a report for display should work similarly.

More specifically, a call will go out for all registered reports to be instantiated as Report objects, with the view type for endpoints set by virtue of inclusion in specific view lists in the report registry entries. For example, if a report is registered with several endpoints under a tiles key, all of those endpoint records will be instantiated in the Report object with the view and data model logic in place for the tile view type.

It should be possible to both retrieve a registered report and instantiate one on the fly (as well as retrieve registered endpoints and/or create them on the fly). This approach allows for the greatest level of flexibility in extending the new reports API.

Ideally, at the time of instantiation, the Report object should contain all of the necessary information for display short of actually having performed the queries set out in the data model corresponding to the endpoint views. This allows for loading much of the endpoint data just-in-time (JIT).

该提问来源于开源项目:easydigitaldownloads/easy-digital-downloads

  • 写回答

5条回答 默认 最新

  • weixin_39943926 2020-11-21 18:23
    关注

    WIP PR: #6289

    评论

报告相同问题?