#718: WebSearch: fix SQPP crash coming via mangle_with_dateutils
------------------------+----------------------
Reporter: simko | Owner: valkyrie
Type: defect | Status: new
Priority: major | Milestone:
Component: WebSearch | Version:
Resolution: | Keywords:
------------------------+----------------------
Comment (by jblayloc):
I can't figure out how to modify the Cc:s with arbitrary additional
people, or I'd add Travis.
There are layers of fixing to be done here.
We could add an additional exception catch to the dateutil call so that we
can get TypeErrors. This could be done in the same commit in which we
move the dateutil call down into the search_units. This would mean we
could bubble up some status to higher levels and display a helpful message
to the user saying, "Hey, your syntax usage is ambiguous, maybe you wanted
date Smith, but maybe you wanted d smith. Here are some find queries you
can click on to specify what you want."
This would mean that we stay in the business of trying to make all of the
people happy all of the time, which I believe we decided wasn't that good
an idea. Another problem with this is that it only helps with date. This
bug reveals a fundamental problem with supporting google-style bag of
words and also spires syntax without find, in that we don't know the
difference between {{{a smith}}} meaning 'author smith' and {{{a smith}}}
meaning 'a smith in anywhere'. And so forth for the other spires keywords
that could conceivably appear in either search style.
So this implies there's another layer of fix, which is forbidding syntax
mixing - meaning, we have a preference (at the system level, the user
level, I don't care) which specifies what syntax to use, always, and we do
no mixing and we do no bag-of-words unless bag-of-words is the preference
setting. This gets us out of the business of making all the people happy,
instead preferring to make some of the people happy most of the time,
which may be easier. It's certainly simpler. But it still needs
infrastructure for specifying syntaxes, etc., and we have the pain of
transitioning users who have already started getting used to the new stuff
(but doing it soon means we can amortize the suffering.
This last way to solve things probably implies that we build the syntax
plugin model, which may be easier than building user-level preference
functionality.
I'd like some Skype conversation between Travis and Tibor and Valkyrie and
I, when Tibor gets back in the office. Sadly his schedule and mine mean
this conversation can't happen until very close to when Valkyrie leaves us
for better things. So perhaps Travis and Valkyrie should discuss this f2f
and record any ideas or conclusions here?
--
Ticket URL: <http://invenio-software.org/ticket/718#comment:2>
Invenio <http://invenio-software.org>