mojoPortal Install Notes

Quick, Generic Installation Directions that ship with mojoPortal:

  1. Create your db and db user
  2. Open user.config.sample in a text editor and save as user.config
  3. Set the correct connection string in user.config
  4. Copy the contents of the  wwwroot folder to the root of your web site.Make sure the /Data folder is completely writable by the web process, set permissions on this folder if needed to make it wriable.
  5. Visit yoursiteroot/Setup/Default.aspx to complete the installation, it will run all the needed db scripts and other configuration steps.

Note that it’s now possible to set up mojoPortal via Installer.  For more information: http://www.mojoportal.com/installation.aspx or http://www.mojoportal.com/download.aspx.

 

Manual Installation for Deployment at CSU:

  1. Download/extract mssql release of latest mojo version from http://www.mojoportal.com/download.aspx
  2. Get ACNS to make db for chosen cwis account (eg, “mojocwis123”)
  3. Copy the contents of the “web” or “wwwroot” folder from mojo download over to chosen cwis destination (eg, WWWROOT)
  4. Configure SQL db connection string in user.config and web.config and save:
    1. <add key="MSSQLConnectionString" value="server=sqlprod.colostate.edu;UID=cwisxxx;PWD=xxx;database=CWISxxxMojoPortal" />
  5. Be sure to add “wsnet.colostate.edu” or your given server name to SMTP settings in web.config, and to disable dotnetopenmail when installing on the wsnet server, and change cookie name:
    1. <add key="SMTPServer" value="wsnet.colostate.edu" />
    2. <network host="wsnet.colostate.edu" port="25" password="" userName="" />
    3. <add key="DisableDotNetOpenMail" value="true" />
    4. <authentication mode="Forms">
      <forms
      name=".mojoYOURSITE"
      protection="All"
      timeout="50000000"
      path="/"
      />
  6. Visit http://code.google.com/apis/maps/signup.html to acquire a Google Maps API Key and enter enter your key:
  7. colostate.edu - <add key="GoogleMapsAPIKey" value="ABQIAAAAq5oqjWvkLHDeNjRKghK3UxRrww16dbqehmjnxY88ZQbsosRt7RSkj2MYYPMAh_7vQH56cIEyhMC6zg" />wsnet.colostate.edu – ABQIAAAAq5oqjWvkLHDeNjRKghK3UxS-bhV5KZ7_GsyfCICrRe57LckZOxRddSIXR81gKcjZRPATPdL7xCBGgQ
  8. Consider enabling content versioning if using a version of mojo above 2.3.01:<add key="EnforceContentVersioningGlobally" value="true" />
  9. Ensure that the “Data” folder within mojo’s root has full control access on the “cwisXXX” user
  10. Navigate to installation folder (eg, http://wsnet.colostate.edu/cwisxxx/setup/)
  11. If moving your installation from another server, be sure to only copy of the contents of your WWWROOTmojoDataSites1 folder over to the new installation, especially your chosen skin

 

Security Configuration:

  1. Set “Setup” to false in web.config
  2. Login as Admin (u: admin@admin.com, p: admin), go to Member list page and click gear icon next to admin user. Change the admin user ID to a name that is also an AD user (your eName). Make sure you know the password!
  3. Go to Site Settings, then Security, and uncheck “Use Email for Login” and Save. Logout and then login again using the new user name. Click the key icon to get to admin menu and choose Site Settings
  4. Click the security tab then the LDAP tab and enter the following info: ldap
  5. Be sure there are admin accounts for both you and the end user.
  6. Seriously consider altering your login page to disable the browser’s autoSave password feature, as well as to have it display eName instead of User Name:
  7. Login.js (remember to add an onload event to your body tag: onload=”reworkLogin()”
  8. Enable Anti-Spam security settings. I use Recaptcha Captcha, as it’s accessible (http://recaptcha.net/).
  9. Add new user(s) who will be able to edit content. Test user functionality

Appearance:

  • If not using artisteer, pick skin closest to your chosen layout and customize Master page/styles. Be sure to change the folder name so as to not overwrite your layout when doing upgrades.  Preview the default skins that ship with mojo, or take a look at our custom CSU skins (must be logged in to see this page) for ideas for your site’s look.

  • Change site title from Mojo to site name
  • Consider using the HTML5 doctype
  • Definitely should add any custom JS to combined script, after first minimizing (eg, with an online tool such as http://www.lotterypost.com/js-compress.aspx
  • Set up the StyleSheetCombiner’s JQueryUIThemeName property (often use south-street)
  • Have client sign off on completed layout, if not done already
  • In CSS, make sure you either hide this title (stylelayout.css – h1.siteheading – display:none;) or restyle it accordingly.
  • Replace/remove favicon in chosen skin folder (eg, Data/Skins/1/Skins/Techmania/, etc.)
  • If using extensionless urls (see http://www.mojoportal.com/extensionless-urls.aspx), you may need <modules runAllManagedModulesForAllRequests=”true”> in your web.config file
  • Add custom styles to FCK editor, ensuring that fonts appear correctly (h1, h2, h3, etc.). This can be found under ClientScript/mojofckstyles.xml

<Style name="Heading 1" element="h1" />
<Style name="Heading 2" element="h2" />
<Style name="Heading 3" element="h3" />
<Style name="Heading 4" element="h4" />
<Style name="Heading 5" element="h5" />

  • Add custom icons stylesheets (http://pooliestudios.com/projects/iconize/)
  • Consider adding extra styles to styleprinter.css (so that extra logos don’t display when printing):
    • #csulogo {display:none;}
    • #dsalogo {display:none;}
    • #sitesearch {display:none;}

 

Optional:

  • Go to http://www.google.com/coop/manage/cse/ and add search feature to site in question. As an alternative, convert <portal:SearchInput id=”SearchInput1″ LinkOnly=”False”>, ensuring that Link Only is false, so as to use mojo’s built-in search functionality
  • It’s sometimes helpful when doing CSS updates to see how headers and other elements look on a given page, so feel free to add code like this:

<h1>Header 1</h1>
<h2>Header 2</h2>
<h3>Header 3</h3>
<h4>Header 4</h4>
<h5>Header 5</h5>
<p>Body text here.</p>
<ul><li>List Item 1</li><li>List Item 2</li></ul>
<ol><li>List Item 1</li><li>List Item 2</li></ol>
<p><a href="http://www.google.com">Here's a link</a></p>
<table border="1">
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
</thead>
<tfoot>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</tbody>
</table>
<form name="formExample1" action="formaction.php" method="post" id="formExample1"> Name:<br><input type="text" name="name" value=""><br> Rating:<br> <input type="radio" name="rating" value="1"> 1 <input type="radio" name="rating" value="2"> 2 <input type="radio" name="rating" value="3"> 3<br> Comment:<br><textarea name="comment"></textarea><br><br> <input type="submit" value="Submit Comment"></form>

  • Remove unused skins from installation

 

Content/Other Configuration:

  • Be sure to add Google Analytics to the site before moving to production. You may also want to consider tagging outbound links – http://www.google.com/support/analytics/bin/answer.py?hl=en-nz&answer=55527
  • Create custom error page and add a httpError handler to system.webServer in the web.config:
    <system.webServer>
    <httpErrors errorMode="Custom">
    <clear/>
    <error statusCode="404" path="/myerrorpage.htm" responseMode="ExecuteURL"/>
    </httpErrors>
    </system.webServer>
    You may want to set the “Preferred GMT Offset Web.config Setting” so that your server time syncs correctly with mojo (helpful if you’re using publish content on this date feature a lot)
  • Definitely consider adding the following code to your SearchResults.aspx page:
  • Not what you're looking for?  Try <a href="http://search.colostate.edu/">searching the entire CSU system</a>...
  • Or, using Javascript, you can capture the textbox’s value to make it that much easier:

//Get value from textbox for CSU Search on SearchResults.aspx page
var strSearch = document.getElementById('ctl00_mainContent_txtSearchInput').value;
if (strSearch) {
var strDuration = document.getElementById('ctl00_mainContent_lblMessage');
if (strDuration) {
strDuration.innerHTML = "<br />Not what you're looking for? Try <a href='http://search.colostate.edu/search-csu.aspx?cx=001074770120494240330%3Annxeddf6qe0&sa=Search&cof=FORID%3A11&q=" + strSearch + "'>searching the entire CSU system</a>...<br />";
strDuration.style.visibility = 'visible';
strDuration.style.display = 'block'; } }

 

Optional:

  • Create sample page for client with as many content pages as possible, including a forum, blog, newsletter, etc, to demo mojo’s functionality
  • Configure e-mail component in web.config
  • Set up web.config to alert administrator of any broken links encountered (http://www.xefteri.com/articles/show.cfm?id=11)

 

Just Before Site Release:

  • Check conformance to 508 and Validation standards
  • Run stored procedure/SQL against db to replace all instances of http://wsdev.colostate.edu/CWISxxx/ . This removes any references to wsdev links inserted when doing development on the test server. You will have convert the Body field type to nvarchar(max) to run the following, then convert it back to ntext again when done

UPDATE mp_HtmlContent SET Body = REPLACE(Body, 'http://wsdev.colostate.edu/cwisxxx/', '')

You will also need to do the following to fix broken images and documents:

UPDATE mp_HtmlContent SET Body = REPLACE(Body, 'src="/CWISxxx/Data/Sites/1/images/', 'src="/Data/Sites/1/images/'

  • Make sure you set up Google Analytics under API Keys!
  • Reset all your stylesheets to use the stylesheetcombiner
  • If migrating from a non-Mojo site (eg, something built in classic ASP), consider re-mapping all old URLs (eg, www.yoursite.com/test.asp to www.yoursite.com/test.aspx)

 

FCK Editor Filebrowser

FCK Editor’s file browser reads all contents of the site folder (i.e., /Data/Sites/1). As a web site administrator you may not what end-users to have access to certain folders (i.e., systemfiles). With some simple JavaScript you can remove these folders from the filebrowser.

First, open common.js found in the ClientScriptfckeditor264editorfilemanagerbrowserdefaultjs folder and add the following function to the file. Add the desired folder names to omit the folders array. Save and close the file.

/**
* showFolder()
* loops through an array of folders to omit in filebrowser
* simple compares the folderName with the array element and set boolean result to false if matching.
****/
function showFolder(folderName) {
// Default boolean
var b = true;

// Add folders to omit to array, i.e. Array(“systemfiles”, “skins”…)
var folders = new Array(“systemfiles”, “skins”, “Pages”, “avatars”, “banners”, “flash”, “logos”, “SharedFiles”);
for (var i in folders) {
if (folders[i] == folderName) {
b = false;
}
}
return b;
}Next, open frmresourceslist.html found in ClientScriptfckeditor264editorfilemanagerbrowserdefault. Change the following line:oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;
to:

if (showFolder(sFolderName) == true) {
oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ) ;
}
Save and close the file which finished.

Finally open frmfolders.html in ClientScriptfckeditor264editorfilemanagerbrowserdefault and change the following line:

oListManager.AddItem(sFolderName, sCurrentFolderPath + sFolderName + '/');
to:

if (showFolder(sFolderName) == true) {
oListManager.AddItem(sFolderName, sCurrentFolderPath + sFolderName + '/');
}

 

Form Wizard Pro – Installation

To install, copy all the contents from the wwwroot folder into the root folder of your mojoPortal web site.

Its good to touch the Web.config file to recycle the application (just download it and upload it again).

Then visit yoursiteroot/Setup/Default.aspx to complete the installation.

 

Event Calendar Pro – Installation

To install, copy all the contents from the wwwroot folder into the root folder of your mojoPortal web site.

Its good to touch the Web.config file to recycle the application (just download it and upload it again).

Then visit yoursiteroot/Setup/Default.aspx to complete the installation.

If you lock yourself out:

  • Open mp_Sites in SQL Management Studio
  • Set Use LDAP auth to False
  • Use Email for Login to True
  • Set PasswordFormat to 0
  • Open mp_Users
  • Make sure you set/know the info in the fields LoginName, Email, and Password
  • Login anew

 

 

Artisteer Notes

When using Artisteer, you may have to remove the resize function in order for things to work properly in IE7.  Other possible edits for IE7:

 

May need to remove
.art-layout-cell
{
   position:relative;
   float: left;
   clear: right;
}
from style.ie7.css, and possibly add
ul.art-hmenu ul{
   background-color: transparent !important;
}