I don't really like the idea of having setting in the options which is
overwritten on every login (silently)

My vote is for Alternative 2.

@Sebastian
I guess Alternative 2 is for 3.1.0? I can try to perform refactoring
faster. Then you can handle "fine tuning" of this issue and I can handle
Import/Export (might be tricky)


On Fri, Aug 9, 2013 at 2:24 PM, seba.wag...@gmail.com <seba.wag...@gmail.com
> wrote:

> So probably we can put this up for a vote?
>
> The only alternative I see as a short term fix is to overwrite the users
> "OmTimeZone" with the current timezone of the browser.
>
> Alternative 1:
> Short term fix, default OmTimeZone to current timezone in browser,
> overwrite everytime the user logs in (Estimated 1-2 weeks of work)
>
> Alternative 2:
> Rewrite and refactor to get rid of entire OmTimeZone (as described in
> attached discussion or thread:
> http://markmail.org/message/rem2snf74srvftnt)
>  (Estimated 1-2 months of work)
>
> The effort estimates are including time that is needed for fixing bugs and
> do the testing.
>
> Vote for 1 if you like to see this implemented as part of OpenMeetings
> 3.0.0, vote for Alternative 2 if you want to see this implemented as part
> of OpenMeetings 3.0.0.
>
> Thanks,
> Sebastian
>
>
> 2013/8/8 seba.wag...@gmail.com <seba.wag...@gmail.com>
>
> > That is the major question.
> >
> > Basically status now is that the Calendar UI is not ready to be released.
> > The UI is simply not working when your browser timezone is different from
> > the timezone in your OpenMeetings profile.
> >
> > So either we can do the proposed fixes around getting rid of the
> > OmTimeZone completely or we try to do some kind of workaround in
> > OpenMeetings 3.0.0 and do the refactoring later.
> >
> > Sebastian
> >
> >
> > 2013/8/7 Maxim Solodovnik <solomax...@gmail.com>
> >
> >> >>> Can we define any useful JUnit tests so that we don't need to do so
> >> much manual testing ?
> >> I believe so, but what version will be affected with this change? 3.0.0
> or
> >> 3.1.0?
> >>
> >>
> >> On Wed, Aug 7, 2013 at 1:43 PM, seba.wag...@gmail.com <
> >> seba.wag...@gmail.com
> >> > wrote:
> >>
> >> > "I would default server time zone to the time zone of the server.
> >> > It is up to admin to set it to the different value."
> >> > ok
> >> >
> >> > "Additionally Appointment, I guess."
> >> > Nope, Appointment does not have timezone information. The start/end
> >> date of
> >> > the appointment is always in the server time zone. Actually _an_
> >> date/time
> >> > that is stored is always the server time.
> >> > We only need timezone information when we need to display that time
> for
> >> any
> >> > _user_ to generate a localized representation of the date/time.
> >> > For instance an Appointment can be 8am GMT but for one user 1am
> >> GMT/Berlin
> >> > should be displayed as 6pm NZDT/Auckland and for yet another
> >> MeetingMember
> >> > it has to be displayed as 2am EDT/New York.
> >> >
> >> > So from my point of view the User, MeetingMember and Invitations
> Entity
> >> are
> >> > the right place. And that is already as it is now. So you can replace
> >> > OmTimeZone in all those classes with the new attribute that stored the
> >> > timezone.
> >> >
> >> > Can we define any useful JUnit tests so that we don't need to do so
> much
> >> > manual testing ?
> >> >
> >> > Sebastian
> >> >
> >> >
> >> >
> >> > 2013/8/7 Maxim Solodovnik <solomax...@gmail.com>
> >> >
> >> > > I would default server time zone to the time zone of the server.
> >> > > It is up to admin to set it to the different value.
> >> > >
> >> > >
> >> > > On Wed, Aug 7, 2013 at 12:09 PM, seba.wag...@gmail.com <
> >> > > seba.wag...@gmail.com> wrote:
> >> > >
> >> > > > I basically don't mind about the component in the UI. I just
> thought
> >> > > > initially that 650 in a combobox is too much.
> >> > > > However it does not seem to be an issue for the UI as such.
> >> > > >
> >> > > > My basic question is what we use as default: Do we default to the
> >> > server
> >> > > > timezone or to the client site user timezone ?
> >> > > >
> >> > > > Sebastian
> >> > > >
> >> > > >
> >> > > > 2013/8/7 Maxim Solodovnik <solomax...@gmail.com>
> >> > > >
> >> > > > > The correct URL is http://timezonepicker.com/
> >> > > > >
> >> > > > >
> >> > > > > On Wed, Aug 7, 2013 at 9:30 AM, Maxim Solodovnik <
> >> > solomax...@gmail.com
> >> > > > > >wrote:
> >> > > > >
> >> > > > > > I believe we can use something like this:
> >> > https://timezonepicker.com
> >> > > > > > (sources are here:
> >> https://github.com/quicksketch/timezonepicker)
> >> > > > > >
> >> > > > > > The only issues I can see right now:
> >> > > > > > 1) it has no License set in the moment (
> >> > > > > > https://github.com/quicksketch/timezonepicker/issues/2)
> >> > > > > > 2) It last updated 9 months ago
> >> > > > > >
> >> > > > > > So maybe additional googling is required :)
> >> > > > > >
> >> > > > > >
> >> > > > > > On Wed, Aug 7, 2013 at 4:50 AM, seba.wag...@gmail.com <
> >> > > > > > seba.wag...@gmail.com> wrote:
> >> > > > > >
> >> > > > > >> One thing that is not on our list now is the default timezone
> >> of
> >> > the
> >> > > > > >> server.
> >> > > > > >> Currently when you install OpenMeetings you choose a
> timezone.
> >> > > > > >>
> >> > > > > >> The questions are:
> >> > > > > >>  1) Where do we populate the timezones from in that list,
> >> > displaying
> >> > > > 650
> >> > > > > >> timezones of java.util.Timezone is not practical
> >> > > > > >>  2) If we default that timezone to some value, what shall it
> >> be?
> >> > The
> >> > > > > >> timezone of the server or the timezone of the client browser?
> >> > > > > >>      => In theory this default timezone is used whenever we
> >> can't
> >> > > > find a
> >> > > > > >> suitable timezone. So potentially we can default it to the
> >> > browsers
> >> > > > > >> timezone that is currently installing OpenMeetings.
> >> > > > > >>      This default timzeone will be used whenever there is no
> >> > > timezone
> >> > > > > >> available for a user or if the timezone of the user is
> >> corrupted.
> >> > > > > >>
> >> > > > > >> Sebastian
> >> > > > > >>
> >> > > > > >>
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> 2013/8/6 Maxim Solodovnik <solomax...@gmail.com>
> >> > > > > >>
> >> > > > > >> > Additionally Appointment, I guess.
> >> > > > > >> > Non-existent XML attribute will be ignored by
> >> simpleframework.
> >> > > > > >> >
> >> > > > > >> > I believe we can let timezones.xml live in our sources and
> >> > convert
> >> > > > > >> backups
> >> > > > > >> > based on it
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> > On Tue, Aug 6, 2013 at 5:28 PM, seba.wag...@gmail.com <
> >> > > > > >> > seba.wag...@gmail.com
> >> > > > > >> > > wrote:
> >> > > > > >> >
> >> > > > > >> > > That might be another approach.
> >> > > > > >> > > So you are saying we get rid of the Entity OmTimeZone in
> >> > total?
> >> > > > > >> > >
> >> > > > > >> > > Even if we have the timezone in the each of those
> object,I
> >> > think
> >> > > > > there
> >> > > > > >> > > should be a fallback mechanism. Cause with every Java
> >> update
> >> > > (or I
> >> > > > > >> think
> >> > > > > >> > > you can even do it manually) you can get updates to the
> >> > > > > number/offset
> >> > > > > >> of
> >> > > > > >> > > the timezones (appearently every year such and such
> >> countries
> >> > > for
> >> > > > > >> > instance
> >> > > > > >> > > "decide" to switch to have not a Daylight saving time, et
> >> > > cetera,
> >> > > > or
> >> > > > > >> > there
> >> > > > > >> > > is even a brand new timezone).
> >> > > > > >> > > So it could happen one day that we have timezone string
> in
> >> our
> >> > > > > >> > application
> >> > > > > >> > > that is neither known to java.util.Timezone nor to
> >> > > > > >> > > net.fortuna.ical4j.model.TimeZone. Or a timezone exists
> in
> >> the
> >> > > one
> >> > > > > and
> >> > > > > >> > does
> >> > > > > >> > > not exist in the other.
> >> > > > > >> > >
> >> > > > > >> > > I think we should go the extra mile and try to outline
> the
> >> > > > technical
> >> > > > > >> part
> >> > > > > >> > > upfront doing anything concretly. It could save us a lot
> of
> >> > > time.
> >> > > > > >> Also it
> >> > > > > >> > > might be good to discuss this publicly as more then one
> >> person
> >> > > can
> >> > > > > >> then
> >> > > > > >> > > work on it in parallel.
> >> > > > > >> > >
> >> > > > > >> > > As far as I can judge you can't save the type
> >> > java.util.Timezone
> >> > > > in
> >> > > > > a
> >> > > > > >> > > database.
> >> > > > > >> > > So it has to be either a string or you store an Integer
> >> > > > > >> > > (utcTimeZoneOffset). But I really don't like the latter
> as
> >> it
> >> > > does
> >> > > > > not
> >> > > > > >> > > handle Daylight savings times.
> >> > > > > >> > >
> >> > > > > >> > > So the Entities that hold an attribute "omTimeZone" that
> >> would
> >> > > > need
> >> > > > > >> to be
> >> > > > > >> > > changed:
> >> > > > > >> > > User
> >> > > > > >> > > Invitations
> >> > > > > >> > > MeetingMembers
> >> > > > > >> > >
> >> > > > > >> > > and they all get a new attribute "String tz"
> >> > > > > >> > >
> >> > > > > >> > > How would we imagine could the export and import work if
> >> you
> >> > > > import
> >> > > > > an
> >> > > > > >> > old
> >> > > > > >> > > backup where the OmTimeZone is set in the user? I guess
> we
> >> > need
> >> > > a
> >> > > > > >> > converter
> >> > > > > >> > > that can handle OmTimeZone to the new format.
> >> > > > > >> > > However would that even work currently with
> >> > > > > >> > > org.simpleframework.xml.Element, when you have an
> attribute
> >> > that
> >> > > > > does
> >> > > > > >> > just
> >> > > > > >> > > no more exist ?
> >> > > > > >> > >
> >> > > > > >> > > Any other considerations that are not yet covered?
> >> > > > > >> > >
> >> > > > > >> > > Sebastian
> >> > > > > >> > >
> >> > > > > >> > >
> >> > > > > >> > >
> >> > > > > >> > >
> >> > > > > >> > > 2013/8/6 Maxim Solodovnik <solomax...@gmail.com>
> >> > > > > >> > >
> >> > > > > >> > > > I like the idea of having less custom issues
> >> > > > > >> > > > I believe TZ field in all our objects can easily be
> just
> >> a
> >> > > > string
> >> > > > > >> like:
> >> > > > > >> > > > "Europe/Berlin"
> >> > > > > >> > > >
> >> > > > > >> > > >
> >> > > > > >> > > > On Tue, Aug 6, 2013 at 3:36 PM, Maxim Solodovnik <
> >> > > > > >> solomax...@gmail.com
> >> > > > > >> > > > >wrote:
> >> > > > > >> > > >
> >> > > > > >> > > > > I have: It is impossible to get User timezone (you
> only
> >> > can
> >> > > > get
> >> > > > > tz
> >> > > > > >> > > shift
> >> > > > > >> > > > > and/or dst shift and if dst is in effect)
> >> > > > > >> > > > >
> >> > > > > >> > > > > According to iCal4J time zone mapping I guess the
> name
> >> > > should
> >> > > > be
> >> > > > > >> the
> >> > > > > >> > > same
> >> > > > > >> > > > >
> >> > > > > >> > > > >
> >> > > > > >> > > > > On Tue, Aug 6, 2013 at 3:17 PM,
> seba.wag...@gmail.com<
> >> > > > > >> > > > > seba.wag...@gmail.com> wrote:
> >> > > > > >> > > > >
> >> > > > > >> > > > >> Okay,
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> after a bit of back and forth using the
> >> wicket-jquery-ui
> >> > > > > library
> >> > > > > >> I
> >> > > > > >> > > think
> >> > > > > >> > > > >> it
> >> > > > > >> > > > >> might be worth re-evaluating our timezone behaviour.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> Basically it seems like the approach to show the UI
> >> in a
> >> > > > > timezone
> >> > > > > >> > > > >> different
> >> > > > > >> > > > >> from the users browser/os is a non common approach.
> >> And
> >> > > > > >> eventually
> >> > > > > >> > we
> >> > > > > >> > > > can
> >> > > > > >> > > > >> directly migrate away from it.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> So the proposal would be:
> >> > > > > >> > > > >> Show the calendar UI and any timezone relevant
> >> > information
> >> > > in
> >> > > > > the
> >> > > > > >> > > > >> browser's
> >> > > > > >> > > > >> timezone.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> To resolve the issues in the invitations I would
> >> suggest
> >> > > the
> >> > > > > >> > following
> >> > > > > >> > > > >> changes:
> >> > > > > >> > > > >>  - When the user signs up the timezone is no more
> >> > > > editable/not
> >> > > > > >> even
> >> > > > > >> > > > shown
> >> > > > > >> > > > >> maybe or read only and taken from the browser/client
> >> os
> >> > > > > >> > > > >>  - Everytime the user logs in the timezone field in
> >> the
> >> > > users
> >> > > > > >> > profile
> >> > > > > >> > > is
> >> > > > > >> > > > >> updated with the current timezone of the
> >> browser/client
> >> > os.
> >> > > > > >> > > > >>  The idea might be that we add a new entry in the
> >> table
> >> > > > > >> OmTimeZone
> >> > > > > >> > > > >> whenever
> >> > > > > >> > > > >> we detect any user with a new timezone.
> >> > > > > >> > > > >>  - Login view the Flash application will no more be
> >> > > possible.
> >> > > > > The
> >> > > > > >> > > > >> Openlaszlo application will only be used for the
> >> > conference
> >> > > > > room
> >> > > > > >> > > itself
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> By doing that it should basically all just work
> fine.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> But now comes the elefant :) We need a mapping
> between
> >> > > iCal4J
> >> > > > > >> > > timezones
> >> > > > > >> > > > >> and
> >> > > > > >> > > > >> java.util.Timezone.
> >> > > > > >> > > > >> iCal4J is using net.fortuna.ical4j.model.TimeZone
> and
> >> we
> >> > > only
> >> > > > > >> have
> >> > > > > >> > > > >> java.util.TimeZones. This is the historical reason
> why
> >> > the
> >> > > > code
> >> > > > > >> is a
> >> > > > > >> > > > >> little
> >> > > > > >> > > > >> bit messed up with various timezone calculations and
> >> > > > fallbacks.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> So it will be a major refactoring that should be
> >> planned
> >> > > and
> >> > > > > >> broken
> >> > > > > >> > > down
> >> > > > > >> > > > >> in
> >> > > > > >> > > > >> several phases.
> >> > > > > >> > > > >> We will change and touch all and any kind of
> >> > functionality
> >> > > in
> >> > > > > >> > > > >> OpenMeetings.
> >> > > > > >> > > > >> It will require quite a bit of regression testing to
> >> > check
> >> > > if
> >> > > > > >> > nothing
> >> > > > > >> > > is
> >> > > > > >> > > > >> broken.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> We generall said refactorings like this are not part
> >> of
> >> > > > > >> OpenMeetings
> >> > > > > >> > > > 3.0.
> >> > > > > >> > > > >> And once we start this there is no way back. It will
> >> > delay
> >> > > > any
> >> > > > > >> > > potential
> >> > > > > >> > > > >> release by 1 - 2 months.
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> What is the general opinion about this ?
> >> > > > > >> > > > >>
> >> > > > > >> > > > >>
> >> > > > > >> > > > >>
> >> > > > > >> > > > >> --
> >> > > > > >> > > > >> Sebastian Wagner
> >> > > > > >> > > > >> https://twitter.com/#!/dead_lock
> >> > > > > >> > > > >> http://www.webbase-design.de
> >> > > > > >> > > > >> http://www.wagner-sebastian.com
> >> > > > > >> > > > >> seba.wag...@gmail.com
> >> > > > > >> > > > >>
> >> > > > > >> > > > >
> >> > > > > >> > > > >
> >> > > > > >> > > > >
> >> > > > > >> > > > > --
> >> > > > > >> > > > > WBR
> >> > > > > >> > > > > Maxim aka solomax
> >> > > > > >> > > > >
> >> > > > > >> > > >
> >> > > > > >> > > >
> >> > > > > >> > > >
> >> > > > > >> > > > --
> >> > > > > >> > > > WBR
> >> > > > > >> > > > Maxim aka solomax
> >> > > > > >> > > >
> >> > > > > >> > >
> >> > > > > >> > >
> >> > > > > >> > >
> >> > > > > >> > > --
> >> > > > > >> > > Sebastian Wagner
> >> > > > > >> > > https://twitter.com/#!/dead_lock
> >> > > > > >> > > http://www.webbase-design.de
> >> > > > > >> > > http://www.wagner-sebastian.com
> >> > > > > >> > > seba.wag...@gmail.com
> >> > > > > >> > >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> > --
> >> > > > > >> > WBR
> >> > > > > >> > Maxim aka solomax
> >> > > > > >> >
> >> > > > > >>
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> --
> >> > > > > >> Sebastian Wagner
> >> > > > > >> https://twitter.com/#!/dead_lock
> >> > > > > >> http://www.webbase-design.de
> >> > > > > >> http://www.wagner-sebastian.com
> >> > > > > >> seba.wag...@gmail.com
> >> > > > > >>
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > > --
> >> > > > > > WBR
> >> > > > > > Maxim aka solomax
> >> > > > > >
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > --
> >> > > > > WBR
> >> > > > > Maxim aka solomax
> >> > > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > > --
> >> > > > Sebastian Wagner
> >> > > > https://twitter.com/#!/dead_lock
> >> > > > http://www.webbase-design.de
> >> > > > http://www.wagner-sebastian.com
> >> > > > seba.wag...@gmail.com
> >> > > >
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > WBR
> >> > > Maxim aka solomax
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Sebastian Wagner
> >> > https://twitter.com/#!/dead_lock
> >> > http://www.webbase-design.de
> >> > http://www.wagner-sebastian.com
> >> > seba.wag...@gmail.com
> >> >
> >>
> >>
> >>
> >> --
> >> WBR
> >> Maxim aka solomax
> >>
> >
> >
> >
> > --
> > Sebastian Wagner
> > https://twitter.com/#!/dead_lock
> > http://www.webbase-design.de
> > http://www.wagner-sebastian.com
> > seba.wag...@gmail.com
> >
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wag...@gmail.com
>



-- 
WBR
Maxim aka solomax

Reply via email to