Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsRepositoryRepositoryImplementation question for Sub-CategoriesImplementation question for Sub-Categories
Previous
 
Next
New Post
1/30/2007 1:54 PM
 

I'm looking for some suggestions on how to implement the UI for sub-categories.

I have already added the code to support unlimited sub categories on the Repository settings page. My problem comes in designing the UI for the three areas that the user will interact with categories, and I'm looking for some comments or suggestions on how you would envision it working...

1. User Upload/Edit page.
Let's say you are building a repository for recipes and have about a dozen top level categories, Low Fat, Low Salt, Keeper, Vegetarian, Holiday, etc. and under Holiday you have a bunch of sub-categories, Christmas, Thanksgiving, Halloween, etc. and finally under each holiday you have sub-sub-categories for Breakfast, Lunch, Appetizer, Dinner. Now it comes time to upload a new recipe. Keeping in mind that you can specify single selection or multiple selection for categories .. there are a couple of options .

  a. check boxes. Keeping the same UI as currently exists, I would render all of the available categories and sub-categories as a checkboxlist. I would label each checkbox with a breadcrumb-like label so you would have checkboxes like [ ] Holidays [ ] Holidays->Christmas [ ] Holidays->Christmas->Dinner, etc. as you can see this might render a huge/ugly mess of checkboxes.

  b. another option is a dual listbox. In the left list box list all the categories ( also using breadcrumb-like labelling ) that are not selected, and a right list box with all the categories that are selected with buttons in between to move categories between  listboxes. Again, the issue might be real-estate. if your sub-categories are 5, 6, 7 or more levels deep, the breadcrumbs will start to get very long

  c. a third option is a treeview with checkboxes on each node. I could inject a DNNTree Web Control, although I'm not sure what versions of DNN the DNNTree would support. I'll look into this further as an option to see if it's technically feasible.

  d. there's also the 'drill-down' selection technique that would work great for single section but not so well for multiple selection. This would display a list box that would initially display the root categories, and allow you to click on a category and 'drill' into it, replacing the listbox contents with the sub-categories for that item and the initial item would be '<parent>' to allow you to 'drill' back up one level.  As I said, this works good for selecting a single category, not sure how it would work if allowing multiple selections.

2. The Repository header.
The second UI challenge is the header. Right now you can place a dropdown list and select a category to 'filter' the items listed.  Here we're talking about single selection, so a treeview would work, but the real-estate necessary would not work in the header. I could still render a dropdownlist with all the categories and sub categories but that could be unweildly. One UI paradigm I like is the new Vista Explorer bar that expands a series of dropdowns from left to right as you select, so initially in the header the dropdown display only the root categories. Select a category and a second, new dropdown appears immediately to the right displaying the sub-categories for the selected item, etc. again with 5 or 6 levels deep this could be a real-estate problem

3. The Dashboard
Not too much to worry about here, A treeview would be ideal as you could expand/collapse nodes to select a category ( in this UI the dashboard would work like a menuing system) or the drilldown listbox would work equally well, so I'm not too concerned about the Dashboard. I will allow you to set the <root> node in the dashboard settings so if you only wanted to display a partial tree like 'Holidays' you could.

A Functional Question.
While on the subject of sub-categories .. if a category has sub-categories, should the parent category be user-selectable? or auto-selected. In the above example, should I just be able to check 'Holidays' without checking any of the sub-categories? or would 'Holidays' be disabled and if none of the sub-categories are checked then it's not checked and if at least one sub-category is checked, then the parent is checked? What do you think?

So bottom line, I'm looking for some ideas .. I know some of you other there have implemented sub-categories, how did you modify the UI? does it work well for you? would you like to share your design?

Any and all ideas are most welcome.

 
New Post
1/30/2007 2:31 PM
 
Steve...sounds like you have grand plans.

Regarding the Upload Form, I have always considered the Tree View/checkboxes to be the most intuitive and in a collapsed state uses minimal real estate. And from a functionality angle, I have seen treeviews that if you check a checkbox in a sub-level, the "checked" state cascades up the treeview and populates the checkboxes in all categories above the one you checked (I think those were Javascript-driven). I think this would provide a very good means to "drill down" (filter) through categories/subcategories in the Header. And as for the Header, the automagically appearing dropdowns sounds great...just align them to the left in their own table row to give them room to appear without distorting the page layout.

Personally, I am only interested in one...perhaps two sublevels at most, so balance my feedback against those that are contemplating numerous sub-categories. I can't wait to see the end product.
 
New Post
1/30/2007 2:33 PM
 

In all of the times that I have implemented sub-categories that allowed multiple selection I have used tree controls.  They seem to provide the easiest method for my end-users to understand.

I have had some intances where they wanted to ONLY allow items to be stored in the bottom most level, however most of those clients decided later that it was necessary at times to be able to list items in the root and middle level categories. 

With my experience I would reccomend looking into a tree control, and allowing them to select ANY category within the tree.


-Mitchel Sellers
Microsoft MVP, ASPInsider, DNN MVP
CEO/Director of Development - IowaComputerGurus Inc.
LinkedIn Profile

Visit mitchelsellers.com for my mostly DNN Blog and support forum.

Visit IowaComputerGurus.com for free DNN Modules, DNN Performance Tips, DNN Consulting Quotes, and DNN Technical Support Services
 
New Post
1/31/2007 8:23 AM
 

You mention that some of the people here have created sub-category lists, if you know who they are, email me and i will contact them directly to see if they will share their info.  This module is great except for this one short coming.

It may display my limited knowledge of DNN, but it seems to me that dynamically populated pulldowns would work (ergonomically & technically).  i.e. if a category is selected, any sub-categories (parent/child) would populate the second pulldown.  This would solve one problem that if there happen to be no sub-categories in a selected category, then there would be a greyed out pulldown for the sub-category pulldown.

the only contengencies with this scenario would be to enable a user to create categories & sub-categories from the Repository Advanced Settings window, writing them to table(s[?]), and possibly incorporating the dashboard so that it can access the categories in a like-fashion.  I'm sure someone is cringing about the pulldowns, but 'it works' and it's efficient/proven.

That's my 2¢ & thanks for following up with this,

Greg Milby

 
New Post
1/31/2007 10:51 AM
 
I have to agree with tworkman and mitchel.sellers that a treeview with checkboxes in the upload page would be the way to go.  As far as the repository header, I like the idea of the automagically appearing dropdowns aligned to the left that tworkman suggested.
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsRepositoryRepositoryImplementation question for Sub-CategoriesImplementation question for Sub-Categories


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out