Resources for the DotNetNuke Community
Support this site
When you work with DotNetNuke you should try not to modify any part of it. What? Yes, if you want to be in sync with the current version of DNN you shouldn't modify the core. Otherwise, when a new version or service pack arrives you'll be in trouble because you'll have to repeat all your local modifications to the new version.
Private Assemblies are the solution to extend DotNetNuke without modifying it. You create all your new modules as separate projects that can be plugged into the portal without having to change anything. You deploy your newly created modules as independent assemblies (dlls) and web controls.
For a deep understanding of PA concepts read Private Assemblies on the msdn web site.