PersonalAnalytics icon indicating copy to clipboard operation
PersonalAnalytics copied to clipboard

Make API to access data in database consistent across both platforms

Open casaout opened this issue 6 years ago • 6 comments

as discussed. @csatterfield please add the details.

casaout avatar Sep 11 '18 15:09 casaout

  • [x] Rename the db-tables and db-fields to match Windows version

  • [x] Path and filename (if possible)

  • [x] Try and make naming similar for constants, enums, etc.

  • [x] Make SQL functions use the same parameters where possible

  • [x] Refactor DataObjectController - Each tracker controls its own objects

csatterfield avatar Oct 03 '18 00:10 csatterfield

Hi Chris, hi André

I am almost done with aligning the Mac db-table and db-fields to the Windows version (by replacing Core Data). Before submitting a PR I have a question on how to proceed with the UserEfficiencyTracker.

In both Windows and Mac version there exists a UserEfficiencyTracker. However, they do look quite different and use different data models/schemas. Below is a picture of the mac pop-up. The windows pop-up only asks to rate productivity on a scale from 1-8 if I remember correctly.

mac pop-up

On the windows version I have the following db-fields: (id, time, surveyNotifyTime, surveyStartTime, surveyEndTime, userProductivity, column1, column2, column3, column4, column5, column6, column7, column8)

Should I map the fields of the Mac pop-up as good as possible onto the Windows db-schema (partially by filling the generic column1 - column8) or should we treat both trackers as different entities (and maybe rename the Mac version to UserEfficiencyTrackerDetailed in order to make the difference clear). Do you have an other idea on how to proceed?

royru avatar Nov 12 '19 13:11 royru

I was also wondering how/if the ZWEBSITE table is used. The only occurrence where PA is inserting data into that table is in the 1/pageUsage route. Is this route being used by the retrospective? I am asking because I am struggling to replace the Core Data Website model to GRDB-only without actually being able to test it within the application.

royru avatar Nov 12 '19 14:11 royru

I would try to match the Mac version to the Windows version as closely as possible. The additional features in the popup are leftovers from a study I was planning to run but never got around to. I think they can be removed, it makes the popup overly complicated. I think that the Windows version uses a 7 point scale for productivity, same as the Mac version but I may be wrong there 😄 .

The ZWEBSITE table is also a leftover from the aforementioned study. It was populated by data gathered from a chrome addon but I've pretty much abandoned that project altogether. Feel free to remove.

Great work :)

csatterfield avatar Nov 13 '19 06:11 csatterfield

hi @royru Thanks a lot for your work on this! I agree with Chris.

Btw, in the Windows UserEfficiencyTracker, there is a pop-up at fixed intervals (depending on the settings, by default 60mins) and one per day (always showing up the next morning). That's how the interval/hourly pop-up looks like: image

casaout avatar Nov 13 '19 06:11 casaout

Thanks for the quick feedback!

I will remove code related to the ZWEBSITE table and align the Mac UserEfficencyTracker pop-up to match the Windows version.

The Mac UserEfficencyTracker pop-up is triggered with fixed-intervals, too. I will make sure they both use the same defaults. The appearance of a daily pop-up in the morning seems to be missing in the Mac version. I will follow up on that after the db-schemas are aligned.

Thanks again :)

royru avatar Nov 13 '19 14:11 royru

Closing as reported for legacy version of PersonalAnalytics.

casaout avatar Oct 31 '24 16:10 casaout