Supporting JEP-0082: Jabber Date and Time Profiles

While looking at Pub-Sub support (JEP-0060), I noticed that Jive Messenger doesn’'t follow JEP-0082 properly. It looks like we consistently use SimpleDateFormat, so it should be easy to fix. The following files are candidates for being fixed:

messenger/handler/IQTimeHandler.java
messenger/muc/HistoryRequest.java
messenger/muc/MUCRoomHistory.java
messenger/muc/spi/MultiUserChatServerImpl.java
messenger/OfflineMessageStore.java

I thought you might be able to simply create a JiveGlobals variable to hold the time format string to prevent inconsistencies, but HistoryRequest.java confuses me a little. As shown in JEP-0082 section 3.2, the format should include dashes and the time zone data, such as:

SimpleDateFormat("yyyy-MM-dd''T''HH:mm:ssZ");

I’'m not sure if most clients would choke on this or not, but wanted to put it out there. If you fix this, make sure to add it to the Protocol Support page. Thanks

Cameron,

Thanks, I’'ve filed this as JEP-82.

Regards,

Matt

Err, not sure what I’'m typing. I meant that I filed this as JM-310.

-Matt

Hey all,

I ended up closing this issue after making some very minor fixes. It turns out that in most cases, we were already doing the right thing even though the date formatting isn’'t JEP-82. Many historical JEPs use an older UTC date format instead of JEP-82.

If anyone finds other incorrect uses of JEP-82, please let me know. Also, I decided to not add JEP-82 to the protocol support document. It’‘s really just a supporting JEP of other JEPs so it doesn’'t make a lot of sense to say “we support this”.

Regards,

Matt

Matt,

I sent you an email with at least one other place that needs to use the JEP-82 format.

Regarding adding the JEP to the JEP support page, IMHO it should be added. I think it’‘s safe to say that most[/i] users won’'t really give a flip, but a developer or user-turned-bughunter may want to know if JM supports the JEP-82 formats.

IMHO, if JM supports a JEP, it should be published on that page so that users and developers (of clients, plugins, components, or whatever) will know that JM should[/b] adhere to the JEPs listed on that page. It helps users identify bugs and developers write code since JM’'s behavior would be explicitly defined in each JEP.

That’'s my two cents.