Jump to content

Menu Groups Manager, changes and differences from CJ Menu


Michael

I thought would be a good time to bring everyone up to speed about the end of life of CJM (CJ Menu) and its Replacement MGM (Menu Groups Manager). in a lot of ways CJM and MGM will be identical, but there are some key differences and changes. the biggest change is in there code design, as some of you know CJM was my first app made with the new IPS 4 framework.  There was simply a lot that wasn't known about the framework and over the last 3 years i have become very familiar with the framework. So my goal with MGM was to redo CJM with what i've learned over the last few years. There are also problems with CJM, and those issue become more apparent to me when 4.1 and then 4.2 was released, its code base was rigid, didn't allow for easy modification. I basically wrote CJM in the fashion of a 3.x app, but in the 4.x's framework. Below i will list things that have been removed, features added and things that have changed from CJM to MGM:

Removed:

Featured and Popular : this feature was never fully realized and the fault lies with me. it never worked correctly and no one has ever really reported issues with it, so i took that to mean it wasn't a "popular feature" :) and have removed it from MGM.

Parent Duplication: this was a way around the problem with have menu set to click and having the parent menu have a URL. in MGM this has been done a different way (as the opening for click menus is a separated from the clickable part of the menu). so now when on click, the parent menu wont duplicate itself.

Predefined Groups: MGM doesn't come with any groups predefined, and the styling differences between the locations will be kept to a min. there will be 5 locations you can choose, there is a 6th choice but it has no location on the front end. its just for when you want to make a hook/widget out of the group. 

Stems/Indication Arrow group settings: stems were a pain to add in and i didn't like the end result all that much cause they didn't function properly with all the show/hide effects, so i've just decided to remove them. same with indication arrow settings, this will be handled in the theme settings. you can select one or not and if one isn't selected the indication arrow wont display. 

Group select on menu creation: you must be in the group you want to add a menu item too, or it will add it to the group you are in. i changed this as this required a bit of JS voodoo and hackery into how the forms work. so anything that required a bunch of voodoo to work, i removed and this was one thing that required it.

App Sync: this was a feature that was removed in CJM awhile back, that was added in promenu, but it wont be making a come back for MGM. so if you were wondering if it was coming back, nope. one of the points of this overhaul was to get rid of problematic features, freeing me to focus on the other features and some of the automation in CJM was causing issues.

Changes:

attributes box: there will now be a class, style and attributes box on menu creation on the style tab. i changed this cause like the item before this required some php voodoo to work properly, so it was just easier to separate them out into their own inputs. and should help with understanding with using them too.

app title as menu title: if you select application as your type, you can now choose to use the app title (whatever is set by the frontnavigation extension) or you can override that and create a new menu title from MGM.

Application Type: this has changed a bit. when i first wrote CJM they only had a very simple menu system in 4.0 that i built from, so i didn't put a lot of thought into it. this changed with the new menu manager in 4.1 and added to mine, but it wasn't enough and there were things that never fully worked with CJM, this has been corrected. instead of selecting an app then a front navigation/sub item/etc, you select the navigation extension itself from a list, and then if there are any configuration options, they will appear and can be configured and MGM will use them.  The application list has also changed, that it shows the extension directly, and it will only show them after being created if they are intended to be used multiple times. Example: you select a forum, save it, and create a new menu, forum will no loner be an option (as in the frontnavigation extension it only meant to be used once), but this happens at a group level. so you can create another forum menu item on another group. 

Enable/Disable Groups/Menus: you can now disable/enable groups and items, instead of manipulating their permissions.

Group Permissions: groups now have a permissions matrix for them, so you can set on a group level which groups can see a menu.

Publishing/Refresh All Caches: CJM would after any changes to a group or a menu item recache everything automatically for you. this was an issue for some people who were building new menus or had a lot of menus/edits going on. so in MGM you have to publish the group before it shows up or the changes appear on the front end. there will be 2 ways to do this, you can do it just for that group or recache everything. a Publish button will appear for the group when a unpublished change has occurred (also the group will have a visual indicator in the menu in the acp if it has unpublished changes). 

Traditional Menus: like CJM, MGM's menu's will be "mega", but some do not like mega menus. so i introduced "traditional" menus in CJM. however this was on the entire group. with MGM this feature has been moved to the parent Menu items for bars group type. so you can have one menu that way you can have a mix of mega/traditional menus on the same group.

New Features:

about the only thing really "new" would be the locations, and that is just a tweak of what was already there. you can assign multiple groups per location now, and what order they appear in, but other than that, MGM and CJM function more or less in the same way. most of the changes have happened at a code level. I'm also doing my best to keep styling to a min. for MGM, that way it can be easily styled for themes. most of the styling that i have already done, is just for stuff that makes it look presentable on the default skin, but its pretty bland compared to even the min. style approach i took with CJM, even to the point i would say "ugly". 

the other big change, would be the replacing of the default IPS menu. MGM has a setting to attempt the remove of the Default IPS Menu, but it doesn't do it by default now, there will also be no guarantee that it can, this really depends on the theme as some themes have been known to really alter this area, so my hooks might not have any effect and with like CJM, this will not be considered a support issue and will be treated as its own service if you want me to work on it. 

So hopefully MGM will be a good for the legacy that started out as promenu all those years ago. 



User Feedback

Recommended Comments

There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×