[ANALYTICS-78] Provide simpler chart config by pre-defined chart so that users can use them (include) to their dashboard definitions Created: 29/May/19 Updated: 26/Jun/19 Resolved: 24/Jun/19 |
|
| Status: | Closed |
| Project: | Analytics |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Type: | Story | Priority: | Neutral |
| Reporter: | Oanh Thai Hoang | Assignee: | Oanh Thai Hoang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | 0d | ||
| Time Spent: | 6d 1h | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||
| Template: |
|
||||||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||||||||||
| Date of First Response: | |||||||||||||||||||||
| Epic Link: | Analytics backend | ||||||||||||||||||||
| Sprint: | Add-Ons 13, Add-Ons 14 | ||||||||||||||||||||
| Story Points: | 8 | ||||||||||||||||||||
| Description |
|
Example expectation configuration:
chartDefinitions:
- chart1: @includes ohlcChart.yaml
dataSupplier: GA
title: myTitle
- chart2: @includes: PIEChart.yaml
dataSupplier: Matomo
title: Pie chart
or
chartDefinitions:
- chart1:
type: ohlcChart
dataSupplier: GA
title: myTitle
- chart2:
type: PIEChart
dataSupplier: Matomo
title: Pie chart
Agreement: Just for really basic chart, complex case user will config nativeJson by their own (We did propose config nativeJson) Propose approach:
|
| Comments |
| Comment by Le Hai Thanh [ 20/Jun/19 ] |
|
Hi oanh.thai, I have done piQA for this PR and found some issues. Please help to review it 1. Case5: No nativeConfigJson and NO amChartConfiguration. PASSED (no chart due to NPE, should have notification/message). Please consider it.
2019-06-20 10:13:59,940 ERROR gnolia.analytics.amcharts.vaadin.AmChartsComponent: Fail to generate AmChartsComponent from 'line-chart' definition due to java.lang.NullPointerException
2. Using nativeDataJson but incorrect demoMatomoSupplier's credentials will show no data
2019-06-20 08:20:50,326 ERROR lia.analytics.matomo.datasource.MatomoDataSupplier: Fetching of report failed.2019-06-20 08:20:50,326 ERROR lia.analytics.matomo.datasource.MatomoDataSupplier: Fetching of report failed.com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: (org.apache.http.client.entity.LazyDecompressingInputStream); line: 1, column: 2] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804) ~[jackson-core-2.9.8.jar:2.9.8] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:693) ~[jackson-core-2.9.8.jar:2.9.8] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:591) ~[jackson-core-2.9.8.jar:2.9.8] at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2630) ~[jackson-core-2.9.8.jar:2.9.8]
3. Rename dashboard from case3 to 78-TG2. Can see the new dashboard name but still get error in log 2019-06-20 15:36:16,398 ERROR info.magnolia.dirwatch.DirectoryWatcher : Exception when executing callback for 78-TG21.yaml: No such definition: case32019-06-20 15:36:16,398 ERROR info.magnolia.dirwatch.DirectoryWatcher : Exception when executing callback for 78-TG21.yaml: No such definition: case3info.magnolia.config.registry.Registry$NoSuchDefinitionException: case3 at info.magnolia.config.registry.AbstractRegistry.getProvider(AbstractRegistry.java:127) ~[magnolia-configuration-6.1-SNAPSHOT.jar:?] at info.magnolia.analytics.DashboardDefinitionRegistry.getProvider(DashboardDefinitionRegistry.java:88) ~[magnolia-analytics-1.0-SNAPSHOT.jar:?] at info.magnolia.analytics.ui.app.GridDashboardSubAppView.refreshDashboardComponent(GridDashboardSubAppView.java:151) ~[magnolia-analytics-ui-1.0-SNAPSHOT.jar:?] at info.magnolia.analytics.ui.app.GridDashboardSubAppView.lambda$create$0(GridDashboardSubAppView.java:98) ~[magnolia-analytics-ui-1.0-SNAPSHOT.jar:?] at info.magnolia.analytics.DashboardDefinitionRegistry.lambda$sendModificationEvent$0(DashboardDefinitionRegistry.java:92) ~[magnolia-analytics-1.0-SNAPSHOT.jar:?] at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:891) ~[?:1.8.0_191] at info.magnolia.analytics.DashboardDefinitionRegistry.sendModificationEvent(DashboardDefinitionRegistry.java:92) ~[magnolia-analytics-1.0-SNAPSHOT.jar:?] at info.magnolia.analytics.DashboardDefinitionRegistry.register(DashboardDefinitionRegistry.java:73) ~[magnolia-analytics-1.0-SNAPSHOT.jar:?] at info.magnolia.config.source.yaml.YamlConfigurationSource.loadAndRegister(YamlConfigurationSource.java:142) ~[magnolia-configuration-6.1-SNAPSHOT.jar:?] at info.magnolia.config.source.yaml.AbstractFileResourceConfigurationSource.lambda$start$2(AbstractFileResourceConfigurationSource.java:162) ~[magnolia-configuration-6.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.layered.LayeredResourceOrigin$RelayingChangeHandler.onResourceChanged(LayeredResourceOrigin.java:290) ~[magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.AbstractResourceOrigin.dispatchResourceChange(AbstractResourceOrigin.java:132) ~[magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.file.FileWatcherCallback.dispatchResourceChange(FileWatcherCallback.java:118) ~[magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.file.FileWatcherCallback.added(FileWatcherCallback.java:78) ~[magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at info.magnolia.dirwatch.DirectoryWatcher.processEvent(DirectoryWatcher.java:298) ~[magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at info.magnolia.dirwatch.DirectoryWatcher.run(DirectoryWatcher.java:246) [magnolia-resource-loader-6.1-SNAPSHOT.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_191] at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) [?:1.8.0_191] at java.util.concurrent.FutureTask.run(FutureTask.java) [?:1.8.0_191] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191] AND here are test-cases:
Thanks,
|
| Comment by Le Hai Thanh [ 20/Jun/19 ] |
|
Please use analytic-sample.zip |