Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu manager for Joomla Backend Menu #13036

Merged
merged 37 commits into from Jan 17, 2017

Conversation

@izharaazmi
Copy link
Contributor

izharaazmi commented Nov 27, 2016

Pull Request for issue #5492

Summary of Changes

Currently we have menu and menu items for front-end that we manage via Menu Manager. However, for the Backend Menu we do not have any choice. We are bound to use that statically hardcoded menu since long time now.

With this PR I am proposing the flexibility and control over the menu and menu items for Joomla Backend like we have for the Front-end. You can now create, edit, move and organise the menu links the way you like. And if like you can still use the "preset menu" shipped by default with Joomla without any customisation at all.

After this patch you'll have one extra dropdown in Menu manager lists viz. "Client" that can be used to switch between whether you are managing menu and menu items for Front-end or Backend.

When you have client filter "Administrator" selected in the list, clicking on "New" will take you to the Backend Menu Item creation page only. Having "Site" selected will get you a form to create Front-end menu/menu item likewise. This behavior is certainly not new for us, this can be seen in the existing Module Manager already.

The list of available menu type options are taken the same way that it did for front-end menu type options earlier. All the menu items that exists currently can be created using the Menu Manager in a custom Menu. Then it can be published in the mod_menu for backend, which currently is using a hardcoded menu.

Notes

  • How will my administrator interface looks change after this?
    It will look exactly the same as before. The appearance is only affected if you choose to customise your backend menu via Menu Manager.

  • What do I need to learn to use this new Menu Manager?
    Almost Nothing! If you are familiar with the existing Menu Manager and have used it to create menu and menu items for front-end, then you will feel at home. Everything remains the same. When creating a menu item for backend you will see the options related to backend only. Similarly, you will see only front-end options when you create a menu item for front-end.

  • Where do the menu links gets created for NEW components that I install?
    The menu links are created in the same way as before for every new component installation. You can create a "Heading" type menu item (say, "New Components") and set the flag "Components Root" to "Yes". This will pull all those menu items under "New Components".
    Please note, that this component root is NOT required to be a Top level menu item, it can be any level down.

  • How can I remove an auto created component menu item from the Component Root parent after I have created my own menu item for it at desired location?
    In the menu items list view, set the menu type filter to "Main (Protected)". You will see all those automatically generated menu items there. Just unpublish the desired items. If the component root has not children to show, the component root will also be hidden automatically.

    Deleting them should not cause any side effect, however its not recommended to do so. Editing these items is disabled to avoid undesirable consequences.

    Please note that if you decide to switch back to the "preset" menu anytime, these auto-generated Menu items will show up under "components" again. Due to B/C reasons preset menu does not obey published/unpublished state.

  • How can I create Multilingual versions of those backend menu items?
    Language based associations are disabled for backend menu items for consistency and simplicity. The menu title is translated during their rendering, therefore you can use LANGUAGE_KEYS and their translations to use it on multilingual websites. 1

  • Will Joomla! be shipped with a default menu created?
    Joomla! will come with built-in preset(s) which will not show up in menu manager. That would be the set as the default menu. You can use it by selecting in the Module manager mod_menu settings. If you want to create and use your own custom menu you can create an new Menu at "Menus > Add New Menu" and build your desired links under it. Next you will choose your own Menu in the Menu module settings via Module Manager.

  • What if I do not have a component root defined in my custom menu when I install new components?
    The "component root" does NOT tell Joomla where to create those menu items. It just says, where to show them. So relax, the automatic menu items will still be created in the same way as now (even without this PR) irrespective of your component root selection. If you have one it will pull them in, and if not they won't show up.
    This way we can always ensure that they will be shown exactly the same when you switch back to the preset menu for any reason.

  • I messed up my menu structure and it will take time to build it over. Can I get the default Joomla menu back?
    Absolutely! Its in there already. Just go to module manager and edit mod_menu for administrator. Choose the System Preset as your active menu. Keep it forever, or as long as you need.

  • I am an extension developer. What do I need to change in my components to make use of this new feature?
    This update will NOT cause your components to lose any links in the backend menu. If you have any Menu/Submenu under "Components" then your user will still be able to create those links in their custom menu.
    Well, Ideally you should create layout manifests for all your view/layouts that can be linked to a menu item so as to offer your users better control and flexibility over customisation.

Testing Instructions

  1. Install this patch to the latest 3.7.x branch.
  2. You may need to check database and update it from Extensions > Manage > Database and Fix. In some cases you may need to manually add client_id column to your #__menu_types table.
  3. Create a new Menu, say "Admin Menu"
  4. Go to Module Manager and Open Menu Module. Choose your new Menu as the Active Menu. The Menu from the top should disappear.
  5. Switch back to "System Preset" and the Menu should come back.
  6. Make sure the Current Menu (Preset one) is Exactly the same as before this patch. Same access checks should apply.
  7. When creating a front-end menu item no backend options should be visible. Same for the other way around.
  8. Create a few Menu Items under your "Admin Menu" and then try to set it as your Default Menu in Menu Module. Your created Links should appear.
  9. Create a Heading type menu item somewhere in your Menu. Set it as Component Root. All items that came under "Components" earlier should show under this heading now. You may need to publish them from Menu items list first.
  10. Install a new component, e.g. "JCE" and see if its menu and sub menu are populated under this component root.
  11. Try creating those menu links yourself under some other menu item or even as top level menu item. You should be able to create all those links.
  12. Do some more tests around as I may not have listed all possible test cases here.

Documentation Changes Required

Add information about this feature in the documentation.

Thanks @brianteeman for his support and valuable inputs.

1 In the edit form we can have a set of text inputs for alternative texts per installed language.

izharaazmi and others added some commits Oct 11, 2016

Added client id column to menu_type table.
Allow creating and editing of "menutype" records with client_id = 1
Add client_id filters in menu and menu items list views
Sync menu type filter and client_id filter allowing only menu type in the URL query parameter (B/C)
Both Lists now also filtered by client id.
Client id selection updates the menu type list options to show choices only for that client id

TBD:
Reserved menu types: main & menu
In modal list view we currently hide client_id filter and show only s…
…ite menu types, will be updated once we have more clear vision.

Menu type assignment to backend mod_menu config from both menu manager and module manager. Though that is not functional within the module itself.
Add/edit menu item redirect with clientId from list filter.
Load menu item form based on active client id
Menu type dropdown choices limited to active client id value
Show menu-item-type choices (modal) trigger with client id parameter in the url
Switch edit layout based on client id
Menu item type loading from component metadata xml or mvc not identif…
…ies backend and frontend application separately. Not yet able to load menu item type from backend so returns empty list. Front-end is still intact and unaffected.
Edit menu item and create menu item set to follow client id and menu …
…type value consistenty.

When creating menu item alias, the referenced menu must also belong to same client id.
Client id field removed from form, this should be auto-calculated from the menu type when saving.
Adding layout metadata xml in backend to reference menu item types as…
… it was in front-end.

Removed unnecessary admin specific layout added earlier as it is so far same as original edit.php, may be added back when needed.
Remove page specific meta data fields from backend component type menu items.
For now disable/unsupport association for backend menu items.
Disallow change of client id for existing menu items, unexpected conflicts may occur if allowed so better be safe.

Ref to #2
Created each backend menu items using menu manager as a replica of ex…
…isting Joomla backend menu. These are to be used for testing during upgrading menu module.

language keys are not yet translated. Translation will be done as we are ready with most new or modified language keys application wide.
Backend menu items does not require all those parameters as that with front-end menu items. Therefore segregated entire menu item xml for backend/frontend.

Ref #2
[a11y] Protostar back to top (#12446)
* [a11y] Protostar - back to top link

* Oops Andre was right

* add anchor for non-js enabled browsers
Restructure mod_menu to load preset menu items as an option (default)…
…. Other options will be the menu-type and will cause us to load from database. Ref #2
Disallow editing and set to home of protected menu type menu items vi…
…z. 'main' and 'menu'

Allow explicit filtering by protected menu type choices in menu items list view. Not limited to #__menutypes table entries only. Unfiltered list still excludes those menu items. (B/C ok)
Menu items created during installation of a component are now saved as published. When unpublished we won't load it in customised menu's component menu container. They will still be loaded irrespective of state as previously when preset is in use. (B/C ok)
Home page can now be set one per client instead of one overall.
Menu module only loads item from 'main' and 'menu' type menu items when requested for component menu items. This filter is now required because we are now going to have other custom menu types for backend which should not be included.

Ref #2
Load menu items from databases in correct hierarchy. Remove any extra…
… separator type menu items created due to exclusion of certain menu items based on various conditions.

Populate menu items loaded from db into the AdminCssMenu object for final rendering.
Load new installed components menu items dynamically under the specified menu item with “components container” flag. Any unpublished menu items from the protected menutypes (viz. “main” and “menu”) will be skipped.
When loading from system preset menu items, these components menu items are all included regardless of their published state. (B/C ok).

Ref #2
Reset the preset menu structure to be same as the current J37 branch …
…state, dropping implicit inclusion of #10657 improvement. Ref #2
Allow the existing components to leverage the menu/submenu entries in…
… their install manifest for admin menu manager menu link types.

This provides ability to create links for then without requiring them to add layout manifests. Hence, full B/C solution. Ref #2
@infograf768

This comment has been minimized.

Copy link
Member

infograf768 commented Nov 27, 2016

This PR should be targetted at staging, not 3.7.x

@izharaazmi izharaazmi changed the base branch from 3.7.x to staging Nov 27, 2016

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Nov 27, 2016

Closing as I have not tested it myself against staging branch. Will reopen after tests and changes if any.

@izharaazmi izharaazmi closed this Nov 27, 2016

@izharaazmi izharaazmi changed the base branch from staging to 3.7.x Nov 27, 2016

@sanderpotjer

This comment has been minimized.

Copy link
Member

sanderpotjer commented Jan 13, 2017

Having the same issues as mentioned by @franz-wohlkoenig on a clean staging setup with this PR applied.

Edit: looks like this was caused by the patchtester 3 beta version, which was only applying 30 files. Now testing via patchtester 2 which seems to work.

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 13, 2017

I have resolved the conflicts shown up today. I also notice that the patchtester does not apply the patch correctly and still shows the success message. This could be the possible reason for the above errors.

Is it possible (and correct?) to test the branch https://github.com/izharaazmi/joomla-cms/tree/admin-menu-manager? Its upto date with staging as of now.

@mbabker

This comment has been minimized.

Copy link
Member

mbabker commented Jan 13, 2017

Patch tester is only an aide. It's not the de facto testing tool and will never work as accurately as either applying the patch with a proper patching tool or downloading the remote branch (at least for the filesystem part of things).

@sanderpotjer

This comment has been minimized.

Copy link
Member

sanderpotjer commented Jan 13, 2017

@izharaazmi first of all: thanks for your PR! I do think there are quite some people that would welcome this feature in Joomla.

I have had my first testing, and here is some initial feedback:

  • Move "Menu to Show" & "Check Menu" params in mod_menu to "Module" tab instead of "Advanced", or is there a specific reason to put it under advanced
  • Is there a specific reason to move the "preset" menu layouts to the "preset" folder of mod_menu? I would recommend leaving it in the tmpl folder, this will allow people to still user template overrides for the mod_menu.
  • "Check Menu", I wonder if this even should be an option or not. Might be better to have this feature enabled by default.
  • I personally think it would be great if there would be an option to convert the default Joomla menu into the "custom admin menu", in that way you don't have to rebuild the entire menu if you just want a couple small changes
  • 3rd party components: I do think it would be great for the flexibility if you can at least create a menu item for each installed component, also the 3rd party ones. So maybe a new admin menu type "components" in which you can select the component, like "com_jce", this would create a admin menu item to index.php?option=com_jce

Possibly for the future

  • A powerful option would be to add some filter presets, so for example for the com_content articles view. If you could set the default category, state etc.. people can create backend menu items to specific filtered views

I have not seen any real errors yet, but as this is a major new feature I will continue testing over the next days and will possibly get back with some more feedback.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/13036.

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 13, 2017

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 16, 2017

@sanderpotjer Thanks for your valuable feedback.

  • Move "Menu to Show" & "Check Menu" params in mod_menu to "Module" tab instead of "Advanced", or is there a specific reason to put it under advanced.

Advice noted, I'll look into that. Thanks.

  • Is there a specific reason to move the "preset" menu layouts to the "preset" folder of mod_menu? I would recommend leaving it in the tmpl folder, this will allow people to still user template overrides for the mod_menu.

Sounds good. Though my plan is to offer multiple presets including custom
ones. We can discuss on this.

"Check Menu", I wonder if this even should be an option or not. Might be better to have this feature enabled by default.

In case user is ok with the said links in the admin homepage and does not
care about it in the menu, then that would be a pain.

  • I personally think it would be great if there would be an option to convert the default Joomla menu into the "custom admin menu", in that way you don't have to rebuild the entire menu if you just want a couple small changes.

In my to-do list:

  1. Clone a preset as db driven menu.
  2. Add possibility for custom presets.
  3. Export selected menu as new preset.
  • 3rd party components: I do think it would be great for the flexibility if you can at least create a menu item for each installed component, also the 3rd party ones. So maybe a new admin menu type "components" in which you can select the component, like "com_jce", this would create a admin menu item to index.php?option=com_jce

It's already possible to create menu items for all installed 3PD components. Not just root level rather sub menu too if defined so in their install manifest. B/C ok.
If you meant something else, please elaborate.

Possibly for the future

  • A powerful option would be to add some filter presets, so for example for the com_content articles view. If you could set the default category, state etc.. people can create backend menu items to specific filtered views.

Honestly, I didn't understand this right. Please explain.

@rdeutz rdeutz self-assigned this Jan 16, 2017

@ot2sen

This comment has been minimized.

Copy link
Contributor

ot2sen commented Jan 16, 2017

I have tested this item successfully on 7d9e0bb

Tested according to the very nice testing instructions and could go through all the steps for this great new feature. Good stuff!

Good job done, thanks! :)


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/13036.

@rdeutz rdeutz merged commit 4e156fa into joomla:staging Jan 17, 2017

2 of 3 checks passed

JTracker/HumanTestResults Human Test Results: 1 Successful 0 Failed.
Details
continuous-integration/drone the build was successful
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@rdeutz

This comment has been minimized.

Copy link
Contributor

rdeutz commented Jan 17, 2017

I have merged this because it seems to be in a good enough state to go into the alpha2 of 3.7. Smaller problems and issues can be figured out on the way to 3.7 Stable

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 17, 2017

Thanks @brianteeman, @infograf768, @sanderpotjer, @ot2sen, @rdeutz and everyone else for making this through into J3.7.
Excited! 😄

@izharaazmi izharaazmi deleted the izharaazmi:admin-menu-manager branch Jan 17, 2017

rdeutz added a commit to rdeutz/joomla-cms that referenced this pull request Jan 17, 2017

Menu manager for Joomla Backend Menu (joomla#13036)
* Added client id column to menu_type table.
Allow creating and editing of "menutype" records with client_id = 1
Add client_id filters in menu and menu items list views
Sync menu type filter and client_id filter allowing only menu type in the URL query parameter (B/C)
Both Lists now also filtered by client id.
Client id selection updates the menu type list options to show choices only for that client id

TBD:
Reserved menu types: main & menu

* In modal list view we currently hide client_id filter and show only site menu types, will be updated once we have more clear vision.
Menu type assignment to backend mod_menu config from both menu manager and module manager. Though that is not functional within the module itself.

* Add/edit menu item redirect with clientId from list filter.
Load menu item form based on active client id
Menu type dropdown choices limited to active client id value
Show menu-item-type choices (modal) trigger with client id parameter in the url
Switch edit layout based on client id

* Menu item type loading from component metadata xml or mvc not identifies backend and frontend application separately. Not yet able to load menu item type from backend so returns empty list. Front-end is still intact and unaffected.

* Edit menu item and create menu item set to follow client id and menu type value consistenty.
When creating menu item alias, the referenced menu must also belong to same client id.
Client id field removed from form, this should be auto-calculated from the menu type when saving.

* Adding layout metadata xml in backend to reference menu item types as it was in front-end.
Removed unnecessary admin specific layout added earlier as it is so far same as original edit.php, may be added back when needed.
Remove page specific meta data fields from backend component type menu items.
For now disable/unsupport association for backend menu items.
Disallow change of client id for existing menu items, unexpected conflicts may occur if allowed so better be safe.

Ref to #2

* Created each backend menu items using menu manager as a replica of existing Joomla backend menu. These are to be used for testing during upgrading menu module.
language keys are not yet translated. Translation will be done as we are ready with most new or modified language keys application wide.
Backend menu items does not require all those parameters as that with front-end menu items. Therefore segregated entire menu item xml for backend/frontend.

Ref #2

* [a11y] Protostar back to top (joomla#12446)

* [a11y] Protostar - back to top link

* Oops Andre was right

* add anchor for non-js enabled browsers

* Restructure mod_menu to load preset menu items as an option (default). Other options will be the menu-type and will cause us to load from database. Ref #2

* Disallow editing and set to home of protected menu type menu items viz. 'main' and 'menu'
Allow explicit filtering by protected menu type choices in menu items list view. Not limited to #__menutypes table entries only. Unfiltered list still excludes those menu items. (B/C ok)
Menu items created during installation of a component are now saved as published. When unpublished we won't load it in customised menu's component menu container. They will still be loaded irrespective of state as previously when preset is in use. (B/C ok)
Home page can now be set one per client instead of one overall.
Menu module only loads item from 'main' and 'menu' type menu items when requested for component menu items. This filter is now required because we are now going to have other custom menu types for backend which should not be included.

Ref #2

* Load menu items from databases in correct hierarchy. Remove any extra separator type menu items created due to exclusion of certain menu items based on various conditions.
Populate menu items loaded from db into the AdminCssMenu object for final rendering.
Load new installed components menu items dynamically under the specified menu item with “components container” flag. Any unpublished menu items from the protected menutypes (viz. “main” and “menu”) will be skipped.
When loading from system preset menu items, these components menu items are all included regardless of their published state. (B/C ok).

Ref #2

* View manifests for menu item type and related language key updates. ref #2

* Minor mistake fix.

* Translate menu item titles in list view. Ref #2

* Reset the preset menu structure to be same as the current J37 branch state, dropping implicit inclusion of joomla#10657 improvement. Ref #2

* Allow the existing components to leverage the menu/submenu entries in their install manifest for admin menu manager menu link types.
This provides ability to create links for then without requiring them to add layout manifests. Hence, full B/C solution. Ref #2

* Minor fix

* Remove temporary dev phase files

* Preparing for PR, database and install script updates.
Ref #2

* Minor fix

* Codestyle fix

* CS fix

* Don’t sort menu items

* Sort lang keys
Allow ‘component’ as first level alias in admin menu items
Fix lang key
Remove ‘home’ setting from admin menu items

* apply in hathor

* menu item alias check for site only

* Post merge fixes.

* Fixes as suggested by @infograf768

1. Group menu types by client id in lists and default admin menu
2. Hide association tab for admin menu items.
3. Hide client id filter for association mapping modal.

* Add recovery mode for menu where the selected admin menu does not contain link to module manager and/or menu manager.

* minor bug fix

* Remove assoc column for admin menu items.
Make recovery mode message more straight forward.
Change radio to toggle buttons.

@zero-24 zero-24 added this to the Joomla 3.7.0 milestone Jan 17, 2017

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 19, 2017

I am not sure who to ask for... In the alpha2 release note my name has a missing "i".

Izhar Aazm_ should be Izhar Aazmi

@Bakual

This comment has been minimized.

Copy link
Contributor

Bakual commented Jan 19, 2017

I am not sure who to ask for... In the alpha2 release note my name has a missing "i".
Izhar Aazm_ should be Izhar Aazmi

@rdeutz would be the person 😄

@rdeutz

This comment has been minimized.

Copy link
Contributor

rdeutz commented Jan 19, 2017

@izharaazmi sorry, fixed

@izharaazmi

This comment has been minimized.

Copy link
Contributor Author

izharaazmi commented Jan 19, 2017

Ah that happens. 😄 Thanks!

@brianpeat

This comment has been minimized.

Copy link
Contributor

brianpeat commented Jan 20, 2017

this brings up an interesting thought. If you can make more than one admin menu, you COULD make different views for different types of admins, except as a default, all we have for the access drop down is Special and Super Users. I'm going to mess around with adding more access levels based on say, Administrator and see if it reacts well assigned to just that.

Ha! quick way to break your admin? Accidently change the settings in Special instead of copying it.

Update: this is just beautiful. After making an access level called Manager, making a new admin menu and setting it to manager, then setting the original to Super Admin, the Manager user gets ONLY the new menu. :)

@rdeutz

This comment has been minimized.

Copy link
Contributor

rdeutz commented Jan 20, 2017

@brianpeat thanks for the comment, good to see that merging it was a good idea

wilsonge pushed a commit that referenced this pull request Jan 23, 2017

Merge from staging #8 (#306)
* tinymce 4.5.2

Version 4.5.2 - January 4, 2017

* Clean up JModelForm

* xml update version

* Catch "expects parameter 2 to be string" error

* Remove multiple parameter from user field

* Remove default value from the field params to inherit from plugin

* It's 2017. Happy New Year

* Some improvements in tests #3: (#13402)

* Some improvements in tests #3:
- call static methods correctly

* Fix T_PAAMAYIM_NEKUDOTAYIM (for all PHP 5.x)

* Remove forgotten call

* Changed a few things after conversation with @mbabker

* Fixes according to @andrepereiradasilva's comments

* Unnecessary double quotes in  /libraries/joomla (#13372)

* Replace unnecessary double quotes in /libraries/joomla

* Formatting

* CS Fix

* Fixes, based on @andrepereiradasilva's comments.

* Change remove string concatenations for some occurrences.

* Fixes, based on @andrepereiradasilva's comments.

* Fixes, based on @andrepereiradasilva's comments.

* Fixes, based on @andrepereiradasilva's comments.

* Fixing search for MySQL (#13571)

* Use $query->castAsChar instead of casting to integer

* Codestyle

* Clean up old code in cache.php file (#12183)

* Clean up in cache - part 1

* Remove old php4 style to catch exception which currently is useless.
* Add shorten version of ternary pperators.

* Add fix for contains()

* Add more email cloaking unit tests and fix email cloaking bug (#13446)

* Rsponsive article edit fields (#13586)

* Fix BS grid (#13560)

* Fixing Showon in plugins/modules/templates (#13549)

* Adding field group to JFormHelper::parseShowOnConditions and rearranged argument order.

* codestyle

* $field->assigned_cat_ids may not exist. (#13570)

* Clean up ModulesModelModule class (#13380)

* Make the calendar work in the subform field (#13153)

* [com_fields] Add Joomla loading overlay when form submit is triggered by category selector change (#13320)

* Added overlay box and message box for submit and reload form after category change

* Removed commented testing code

* Added language strings

* CS fix, added missing spaces

* Used Joomla logo spinner instead of fixed message

* Reverted changes in admin lang file

* CS

* Revert frontend lang changes

* Added Joomla loading overlay to new field form when changing field type

* Added Joomla.loadingLayer show to typeHasChanged JS method too

* PostgreSQL - return the same string each time of call __toString() on update query (#13284)

* TranslateFormat in all other forms (#13158)

* TranslateFormat in all other forms

* Revert for tracks filter bar

* Fix for issue #13531 (#13535)

* Fix for issue #13531
- [AND] and [OR] operators were not functioning correctly. Fixed.
- some cleanup of whitespaces in XML file and removal of rulers when the encapsulated fields are not showing.

* Removed $key, as it was an unused leftover

* CS Fix

* Whitespace Fix

* Whitespace Fix

* Whitespace Fix#2

* Conflict resolution (hopefully, Don't have a complete dev-environment right now.)

* Added css classes to the mod_login submit buttons (#13379)

* Added css classes to the mod_login submit buttons

* Added css classes to the mod_login submit buttons

* Changed class to login-button in both modules

* PHPMailer update (#13575)

* Correcting sidebar display LTR and RTL (replaces #13548) (#13593)

* Fix for Issue #13588 - mod_articles_categories - Fatal error: Class 'ContentHelperRoute' not found... (#13590)

* Update helper.php

Remove JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

* Update mod_articles_categories.php

* Make clear Exception messages in JTable (#13603)

* Fix issue where fields is false (#13574)

* Update jQuery Autocomplete to 1.2.27 (#13282)

* Show text "No Information Entered" in users profile when no value is set (#13589)

* Delete UCM content entries when Joomla articles are deleted (#13592)

* [com_fields] Add base list plugin class which activates the list plugin (#13546)

* Add base list plugin class

* Update fieldslistplugin.php

* Fixes #13177: Added where clause with block status (#13545)

* Menu manager for Joomla Backend Menu (#13036)

* Added client id column to menu_type table.
Allow creating and editing of "menutype" records with client_id = 1
Add client_id filters in menu and menu items list views
Sync menu type filter and client_id filter allowing only menu type in the URL query parameter (B/C)
Both Lists now also filtered by client id.
Client id selection updates the menu type list options to show choices only for that client id

TBD:
Reserved menu types: main & menu

* In modal list view we currently hide client_id filter and show only site menu types, will be updated once we have more clear vision.
Menu type assignment to backend mod_menu config from both menu manager and module manager. Though that is not functional within the module itself.

* Add/edit menu item redirect with clientId from list filter.
Load menu item form based on active client id
Menu type dropdown choices limited to active client id value
Show menu-item-type choices (modal) trigger with client id parameter in the url
Switch edit layout based on client id

* Menu item type loading from component metadata xml or mvc not identifies backend and frontend application separately. Not yet able to load menu item type from backend so returns empty list. Front-end is still intact and unaffected.

* Edit menu item and create menu item set to follow client id and menu type value consistenty.
When creating menu item alias, the referenced menu must also belong to same client id.
Client id field removed from form, this should be auto-calculated from the menu type when saving.

* Adding layout metadata xml in backend to reference menu item types as it was in front-end.
Removed unnecessary admin specific layout added earlier as it is so far same as original edit.php, may be added back when needed.
Remove page specific meta data fields from backend component type menu items.
For now disable/unsupport association for backend menu items.
Disallow change of client id for existing menu items, unexpected conflicts may occur if allowed so better be safe.

Ref to #2

* Created each backend menu items using menu manager as a replica of existing Joomla backend menu. These are to be used for testing during upgrading menu module.
language keys are not yet translated. Translation will be done as we are ready with most new or modified language keys application wide.
Backend menu items does not require all those parameters as that with front-end menu items. Therefore segregated entire menu item xml for backend/frontend.

Ref #2

* [a11y] Protostar back to top (#12446)

* [a11y] Protostar - back to top link

* Oops Andre was right

* add anchor for non-js enabled browsers

* Restructure mod_menu to load preset menu items as an option (default). Other options will be the menu-type and will cause us to load from database. Ref #2

* Disallow editing and set to home of protected menu type menu items viz. 'main' and 'menu'
Allow explicit filtering by protected menu type choices in menu items list view. Not limited to #__menutypes table entries only. Unfiltered list still excludes those menu items. (B/C ok)
Menu items created during installation of a component are now saved as published. When unpublished we won't load it in customised menu's component menu container. They will still be loaded irrespective of state as previously when preset is in use. (B/C ok)
Home page can now be set one per client instead of one overall.
Menu module only loads item from 'main' and 'menu' type menu items when requested for component menu items. This filter is now required because we are now going to have other custom menu types for backend which should not be included.

Ref #2

* Load menu items from databases in correct hierarchy. Remove any extra separator type menu items created due to exclusion of certain menu items based on various conditions.
Populate menu items loaded from db into the AdminCssMenu object for final rendering.
Load new installed components menu items dynamically under the specified menu item with “components container” flag. Any unpublished menu items from the protected menutypes (viz. “main” and “menu”) will be skipped.
When loading from system preset menu items, these components menu items are all included regardless of their published state. (B/C ok).

Ref #2

* View manifests for menu item type and related language key updates. ref #2

* Minor mistake fix.

* Translate menu item titles in list view. Ref #2

* Reset the preset menu structure to be same as the current J37 branch state, dropping implicit inclusion of #10657 improvement. Ref #2

* Allow the existing components to leverage the menu/submenu entries in their install manifest for admin menu manager menu link types.
This provides ability to create links for then without requiring them to add layout manifests. Hence, full B/C solution. Ref #2

* Minor fix

* Remove temporary dev phase files

* Preparing for PR, database and install script updates.
Ref #2

* Minor fix

* Codestyle fix

* CS fix

* Don’t sort menu items

* Sort lang keys
Allow ‘component’ as first level alias in admin menu items
Fix lang key
Remove ‘home’ setting from admin menu items

* apply in hathor

* menu item alias check for site only

* Post merge fixes.

* Fixes as suggested by @infograf768

1. Group menu types by client id in lists and default admin menu
2. Hide association tab for admin menu items.
3. Hide client id filter for association mapping modal.

* Add recovery mode for menu where the selected admin menu does not contain link to module manager and/or menu manager.

* minor bug fix

* Remove assoc column for admin menu items.
Make recovery mode message more straight forward.
Change radio to toggle buttons.

* Add SMS to External URL menu item type (#13615)

Allows data like sms://+15555555555 to be used instead of getting "Save Not Permitted"

* Adding the Multilanguage Associations Manager (#13537)

* Merge Associations rewrite

* updated searchtool with the new way

* udpated edit view title

* added contact associationshelper class

* temp fix

* fix for category filter

* added newsfeeds associations helper

* CAPS for params

* lang tag and added a helper function

* added land tags

* code style fix

* better title in associations view

* better title

* use the usual naming

* fix language tag, thanks to brian teeman and twitter :-)

* initial review

* on simple change

* on simple change 2

* simple

* some more helper changes

* Update associations.php

* Update associations.php

* app isn’t set a model property

* correct return value

* simplify code adn use helper method

* use typename directly

* changed the tooltip position

* Correct menu helper

* remove unreacable code

* correcting checked_out

* com_menus

* fixed not supportted message

* installation

* fix menu install

* Spaces -> tabs

* [com_associations] - mssql updates (#13617)

the missed mssql updates for #13537

* [com_fields] Improved description in the "description" tooltip Fixes #13392 (#13557)

* Fixes #13195: Added margin bottom to sidebar menu

* Fixes #13392: Changed description field tooltip

* Fixes #13392: Changed description field tooltip

* Fixes #13392: Changed description field tooltip

* sync admin menu menutype (#13618)

* Routing: Remove IDs from tags URLs, use menu item of tags view as default for tag view (#11166)

* Remove id from tags, use tags list menu item as default for tag

* Code style, remove useless code, feature: first Itemid for tags view, second Itemid for default tag view

* Updating install.xml en-GB administrator (#13623)

* run grunt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.