#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>

Reply via email to