Organization of pages in the tree view

Yang Wen asked on May 7, 2015 15:27

What is the best practice method of organizing pages by creation date (year) in Kentico?

Scenario: We have a news landing page which is a child of root. There will be multiple structured custom pages under the news parent page.

root
|_news
   |_pages...

A repeater is on the news landing page that allows click thru to the child pages. Our idea is to create additional "Page Type" page under news such as "2015", "2014", to organize child pages into their respective years.

root
|_news
   |_2015
      |_pages
   |_2014
      |_pages..

Is this the correct way of organizing? Or is there some built-in capability that can group/sort pages in the site tree view based on creation date? Thanks!

Recent Answers


Brenden Kehren answered on May 7, 2015 15:46

What I typically do is create a page template for the News page that displays a list of the top N news articles. That page also has a navigation repeater on it that displays all the years (which are just CMS.MenuItems, pages). Each of those Year pages shares a single template that displays all the news items below it and has a selected item transformation set for the details of the news item.

There really is no need to create another page type for the year, just make a template for it. Blogs have some built in capabilities of organizing items by month-year. I have seen several clients use Blogs for their news items just for this reason.

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on May 7, 2015 16:24

Thanks for the reply.. I should clarify that the visual organization within tree view is in the Admin Pages "app". Our content author was envisioning a scenario of hundreds of pages that are not organized in anyway, making it difficult to work with in the Pages app.

How do you guys deal with this problem?

0 votesVote for this answer Mark as a Correct answer

Charles Matvchuk answered on May 7, 2015 19:22 (last edited on May 7, 2015 19:26)

What I do, and my site has a very large tree, consisting of 600,000 pages, is create page types for organization as well, which is our preferred method. In your scenario I would create a page type for the years, call them NewsYears or whatever you like. That way it is easy to lock the news with child/parent types under the years. You could also assign permissions so editor's can create news, but not create years, or assign that to someone specifically. Also you could write a bit of custom code to prevent additions to previous years.

Brenden's way is fine, my way is fine, it all depends on how you want to do it.

An added bonus is you could create different content for each year Page if you decided to down the road, I use this method for archiving. Otherwise there isn't a way to organize the documents visually in the tree by date.

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on May 7, 2015 21:46

@Yang, you don't have to use the tree view for everything in the pages app. When there are typically more than 25 or 50 pages in a node, I'll use the List view. It's faster loading and allows me to filter and navigate to the page to edit it.

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on May 7, 2015 23:42

Aw dude! I never clicked on the Listing button.. The listing view looks good. However it looks like it only offers the ability to filter pages by the Name field out of the box....

0 votesVote for this answer Mark as a Correct answer

Charles Matvchuk answered on May 10, 2015 03:14

@Yang, yes out of the box that is what you get. I modded the page for my personal use and added more searching functionality only to have it cause me a great deal of grief on a Kentico update. I don't recommend modding it, but perhaps someone has a better approach.

0 votesVote for this answer Mark as a Correct answer

Charles Matvchuk answered on May 10, 2015 03:18

@Yang, technically you could create your own search web parts and put them in the tree on a pge and use them in the back end in page mode. Couple this with grid/repeater etc. and you may have something that works the way you want it. I never did this, but it doesn't sound like it would be difficult. Then under security just allow the proper roles and security so it is not available to those visiting the live site. Alternatively you could create your own custom module which just allows editing of the pages/news and doesn't even show the tree to anyone. I just started doing something like this for a Review Module I build and it works pretty good.

Just some ideas for you.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.