EEA.Facetednavigation + collective.dynatree for filtering nested vocabularies in Plone

73 views
Skip to first unread message

Rick Bruch

unread,
Jul 26, 2013, 2:22:35 PM7/26/13
to eea-facete...@googlegroups.com
Hi,

I have a custom Archetypes content type based on the ATDocument type that has a field for "training competencies" that uses Products.ATVocabularyManager for a multi-level vocabulary of competencies.

I'm using eea.facetednavigation to filter/search the content type and would like to add the ability to filter by competency using collective.dynatree (or similar). I have been able to use c.dynatree for input and display of the competencies, but am having trouble integrating it into eea.factednavigation for the filtering.

Versions: Plone 4.2.5, eea.facetednavigation 5.8, ATVocabularyManager 1.6.4, collective.dynatree 1.3.4

For reference, the competencies vocabulary looks something like:
-Training competencies (Tree vocabulary)
--Competency set 1 (Tree vocabulary term)
---Area or domain (Tree vocabulary term)
----Competency or Function (Tree vocabulary term)
--Competency set 2 (Tree vocabulary term)
---Area or domain (Tree vocabulary term)
----Competency or Function (Tree vocabulary term)

etc. for four competency sets.

I've taken a look at the eea.facetednavigation widgets and it's a little overwhelming. Can anyone recommend a place to start, similar product, or even another approach for filtering/searching using a nested vocabulary?

I did see that eea.jquery has the "jstree" plugin but there doesn't seem to be a tree widget in eea.facetednavigation. Would this be a fruitful avenue to pursue?

Thanks, let me know if any additional information would be helpful.

-Rick

Rick Bruch

unread,
Feb 14, 2014, 7:03:03 PM2/14/14
to eea-facete...@googlegroups.com
Hi again,

Thought I'd bump my below post since it looks like this group has had some activity lately.

I've been poking around more and have thought of a couple other possible approaches for my site.

One would be a "nested select" in which a user would see a select drop-down with the top-level vocab terms, they would select one, and another select drop down would become visible with the next level of vocab terms, etc., perhaps down to a specified "depth". Each selection would trigger a filtering query. Multiple selections could be included but not necessary.

Another approach would be to adapt/mangle the "Path widget" that's included at present. This would be similar to the dynatree widget I mention below but it seems some of the necessary code is in place for the jstree plugin in the Path widget.

Anybody have any advice or thoughts? Any plans for EEA devs to add something like this to the core product any time soon? Thanks in advance!

-Rick

Alin Voinea

unread,
Feb 17, 2014, 9:15:50 AM2/17/14
to eea-facete...@googlegroups.com
Hi Rick,

That's a nice to have feature and you're always welcomed to contribute directly in eea.facetednavigation package (see https://github.com/collective/eea.facetednavigation/blob/master/CONTRIBUTING.md). 

Basically all you have to do is to copy the path folder from /eea/facetednavigation/widgets/path to /eea/facetednavigation/widgets/tree, include it to eea/facetednavigation/widgets/configure.zcml and start customizing it.


Now, let me explain a little bit the folder structure:

1. You already know what configure.zcml does within this folder
2. edit.css / edit.js is used in edit mode: => configure-faceted.html
3. view.css / view.js is used in view mode: => facetednavigation_view
4. widget.pt / widget.py - the view and the controller of the widget.
5. tree.js / tree.py - specific files for path widget, you may not need them for your widget

I think the simplest widget you can start with is the Select one.

AFAIK this widget is not planned to be implemented by/for EEA in the near future, but you can always ask for support here, github, stackoverflow, irc #eea, Google Hangout.

Cheers,
Alin

--

Reach me:
irc:    avoinea
g+:  +AlinVoinea
tw: @AlinVoinea
Reply all
Reply to author
Forward
0 new messages