Better Date Field
This is a suggestion for a minor change of the date field, that is especially important for people from non-Anglo backgrounds: now, the field is open for all kinds of inputs, but as far as I understand, it parses something like 2008-12-14 as 14th of december 2008. However, nothing in the field tells me that this is done this way. Only AFTER having made the correct input the field shows y-m-t to suggest that zotero understood my input. Also, if I only type 2008-12, zotero does not display y-m. However, for non-Anglo's this way of input is non standard and confusing.
I would suggest as an easy way to solve this problem to separate the date field into three different fields, each tagged with year, month and day, respectively. This would make input much easier and intuitive.
I would suggest as an easy way to solve this problem to separate the date field into three different fields, each tagged with year, month and day, respectively. This would make input much easier and intuitive.
best
Michael
In fact, it cannot parse correctly, because unless the number of the day is higher than 12, how should it find out which number is date and which is month?
Maybe my original post was unclear, but the main problem is that in continental Europe dates are given usually as day-month-year, or year-day-month and not month-day-year or year-month-day. Thus the zotero interface is counter-intuitive to use and there is nothing that tells me how to use it.
You can also write "July 4, 1972", "Juli 4, 1972", "4 Juli 1972", etc., regardless of your locale, since it looks for the short forms of English months. If you were using, say, an Italian locale, you could also write "4 luglio 1972", since it also looks for the short forms of months in the current locale.
The reason you're having trouble now is that you're using a U.S. English build of Firefox with unmodified locale settings and are trying to enter ambiguous dates in a European format.
Just typing a date in whatever format you want seems fairly intuitive to me. Problems should be pretty rare, as they'd mostly only occur if people were using a U.S. Firefox build with unmodified locale settings and manually entering an ambiguous date in a purely numerical format. If the y-m-d indicator showed the parse order, it'd be obvious if the order was something other than what was expected. There might be other ways to improve clarity as well, but switching to an awkward multi-field system doesn't seem like a very good one.
I totally agree with you (and yes the y-m-d indicator showing how it's been parsed would be wonderful and very intuitive)
How are date ranges handled?
See this forum request for a use case.
I don't know that we need to bother doing anything else with date ranges elsewhere in Zotero. There might be some things we could do regarding sorting or searching or the timeline, but those wouldn't be big priorities.
I don't think we settled what happens for strings that parse with some cruft left over. For that case, I would like to float two suggestions: (1) that Zotero pass through the parsed date to the processor, and drop the cruft on the floor; and (2) that a date field enclosed fully in quotes be passed through as a literal, regardless of the content, with the quotes stripped.
There's nothing in there to support ranges -- nor will the CSL language provide support for that at version 1.0. If we did ever stretch to support ranged dates, it would be a complicated business, because you'd need to provide collapsing mechanisms for the various possible date forms (i.e. "Apr. - Jun. 2001" vs "2001-04 to 2001-06"). For the time being, passing through literal strings is simpler, and a "quoted escape" solution will at least provide a means of clearing most of the speed bumps without a lot of manual editing.
I do like having a single date field - it speeds data entry. The hover-over display of the parsed date is good, too, although I did not discover that until reading this discussion.
p.s. I have found this is not supported yet. I'm looking forward.
Citeproc-js currently accepts date information broken down into year, month, day, season, and a circa bit. To handle cases in which the calling application cannot provide those details, it will recognize a "literal" entry in lieu of a structured date. Passthrough is not an ideal solution to unparsed dates, but the alternatives (silently leaving the date empty, placing an error slug on the output, or passing a corrupted and possibly misleading date) are worse. Literal strings are rendered without special formatting. I don't see what else one could do with them, since nothing is known about their content.
I'll be happy to change the processor interface if it will help in some way; I put the interface description online in the hope of receiving feedback on things that should be altered. But so long as everyone is in agreement that some form of literal passthrough is to be recognized (which does seem to be necessary), a standardized interface that includes that possibility, when it is settled, could also be left for implementation in an intermediate layer, independent of the processor.
(PS: Just to amend what I wrote earlier, we do have ranged date support in citeproc-js now.)
RDF import/export isn't my department, so I can't comment on that.