Proposal-Custom Parametric Search Module

Events happening in the community are now at Drupal community events on www.drupal.org.
sukoom2001's picture

Overview: This project aims to provide an easy mean for site developers to create custom parametric search forms and result pages for different content types, much like those of e-commerce sites. The current idea is to create a module for creating search UI depending on CKK and Views. This module will provide flexibility for combining search parameters (operations, priorities, dependences, etc.) and customizability in the look of both search forms and result pages.

Description:
While creating parametric search forms in Drupal can be done using CCK content fields, Views, and a bit of PHP hack, it still costs a lot of works, learning, and frustration for Drupal beginners (for example, to create a simple range search in View, they have to do this). There should be an easier way since parametric search is a basic and vital feature for sites with itemized information such as e-commerce or social networking.

Also, while exposed fields in Views provides some basic abilities to create search forms and result pages based on CCK content fields, it does not offer much flexibility, say, if you want to create a parametric search system capable of:

  • searching product prices in ranges or predefined ranges
  • creating dependent and related input field, e.g. only by specifying 'computer manufacturer' can users then select for 'model'
  • specifying priorities of each parameters for result ranking, e.g. 'required safety rating is more important than desired price range'
  • handling unconventional data type using custom input widgets, such as calendar or geographical locations

, you will find yourself doing lot of hacks.


As a solution, this project aims to create modules to, ultimately, let site developers :

  1. create and customize flexible parametric search forms (blocks or pages) easily
  2. link created search forms with content database: CCK fields, content type, node information, etc.
  3. and, design search result pages for each search forms.



To achieve "easiness" in (1.), the search form creation tool should be WYSIWYG, the interesting way to do this is to integrate with Form Builder. For "flexibility", the tool should be able to create forms with:

  • common text, taxonomy, type, scope search
  • numerical input: range, multi-range, predefined ranges, calculation (computed field)
  • date, time, and calendar
  • dependent or related input field: sequential or conditional
  • optional priorities input field for sorting search results
  • support for custom input widget, (JAVA/PHP) (and possibly custom query comparison mechanism)
  • customizable appearance- label, button, layout, etc.



For (2.), given the above desire flexibility, integrating with CKK alone might not be suffice.It might be necessary to fiddle with SQL directly, such as when calculating date-time different (likes Date Range Filter for Views) or custom datatype query, e.g. images or map coordinates.

As for (3.), I think it's OK to integrate with Views, since it is already doing quite a good job in this, although there might be some modification needed to add some more customizability (e.g. to create 'product listing page' styled result pages). Therefore one of the proposed module might be a submodule of Views.


Mentors: Two mentors who are interested or experienced in Views and CKK hacks would be very swell. And I'd like to have one local mentor (Thailand).

Difficulty: Easy to Medium

Comments

views exposed filters?

greggles's picture

This sounds a lot like views exposed filters. Have you seen those? Can you clarify how your module is different?

Work to extend Views is probably good - but I'm not sure we need "yet another" module that does basically the same thing.

--
Growing Venture Solutions | Drupal Dashboard | Learn more about Drupal - buy a Drupal Book

Yes

sukoom2001's picture

Yes I am aware of Views exposed filters, but it is lacking some flexibility and customizablity, thus features in the bullet lists I aim to extend. Sorry if my writing isn't clear.

your writing is great!

greggles's picture

My reading is not ;)

Would you say that your primary goal is to make it easier to build search UIs with Views?
Or is the primary goal to make it easier to build search UIs outside of Views?

If it's the first, let's be sure that someone with solid views experience can be a mentor.

If it's the latter - it would help to have justification for why it can't sit on top of Views. That's really our prime solution for "getting data out of Drupal" which is what you aim to do.

--
Growing Venture Solutions | Drupal Dashboard | Learn more about Drupal - buy a Drupal Book

Thanks

sukoom2001's picture

The proposed search UI has more functionality than what Views filters can currently provide, so I'm thinking not creating a patch for Views, but rather creating a module that depends on it. Therefore my module will have its own convention, but also work cooperately with Views- e.g. uses a view as a search scope and outputs search results through Views, maybe.

I don't really know whether or not this counts as sitting on top of it, but yeah I definitely need a mentor(s) who are into Views.

I should put this in the overview, since it was written too vaguely

SoC 2009

Group categories

Admin Tags

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week