The client requested that I place an Announcements web part on each site so that the departments can post their own announcements to their own sites. They also requested that on the home page I display all of the announcements from Advertising, Direct Marketing, and Public Relations....but not to display those announcements that are posted to Team Sites or any of its sub-sites.
I had to think of a way to use out of box functionality to roll up some, but not all of the announcements within the site collection and display them on the home page. Below is an explanation of what I did:
Site Settings > Galleries > Site Content Types Created two content types:
- Site Collection Announcements Content Type
- Team Sites Announcements Content Type
Home Page > View All Site Content > Create > Communications > Announcements > Created two webparts:
- "Template-SiteCollectionAnnouncements" for (Advertising, Direct Marketing, and Public Relations sites)
- "Template-TeamSiteAnnouncements" (for the Team Sites)
Announcement Web Part > List Settings > Advanced Settings > Content Types > Yes
Enabled management of content types on the lists.
Anouncement Web Part > List Settings > Content Types > I deleted the default "Announcement Content Type" from each list
I saved each Announcement list as a list template: "Template-SiteCollectionAnnouncements" and "Template-TeamSitesAnnouncements."
On each of the sites, Advertising, Direct Marketing, and Public Relations, I created a new web part from the Template-SiteCollectionAnnouncements web part templates. On each of the Team Sites, I created a new web part from Template-TeamSitesAnnouncements. I added the web parts to the respective pages.
To achieve the filtered roll up effect on the home page I added a Content Query Tool Part. I set the web part to show all items from all sites in the site collection where the content type is "Site Collection Announcements Content Type" and the list type is "Announcement."
In conclusion, I was able to achieve the desired results with out of box functionality. If you are using Content Query Tool Part and you are looking for a way to filter the list, consider doing what I did; create custom content types and filter out the content types within the Content Query Tool Part Query screen.