DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


Tutorial: Using the Relationship-Filter 2.0 in 2sxc 9.9

The new RelationshipFilter allows you to find all items, having a relationship - like blog-post with a certain tag, or products which are used by customers of some industry. 

Example of the new RelationshipFilter

The following example shows the RelationshipFilter being used for 4 different kinds of filters at the same time (but there are way more possibilities):

This shows an App with Company-items, which have categories. The various filters here show:

  • All companies having the "Second" category
  • All companies having exactly 2 categories
  • All companies having categories, which are marked as "Fun"
  • All companies without categories

What's new in the RelationshipFilter 2

We've added 4 important new features:

  1. Separator-character - this allows us to apply multiple options to look for, like "Web,IT"
  2. Attribute-On-Relationship - this allows us to filter not just by the title (like the tag-name) but also by further criterias (like a tag-priority)
  3. Operator - many new operators like contains, containsany, first and more
  4. Not-Operator-Prefix - to query for items which are the opposite of a match 

Let's look at the details

Using the Separator for Multiple Filter-Criterias

Until 2sxc 9.8 you could only check for 1 related item, so you could only say

  • give me all items which have this one author

In 2sxc 9.9 we are now able to specify multiple authors, allowing queries like

  • give me all items which have all these authors
  • give me all items which have any of these authors
  • give me all items which don't have any of these categories
  • give me all items, which have any of these categories as a first category

This works using the separation-character, which is usually a comma , but could be something different (in case your items have commas in the texts you're comparing). If you don't specify a separator, none will be used and the whole Filter criteria is treated as one value. Here's where you set it:

Attribute-On-Relationship to Query other Fields

In 2sxc 9.9 we added the ability to specify which field you want to compare (before it was always Id or Title). Here's an example:

New Operators and the Not- Prefix

Untill 2sxc 9.8, you could not specify an operator, and contains was the assumed operator. In 9.9 we added a lot more. To explain what each does, assume that our main stream contains items of BlogPost and we only want to keep the posts having certain Tags.

Here's the list, each is explained more below:

  1. contains - will return all items (BlogPosts), having allthe children (tags) specified
  2. containsany - will return all items (BlogPosts) having any of the children (tags) specified
  3. not-contains will return all items (BlogPosts) not-having-all of the children (tags). So it will also return those items, having some of the children.
  4. not-containsany will return all items (BlogPosts) having none of the children (tags) specified.
  5. any will return all items (BlogPosts) having any children at all (tags). So the filter is ignored. This is the same as count=0.
  6. not-any will return all items (BlogPosts) having no children (tags).
  7. first will return all items (BlogPosts) where the first child (tag) is one of the filter-options. This is for scenarios where you say the first tag is a primary-category or similar.
  8. not-first will return all items (BlogPosts) where the first children (tags) is not one of the filter values.
  9. count will return all items (BlogPosts) having a specific amount of children (tags)
  10. not-count will return all items (BlogPosts) not having a specific amount of children (tags)

TL;DR

Hope you love it! Please try it (download on Github) and give us feedback. 

Daniel


Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in Switzerland and Liechtenstein, an 20-head web specialist with over 800 DNN projects since 1999. He is also chief architect of 2sxc (see github), an open source module for creating attractive content and DNN Apps.



Read more posts by Daniel Mettler

Comments

There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (32)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (209)
Chris Paterra (55)
Clinton Patterson (41)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (154)
Dave Buckner (2)
David Poindexter (4)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (10)
George Alatrash (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (165)
William Severance (5)

Content Layout

Subscribe to DNN Digest

Subscribe to DNN Digest

DNN Digest is our monthly email newsletter. It highlights news and content from around the DNN ecosystem, such as new modules and themes, messages from leadership, blog posts and notable tweets. Keep your finger on the pulse of the ecosystem by subscribing.  


Copyright 2017 by DNN Corp Terms of Use Privacy
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out