Working with the Source Code in MonoDevelop

I usually test using the latest Mono/OpenSuse VMWare image. You'll need to install Mercurial from YAST.

1. Get the latest code from our Mercurial repository

2. Replace the contents of Web.config with the contents from Web.net35.config

3. Set this to false in Web.config <add key="EnableOpenIDAuthentication" value="true"/>

4. from the command window cd into mojoPortal.Features.UI folder and do sudo chmod +x mdpostbuild.sh (this just marks the script as executable, it will be called from MonoDevelop after building).

5. Rebuild the mojoportal.mono.sln solution in MonoDevelop

Note that the solution is pre-configured to use SQLite and the database is ready to go other than it may need to run upgrade scripts from /Setup/Default.aspx. If you want to use pgsql, you need to edit references on mojoPortal.Business, drop the project reference to mojoPortal.Data.SQlite and add a project reference for mojoPortal.Data.pgsql. Same thing with mojoPortal.Features.Business, you drop the reference for mojoPortal.Features.Data.Sqlite and add the reference for mojoPortal.Features.Data.pgsql. After changing the references you will need to rebuild the solution. 

Next setup your db following these instructions for PostgreSQL

Or use these instructions to setup a MySql database, then see this tutorial on changing the data layer reference in MonoDevelop

You should open the file Web/user.config.sample in a text editor and save it as user.config. Enter your db connection string in this file. You can override any settings from <appSettings section of Web.config in user.config

Next open a command shell and cd into the Web folder beneath the folder where you checked out mojoportal from Mercurial.
To launch xsp2 you can just enter the command xsp2 or you can enable debug output in the console using
MONO_OPTIONS="--debug " xsp2 as shown below. Now xsp web server is listening for requests.


So open a browser and navigate to http://localhost:8080/Setup/Default.aspx
Assuming your db is setup it should run any needed database scripts and create the initial site data. After that you can navigate to the home page using the link provided and you should see something like this (ok this picture is outdated it will look different today):


Success!

Now keep in mind there are often bugs in Mono. While mojoPortal can often run ok on Mono, there are often a few things here and there that don't work or cause errors due to bugs in Mono. Each new release they fix some bugs but often there are new ones or old ones that regress (at least that has been my experience with Mono since 2004). I would not personally recommend anyone to rely on Mono for an important production installation of mojoPortal.

Last Updated 2011-04-22 by Joe Audette

Rate this Content 0 Votes