Better grouping of options in Settings

Requests for new features. You cannot post to this forum because new feature requests are not accepted any more.
Forum rules
New feature requests are no longer accepted, so you cannot post to this forum any more.
Locked
oktay
Posts: 6
Joined: 14 Feb 2010, 09:18

Better grouping of options in Settings

Post by oktay » 14 Feb 2010, 09:26

Now that I've spent a few hours with the theme options, I realize that most of the complexity of the set up is due to the fact that the same kind of settings will be repeated for Posts, Pages, Categories, Links etc.

Let me give an example:

Here are some of the things that can be configured in the "Main Navigation Bar Setup":

Page listing style in Navigation Bar , Title, Link, Items to show
Category listing style in Navigation Bar, Title, Link, Items to show
WordPress Link listing style in Navigation Bar, Title, Link, Items to show

This is a common theme in this -well- theme. (I hate puns). Most options are the same "type" applied to Pages, Links, Categories etc.
What happens is, it's hard to logically group these. For instance it's far too easy to make a change in a Category related setting when really expecting a change in a Pages related setting. It's just too crowded and the human eye cannot group the items logically; "i.e. This setting belongs to this Section" .

It would be fairly easy to employ some JS (I would say Ajax but that would be a misuse of the term) to group those things together and only display one group at once.

I am available for more info if I wasn't able to get my point across.

Cheers.

oktay

sayontan
Site Admin
Posts: 10210
Joined: 15 Sep 2009, 16:39
Location: Houston, Texas
Contact:

Re: Better grouping of options in Settings

Post by sayontan » 14 Feb 2010, 09:58

I understand your point. I did write about this a couple of days back. The trouble is that regrouping of options is a fairly big effort and I really need to be sure that the approach I am designing is scalable not only for users but for me as well. What I mean is that the current way of adding options is incredibly easy for me, though it makes viewing hard for end users. It was fine when the options were fewer, but now, not so much. I cannot make it the other way round because people using the options use them just once or a very few times, while I have to continue adding them. No point in my getting masochistic and making it a lot more difficult for me.

So this is going to take a lot more thought and time.

oktay
Posts: 6
Joined: 14 Feb 2010, 09:18

Re: Better grouping of options in Settings

Post by oktay » 14 Feb 2010, 14:48

I don't know HOW you're adding them, but even a simple <hr> element at the top and bottom of each group would help immensely. (I guess if you can do that, then you can turn it into a <div> later and add some css/js magic to it to hide/show div sections)

sayontan
Site Admin
Posts: 10210
Joined: 15 Sep 2009, 16:39
Location: Houston, Texas
Contact:

Re: Better grouping of options in Settings

Post by sayontan » 14 Feb 2010, 15:15

The difficulty is not in adding a GUI element, but it is in creating an additional level in between to identify the groups. Not only is it time-consuming, but it also has to be done correctly and scalably.

oktay
Posts: 6
Joined: 14 Feb 2010, 09:18

Re: Better grouping of options in Settings

Post by oktay » 15 Feb 2010, 15:46

I don't think we are talking about the same thing.

sayontan
Site Admin
Posts: 10210
Joined: 15 Sep 2009, 16:39
Location: Houston, Texas
Contact:

Re: Better grouping of options in Settings

Post by sayontan » 15 Feb 2010, 16:09

I think we are talking about the same thing. So let me explain it to you differently to get my point across. Suffusion's options have 3 levels:
Level 1 -> The level that says things like "Visual Effects", "Blog Features" etc
Level 2 -> This is a level under Level 1, and says things like "Top Navigation Bar Setup", or "Header Customization"
Level 3 -> This applies to individual options, like "Page listing style in Navigation Bar", "Category Listing Style in Navigation Bar" etc.

All of these levels are stored in a single big array (you can see the file called theme-options.php for yourself), which a piece of code automatically reads and processes to generate the options pages. I haven't written individual code for each option, since that would be a nigh insurmountable challenge to handle given that there are 360+ options. It would also make adding new options take a lot more time than it does now. I just declare each option with a "type", like a radio button or a text field etc, which I process using some generic code.

Now here is the difficulty with the automated approach. There is nothing between Level 2 and Level 3, like say a level 2.5 that identifies groupings such as "Pages", "Categories" etc. So there is no way to automatically identify what belongs to a page and what belongs to a category. Due to this I cannot tell my code to put in an <hr> element or a div element separating what you have identified as groups. To do so I have to introduce the middle level 2.5, and then modify my code to group by the 2.5 level as well. Otherwise it is impossible for me to provide this functionality. Providing this interim level is really a cumbersome process and will require significant amounts of testing. I could put in a hack, like a "type" for a separator and then ask my code to render a separator as an <hr>, but this will not really serve to make things easier because this is not scalable.

What you are saying in general would have been possible if I were to manually put in code for each option instead of using automation based on option type, but that is simply not a possibility given the huge volume. But as I have mentioned, I have been giving this matter considerable thought and a redesign is on the cards.

oktay
Posts: 6
Joined: 14 Feb 2010, 09:18

Re: Better grouping of options in Settings

Post by oktay » 15 Feb 2010, 23:43

Thanks for the explanation. I was assuming it would be easy to introduce *some* html code anywhere on those pages. This actually intrigues me. I will have to take a look. Is this generic code Wordpress generic code or Suffusion generic code? That array would probably be able to have an extra field for what type of object this is, not to say "I am an <hr>" but to say "I belong to the Pages group". But if one was to add this, I think it's better to rethink the whole thing and make it right. After all, what I'm suggesting will only help so much.

Regardless, please keep us posted about your thoughts on how to implement the settings in the future.

Oktay

oktay
Posts: 6
Joined: 14 Feb 2010, 09:18

Re: Better grouping of options in Settings

Post by oktay » 23 Feb 2010, 15:32

3.3.6 Sidebar and Widget Areas

Definitely a step in the right direction. The image helps a lot too. Good job.

sayontan
Site Admin
Posts: 10210
Joined: 15 Sep 2009, 16:39
Location: Houston, Texas
Contact:

Re: Better grouping of options in Settings

Post by sayontan » 23 Feb 2010, 15:35

Thanks for the fefedback. The image has always been there, though.

Locked