The introduction of more restrictive date acceptance patterns in LibreOffice 3.6 (see earlier blog entries here and here) generated quite some discussion whether the change was good or bad. The fact that not all locales had patterns for incomplete (only day and month) date input added to their data also added some angry voices.
Independent from that there was one thing overlooked: users want to be able to input dates using the numeric keypad and in locales with a '.' dot date separator that was not possible anymore because usually then there is no dot on the keypad due to the decimal separator being different. That certainly needed to be addressed.
There is no way to satisfy everyone with a default set of patterns, I therefore implemented a Date acceptance patterns edit field in the Tools→Options→LanguageSettings→Languages dialogue that follows the selected locale and enables users to add, edit and remove patterns.
Date acceptance patterns edit field.
The change is currently in master and pending review as a late feature for inclusion to the 3.6.2 release.
Example for the German de-DE locale:
default patterns: D.M.Y;D.M.
to enable additional input on numeric keypad: D.M.Y;D.M.;D-M-Y;D-M
if 3-4 shall not result in a date, D-M- could be used instead of D-M
note that to enter an ISO 8601 Y-M-D date with a D-M-Y pattern active one needs to enter a year >31 or with at least 3 digits, e.g. 011
instead of D-M-Y;D-M also D/M/Y;D/M could be used
Changes to the patterns become effective immediately after having confirmed and closed the dialog.
Caolán dug out the StarOffice/OpenOffice.org team photos that were available as easter eggs until scraped out by the easter egg police in 2010. If you try hard you can spot me on one of them ;-)
As explained in an earlier article a new feature will be available with LibreOffice 3.6 that limits date recognition of input to predefined locale dependent patterns to prevent erroneous detection of dates. To be able to input incomplete dates a locale needs date acceptance patterns defined in its locale data, quite a lot submissions of such patterns have already been included, but many locales do not have any pattern assigned yet. For these locales date input will only be possible as a complete date, no incomplete dates will be accepted. Maybe your locale should be enabled for incomplete date input but isn't yet? Then please submit the pattern(s), either as a comment to this blog post, or on the LibreOffice l10n mailing list if you are involved with LibO localization anyway, or simply mail me.
Locales without explicit DateAcceptancePattern elements:
(one implicit full date pattern is always generated)
Locales with explicit DateAcceptancePattern elements:
an_ES:
D/M
be_BY:
D/M/
D.M.
bg_BG:
D.M.Y г.
D.M.Y г.
D.M.Y Г.
D.M.Y Г.
br_FR:
D/M
ca_ES:
D/M
cs_CZ:
D.M.
D. M.
D. M. Y
D. M.
D. M. Y
de_DE:
D.M.
en_US:
M/D
es_ES:
D/M
et_EE:
D.M
D. M
D.M.
D. M.
fi_FI:
D.M.
fr_BE:
D/M
fr_CH:
D/M
D.M.
fr_FR:
D/M
fr_LU:
D/M
gd_GB:
D/M
D-M
is_IS:
D/M/
D.M.
it_IT:
D/M
ja_JP:
M-D
M/D
M/D
Y.M.D
Y/M/D
Y年M月D日
M月D日
kab_DZ:
D/M
lt_LT:
M-D
nl_BE:
D/M
nl_NL:
D-M
pt_AO:
D-M
pt_BR:
D/M
pt_PT:
D-M
ru_RU:
D.M.
D/M/
sk_SK:
D.M.
D. M.
D. M. Y
D. M.
D. M. Y
sl_SI:
D. M. Y
D.M.
D. M.
tr_TR:
D.M
D/M
D-M
zh_CN:
M-D
M/D
M/D
Y.M.D
Y/M/D
Y年M月D日
M月D日
zh_TW:
Y.M.D
M-D
M/D
Y年M月D日
M月D日
If some of the entries seem to be duplicates within a locale and include spaces, that's because they are defined both with normal space and with breaking space to accommodate both input variants.
So let me just add that with the help of moggi I learned how to add a new file type's (here CSV) filter test to Calc's unit tests in order to prevent regressions in the CSV import filter that I lately changed to some extent and finished polishing at the Hackfest.
Many thanks to co-organizers Thorsten and Björn and of course all who joined and participated and made the Hackfest such a great event. We'll definitely have to do this again.
One week of successful hacking at the Cambridge collaboration hackfest.
After I already struggled with Telepathy for some while,
trying to implement DBus tubes over XMPP, Michael Meeks arranged
a collaborative hackfest at Cambridge, where Collabora Ltd. is situated who to a large
part are the maintainers of the Telepathy library. Nice to meet some of these
guys (btw, if you happen to be in Cambridge and are into good Indian food go
for the Golden Curry).
So last week Will Thompson from Collabora was set aside to work with us,
who was of great help and immediately spotted why my tube acceptor never
caught any offered tube, silly me, not spinning GMainLoop yet another time to
wait for a specific state change ... Before, a connection to DBus could
already be setup and a session between two contacts initiated and a tube
offered, but I didn't get to the point where a tube was really established.
What we achieved from Tuesday to Thursday / Friday morning:
use Empathy's XMPP account and contact list
establish a DBus tube between an account and a contact
transfer a file over the tube (which shall be the document to be worked on)
intercept Calc input (basic proof of concept)
transfer input as packet through tube
receive on other end and use as input
Kudos again to Will, who made the fast progress on the Telepathy bits
possible. And Michael for tearing apart Calc's ScDocFunc. That I now have to
glue together again somehow ;-)
All happens on the LibreOffice feature/tubes2 branch. You're more than
welcome to help out, especially if you're familiar with Telepathy or like to
implement some dialogs in VCL such as an account/contact picker or have ideas
how to improve our bits. You might also be interested that further work on
this topic is offered as a Google
Summer of Code (GSoC) project. There's plenty to do.
Btw, the next opportunity to collaboratively hack on collaboration would
be at the Hamburg
Hackfest on April 14/15 :-)
Update 2012-03-27T13:25+0200
Michael has some more details with bells and whistles and video over at his blog, video here: