Standardize DB chronological fields to DateTime + make the Talawa clients store DateTime in UTC #2222
Replies: 9 comments 16 replies
-
We can discuss this further here. Creating the branches are easy. I want to understand how we can create specific issues to easily get the work done. It would seem to me that it would be best to do this a collection at a time. |
Beta Was this translation helpful? Give feedback.
-
This link was mentioned in a slack discussion. It's a possible approach. |
Beta Was this translation helpful? Give feedback.
-
Yes, we need to first clarify what exactly is required and how to implement it. Like how are things right now and how do we want them to be, in terms of implementation. i.e. the exact flow of things. I'll start researching on it properly in a couple days. I'm currently focusing on completing recurring events😅 We could all share useful resources here. |
Beta Was this translation helpful? Give feedback.
-
For Talawa we can architect the application by centralizing these timezone conversions. Same as we are following for the Talawa AppLanguage now. In this process we can make use of this useful TimeZone package. https://www.dhiwise.com/post/setting-up-the-flutter-timezone-package-in-your-app |
Beta Was this translation helpful? Give feedback.
-
The usage of graphQL scalars Time, Date and Datetime in the graphQL schema ensures that the time/date/datetime strings exchanged between the clients and graphQL api are always UTC compliant. Four possible causes for any issues that have occurred related to handling of these values in talawa applications:-
Talawa-api returning localized time/date/datetime strings would be needless technical debt. On the talawa client applications the UTC time/date/datetime strings returned from the server have to be localized according to physical location of the client. Most modern programming languages and libraries provide this feature. |
Beta Was this translation helpful? Give feedback.
-
We should prefer asking the user than asking for permissions, users don’t find it good when an application asks for too many permissions. “Why would this app wanna know my location? They’re going to track me? Feels unsafe!” We can modify the API to ask for date time along with timezone? or use the iso formatting to include timezone too. Like 2018-02-01T12:52:34+09:00 and then convert it on the server |
Beta Was this translation helpful? Give feedback.
-
Regarding the DB schema we should consider updating Calendar / Event fields to be DateTime to assist with this transition. |
Beta Was this translation helpful? Give feedback.
-
The RRULE package being used in the API for recurring events already uses the ISO 8601 format. We have precedent for adopting this methodology |
Beta Was this translation helpful? Give feedback.
-
Did someone look into this?😅 |
Beta Was this translation helpful? Give feedback.
-
The Talawa applications assume that the:
This will create confusion when an organization’s stakeholders and its service providers are geographically dispersed.
For example someone someone in the US state of New Mexico creating and event in neighboring Texas will have concerns. There are some cities in the USA like Minneapolis and Kansas City that straddle timezones.
Describe the solution you'd like
The client must:
The API must:
There must be a date data conversion function that is used to make this consistent.
Related issues and PRs (closed):
Potential Approach
As per this comment:
Other
This discussion is created to try to decide on a plan of action before we open issues and create a slack channel. We need to determine whether:
Beta Was this translation helpful? Give feedback.
All reactions