Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0016883
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformmajorhave not tried2011-04-25 15:532011-05-26 15:00
ReporterpjuvaraView Statuspublic 
Assigned Tomtaal 
PrioritynormalResolutionfixedFixed in Version
StatusclosedFix in branchFixed in SCM revision972652c1e7c2
ProjectionnoneETAnoneTarget Version3.0MP0
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0016883: Flexible interaction with date fields

DescriptionI find the interaction with date fields in Openbravo to still be very difficult, inflexible and overall annoying. The behavior that we have in 3.0 is reproducing the same behavior that you have in 2.50 which expects users to work in only a predefined way.

If for example you want to enter 22-04-2011, you can type either

'2' '2' '-' '0' '4' '-' '2' '0' '1' '1'
or

'2' '2' '0' '4' '2' '0' '1' '1'
If everything goes fine and you know what you do, this is efficient. If you make a mistake while typing, things starts getting confusing.

For instance, if you type: '2' '3' '-' 0' '4' (you press 3 instead of 2) and you want to correct it, your natural reaction is to press the back key 4 times (delete 4, 0, -, and 3, change 3 with 2 and continue). The system however automatically deletes the '-' (even if you had entered it manually) so you end up with deleting an extra character.

Also, if you just type an incorrect date and move out of the field, the field is highlighted as incorrect but you can continue, obliging you to return to it later on (a lot of extra clicks in many cases).

I would suggest that:

The application should not attempt to format the field as you type but wait for the user to move out of the field to apply formatting.
If the data entered is not valid, the user should not be able to proceed.
In addition to that, I would also argue that the application should be a lot smarter and be able to complete dates automatically. For instance:

If you only type a number, it should autocomplete with the current month and day (typing '2' '2' and tabbing out should result in 22-04-2011)
If you only type a day and month, the year should autocomplete (typing '2' '2' '0' '5' and tabbing out should result in 22-05-2011)
The application should make a reasonable attempt at interpreting various formats (in the same way that spreadsheets do), considering common variations of separators ('-', '/', ' ' or none), usage of digits versus character representation of months, usage of 2 versus 4 digits for years, position of months, usage of leading zeros for dates and month (i.e. 4 or 04 for April):

22 04 2011
22/04/2011
22042011
22/04/11
22 Apr 2011
Apr 22 2011
22-4-2011
2242011
04222011
4222011
should all be interpreted as 22-04-2011.

NOTE: like in spreadsheet, it is not always possible to interpret dates without ambiguity (for example 4-5-2011 could be interpreted as both the 4th of May 2011 and the 5th of April 2011). In this case, the default date format can help in removing the ambiguity (if your date format is DD-MM-YYYY, 4-5-2011 should be interpreted as the 4th of May 2011).
In any case, the productivity gain of a flexible date interpretation far outweigh the occasional incorrect interpretation.

Finally, considering that people do not always know what date is today, it should be possible to leverage 't' as a shortcut for today:

't' should be converted to the current date (25-04-2011 at the time of this writing)
t+N should be converted to the current date plus N days (t+7 is 02-05-2011 at the time of this writing)
t-N should be converted to the current date minus N days
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
depends on defect 00163033.0MP4 closedrgoris Date filtering has not masked entry for dates 
depends on defect 00163143.0MP0 closedmtaal Keyboard operation for date range filter popup 
depends on defect 00163023.0RC7 closedmtaal I cannot enter dates values by typing because an usability issue 
depends on defect 00162973.0RC7 closedmtaal I cannot open the date picker using the keyboard 
related to feature request 0017381 newmarvintm Usage of shortcuts while entering dates 

-  Notes
(0036148)
rgoris (developer)
2011-04-28 11:13

I fully agree with both severity of the issue and the proposed solution. This is a must for GA, hence the update to "defect" for RC7.

The essence lies in formatting the date after leaving the field.

There are a number of other related issues pending: It is best to solve the whole date-field/picker/filter issue set at once to guarantee consistent behavior across all widgets and situations.

In form view: behavior as described above
In grid view: same behavior
As column filter: also allow direct date entry in the field with same behavior as in the form. Now when clicking the field, you get the data range lightbox.

(0036155)
mtaal (manager)
2011-04-28 12:14

I totally agree with this issue, the current behavior was technically complex to develop and it would be great to change it to something as described above, this could mean that we can make use of the standard Smartclient masked entry instead of our very custom parsing logic we have now. I have one remark though...

This dateformat can be complex to handle:
22 Apr 2011

As people can use language specific month names and abbreviated names. So for GA my proposal is to just support numeric date values. I hope that's fine to...

gr. Martin
(0036162)
rgoris (developer)
2011-04-28 14:38

Martin, great to hear that we can use standard Smartclient behavior. Do not worry about the "22 Apr 2011" or "Apr 22 2011" date formats, I deem them nice-to-haves and by no means worth the additional effort, also because of localization.
(0036168)
pjuvara (reporter)
2011-04-28 16:13

Guys...

if you can fix this by RC7, you far exceed my expectations.

Handling months spelled in words (i.e. 22 Apr 2011) is a nice to have but I agree with Rob: we can live without it. The rest of the changes might improve usability so much that it might not even be needed.

If in the process we can also eliminate some complex custom code and move to standard Smartclient functionality, even better. This would be a great win.

Paolo
(0037446)
hgbot (developer)
2011-05-25 17:46

Repository: erp/devel/pi
Changeset: 972652c1e7c2963f1e7a273fdbd96b266a3aa91e
Author: Martin Taal <martin.taal <at> openbravo.com>
Date: Wed May 25 17:46:18 2011 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/972652c1e7c2963f1e7a273fdbd96b266a3aa91e [^]

Fixes issue 16883: Flexible interaction with date fields

---
M modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-formitem-widgets.js
---
(0037562)
hudsonbot (developer)
2011-05-26 07:47

A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/728387046be6 [^]

Maturity status: Test
(0037601)
pjuvara (reporter)
2011-05-26 14:59

I tested the new behavior. Very nice: great job!

Although not all the requested behaviors have been implemented, entering a date is now a very agile experience and I believe no further improvements are needed.

The only missing piece is the support for shortcuts (t for today) which we should not forget. I will log a separate feature request.

- Issue History
Date Modified Username Field Change
2011-04-25 15:53 pjuvara New Issue
2011-04-25 15:53 pjuvara Assigned To => rgoris
2011-04-25 15:53 pjuvara Modules => Core
2011-04-28 11:13 rgoris Note Added: 0036148
2011-04-28 11:13 rgoris Assigned To rgoris => mtaal
2011-04-28 11:13 rgoris Priority normal => high
2011-04-28 11:13 rgoris Category B. User interface => A. Platform
2011-04-28 11:13 rgoris Type feature request => defect
2011-04-28 11:13 rgoris Target Version 3.0 => 3.0RC7
2011-04-28 11:16 rgoris Relationship added depends on 0016303
2011-04-28 11:21 rgoris Relationship added depends on 0016314
2011-04-28 11:24 rgoris Relationship added depends on 0016302
2011-04-28 11:25 rgoris Relationship added depends on 0016297
2011-04-28 12:14 mtaal Note Added: 0036155
2011-04-28 14:38 rgoris Note Added: 0036162
2011-04-28 16:13 pjuvara Note Added: 0036168
2011-05-02 10:50 alostale Status new => scheduled
2011-05-02 10:50 alostale fix_in_branch => pi
2011-05-06 17:58 dmitry_mezentsev Target Version 3.0RC7 => 3.0MP0
2011-05-06 17:58 dmitry_mezentsev fix_in_branch pi =>
2011-05-17 09:15 iperdomo Priority high => normal
2011-05-25 17:46 hgbot Checkin
2011-05-25 17:46 hgbot Note Added: 0037446
2011-05-25 17:46 hgbot Status scheduled => resolved
2011-05-25 17:46 hgbot Resolution open => fixed
2011-05-25 17:46 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/972652c1e7c2963f1e7a273fdbd96b266a3aa91e [^]
2011-05-26 07:47 hudsonbot Checkin
2011-05-26 07:47 hudsonbot Note Added: 0037562
2011-05-26 14:59 pjuvara Note Added: 0037601
2011-05-26 15:00 pjuvara Status resolved => closed
2011-05-26 15:08 pjuvara Relationship added related to 0017381


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker