The task was to remove a menu item from the admin menu. I tried to do it through roles permissions but it wasn't saving permission for few selected custom modules. So, I had to leave it as 'All' as i didn't wanted to waste time researching and fixing other custom modules.
I removed menu items from menu node in config.xml but it didn't work. Deleted cache folder, session folder nothing worked. After googling for a while I found people recommended to do it through javascript by adding display none to the item like this:
$('.menu-class').hide(); or remove();
But there was no unique class or id for the menu. I thought may be <disable> would work and added that. ohoo! actually that worked, the menu item was gone.
<menu> <learning module="learning"> <title>Learning Center</title> <sort_order>71</sort_order> <children> <new module="learning"> <title>Add Post</title> <sort_order>0</sort_order> <action>learning_admin/manage_learning/new</action> <disabled>1</disabled> </new> ... <cat module="learning"> <title>Categories</title> <sort_order>30</sort_order> <action>learning_admin/manage_cat</action> </cat> </children> </learning> </menu>
NOTE: This update was done for custom module, You may need to override core config to achieve this, so it won't get over-written on upgrade.