Using the moduleCreator helps to avoid a lot of configuration mistakes, but one big gotcha (ironically compared to Elzo's answer) is using camelCase in a module name. It will work perfectly when developing on a Windows system, but fails silently on *nix.
Module_UsingCamelCaseFails
whereas
Module_Uselowercasetosucceed
I haven't tried creating a camel case module on *nix as I do see modules with that naming convention that work, but certainly in Windows->Linux direction will cause trouble.
I've also had difficulty getting ACLs to stick when creating a top level menu in the adminhtml. If your menu entry is a child of
or
, the ACLs work fine, but not as a first class node.
The other classic that took a while when I first started Magento development, was forgetting that you can't override a controller by just placing it in app/code/local/Mage
.
I'd love to see a tool that is effectively the inverse of ConfigViewer, ie one that validates your config.xml in the context of the events, objects and other values you've specified and should exist in the rest of the install. A basic XSL parse would be the first pass, then attempt to instantiate any referenced objects. Not sure how you would validate observed events, but perhaps grepping the core code for that event name could work. Thoughts?