CSModules provide developers a clear path for adding and changing behaviors in Community Server without the need to change any source code.
Community Server raises a set of events at various points in the application lifecycle. By implementing an interface called ICSModule, developers can be notified when things like a new blog post is made or a user chooses to update a profile.
An often overlooked option is the ability to simply remove existing CSModules. Community Server ships with much of its internal functionality defined in CSModules. This makes it really easy for you to replace or ignore certain items.
For example, Community Server does not allow any JavaScript to be placed in the News sidebar item of a blog. You could go into the Community Server code and remove this logic, but a simpler and cleaner path to take is to open the CommunityServer.config file in your favorite text editor and remove module named WeblogFormattingModule.
More resources: