Views Filter Object is a module which provides the glue between a View and a fieldable entity which holds configuration and filtering information for the View. This module makes it possible to design user interfaces for content creators where the content creator can create an entity, such as a Paragraph Item, which can configure a View which is then rendered to the page.

Sandbox url
https://www.drupal.org/sandbox/murrayw/2420495

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/murrayw/2420495.git views_filter_object
cd views_filter_object

Automated Review:
http://pareview.sh/pareview/httpgitdrupalorgsandboxmurrayw2420495git

In short, this module exposes the power of Views to editors, via entities such as Paragraph Items. Editors can select a few filters, define the number of items, a display and a few other things to define how they wish to alter a View. This effectively allows them to easily add filtered content to a page with the flexibility that Paragraphs offers. The site builder plays an important role as they define the view and the mapping between Paragraph Bundle and View. ie. they do they hard work and the editor reaps the reward of having an easy to configure widget.

This module is currently in production use on a couple of customer sites. It has been very successful at giving content creators the power and flexibility they need to build dynamic pages with recourse to Panelizer Overrides or the creation of custom View blocks etc.

Are there any similar modules?
Not that I know of. The closest I can think of would be Views Panes with exposed arguments. However, in this case the configuration is done by the site builder deep in the Panels interface. Views Filter Object exposes simple forms to editors in the node edit form and as such has a different audience. ie. It is designer for a simple but powerful editor experience.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

naveenvalecha’s picture

Status: Needs review » Needs work
FileSize
5.21 KB
murrayw’s picture

Status: Needs work » Needs review

A ticket was created for this and the issues have now been fixed.
https://www.drupal.org/node/2423371

naveenvalecha’s picture

Issue summary: View changes

Updated issue summary.I would recommend you, please help to review other project applications to get a review bonus back. This will put you on the high priority list, to speed up the process.

svnindia’s picture

Hi,

Manual Review :
1) If your module provide hooks you can define it in .api.php
2) views_filter_object_ctools_plugin_directory: return string can be "plugins/" . $plugin;
3) views_filter_object_ct_edit_form : to access views_filter_object_get_optionsets_options function we are loading the module file, shall we keep it inside this file

radimklaska’s picture

Hi svnindia, thanks for your feedback!

1) If your module provide hooks you can define it in .api.php

Done. ;-)

2) views_filter_object_ctools_plugin_directory: return string can be "plugins/" . $plugin;

Having if ($module == 'ctools' && !empty($plugin)) { is pretty standard way of implementing this hook. I'm worried about loosing !empty($plugin) before plugins/$plugin. Is there any deeper reasoning behind this. I would rater leave it the way it is.

3) views_filter_object_ct_edit_form : to access views_filter_object_get_optionsets_options function we are loading the module file, shall we keep it inside this file

Call stack does not allows that. views_filter_object_get_optionsets_options() uses views_filter_object_get_optionsets() which is pretty basic function and should be in .module file.

We have also added new example module and we are working on more documentation.

darol100’s picture

Status: Needs review » Needs work
FileSize
2.86 KB

Here are some minors warning from coder:

  • views_filter_object.module
    Line 325: @see should always be followed by a filename, a URL, class/interface name (optionally including method), or a function name including ().
     * @See https://www.drupal.org/node/2424165#comment-9610657 Entity translation support
    Line 325: @see references should be separated by "," followed by a single space and with no trailing punctuation
     * @See https://www.drupal.org/node/2424165#comment-9610657 Entity translation support
    Line 346: @see should always be followed by a filename, a URL, class/interface name (optionally including method), or a function name including ().
     * @See jquery_update.js in jquery_update module
    Line 346: @see references should be separated by "," followed by a single space and with no trailing punctuation
     * @See jquery_update.js in jquery_update module
    Line 347: @see should always be followed by a filename, a URL, class/interface name (optionally including method), or a function name including ().
     * @See jquery_update_jquery_replace() in jquery_update module
    Line 347: @see references should be separated by "," followed by a single space and with no trailing punctuation
     * @See jquery_update_jquery_replace() in jquery_update module
  • views_filter_object.api.php
     Line 24: @see should always be followed by a filename, a URL, class/interface name (optionally including method), or a function name including ().
       * @See views_filter_object_optionset_get_active_arg_value() to get more info
      Line 24: @see references should be separated by "," followed by a single space and with no trailing punctuation
       * @See views_filter_object_optionset_get_active_arg_value() to get more info

Pareview.sh is showing some complaining about errors/warning. http://pareview.sh/pareview/httpgitdrupalorgsandboxmurrayw2420495git

@radimklaska, since you guys working on more documentation I would recommend to add the hook_help, this can be very useful for site builders.

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.