Developer Training Links

Are you a developer who is in charge of a mojoPortal-powered site?  Take a look at these resources:

MojoPortal Forums – A Great Resource to Find Answers/Ask Others About MojoPortal Topics

Developer Documentation Landing Page

Training Videos

Browse The Source Code

Creating Skins

Site Administration



My Nuggets of Wisdom

I think those things that are most important to understand as a new mojo site manager / low-level developer (in which you are not making substantial customizations to the core mojo code) are the following:

  • Skin files

Your skin files are located at \wsnetcwis231wwwrootmojoDataSites1skins. Such things as how the menu renders are controllable from your layout.master file. Besides perhaps the CSS files, this is far and away the most commonly-edited page within your site.

If you see properties with your layout.master page that don’t make sense, please see  It’s also advisable to take a peek at the layout.master page properties of other skin files within the mojoPortal download to see how others have tried to do what you may be trying to do.

  • Safely editing site/pages

How to safely edit page content on a live site - mojo-sandbox
How to safely edit a skin file on a live site - mojo-sandbox

  • Commonly edited files within mojoPortal

From past experiencing managing quite a large number of mojo sites, typically the only files I touch with any frequency are:

  • \wsnetcwisXXXwwwrootmojoDataSites1skinsyour-skinlayout.master (the master page for your site).  This is probably the most important single page that you will need to edit when adjusting your site's skin/appearance.
  • \wsnetcwisXXXwwwrootmojoDataSites1skinsyour-skinstyle.config (controls which CSS files get loaded – this can become important when upgrading mojoPortal and they introduce new features that require the inclusion of new CSS files). Check periodically to see what new features are added on a version-by-version basis.
  • \wsnetcwisXXXwwwrootmojouser.config . The user.config file contains the custom keys that make your site go.  You could also store all these keys within web.config, but you would then need to paste back in those keys every time you upgrade, so I strongly advise using this file.  The base user.config file that I employ for all sites at CSU can be found at userconfig.aspx . It is important that you understand the purpose of each and every one of the keys in that file, since those keys vastly impact the functioning of your site.
  • \wsnetcwisXXXwwwrootmojoweb.config . The web.config file only needs to be "touched" in order to effect the settings that you made within user.config.  Specifically, if you make a change to a setting within user.config, you are going to need to open/edit (eg, type a character within the file and then remove it) your web.config file and hit save to restart the mojo application.

Obviously if you know anything about mojoPortal you quickly realize that pages within mojoPortal are simply repositories for modules that house some type of functionality/content, all of which is stored within your MS SQL database.  Ie, there are no hard-coded files that correspond to your site’s pages, as the default.aspx page handles all page requests.  Therefore, you cannot edit a page via Windows Explorer (obviously a major point of using a CMS in the first place is to not have to create a physical file every time you want to create a new page )

  • Errors

You are not going to tinker with a mojoPortal site for very long without experiencing some type of error.  mojoPortal traps them all, and these errors can be viewed via 2 methods:

  1. Under Administration --> System Log (once you are logged in as an admin).  Of course, if your entire site bombed, you won't be able to see the error using this method
  2. Via Windows Explorer:  \wsnetcwisXXXwwwrootmojoDatacurrentlog.config . Typically if you just caused the error, you can scroll to the bottom of the .config file to view the details of the exception.  When I have no clue what the error means, 9x out of 10 I can figure it out by simply googling it (eg, " your error").  In the unusual event the error isn't on the mojoPortal site / forums, I next simply Google the error without searching the mojoPortal site.  Then I might also try searching for the exception at  Finally, if all fails, post a new topic on the mojoPortal forums and/or at and more than likely someone will be able to help you out.  If you don't want to wait for that help to come, perhaps the best thing you can do is to contact ACNS and have them do a restore from the previous night's backup.  See backing-up-content.aspx for more information.
  3. If you want to take precautions to prevent your clients from seeing page errors, I highly recommend taking the steps outlined at know-when-your-site-goes-down-before-your-clients-do
  • Upgrading MojoPortal

First, see  

Although I'm biased because I created it , I highly recommend utilizing a powershell script to upgrade mojoPortal for you (especially if you have a handful of sites to upgrade), as this will save you some manual labor/time.  The script can be found at automatically-upgrading-mojoportal-using-powershell.aspx