I'm still in the early stages of this project. During the alpha stage, upgrading will be a manual process of comparing the installed db to the new scripts and changing the db to match. Eventually I will have a process for upgrading.
If you create new functionality or modules that you would like to contribute to the project, you can send them to me. As long as I agree they are useful to most users and well implemented and you agree to make it available under the Common Public License, I will integrate them into mojoportal and list you in the credits.
If you have customizations that you don't want to contribute or for whatever reason I don't think should be included in the core, the best approach would be to compile your stuff into separate assemblies so you can drop the dll(s) into the bin and the markup pages/controls into the appropriate folders of a new version of mojoportal. Eventually I'll have a tutorial and sample code on how to do that. Your pages and controls would inherit from your assemblies so you might have the following:
MyCustomModule.ascx - inherit your own class from a class library project
MyCustomPage1.aspx - (if your module needs supporting pages) you would still want a reference to mojoportal.Web to integrate the skinning but you would inherit your own class from a class library project.
MyNameSpace.Web.dll would be the class library containing the classes for your pages/controls
MyNameSpace.Business.dll would contain business logic for your custom stuff
MyNameSpace.Data.dll would contain your data access code.
If your custom module needs to leverage exisiting functionality in mojoportal, it would be appropriate for your MyNameSpace.Web.dll to reference mojoPortal.Web.dll and for your business layer to reference mojoPortal.Business.dll so you could call their methods.
Definitely if you implement the blog api stuff and it needs to integrate in the existing blog module and you want to contribute it, send me the changed files and I'll integrate it as long as all of it is open source.
Also the latest version of mojoportal source code is now available via anonymous checkout direct from Subversion source control hosted on forge.novell.com. I'll be blogging about that later today. I had to change the VS.NET web project to a class library project to overcome a compatibility problem between subversion and VS.NET web projects, but there is a good tutrial on how to do this without losing any of the conveniences of a web project. More details to follow in my blog. I will say that Subversion blows the doors off SourceSafe in my opinion though I've only used Subversion for a short time and am a long time VSS user.
Hope that helps,