Data Analytics v1.0.0

I am happy to announce the first release fo Data Analytics

https://apps.nextcloud.com/apps/analytics

The roadmap is filled. I am happy for any feedback or suggestion.

Happy first advent
:evergreen_tree:

7 Likes

Thank you!

image

Probably your profile needs an update now :wink:

I know
@jospoortvliet needs to help here :+1:t3:

Nice app!

Do you have plans about integrate more that one graph per page? I mean, sometimes is useful to have a week view, month view, year view, all in the same page.

Something strange, If i generate a CSV with two columns the graph doesn’t works (only show the X axis), I allways need to add a first column (no matters the data) and after that the graph works (using columns 2 and 3), is this a bug?

Hello,
I am planning for a more sophisticated reporting frontend for DA - but its on a longer horizon. e.g. printable layouts. But I need to finish the basis first. like your next point

not really a bug. missing feature.
currently DA is missing full flexibility on the source data. it works perfect with data like Account/Date/Value.
when using less dimensions, the first one needs to be “blanked” as the highchart depends on a number in the dimension 3.

More flexibility is on its way! Medium roadmap would also include more dimensions or star-scheme like attributes. lets see

…I am just finishing customisable threshold, which trigger NC notifications because I need them for one of my use cases…

Thank you very much for this app. Maybe I am too stupid but I am failing in my attempts to send data via curl. I am always recieving error message

url":"/apps/analytics/api/1.0/adddata/3","message":{"Exception":"ParseError","Message":"syntax error, unexpected ')'"

when trying to send:

curl -u login:pass -d '{"dimension1": "x", "dimension2": "x", "dimension3": "333,3"}' -X POST -H "Content-Type: application/json" https://cloud.mydomain.de/apps/analytics/api/1.0/adddata/myID

(replacing login,pass and myID with matching values and mydomain.de with my domain)

I am missing something?

did you set pass to an app-token and not your normal NC user password?
you need to generate a token under settings => security

Hi Rello, thank you for your rapid response.
Of course I’ve created an App Token. Do you need any logs? Or do you need a Teamviewer Session?

Hello,
i just tried with my instance and nothing obvious broke there.
what does netcloud.log say?

here as screenshot and raw text with asterix* for private data:


{“reqId”:“",“level”:3,“time”:“2019-12-10T17:01:26+00:00”,“remoteAddr”:"”,“user”:"****",“app”:“index”,“method”:“POST”,“url”:"/apps/analytics/api/1.0/adddata/3",“message”:{“Exception”:“ParseError”,“Message”:“syntax error, unexpected ‘)’”,“Code”:0,“Trace”:[{“file”:"/var/www/cloud.jakobssystems.de/lib/composer/composer/ClassLoader.php",“line”:322,“function”:“Composer\Autoload\includeFile”,“args”:["/var/www/cloud.jakobssystems.de/apps/analytics/lib//Controller/ApiDataController.php"]},{“function”:“loadClass”,“class”:“Composer\Autoload\ClassLoader”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“function”:“spl_autoload_call”,“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/Utility/SimpleContainer.php",“line”:97,“function”:"__construct",“class”:“ReflectionClass”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/Utility/SimpleContainer.php",“line”:114,“function”:“resolve”,“class”:“OC\AppFramework\Utility\SimpleContainer”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/DependencyInjection/DIContainer.php",“line”:414,“function”:“query”,“class”:“OC\AppFramework\Utility\SimpleContainer”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/DependencyInjection/DIContainer.php",“line”:385,“function”:“queryNoFallback”,“class”:“OC\AppFramework\DependencyInjection\DIContainer”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/App.php",“line”:113,“function”:“query”,“class”:“OC\AppFramework\DependencyInjection\DIContainer”,“type”:"->",“args”:[“OCA\Analytics\Controller\ApiDataController”]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/AppFramework/Routing/RouteActionHandler.php",“line”:47,“function”:“main”,“class”:“OC\AppFramework\App”,“type”:"::",“args”:[“OCA\Analytics\Controller\ApiDataController”,“addData”,{“class”:“OC\AppFramework\DependencyInjection\DIContainer”},{“datasetId”:“3”,"_route":“analytics.ApiData.addData”}]},{“function”:"__invoke",“class”:“OC\AppFramework\Routing\RouteActionHandler”,“type”:"->",“args”:[{“datasetId”:“3”,"_route":“analytics.ApiData.addData”}]},{“file”:"/var/www/cloud.jakobssystems.de/lib/private/Route/Router.php",“line”:297,“function”:“call_user_func”,“args”:[{“class”:“OC\AppFramework\Routing\RouteActionHandler”},{“datasetId”:“3”,"_route":“analytics.ApiData.addData”}]},{“file”:"/var/www/cloud.jakobssystems.de/lib/base.php",“line”:1000,“function”:“match”,“class”:“OC\Route\Router”,“type”:"->",“args”:["/apps/analytics/api/1.0/adddata/3"]},{“file”:"/var/www/cloud.jakobssystems.de/index.php",“line”:42,“function”:“handleRequest”,“class”:“OC”,“type”:"::",“args”:[]}],“File”:"/var/www/cloud.jakobssystems.de/apps/analytics/lib/Controller/ApiDataController.php",“Line”:50,“CustomMessage”:"–"},“userAgent”:“curl/7.55.1”,“version”:“17.0.1.1”,“id”:“5df12e8c11d0c”}

The only diffrence as far as I can see is that in your docs there is always a nextcloud subfolder. I am running Nextcloud directly with my own domain.

hello,
the only think I can find is the “,” too much at the end.
I am not sure if this is the issue because it does not cause any errors on my side.
will patch it with the next release

which NC Version?

After upgrade to 1.2.0 the table data now appears empty, I mean, the chart is ok, the table does not show data, no matter if I choose chart+table or only table.

fixed with 1.2.2

Hi Rello, just for you as feedback, after current updates everything runs as intended.