Find all content items with a content category?

Options

For accounting purposes, I need to figure out what percent of pages on my site belong to our 501(c)3 a what percent are c4.

There are 35 content types on the site. Ugh.

I have a Content Category called Ownership, with options of c3 and c4. Each item of every content type is theoretically marked with one of these.

So what I really need to get is: how many live items are there across all Content Types where the Content Category Ownership is c3 and how many have c4.

Does that question make sense? And how the heck do I do it?

Thanks!

Tagged:

Comments

  • The best solution I can think of is to make a page with 70 list templates (two for each Content Type) or 35 pages with 2 list templates. You'll need to configure the appropriate filter for each list: show all items of type T where Ownership == c3, show all items of type T where Ownership == c4.

    Sadly, there is no easy way to consolidate one list across all Content Types.

  • Bruce Keilin:

    The best solution I can think of is to make a page with 70 list templates (two for each Content Type) or 35 pages with 2 list templates. You'll need to configure the appropriate filter for each list: show all items of type T where Ownership == c3, show all items of type T where Ownership == c4.

    Sadly, there is no easy way to consolidate one list across all Content Types.

    One other thought: admin search. You can do parametric searching but it only returns the first 100 results. If you have more than 100 matches, it won't tell you how many you had. This might be useful (for the small CTs) in conjunction with the above approach.

  • Bruce Keilin:

    The best solution I can think of is to make a page with 70 list templates (two for each Content Type) or 35 pages with 2 list templates. You'll need to configure the appropriate filter for each list: show all items of type T where Ownership == c3, show all items of type T where Ownership == c4.

    Sadly, there is no easy way to consolidate one list across all Content Types.

    Thanks Bruce. Though obviously not the answer I really wanted to hear. I'll try out the search option you just posted, but unfortunately I think we'll have way too many pages for it.

    Is there a better way we could have set something like this up? For example, if I had different wrappers for c3 and c4 could I see how many items across all content types had each wrapper? Or is there any other functionality that will let me search for a large number of results across types?

    We're looking at doing a redesign at some point, so that might be a good chance for us to clean up our content and fix some things that could be done better.

  • Kirsten Suhr:

    Thanks Bruce. Though obviously not the answer I really wanted to hear. I'll try out the search option you just posted, but unfortunately I think we'll have way too many pages for it.

    Is there a better way we could have set something like this up? For example, if I had different wrappers for c3 and c4 could I see how many items across all content types had each wrapper? Or is there any other functionality that will let me search for a large number of results across types?

    We're looking at doing a redesign at some point, so that might be a good chance for us to clean up our content and fix some things that could be done better.

    The only suggestion I can make is to try to reduce the number of distinct Content Types. I haven't looked at your specific CTs to see if they could be simplified. We are looking at some product enhancements that would make this sort of reporting easier, but there is nothing I can promise on that front at this point.

  • This is something we have also struggled with--tracing back which pages have a specific content category.  Given the number of sets and content types we have, creating a separate filter for each one would be untenable.  While not perfect, I have made some progress by exporting each content type and running queries in an external DB.  This of course becomes instantly out of date but helps a lot.

  • I was working on something else and just realized that I found a solution to this quandry.  It takes a little bit of work at the front end and there are limitations, but it should work for us.  If you create a custom RSS feed and pull in all of your content categories with the tag <category>, when you view it in a browser, the count for each category will appear in the right hand nav.  Click the category and it limits the feed to just those documents.

    1) First, create a list template for each content type pulling in all of the desired data.  Mine looks something list this:

    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

      <channel>

        <title>First Content Type</title>

        <link>http://www.yourwebsite</link>

        <description>RSS Feed</description>

        <managingEditor>Your name here</managingEditor>

        <webMaster>youremail@yourdomain.org</webMaster>

        <copyright>2010</copyright>

        <generator>Convio Content Management System Module</generator>

        <language>en-us</language>

    <t:list> 

        <item>

          <guid isPermaLink="false">www.preservationnation.org-${itemID}</guid>

          <title><!]></title>

          <link>${url}</link>

          <description><!]></description>

    <!-- Date information -->

         

          <pubDate><t:value id="lastPublicationDate" type="date" format="8">Jan 1, 2005</t:value></pubDate>

         

    <!-- Location information -->

          <city><!]></city>

          <street><!]></street>

          <zipcode><!]></zipcode>

          <t:list id="related_state"><state>${label}</state></t:list>

    <!-- Category tags -->

          <t:list id="cultural_diversity"><category>${label}</category></t:list>

          <t:list id="related_laws"><category>${label}</category></t:list>

          <t:list id="year"><category>${label}</category></t:list>

        </item>

    </t:list>

      </channel>

    </rss>

    Note that <t:list id="cultural_diversity"> must reference the exact field name within "" in each content type.  If you've been inconsistent like us when you add a content category to a type, it will be different for each feed.

    2) Now create a page of the XML Content Type and insert the list into your page as you would any other list.  Save and view the page in your browser.  Your content categories should appear in an alpha list on the right hand side.

    If you have a ton of content, I recommend limiting your filter to display 100 records while you are tweaking it. One of our content types has 6,000+ records and it takes forever to load. I was new to XML but figured it out with some help from Bruce, Convio's list display documentation, and online resources like http://www.w3schools.com/xml/xml_whatis.asp.

    Good luck.

    (Thanks to Bruce for setting up my first custom RSS.)

  • Alison Hinchman:

    I was working on something else and just realized that I found a solution to this quandry.  It takes a little bit of work at the front end and there are limitations, but it should work for us.  If you create a custom RSS feed and pull in all of your content categories with the tag <category>, when you view it in a browser, the count for each category will appear in the right hand nav.  Click the category and it limits the feed to just those documents.

    1) First, create a list template for each content type pulling in all of the desired data.  Mine looks something list this:

    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

      <channel>

        <title>First Content Type</title>

        <link>http://www.yourwebsite</link>

        <description>RSS Feed</description>

        <managingEditor>Your name here</managingEditor>

        <webMaster>youremail@yourdomain.org</webMaster>

        <copyright>2010</copyright>

        <generator>Convio Content Management System Module</generator>

        <language>en-us</language>

    <t:list> 

        <item>

          <guid isPermaLink="false">www.preservationnation.org-${itemID}</guid>

          <title><!]></title>

          <link>${url}</link>

          <description><!]></description>

    <!-- Date information -->

         

          <pubDate><t:value id="lastPublicationDate" type="date" format="8">Jan 1, 2005</t:value></pubDate>

         

    <!-- Location information -->

          <city><!]></city>

          <street><!]></street>

          <zipcode><!]></zipcode>

          <t:list id="related_state"><state>${label}</state></t:list>

    <!-- Category tags -->

          <t:list id="cultural_diversity"><category>${label}</category></t:list>

          <t:list id="related_laws"><category>${label}</category></t:list>

          <t:list id="year"><category>${label}</category></t:list>

        </item>

    </t:list>

      </channel>

    </rss>

    Note that <t:list id="cultural_diversity"> must reference the exact field name within "" in each content type.  If you've been inconsistent like us when you add a content category to a type, it will be different for each feed.

    2) Now create a page of the XML Content Type and insert the list into your page as you would any other list.  Save and view the page in your browser.  Your content categories should appear in an alpha list on the right hand side.

    If you have a ton of content, I recommend limiting your filter to display 100 records while you are tweaking it. One of our content types has 6,000+ records and it takes forever to load. I was new to XML but figured it out with some help from Bruce, Convio's list display documentation, and online resources like http://www.w3schools.com/xml/xml_whatis.asp.

    Good luck.

    (Thanks to Bruce for setting up my first custom RSS.)

    That's a neat idea, Allison! Thanks!

  • Alison Hinchman:

    I was working on something else and just realized that I found a solution to this quandry.  It takes a little bit of work at the front end and there are limitations, but it should work for us.  If you create a custom RSS feed and pull in all of your content categories with the tag <category>, when you view it in a browser, the count for each category will appear in the right hand nav.  Click the category and it limits the feed to just those documents.

    1) First, create a list template for each content type pulling in all of the desired data.  Mine looks something list this:

    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

      <channel>

        <title>First Content Type</title>

        <link>http://www.yourwebsite</link>

        <description>RSS Feed</description>

        <managingEditor>Your name here</managingEditor>

        <webMaster>youremail@yourdomain.org</webMaster>

        <copyright>2010</copyright>

        <generator>Convio Content Management System Module</generator>

        <language>en-us</language>

    <t:list> 

        <item>

          <guid isPermaLink="false">www.preservationnation.org-${itemID}</guid>

          <title><!]></title>

          <link>${url}</link>

          <description><!]></description>

    <!-- Date information -->

         

          <pubDate><t:value id="lastPublicationDate" type="date" format="8">Jan 1, 2005</t:value></pubDate>

         

    <!-- Location information -->

          <city><!]></city>

          <street><!]></street>

          <zipcode><!]></zipcode>

          <t:list id="related_state"><state>${label}</state></t:list>

    <!-- Category tags -->

          <t:list id="cultural_diversity"><category>${label}</category></t:list>

          <t:list id="related_laws"><category>${label}</category></t:list>

          <t:list id="year"><category>${label}</category></t:list>

        </item>

    </t:list>

      </channel>

    </rss>

    Note that <t:list id="cultural_diversity"> must reference the exact field name within "" in each content type.  If you've been inconsistent like us when you add a content category to a type, it will be different for each feed.

    2) Now create a page of the XML Content Type and insert the list into your page as you would any other list.  Save and view the page in your browser.  Your content categories should appear in an alpha list on the right hand side.

    If you have a ton of content, I recommend limiting your filter to display 100 records while you are tweaking it. One of our content types has 6,000+ records and it takes forever to load. I was new to XML but figured it out with some help from Bruce, Convio's list display documentation, and online resources like http://www.w3schools.com/xml/xml_whatis.asp.

    Good luck.

    (Thanks to Bruce for setting up my first custom RSS.)

    That's very nice, Alison!

  • Bruce Keilin:

    That's very nice, Alison!

    For anyone trying this fix, I am having trouble with the way the insert component adds the XML list to the page.  If it looks like this:

    <DIV class="templateComponent" id="templatelist-135230750" style="DISPLAY: inline"/>

    You need to edit it to look like this:

    <t:include id="templatelist-135230750" />

    Not a huge deal since you only have to do it once. Good luck.

Categories