{"action":"created","issue":{"url":"https://api.github.com/repos/akvo/akvo-product-design/issues/130","labels_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/130/comments","events_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/130/events","html_url":"https://github.com/akvo/akvo-product-design/issues/130","id":117835112,"number":130,"title":"FLOW reports using BIRT","user":{"login":"stellanl","id":399534,"avatar_url":"https://avatars.githubusercontent.com/u/399534?v=3","gravatar_id":"","url":"https://api.github.com/users/stellanl","html_url":"https://github.com/stellanl","followers_url":"https://api.github.com/users/stellanl/followers","following_url":"https://api.github.com/users/stellanl/following{/other_user}","gists_url":"https://api.github.com/users/stellanl/gists{/gist_id}","starred_url":"https://api.github.com/users/stellanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stellanl/subscriptions","organizations_url":"https://api.github.com/users/stellanl/orgs","repos_url":"https://api.github.com/users/stellanl/repos","events_url":"https://api.github.com/users/stellanl/events{/privacy}","received_events_url":"https://api.github.com/users/stellanl/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akvo/akvo-product-design/labels/FLOW","name":"FLOW","color":"f6a303"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-11-19T15:17:15Z","updated_at":"2016-01-04T16:28:15Z","closed_at":null,"body":"Producing FLOW reports using BIRT will let us make both raw-style reports for further processing by partners (Excel format) and nicely formatted reports customised to partner requirements (PDF, Word).\r\n\r\nThe main challenges are:\r\n\r\n* Reports are generally tabular, whereas the FLOW questions and answers are relational. A report template will be valid only for a particular form. Further complications are the geolocations that are packed as JSON and the repeated question groups.\r\n\r\n* Data is in GAE, and we do not want to create new infrastructure that is GAE-specific.\r\n\r\nSome specific issues that need adressing:\r\n- [ ]  FLOW users need UI to create BIRT templates for a specific form and set of desired data. \r\n- [ ]  FLOW users need UI to run a BIRT report from one of the templates.  \r\n- [x]  The templates need to be stored somewhere (S3? Same server as the BIRT engine?) and may need to be organised or have access restrictions.  \r\n- [x] The BIRT engine needs access control (Keycloak)\r\n- [x] The BIRT engine needs data to be in an SQL database. This needs to be fed live data from the unified log. (This is not an absolute requirement. BIRT can also use Scripted Data Sources, that can call general Java code.)\r\n- [x] The reporting database must be structured so that SQL queries (possibly nested) can select the data needed for a report.\r\n- [ ] What happens when a form is changed? Will there only be response data for published versions? \r\n"},"comment":{"url":"https://api.github.com/repos/akvo/akvo-product-design/issues/comments/168724207","html_url":"https://github.com/akvo/akvo-product-design/issues/130#issuecomment-168724207","issue_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/130","id":168724207,"user":{"login":"stellanl","id":399534,"avatar_url":"https://avatars.githubusercontent.com/u/399534?v=3","gravatar_id":"","url":"https://api.github.com/users/stellanl","html_url":"https://github.com/stellanl","followers_url":"https://api.github.com/users/stellanl/followers","following_url":"https://api.github.com/users/stellanl/following{/other_user}","gists_url":"https://api.github.com/users/stellanl/gists{/gist_id}","starred_url":"https://api.github.com/users/stellanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stellanl/subscriptions","organizations_url":"https://api.github.com/users/stellanl/orgs","repos_url":"https://api.github.com/users/stellanl/repos","events_url":"https://api.github.com/users/stellanl/events{/privacy}","received_events_url":"https://api.github.com/users/stellanl/received_events","type":"User","site_admin":false},"created_at":"2016-01-04T16:28:15Z","updated_at":"2016-01-04T16:28:15Z","body":"Well, that should simplify some of the queries...\r\nDo we have to have columns called \"order\"? It's the only SQL real reserved word, and so you must always remember that, and needs special handling when you generate the queries programmatically. Could it be \"ordering\", \"display_order\" or \"sort_order\" instead?"}}