what's the desired behavior for failing translators?

1 view
Skip to first unread message

adamsmith

unread,
Jan 11, 2012, 1:45:51 PM1/11/12
to zotero-dev
See this thread:
http://forums.zotero.org/discussion/21270/error-with-citeulike-translator/#Item_4
This is an example of a Zotero translator failing silently.

The actual problem here is clearly citeUlike's missing RIS data and
there is no way for Zotero to tell that in advance to restrict the
detect function.

My question is what should Zotero do in a situation like this?
I think a silent fail - the status quo - is the worst option - users
may think Zotero actually saved the item.
I think making Zotero fail noisily and adding something on the known
translator page would be somewhat preferable.
The best option would be if we were able to display a specific message
to the user - is that possible?

Avram Lyon

unread,
Jan 11, 2012, 2:59:12 PM1/11/12
to zoter...@googlegroups.com
On Wed, Jan 11, 2012 at 10:45 AM, adamsmith <bst...@gmx.de> wrote:
> My question is what should Zotero do in a situation like this?
> I think a silent fail - the status quo -  is the worst option - users
> may think Zotero actually saved the item.
> I think making Zotero fail noisily and adding something on the known
> translator page would be somewhat preferable.
> The best option would be if we were able to display a specific message
> to the user - is that possible?

When the case is truly unexpected, I think we should fail and add it
to the known issues, with a note there to contact CiteULike. I agree
that silently failure to save when doWeb is called is a bug in the
translator. We can add a note to the debug output that the RIS was
empty, or even throw an error, so that the cause is readily discerned
using the standard translator troubleshooting information. In fact, a
verbose explanation of the problem could be thrown (use "throw"), and
it would show up in Report Errors.

I think such an error message should be thrown by the RIS translator
itself when called with empty input -- the line.replace error is a
dead giveaway, but we could throw instead and make it more legible.

Avram

Reply all
Reply to author
Forward
0 new messages