DO NOT EXPOSE THE WHEEL! The thing about DotNetNuke is that it can be as big or small as you make it. If you use it correctly, you will find that you can limit it to what you need. Do not expose yourself to the same pain that others have already passed. Unless, of course, you are only interested in your pain.
I am not saying that DNN is right for you. This may not be true, but take the time to research several open source portals before you decide to write your own. The features you describe will take 1000 hours to develop and test if you write them all from scratch.
@ , . , , , , , Codeplex, .