 <?xml-stylesheet type="text/css" href="http://www.josephmdavis.com/Data/style/rss1.css" ?> <?xml-stylesheet type="text/xsl" href="http://www.josephmdavis.com/Data/style/rss1.xsl" ?>
<rss version="2.0">
  <channel>
    <title>On My Mind...</title>
    <link>http://josephmdavis.com/home.aspx</link>
    <description>On My Mind...</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>mojoPortal Feed Manager module</generator>
    <item>
      <title>Optimize your mojoPortal Skin Scripts</title>
      <description><![CDATA[<p>
	Almost every single skin we develop uses a couple javascripts but even the addition of one script can slow the speed of a website. We use a fairly simple process to combine as many of our scripts into one file and then using a neat mojoPortal control, we add that script the combined site script. The combined site script contains most of the scripts mojoPortal uses for things like site cookies, asp.net css friendly adapters, etc. This process will result in fewer files being delivered to the browser, thus improving performance (somewhat).</p>
<h3>
	Create the Skin Script and call it from the layout.master</h3>
<p>
	&nbsp;</p>
<ol style="font-family: Arial, sans-serif; line-height: 22px; text-align: left; background-color: rgb(255, 255, 255); ">
	<li>
		Create a new js file in your skin directory, I usually name it skinscript.js.</li>
	<li>
		Add your javascript to the new file. Don't use &lt;script&gt; tags, you don't need them in javascript files.</li>
	<li>
		Add&nbsp;&lt;portal:SkinFolderScript ID="sfs1" runat="server" ScriptFileName="skinscript.js" AddToCombinedScript="true" /&gt; to your layout.master. I usually add this right after the &lt;asp:ScriptManager control.</li>
</ol>
<h3>
	Copy all the scripts from your layout.master to the Skin Script</h3>
<p>
	This is the part that can be a little bit tricky because not all scripts are going to work properly when combined with other scripts. If you copy the scripts to your new file one at a time and test the result, you'll find those pesky ones that will not cooperate. Just leave them in the layout.master, or if you're feeling froggy, rewrite them so they can be combined.</p>
<h4>
	A note about SuperFish</h4>
<p>
	Most of our skins use a superfish menu but the scripts for the superfish menu come in two parts. One is the static script that is in the ClientScript&nbsp;directory which contains all of the superfish&nbsp;magic. The other is an initialization script that is loaded in the layout.master of the skin. Typically, these are loaded by adding the layout.master a &lt;portal:SiteScript control to load the main superfish script and then a &lt;script&gt; element with a bit of jQuery to initialize the superfish menu. We decided to use the jQuery .getScript method to load the main script from our Skin Script. Using this method allows us to initialize the SuperFish menu only if the main script is loaded properly.</p>
<h3>
	A Sample Skin Script</h3>
<p>
	The script below is what we use for starting our skin scripts. It includes the javascript for the Administration Toolbar Menu, Superfish Menu and a neat bit of jQuery that will give the "Add File" button in the Shared Files module a hover state. The script is written out long-form so you can easily see what it does. I suggest that you minify the script before using it in production.</p>
<pre>
<code>// &nbsp;==========&nbsp;
// &nbsp;= This file stores all of the scripts that would normally be placed inside the layout.master
// &nbsp;= Use the following syntax for referencing this script from the layout.master.
// &nbsp;= &lt;portal:SkinFolderScript ID="sfs1" runat="server" ScriptFileName="skinscript.js" AddToCombinedScript="true" /&gt;
// &nbsp;==========
&nbsp;
/*Standard JavaScript */
&nbsp;
function HideMenuToolbar(){ $("#toolbar").fadeOut(); $("#toolbarbut").fadeIn("slow");}
function ShowMenuToolbar(){ $("#toolbar").fadeIn(); $("#toolbarbut").fadeOut("slow");}
&nbsp;
&nbsp;
/* jQuery Scripts */
$(document).ready(function(){&nbsp;
&nbsp;
/* Admin Toolbar */
	$("span.downarr a").click(function() {HideMenuToolbar(); Set_Cookie('openstate', 'closed')});
	$("span.showbar a").click(function() {ShowMenuToolbar(); Set_Cookie('openstate', 'open') });
	$("span.downarr a, span.showbar a").click(function() { return false; });
	var openState = Get_Cookie('openstate');
	if(openState != null){ if(openState == 'closed'){HideMenuToolbar();} if(openState == 'open'){ShowMenuToolbar();}}
&nbsp;
/* Superfish Menu */
/* Get Superfish mojoPortal Script */
	$.getScript("/ClientScript/jqmojo/mojosuperfish.js", function(){
	&nbsp; &nbsp; $("ul.sf-menu").supersubs({ minWidth: 1, maxWidth: 27, extraWidth: .2 }).superfish({
		pathClass: 'current',&nbsp;
		pathLevels: 0,&nbsp;
		delay:500,
		animation: {opacity:'show', height:'show'},&nbsp;
		speed: 200,
		dropShadows:false,
		autoArrows: true
	&nbsp; &nbsp; });
	});
/* This will make the Shared Files "Add File" button have a hover state */
	$("div.uploadpanel &gt; div &gt; input + div + div").hover(
		function() {
			$("div.uploadpanel div .jqbutton").addClass("ui-state-hover")
		},
		function() {
			$("div.uploadpanel div .jqbutton").removeClass("ui-state-hover")
	});
});
</code></pre>
<h3>
	Further Reading</h3>
<p>
	If you're serious about optimizing the speed of your mojoPortal site, I highly suggest you read the "<a href="http://www.mojoportal.com/improving-your-yslow-or-page-speed-score">Improving Your YSlow or Page Speed Score</a>" article in the mojoPortal Documentation.</p>
<p>
	Happy mojo-ing!</p>
<br /><a href='http://i7media.net/optimize-your-mojoportal-skin-scripts'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/optimize-your-mojoportal-skin-scripts'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Optimize+your+mojoPortal+Skin+Scripts+http%3a%2f%2fi7media.net%2foptimize-your-mojoportal-skin-scripts'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2foptimize-your-mojoportal-skin-scripts&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/optimize-your-mojoportal-skin-scripts</link>
      <author>Joe Davis</author>
      <pubDate>Tue, 31 Jan 2012 16:37:00 GMT</pubDate>
    </item>
    <item>
      <title>Form Wizard Pro Templates</title>
      <description><![CDATA[<p>
	<span class="attention-red">Update 1/10/2012</span>: Updated the download with a US State list question. All 50 states plus the District of Columbia are included.</p>
<p>
	Form Wizard Pro (FWP) is a great tool for creating ad-hoc style forms on the fly in mojoPortal. One feature that makes FWP so great is the ability to import and export Form Definitions and individual Questions.</p>
<h3>
	Exporting a Question</h3>
<p>
	<img alt="" class="floatleftimage" src="data:image/png;base64,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" />Exporting a Question is very simple, just click the "Export Question" link next to the question in the "Edit Form" screen. The file will be named like "FWP-Instance-NameYYYYMMDDHHMMSS-q.config." This includes the name of the FWP instance, the exact date and time you clicked the export link, and a "-q" to let you know this file is a Question, not an entire form. You can of course change the name of the file without causing any problems for importing the question later.</p>
<h3>
	Exporting a Form</h3>
<p>
	<img alt="" class="floatleftimage" src="data:image/png;base64,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" />Exporting an entire Form is also very simple, just click the "Export Form Definition" button at the bottom of the "Edit Form" screen. The file will be named like "FWP-Instance-NameYYYMMDDHHMMSS.config." This includes the name of the FWP instance and the exact date and time you clicked the export button. Again, changing the name doesn't harm anything.</p>
<p>
	&nbsp;</p>
<h3>
	Importing a Question or Form</h3>
<p>
	<img alt="" class="floatleftimage" src="data:image/png;base64,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" />Importing a Question is very straightforward. Simply click the "Browse" button and select a Question definition file from your computer and then click the "Import Question" button. You'll see the question added to the "Edit Form" screen.</p>
<p>
	You can import a Form Definition the same way you import a Question, except that you will want to select a Form definition file and click the "Import Form Definition" button. One very important thing to keep in mind is that importing a Form will erase all of the questions you already have on your form. Any data that has been submitted to the form will still be intact but the questions corresponding to the data will be gone so the data will be "orphaned" so you may not know what all of the responses mean.</p>
<h3>
	Some Form Definitions For You</h3>
<p>
	<a alt="download sample form definitions" class="download-button-mojo" href="https://i7media.net/SharedFiles/Download.aspx?pageid=6&amp;mid=9&amp;fileid=91" title="Download Some Sample Form Definitions">&nbsp;</a></p>
<p>
	Happy mojo-ing!</p>
<br /><a href='http://i7media.net/form-wizard-pro-templates'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/form-wizard-pro-templates'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Form+Wizard+Pro+Templates+http%3a%2f%2fi7media.net%2fform-wizard-pro-templates'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fform-wizard-pro-templates&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/form-wizard-pro-templates</link>
      <author>Joe Davis</author>
      <pubDate>Tue, 10 Jan 2012 14:46:00 GMT</pubDate>
    </item>
    <item>
      <title>Stand Against SOPA</title>
      <description><![CDATA[<p>
	I don't usually write publicly about my political leanings but I feel that this topic needs as much attention as it can get. The "Stop Online Piracy Act (H.R. 3261)" or SOPA is a bill making it's way through congress which is supposed to help mitigate piracy of copyrighted material on the internet. While the overall concept is good, I take issue with the collateral damage SOPA will cause. If passed, SOPA will "reverse the protections of the Digital Millennium Copyright Act of 1998 ("DMCA") by creating liability for Internet Service Providers (ISPs) to affirmatively block customer access to the web and specific websites claimed, but not adjudicated, to be pirating content."<sup>1</sup></p>
<p>
	My attention was initially drawn to SOPA when I read an article on <a href="http://www.alistapart.com">A List Apart</a> by <a href="http://www.alistapart.com/authors/z/zeldman">Jeffrey Zeldman</a> titled "<a href="http://www.alistapart.com/articles/say-no-to-sopa/">Say No to SOPA</a>."<sup>2</sup> Jeffrey lays out his opposition to SOPA in plain english and his article prompted me to do more research on the topic. I found that in addition to the list of organizations Jeffrey mentioned as being opposed to SOPA, the <a href="http://www.aclj.org">American Center for Law and Justice (ACLJ)</a> is opposed to it as well. The ACLJ has prepared a <a href="http://c0391070.cdn2.cloudfiles.rackspacecloud.com/pdf/first-amendment-concerns-posed-sopa.pdf">legal analysis</a> on SOPA which outlines the first amendment concerns with the legislation.</p>
<p>
	I highly suggest reading Jeffrey's article and the ACLJ's legal analysis. I've borrowed the following list of actions you can take to make your voice heard regarding the SOPA legislation from Jeffrey's article.</p>
<blockquote>
	<h2>
		Act now!</h2>
	<p>
		<a href="http://americancensorship.org/">American Censorship Day</a>, one of several campaigns to stop SOPA, has come and gone, but you can still take action:</p>
	<ul>
		<li>
			Americans, <a href="http://www.tumblr.com/protect-the-net">Tumblr has created a system</a> that will call you with talking points, and then connect you to your representative.</li>
		<li>
			You can <a href="http://www.house.gov/representatives/">contact your representatives</a> and <a href="http://www.senate.gov/general/contact_information/senators_cfm.cfm">your senators</a>.</li>
		<li>
			Those outside the US can <a href="https://wwws.whitehouse.gov/petitions/%21/petition/stop-e-parasite-act/SWBYXX55">sign this petition</a>. Registration is required. A US zip code is not.</li>
	</ul>
	<p>
		We urge everyone reading this to take action today. Only an overwhelming show of solidarity gives us a chance of defeating this poorly written, dangerous bill.</p>
</blockquote>
<p>
	&nbsp;</p>
<p>
	Citations:</p>
<ol>
	<li>
		"First Amendment Concerns Posed by <a href="http://c0391070.cdn2.cloudfiles.rackspacecloud.com/pdf/first-amendment-concerns-posed-sopa.pdf">http://c0391070.cdn2.cloudfiles.rackspacecloud.com/pdf/first-amendment-concerns-posed-sopa.pdf</a>SOPA" - American Center for Law and Justice, November 28, 2011 (http://c0391070.cdn2.cloudfiles.rackspacecloud.com/pdf/first-amendment-concerns-posed-sopa.pdf)</li>
	<li>
		"Say No to SOPA" - A List Apart, Jeffrey Zelman, November 29, 2011 (<a href="http://www.alistapart.com/articles/say-no-to-sopa">http://www.alistapart.com/articles/say-no-to-sopa</a>)</li>
</ol>
<br /><a href='http://i7media.net/stand-against-sopa'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/stand-against-sopa'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Stand+Against+SOPA+http%3a%2f%2fi7media.net%2fstand-against-sopa'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fstand-against-sopa&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/stand-against-sopa</link>
      <author>Joe Davis</author>
      <pubDate>Fri, 02 Dec 2011 14:33:00 GMT</pubDate>
    </item>
    <item>
      <title>Using the LoginView in mojoPortal</title>
      <description><![CDATA[<div class="modulecontent" id="ctl01_mainContent_ctl00_pnlInnerBody">
	<div class="slidecontainer" id="ctl01_mainContent_ctl00_divContent">
		<p>
			Often times clients will want to display certain text for logged in users vs anonymous users. While this is possible using the settings on individual content modules, it is sometimes necessary to add this functionality to elements in the layout.master.</p>
		<p>
			For introductory information on the LoginView control, please review the <a href="http://msdn.microsoft.com/en-us/library/ms178338.aspx">MSDN Documentation</a> for it.</p>
		<p>
			An example scenario is: The client wants to display a Login control on every page and when the user is logged in, some links should be present in place of the login control. A title should be present above the control with the text "Please Sign In: " for Anonymous Users and the text "Welcome Back" for Authenticated Users.</p>
		<p>
			For this scenario, the solution would be to place a LoginView&nbsp;control in the layout.master&nbsp;with the mp:Login control and "Returning Visitors ..." title inside the AnonymousTemplate. The links and the "Welcome Back" title will be placed in the "LoggedInTemplate". You may recognize that the Portal:WelcomeMessage control uses the OverrideFormat property as discussed in our <a href="http://i7media.net/customizing-mojoportals-welcome-message-for-logged-in-users">Customizing mojoPortal's Welcome Message for Logged In Users</a> article.</p>
		<pre>
<code class="xml"><span class="tag">&lt;<span class="title">asp:LoginView</span><span class="attribute"> id=<span class="value">"lv1"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span>&gt;</span>
	<span class="tag">&lt;<span class="title">AnonymousTemplate</span>&gt;</span>
		<span class="tag">&lt;<span class="title">h2</span><span class="attribute"> class=<span class="value">"moduletitle"</span></span>&gt;Please Sign In:</span><span class="tag">&lt;/<span class="title">h2</span>&gt;</span>
		<span class="tag">&lt;<span class="title">mp:Login</span><span class="attribute"> ID=<span class="value">"login1"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span><span class="attribute"> SetRedirectUrl=<span class="value">"false"</span></span> /&gt;</span>
	<span class="tag">&lt;/<span class="title">AnonymousTemplate</span>&gt;</span>
	<span class="tag">&lt;<span class="title">LoggedInTemplate</span>&gt;</span>
		<span class="tag">&lt;<span class="title">h2</span><span class="attribute"> class=<span class="value">"moduletitle"</span></span>&gt;</span>
			<span class="tag">&lt;<span class="title">portal:WelcomeMessage</span><span class="attribute"> id=<span class="value">"WelcomeMessage1"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span> 
			<span class="attribute">	RenderAsListItem=<span class="value">"false"</span></span> 
			<span class="attribute">	OverrideFormat=<span class="value">"Welcome Back {0}"</span></span> 
			<span class="attribute">	CssClass=<span class="value">" "</span></span>
			/&gt;</span>
		<span class="tag">&lt;/<span class="title">h2</span>&gt;</span>
		<span class="tag">&lt;<span class="title">ul</span>&gt;</span>
			<span class="tag">&lt;<span class="title">li</span>&gt;</span><span class="tag">&lt;<span class="title">asp:HyperLink</span><span class="attribute"> id=<span class="value">"lnk1"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span><span class="attribute"> NavigateUrl=<span class="value">"~/members-only-articles.aspx"</span></span><span class="attribute"> Text=<span class="value">"Articles"</span></span>/&gt;</span><span class="tag">&lt;/<span class="title">li</span>&gt;</span>
			<span class="tag">&lt;<span class="title">li</span>&gt;</span><span class="tag">&lt;<span class="title">asp:HyperLink</span><span class="attribute"> id=<span class="value">"lnk2"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span><span class="attribute"> NavigateUrl=<span class="value">"~/members-only-downloads.aspx"</span></span><span class="attribute"> Text=<span class="value">"Downloads"</span></span>/&gt;</span><span class="tag">&lt;/<span class="title">li</span>&gt;</span>
			<span class="tag">&lt;<span class="title">li</span>&gt;</span><span class="tag">&lt;<span class="title">asp:HyperLink</span><span class="attribute"> id=<span class="value">"lnk3"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span><span class="attribute"> NavigateUrl=<span class="value">"~/members-only-forums.aspx"</span></span><span class="attribute"> Text=<span class="value">"Forums"</span></span>/&gt;</span><span class="tag">&lt;/<span class="title">li</span>&gt;</span>
			<span class="tag">&lt;<span class="title">portal:LogoutLink</span><span class="attribute"> id=<span class="value">"LogoutLink1"</span></span><span class="attribute"> runat=<span class="value">"server"</span></span><span class="attribute"> RenderAsListItem=<span class="value">"true"</span></span><span class="attribute"> ListItemCSS=<span class="value">" "</span></span><span class="attribute"> CssClass=<span class="value">" "</span></span>/&gt;</span>
		<span class="tag">&lt;/<span class="title">ul</span>&gt;</span>
	<span class="tag">&lt;/<span class="title">LoggedInTemplate</span>&gt;</span>
<span class="tag">&lt;/<span class="title">asp:LoginView</span>&gt;</span></code></pre>
	</div>
</div>
<p>
	The result can be something like this:</p>
<p>
	<strong>Anonymous</strong></p>
<p>
	<img alt="Anonymous LoginView" src="http://i7media.net/Data/Sites/1/blogdata/loginview-anonymous.png" style="border-width: 2px; border-style: solid; width: 415px; height: 339px;" /></p>
<p>
	&nbsp;</p>
<p>
	<strong>Authenticated</strong></p>
<p>
	<img alt="Authenticated LoginView" src="http://i7media.net/Data/Sites/1/blogdata/loginview-authenticated.png" style="border-width: 2px; border-style: solid; width: 415px; height: 339px;" /></p>
<p>
	&nbsp;</p>
<p>
	Happy mojo-ing!</p>
<p>
	&nbsp;</p>
<br /><a href='http://i7media.net/using-the-loginview-in-mojoportal'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/using-the-loginview-in-mojoportal'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Using+the+LoginView+in+mojoPortal+http%3a%2f%2fi7media.net%2fusing-the-loginview-in-mojoportal'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fusing-the-loginview-in-mojoportal&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/using-the-loginview-in-mojoportal</link>
      <author>Joe Davis</author>
      <pubDate>Mon, 08 Aug 2011 21:57:00 GMT</pubDate>
    </item>
    <item>
      <title>Customizing mojoPortal's Welcome Message for Logged In Users</title>
      <description><![CDATA[<p>
	Have you ever wanted to change the <a href="http://www.mojoportal.com">mojoPortal</a>&nbsp;WelcomeMessage text to display something besides "Signed In As: Joe Davis"?</p>
<p>
	?Well, if you have mojoPortal 2.3.6.1 or higher, it is quite easy. You can&nbsp;override it in your skin's layout.master&nbsp;file by setting a property on <strong>&lt;portal:WelcomeMessage</strong> like this:</p>
<p>
	<strong>OverrideFormat="My name is {0}"</strong>, or if you only want the user name then you could put<strong>&nbsp;OverrideFormat="{0}"</strong></p>
<p>
	The <strong>{0}</strong> is replaced by the user's display name.</p>
<p>
	I prefer<strong>&nbsp;OverrideFormat="Welcome Back, {0}"</strong> which displays "Welcome Back, Joe Davis" very nicely.</p>
<p>
	Hope this helps you out. If it did, please spread the word through Twitter or Facebook!</p>
<p>
	Happy mojo-ing,<br />
	Joe Davis</p>
<p>
	&nbsp;</p>
<br /><a href='http://i7media.net/customizing-mojoportals-welcome-message-for-logged-in-users'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/customizing-mojoportals-welcome-message-for-logged-in-users'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Customizing+mojoPortal%27s+Welcome+Message+for+Logged+In+Users+http%3a%2f%2fi7media.net%2fcustomizing-mojoportals-welcome-message-for-logged-in-users'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fcustomizing-mojoportals-welcome-message-for-logged-in-users&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/customizing-mojoportals-welcome-message-for-logged-in-users</link>
      <author>Joe Davis</author>
      <pubDate>Sat, 06 Aug 2011 17:13:00 GMT</pubDate>
    </item>
    <item>
      <title>New Tutorial Videos!</title>
      <description><![CDATA[<p>
	I am extremely excited to announce today that i7MEDIA now has an extensive list of tutorial videos for the WebsitePanel Control Panel used by all of our Windows Hosting customers. The videos are in flash and narrated. Check them out!</p>
<ol>
<li><a title="How to add a domain in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-add-domain.html">How to add a domain in WebsitePanel</a></li>
<li><a title="How to add Scheduled Tasks in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-add-task.html">How to add Scheduled Tasks in WebsitePanel</a></li>
<li><a title="How to use the Application Installer in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-applicationsinstaller.html">How to use the Application Installer in WebsitePanel</a></li>
<li><a title="How to backup and restore your user account in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-backup-account.html">How to backup and restore your user account in WebsitePanel</a></li>
<li><a title="How to create users for a database in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-createdatabase-users.html">How to create users for a database in WebsitePanel</a></li>
<li><a title="How to create a mail account in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-create-mail.html">How to create a mail account in WebsitePanel</a></li>
<li><a title="How to create a MySQL database in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-create-MySQL.html">How to create a MySQL database in WebsitePanel</a></li>
<li><a title="How to create a peer account in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-create-peer.html">How to create a peer account in WebsitePanel</a></li>
<li><a title="How to create a MS SQL server database in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-create-SQL.html">How to create a MS SQL server database in WebsitePanel</a></li>
<li><a title="How to create Web Sites in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-create-websites.html">How to create Web Sites in WebsitePanel</a></li>
<li><a title="How to edit your account details in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-edit-account.html">How to edit your account details in WebsitePanel</a></li>
<li><a title="How to setup email forwarding in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-emailforwarding.html">How to setup email forwarding in WebsitePanel</a></li>
<li><a title="How to create custom error pages in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-errorpages.html">How to create custom error pages in WebsitePanel</a></li>
<li><a title="How to use File Manager in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-filemanager.html">How to use File Manager in WebsitePanel</a></li>
<li><a title="How to install FrontPage extensions in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-frontpage-extensions.html">How to install FrontPage extensions in WebsitePanel</a></li>
<li><a title="How to create a FTP account in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-FTP.html">How to create a FTP account in WebsitePanel</a></li>
<li><a title="How to login to WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-login.html">How to login to WebsitePanel</a></li>
<li><a title="How to create an ODBC DSN (Data Source Name) in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-ODBCDSN.html">How to create an ODBC DSN (Data Source Name) in WebsitePanel</a></li>
<li><a title="How to view your quotas in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-quotas.html">How to view your quotas in WebsitePanel</a></li>
<li><a title="How to view Reports in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-reports.html">How to view Reports in WebsitePanel</a></li>
<li><a title="How to add a shared SSL folder in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-SSL.html">How to add a shared SSL folder in WebsitePanel</a></li>
<li><a title="How to create a sub-domain in WebsitePanel" onclick="return GB_showCenter(this.title, this.href, 535, 800)" href="http://i7media.net/clients/tutorials/websitepanel-voice/wsp-subdomain.html">How to create a sub-domain in WebsitePanel</a></li>
</ol>
<p>
	The permanent links for these videos are stored in the Knowledge Base here: <a href="http://i7media.net/kb-websitepanel-videos">http://i7media.net/kb-websitepanel-videos</a>.</p>
<p>
	Thanks,<br />
	Joe D.</p>
<br /><a href='http://i7media.net/new-tutorial-videos'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/new-tutorial-videos'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=New+Tutorial+Videos!+http%3a%2f%2fi7media.net%2fnew-tutorial-videos'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fnew-tutorial-videos&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/new-tutorial-videos</link>
      <author>Joe Davis</author>
      <pubDate>Mon, 27 Dec 2010 21:49:00 GMT</pubDate>
    </item>
    <item>
      <title>Separating sections from the mojoPortal web.config file</title>
      <description><![CDATA[<p>
	Many people host more than one <a href="http://www.mojoportal.com">mojoPortal</a> site and upgrading all of their sites can become very complex and cumbersome. This article will shed some light on the ability to separate some of the web.config configuration settings into individual files.</p>
<p>
	<strong>Note: This is an advanced topic and use of the items discussed here are not beneficial for most mojoPortal installations. If you have several sites that you update on a regular basis, this document will be very beneficial.</strong></p>
<h3>
	configSource - The Key to Happiness</h3>
<p>
	Okay, so a configuration option isn't really the key to happiness but this one will make your life easier so you can focus on whatever it is that does make you happy. configSource&nbsp;is an attribute that can be applied to a web.config section to instruct the .NET application to find the actual configuration for the section in another file. Use of configSource&nbsp;in a few sections of the mojoPortal web.config&nbsp;file will make updating multiple sites a lot easier. When upgrading a mojoPortal installation, it is best practice to use the web.config file that comes with release. The main reason for this is because new settings can be in the web.config file and other settings could have been changed since you last upgraded. The problem that arises is that there are two sections of the web.config that changes must be made to because those sections contain site specific settings.</p>
<p>
	The machineKey and the system.net&nbsp;SMTP sections contain site specific settings. If you don't use a custom machineKey for your site, <a href="http://www.mojoportal.com/use-a-custom-machine-key.aspx">please see this page</a>. When you have a lot of mojoPortal&nbsp;installations to upgrade, you have to modify the web.config for each site which can be very time consuming and the process is prone to user error. You may have a script that copies all of the release files to each of mojoPortal&nbsp;installations;&nbsp;the unique settings in each sites' web.config can defeat much of the purpose of your script. The&nbsp;configSource attribute remedies the dilemma altogether. Using this technique, you can set all of your sites to use external files for these sections, and then when you update the sites, you only need to modify the web.config once and all of your sites unique settings will be retained.</p>
<p>
	One could use the configSource attribute on other sections of the web.config&nbsp;but we will only focus on the machineKey and system.net SMTP sections.&nbsp;</p>
<h3>
	machineKey configSource</h3>
<p>
	To use configSource on the machineKey, copy the entire machineKey&nbsp;section to a new file. Name the new file machineKey.config (you can name it whatever you like but you should absolutely use the .config&nbsp;section to keep people from downloading the file). Next change the machineKey&nbsp;section in the web.config to only have the configSource attribute specifying the machineKey.config&nbsp;file. The result should be:</p>
<h4>
	web.config File</h4>
<p>
	<code><em>...other web.config sections...</em><br />
	&lt;machineKey configSource=&quot;machineKey.config&quot; /&gt;<br />
	<em>...other web.config sections...</em> </code></p>
<h4>
	machineKey.config File</h4>
<p>
	Please note: you should not use the machineKey below. You should generate your own as described <a href="http://www.mojoportal.com/use-a-custom-machine-key.aspx">here</a>.</p>
<p>
	<code>&lt;?xml version=&quot;1.0&quot;?&gt;<br />
	&lt;machineKey<br />
	validationKey=&quot;55BA53B475CCAE0992D6BF9FE463A5E97F00C6C16DA3D7DF9202E560078AB501643C15514785FEE30FEF26FC27F5CE594B42FFCA55452EF90E8A056B4DAE9F39&quot;<br />
	decryptionKey=&quot;939232D527AC4CD3E449441FE887DA110A16C1A36924C424CBAAE3F00282436C&quot;<br />
	validation=&quot;SHA1&quot;<br />
	decryption=&quot;AES&quot; /&gt;</code></p>
<h3>
	system.net smtp configSource</h3>
<p>
	To use configSource on the smtp section, copy the entire smtp section to a new file. Name the new file smtp.config (you can name it whatever you like but you should absolutely use the <span>.config</span>&nbsp;section to keep people from downloading the file). Next change the smtp section in the <span>web.config</span> to only have the <span>configSource</span> attribute specifying the smtp<span>.config</span>&nbsp;file. The result should be:</p>
<h4>
	web.config File</h4>
<p>
	<code><em>...other Web.config sections...</em><br />
	&lt;system.net&gt;<br />
	&nbsp; &lt;mailSettings&gt;<br />
	&nbsp;&nbsp;&nbsp; &lt;smtp configSource=&quot;smtp.config&quot;&gt;&lt;/smtp&gt;<br />
	&nbsp; &lt;/mailSettings&gt;<br />
	&lt;/system.net&gt;<br />
	<em>...other web.config sections...</em> </code></p>
<h4>
	smtp.config File</h4>
<p>
	<code>&lt;?xml version=&quot;1.0&quot;?&gt;<br />
	&lt;smtp from=&quot;noreply@yourdomain.com&quot;&gt;<br />
	&nbsp; &lt;network host=&quot;localhost&quot; port=&quot;25&quot; password=&quot;&quot; userName=&quot;noreply@yourdomain.com&quot; /&gt;<br />
	&lt;/smtp&gt;</code></p>
<hr />
<h3>
	<a href="http://i7media.net/mojoportal-upgrade-service">Managed mojoPortal Upgrade Services</a></h3>
<p>
	<a href="http://i7media.net/mojoportal-upgrade-service"><img alt="i7MEDIA: Elegant mojoPortal Solutions" src="http://i7media.net/Data/logos/web_logo.png" style="border-width: 0px; border-style: solid; margin: 5px; float: left; width: 200px; height: 60px;" /></a>i7MEDIA, LLC offers Upgrade Services for mojoPortal. Trusted by the mojoPortal community and owned by mojoPortal Community Manager, Joe Davis, you can rest assured your site will be taken care of by i7MEDIA.</p>
<p>
	&nbsp;</p>
<p>
	Happy mojo-ing!</p>
<p>
	-Joe Davis</p>
<br /><a href='http://i7media.net/separating-sections-from-the-mojoportal-webconfig-file'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/separating-sections-from-the-mojoportal-webconfig-file'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Separating+sections+from+the+mojoPortal+web.config+file+http%3a%2f%2fi7media.net%2fseparating-sections-from-the-mojoportal-webconfig-file'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fseparating-sections-from-the-mojoportal-webconfig-file&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/separating-sections-from-the-mojoportal-webconfig-file</link>
      <author>Joe Davis</author>
      <pubDate>Wed, 24 Nov 2010 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>mojoPortal Logs: Hidden in Plain Sight</title>
      <description><![CDATA[<p>
	In my daily support of <a href="http://www.mojoportal.com">mojoPortal</a> on the <a href="http://www.mojoportal.com/forums.aspx">mojoPortal&nbsp;Forums</a>, I see a lot of people asking for help with the standard mojoPortal&nbsp;error message that is displayed to users.</p>
<p>
	&nbsp;</p>
<blockquote>
	<p style="font-size: large; ">
		We're sorry but a server error has occurred while trying to process your request.</p>
	<p style="font-size: large; ">
		The error has been logged and will be reviewed by our staff as soon as possible. It is possible that the error was just a momentary hiccup and you may wish to use the back button and try again or go back to the&nbsp;home page.</p>
</blockquote>
<p style="font-size: large; ">
	<span class="Apple-style-span" style="font-size: 14px; ">This error message is intentionally vague to prevent those who would do your site harm from gaining important information about your site.&nbsp;</span></p>
<p>
	Many first-time adopters of mojoPortal&nbsp;and even some that have been around a while, don't realize that when this error message is displayed, the actual error is written to a log file within the mojoPortal installation. One can easily read the log by browsing to the Administration Menu and selecting the &quot;System Log&quot; option. If the error is not allowing access to that page, the log file can be found in the \Data directory, named currentLog.config.&nbsp;This log contains all of the warning and critical <span class="Apple-style-span" style="white-space: nowrap;">errors mojoPortal encounters. Keep in mind that the .config extension prevents the log from being downloaded by would-be attackers.</span></p>
<p>
	So, if you encounter the extremely generic message above, check out the \Data\currentLog.config file for the real error. Also, if you are working with your site skin's layout.master&nbsp;file and things go awry where everything is miss-placed or even a weird skin is shown instead of your own, check out the System Log... chances are you will find a hint as to the cause of the problem.</p>
<p>
	Need more information on the logs and troubleshooting? Check out the &quot;<a href="http://www.mojoportal.com/basic-troubleshooting.aspx">Basic Troubleshooting</a>&quot; guide on the mojoPortal site.</p>
<p>
	Happy mojo-ing!</p>
<p>
	Joe D.<br />
	mojoPortal Community Manager</p>
<br /><a href='http://i7media.net/mojoportal-logs-hidden-in-plain-sight'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/mojoportal-logs-hidden-in-plain-sight'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=mojoPortal+Logs%3a+Hidden+in+Plain+Sight+http%3a%2f%2fi7media.net%2fmojoportal-logs-hidden-in-plain-sight'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fmojoportal-logs-hidden-in-plain-sight&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/mojoportal-logs-hidden-in-plain-sight</link>
      <author>Joe Davis</author>
      <pubDate>Mon, 22 Nov 2010 17:30:00 GMT</pubDate>
    </item>
    <item>
      <title>mojoPortal: Skinning the Search Input Box</title>
      <description><![CDATA[<p>Ever wondered how to style the mojoPortal Search Input Box? I wrote a how-to on the subject late last week. I hope it helps! <a title="http://www.mojoportal.com/styling-the-search-input-box.aspx" href="http://www.mojoportal.com/styling-the-search-input-box.aspx">http://www.mojoportal.com/styling-the-search-input-box.aspx</a>.</p> <p>Are there any other topics you would like to see in the documentation? If so, <a href="http://i7media.net/contact">send us an email</a> and we will do our best to take care of it for you.</p><br /><a href='http://i7media.net/mojoportal-skinning-the-search-input-box'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/mojoportal-skinning-the-search-input-box'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=mojoPortal%3a+Skinning+the+Search+Input+Box+http%3a%2f%2fi7media.net%2fmojoportal-skinning-the-search-input-box'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fmojoportal-skinning-the-search-input-box&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/mojoportal-skinning-the-search-input-box</link>
      <author>Joe Davis</author>
      <pubDate>Tue, 24 Aug 2010 00:12:00 GMT</pubDate>
    </item>
    <item>
      <title>Website Panel</title>
      <description><![CDATA[<p>
	We have updated to the latest version of WebsitePanel to provide the best experience possible to our customers. <a href="http://www.websitepanel.net">WebsitePanel</a> is the Open Source successor to <a href="http://www.dotnetpanel.com">DotNetPanel</a> which is no longer in distribution.</p>
<p>
	This upgrade means we can offer our services at lower rates because we no longer have the overhead of Control Panel Licensing. In the near future, we will be offering services for Virtual Server Hosting, SharePoint and SmarterMail. All of these will be managed through the WebsitePanel software, allowing customers easy and familiar access to all of their services.</p>
<p>
	Good things are approaching i7MEDIA. Stay in touch to benefit!</p>
<br /><a href='http://i7media.net/website-panel'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/website-panel'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Website+Panel+http%3a%2f%2fi7media.net%2fwebsite-panel'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fwebsite-panel&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/website-panel</link>
      <author>Joe Davis</author>
      <pubDate>Fri, 13 Aug 2010 20:36:00 GMT</pubDate>
    </item>
    <item>
      <title>Using GreyBox and LightBox with mojoPortal</title>
      <description><![CDATA[<h3>
	Using GreyBox</h3>
<p>
	mojoPortal comes bundled with <a href="http://orangoo.com/labs/GreyBox/">Greybox</a> which is a great in-site pop-up utility that can be used for displaying images and even other webpages in an in-site pop-up. It is used in the image galleries, help system, skin <span><span>previewer</span></span>, and a lot of other areas of <span><span>mojoPortal</span></span></p>
<p>
	You might be interested to know that you can use GreyBox in your mojoPortal site without utilizing the ImageGallery or other features of mojoPortal that use it. Simply add the rel="gb_image[]" or rel="gb_page[]" property to any link and the the link target will open in a GreyBox pop-up window.</p>
<p>
	For example, clicking the thumbnail below will open the full-size image in a GreyBox window:</p>
<p>
	<code style="font-size: 10px">&lt;a&nbsp;href="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-full.jpg" rel="gb_image[]" title="4th &amp;amp; Broadway, San Diego, CA (C) Joe Davis"&gt;&lt;img alt="" src="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-thumb.jpg" style="width: 133px; height: 100px;" /&gt;&lt;/a&gt;</code></p>
<p>
	<a href="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-full.jpg" rel="gb_image[]" title="4th &amp; Broadway, San Diego, CA (C) Joe Davis"><img alt="4th &amp; Broadway, San Diego, CA (C) Joe Davis" src="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-thumb.jpg" style="width: 133px; height: 100px" /></a></p>
<p>
	The link below will open the mojoPortal website in a fullscreen GreyBox window:</p>
<p>
	<code style="font-size: 10px">&lt;a&nbsp;href="http://www.mojoportal.com" rel="gb_page_fs[]" title="mojoPortal, The World's Greatest .NET CMS"&gt;Open mojoPortal in GreyBox&lt;/a&gt;</code></p>
<p>
	<a href="http://www.mojoportal.com" rel="gb_page_fs[]" title="mojoPortal, The World's Greatest .NET CMS">Open mojoPortal in GreyBox</a></p>
<p>
	There are a lot of other neat things you can do with GreyBox that you may not be aware of so I recommend checking out the <a href="http://orangoo.com/labs/GreyBox/">GreyBox</a> website for more helpful hints.</p>
<p>
	 </p>
<h3>
	Using LightBox with MojoPortal</h3>
<p>
	Some people like other utilities like <a href="http://leandrovieira.com/projects/jquery/lightbox/"><span>LightBox</span></a> (the <span>jQuery</span> version), for example. I will demonstrate to you how to use <span>LightBox</span> alongside <span>GreyBox</span> with mojoPortal.&nbsp;</p>
<h4>
	The Setup</h4>
<ol class="fancy">
	<li>
		<span>The first step to using LightBox is to download the jQuery-LightBox release from <a href="http://leandrovieira.com/projects/jquery/lightbox/">http://leandrovieira.com/projects/jquery/lightbox/</a>. Once you have downloaded the release, extract it to your local hard drive.</span></li>
	<li>
		<span>Using your favorite FTP client (mine is <a href="http://filezilla-project.org/">FileZilla</a>):</span>
		<ol style="list-style-type: lower-alpha">
			<li style="margin-left: 0px">
				<span>Create a new directory under \ClientScript named lightbox and upload jquery.lightbox-0.5.min.js, jquery.lightbox-0.5.css and the images directory included in the zip to this new directory.</span></li>
			<li style="margin-left: 0px">
				<span>Browse to the directory containing your site's skin (\data\sites\[SiteNumber]\skins\NameOfSkin and download the layout.master file.</span></li>
		</ol>
	</li>
	<li>
		<span>Using your favorite HTML editor (mine is <a href="http://notepad-plus-plus.org/">Notepad++</a>):</span>
		<ol style="list-style-type: lower-alpha">
			<li style="margin-left: 0px">
				<span>Add the following lines to the layout.master directly after the &lt;asp:ScriptManager control</span><br />
				<span><code style="font-size: 10px">&lt;link href="http://i7media.net/ClientScript/lightbox/jquery.lightbox-0.5.css" type="text/css" rel="stylesheet" /&gt;<br />
				&lt;script type="text/javascript" src="http://i7media.net/ClientScript/lightbox/jquery.lightbox-0.5.pack.js"&gt;&lt;/script&gt;<br />
				&lt;script type="text/javascript"&gt;<br />
				$(document).ready(function(){<br />
				&nbsp;$('a.lightbox').lightBox({<br />
				&nbsp;&nbsp;&nbsp;&nbsp;imageLoading: '/ClientScript/lightbox/images/lightbox-ico-loading.gif',<br />
				&nbsp;&nbsp;&nbsp;&nbsp;imageBtnClose: '/ClientScript/lightbox/images/lightbox-btn-close.gif',<br />
				&nbsp;&nbsp;&nbsp;&nbsp;imageBtnPrev: '/ClientScript/lightbox/images/lightbox-btn-prev.gif',<br />
				&nbsp;&nbsp;&nbsp;&nbsp;imageBtnNext: '/ClientScript/lightbox/images/lightbox-btn-next.gif'<br />
				&nbsp; });<br />
				});<br />
				&lt;/script&gt;</code></span></li>
		</ol>
	</li>
	<li>
		<span>Back in your FTP client, upload the modified layout.master </span><span>file.</span></li>
</ol>
<h4>
	Using LightBox</h4>
<p>
	<span>Now to use LightBox, all you need to do is add <em>lightbox</em> as a class on any link that you want to open in a LightBox pop-up. For Example:</span></p>
<p>
	<code class="lightbox" style="font-size: 10px">&lt;a href="images/image-1.jpg" class="<span>lightbox</span>" title="my caption"&gt;&lt;img src="images/image-1-thumb.jpg"&gt;&lt;/a&gt;</code></p>
<p>
	You can see more examples on the <a href="http://leandrovieira.com/projects/jquery/lightbox/">LightBox</a> website.</p>
<h4>
	See It In Action</h4>
<p>
	<a class="lightbox" href="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-full.jpg" rel="lightbox" title="4th &amp; Broadway, San Diego, CA (C) Joe Davis"><img alt="" src="http://i7media.net/Data/Sites/1/blogdata/lightbox-dsc06798-thumb.jpg" style="width: 133px; height: 100px" /></a></p>
<h4>
	Some Friendly Words of Caution</h4>
<p>
	Including additional javascript files in your site will make it run slower. The difference in speed may be negligible when adding just one script but don't get carried away.</p>
<p>
	Also, you may have noticed that I put the CSS and Images in the ClientScript\lightbox directory. I did this because I couldn't get the LightBox to work properly with those items in the \Data\Style directory like they should be. Also, I couldn't get the script to work with the CSS being loaded from the CSSHandler so I had to put a reference to the CSS file in the layout.master. This should not be done without thoroughly testing your site and making every attempt to put the CSS file where it belongs, in the CSSHandler's style.config.</p>
<h4>
	Conclusion</h4>
<p>
	In the end, I prefer GreyBox primarily because it is already built-in to mojoPortal and it does more than LightBox. If you find that you want to use something along with GreyBox, you can adapt this post to whatever tool you decide to use. It should help get you on your way.</p>
<p>
	Happy mojo-ing!</p>
<br /><a href='http://i7media.net/using-greybox-and-lightbox-with-mojoportal'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/using-greybox-and-lightbox-with-mojoportal'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Using+GreyBox+and+LightBox+with+mojoPortal+http%3a%2f%2fi7media.net%2fusing-greybox-and-lightbox-with-mojoportal'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fusing-greybox-and-lightbox-with-mojoportal&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/using-greybox-and-lightbox-with-mojoportal</link>
      <author>Joe Davis</author>
      <pubDate>Wed, 28 Jul 2010 20:41:00 GMT</pubDate>
    </item>
    <item>
      <title>mojoPortal Online User Group: A Great Value Add</title>
      <description><![CDATA[<p>
	The mojoPortal Online User Group, started by David Dean of <a href="http://www.yamisee.com/official-mojoportal-online-user-group.aspx">Yamisee</a>, has been going strong for a few months now. A couple different people have led the monthly meetings, each bringing valuable information to those who attend. I believe this group is a great Value Add for the community as the meetings are open to the public and the type of information discussed ranges between installation, skinning and programming. Joe Audette, mojoPortal Founder and Chief Developer, attends the meetings regularly and is even leading the August meeting.</p>
<p>
	Over the past couple of months, the topics and leaders of the meetings have been:</p>
<ul>
	<li>
		April 2010: SEO Tools and Tips, David Dean of <a href="http://www.yamisee.com/">Yamisee</a></li>
	<li>
		May 2010: Creating Custom Page Titles, Joe Davis of i7MEDIA</li>
	<li>
		June 2010: Log4Net, Steve Land of <a href="http://www.strongeye.com/">StrongEye Solutions</a></li>
	<li>
		August 2010: ZedGraph, Joe Audette</li>
</ul>
<p>
	If you are interested in mojoPortal, I highly suggest you subscribe to the Forum thread on the user community <a href="http://www.mojoportal.com/Forums/Thread.aspx?pageid=5&amp;mid=34&amp;ItemID=9&amp;thread=5923">here</a>.</p>
<p>
	Personally, I want to thank David Dean for his hard work and dedication to the mojoPortal community.</p>
<br /><a href='http://i7media.net/mojoportal-online-user-group-a-great-value-add'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/mojoportal-online-user-group-a-great-value-add'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=mojoPortal+Online+User+Group%3a+A+Great+Value+Add+http%3a%2f%2fi7media.net%2fmojoportal-online-user-group-a-great-value-add'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fmojoportal-online-user-group-a-great-value-add&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/mojoportal-online-user-group-a-great-value-add</link>
      <author>Joe Davis</author>
      <pubDate>Tue, 13 Jul 2010 16:47:36 GMT</pubDate>
    </item>
    <item>
      <title>Lifetime Licensing on mojoPortal Pro Products</title>
      <description><![CDATA[<p>
	I noticed recently that Joe Audette has changed the licensing on the &quot;Pro&quot; products offered on the mojoPortal website to be lifetime licenses. Previously, the licenses allowed updates for 1 year but Joe never really enforced that.</p>
<p>
	This is really nice for the community as we don't have to worry about renewing our licenses and purchasing upgrades. Pay for it once and forget it. Sounds pretty darn good to me.</p>
<br /><a href='http://i7media.net/lifetime-licensing-on-mojoportal-pro-products'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/lifetime-licensing-on-mojoportal-pro-products'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Lifetime+Licensing+on+mojoPortal+Pro+Products+http%3a%2f%2fi7media.net%2flifetime-licensing-on-mojoportal-pro-products'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2flifetime-licensing-on-mojoportal-pro-products&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/lifetime-licensing-on-mojoportal-pro-products</link>
      <author>Joe Davis</author>
      <pubDate>Fri, 09 Jul 2010 21:24:00 GMT</pubDate>
    </item>
    <item>
      <title>mojoPortal Page Titles</title>
      <description><![CDATA[<p>
	<span class="txterror">Update: Joe Audette has decided to implement this in the next version of mojoPortal, due in a couple of weeks. He is updating the &lt;portal:PageTitle control with this functionality.</span></p>
<p>
	I have from time to time needed to show a page's title within the content as a heading. The controls that come with mojoPortal don't really allow for this but I have come up with a handy little control that will show the Page Title on the page and allow you to choose how the text is rendered.</p>
<p>
	To get started, create two files; PageTitle.ascx and PageTitle.ascx.cs. Place both of these files in the &lt;siteroot&gt;\Controls\Custom directory (Note: You will have to create the "custom" directory). The code for the files is as follows:</p>
<h5>
	PageTitle.ascx&nbsp;</h5>
<p>
	<code>&lt;%@ Control Language="C#" AutoEventWireup="true" CodeFile="PageTitle.ascx.cs" ClassName="PageTitle.ascx" Inherits="Controls_PageTitle" %&gt;<br />
	&lt;asp:literal ID="litPageTitle" runat="server" /&gt;</code></p>
<p>
	PageTitle.ascx.cs</p>
<p>
	<code>using System;<br />
	using System.Collections.Generic;<br />
	using System.Web;<br />
	using System.Web.UI;<br />
	using System.Web.UI.WebControls;<br />
	using mojoPortal.Web;<br />
	using mojoPortal.Web.UI;<br />
	using mojoPortal.Web.Framework;<br />
	using mojoPortal.Business;<br />
	using mojoPortal.Business.WebHelpers;<br />
	<br />
	public partial class Controls_PageTitle : System.Web.UI.UserControl<br />
	{<br />
	&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)<br />
	&nbsp;&nbsp;&nbsp; {<br />
	&nbsp;&nbsp;PopulateControls();<br />
	&nbsp;}<br />
	&nbsp;private void PopulateControls()<br />
	&nbsp;{<br />
	&nbsp;&nbsp;PageSettings currentPage = CacheHelper.GetCurrentPage();<br />
	&nbsp;&nbsp;if(currentPage == null){ return; }<br />
	&nbsp;&nbsp;if(currentPage.PageTitle == "")<br />
	&nbsp;&nbsp;&nbsp;litPageTitle.Text = currentPage.PageName;&nbsp;&nbsp;<br />
	&nbsp;&nbsp;&nbsp;else<br />
	&nbsp;&nbsp;&nbsp;&nbsp;litPageTitle.Text = currentPage.PageTitle;<br />
	&nbsp;}<br />
	}</code></p>
<p>
	To use the control, place the following in your layout.master directly after &lt;%@ Master...&nbsp;</p>
<p>
	<code>&lt;%@ Register Src="~/Controls/custom/PageTitle.ascx" TagName="PageTitle" TagPrefix="cc1" %&gt;</code></p>
<p>
	Now place the following where you want the Page Title to appear in the layout.master.</p>
<p>
	<code>&lt;cc1:PageTitle id="PageTitle1" runat="server" /&gt;</code></p>
<p>
	<strike>Come back soon to see a full description of how this all works.</strike><br />
	&nbsp;I have decided not to describe the full functionality of this control as it is fairly self-explanatory and because Joe Audette has implemented this functionality into mojoPortal. You can use the &lt;portal:PageTitle control after the next release.</p>
<p>
	Happy mojo-ing.</p>
<br /><a href='http://i7media.net/mojoportal-page-titles'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/mojoportal-page-titles'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=mojoPortal+Page+Titles+http%3a%2f%2fi7media.net%2fmojoportal-page-titles'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fmojoportal-page-titles&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/mojoportal-page-titles</link>
      <author>Joe Davis</author>
      <pubDate>Tue, 18 May 2010 23:12:17 GMT</pubDate>
    </item>
    <item>
      <title>Skinning the mojoPortal Admin Toolbar</title>
      <description><![CDATA[<p>
	When Joe Audette released mojoPortal 2.3.3.4 he wrote an article called &quot;<a href="http://www.mojoportal.com/creating-an-admin-toolbar.aspx">Creating An Admin Toolbar</a>&quot; in the <a href="http://www.mojoportal.com/creatingskins.aspx">mojoPortal Skinning Documentation</a>. The toolbar uses jQuery to easily show and hide itself and is skinned entirely by using CSS.&nbsp;</p>
<p>
	If you follow Joe&#39;s directions or you are using a skin that came with 2.3.3.4 with the toolbar enabled, you will have a toolbar that looks like this:</p>
<p>
	<img alt="Admin Toolbar" src="http://www.mojoportal.com/Data/Sites/1/media/mojoadmintoolbar.gif" style="width: 640px; height: 36px" /></p>
<p>
	While this serves a perfectly good function, there are a few things about it I don&#39;t like. It is gray and there are no icons depicting the links. I happen to like icons and bright colors so, I came up with this:</p>
<p>
	&nbsp;</p>
<p>
	<img alt="admin toolbar" src="http://i7media.net/Data/Sites/1/blogdata/AdminToolbar.JPG" style="width: 640px; height: 31px" /></p>
<p>
	Skinning the toolbar was very easy because it is all controlled by CSS. This article is meant to help you understand how to skin the toolbar but if you like what I&#39;ve done, you can just download it <a href="http://i7media.net/SharedFiles/Download.aspx?pageid=6&amp;fileid=26&amp;mid=9">here</a>.&nbsp;</p>
<h4>
	Create a copy of the jqtoolbar UI resources</h4>
<p>
	The CSS and images for the toolbar are located in the \Data\style\jqtoolbar directory. The CSS is in the style.css file so I created a copy of this file and named it style-7.css.</p>
<h4>
	Set site skin to use new CSS file</h4>
<p>
	For the skin to use the new css file (style-7.css), I had to change the line below in my style.config file located inside of my skin directory (\data\sites\1\skins\myskin). Notice I am referencing style-i7.css and not style.css.</p>
<pre>
<code>&nbsp; &lt;file cssvpath=&quot;/Data/style/jqtoolbar/style-i7.css&quot; imagebasevpath=&quot;/Data/style/jqtoolbar/&quot;&gt;none&lt;/file&gt;</code>
</pre>
<h4>
	Change the background color of the toolbar&nbsp;</h4>
<p>
	To change the color of the toolbar, I simply changed the background-image CSS rule on the div#toolbar and div#toolbarbut selectors to a background-color rule and set the color to #FFFF99.</p>
<h4>
	Add icons to the links</h4>
<p>
	To add the icons, I added an attribute to each of the controls for the links in the layout.master. To keep the markup valid, I used the <em>rel</em> attribute. I set the value of the rel attribute to a descriptor of the link itself (e.g.: rel=&quot;admin&quot; for the admin link). I then used this new attribute to apply a different background image to each link.</p>
<p>
	It is important to note that this approach will not work with IE6 as it doesn&#39;t understand how to select an element based on it&#39;s attributes. The next release of mojo will allow you to use the CssClass attribute on the controls so that you can style them more easily. The value of the CssClass attribute will be added to the classes for the link.</p>
<h5>
	Link Controls in Layout.master file</h5>
<pre>
<code>&lt;portal:AdminMenuLink id=&quot;lnkAdminMenu&quot; runat=&quot;server&quot; rel=&quot;admin&quot;/&gt;
&lt;portal:FileManagerLink id=&quot;lnkFileManager&quot; runat=&quot;server&quot; rel=&quot;filemgr&quot;/&gt;
&lt;portal:NewPageLink id=&quot;lnkNewPage&quot; runat=&quot;server&quot; rel=&quot;addpage&quot; /&gt;
&lt;portal:PageEditFeaturesLink id=&quot;lnkPageContent&quot; runat=&quot;server&quot; rel=&quot;pageedit&quot;/&gt;
&lt;portal:PageEditSettingsLink id=&quot;lnkPageSettings&quot; runat=&quot;server&quot; rel=&quot;pagesettings&quot;/&gt;</code></pre>
<h5>
	CSS for icons</h5>
<pre>
<code class="css">div#toolbar a[rel=admin]{
&nbsp; background: transparent url(&#39;administration.png&#39;) no-repeat scroll left center;
&nbsp; padding-left: 32px;
}

div#toolbar a[rel=addpage]{
&nbsp; background: transparent url(&#39;newpage.png&#39;) no-repeat scroll left center;
&nbsp; padding-left: 32px;}

div#toolbar a[rel=filemgr]{
&nbsp; background: transparent url(&#39;filemgr.png&#39;) no-repeat scroll left center;
&nbsp; padding-left: 32px;
}

div#toolbar a[rel=pageedit]{
&nbsp; background: transparent url(&#39;editpage.png&#39;) no-repeat scroll left center;
&nbsp; padding-left: 32px;
}

div#toolbar a[rel=pagesettings]{
&nbsp; background: transparent url(&#39;pagesettings.png&#39;) no-repeat scroll left center;
&nbsp; padding-left: 32px;
}</code></pre>
<p>
	The icons are from the <a href="http://www.everaldo.com/crystal/">Crystal Project</a> but you can use any you like.</p>
<h4>
	Hiding the menu by default</h4>
<p>
	Personally, I do not want the toolbar to be displayed all the time. I would rather have a link which opens the toolbar when I need it. To accomplish this, I moved the <strong>display:none;</strong> rule from the <em>div#toolbarbut</em> selector to the <em>div#toolbar</em> selector.</p>
<h4>
	Conclusion</h4>
<p>
	I hope this gives you a head-start on skinning the new admin toolbar. Keep in mind that all of this was accomplished easily with CSS.</p>
<p>
	Happy mojo-ing!</p>
<p>
	<a alt="download" class="download-button-mojo" href="http://i7media.net/SharedFiles/Download.aspx?pageid=6&amp;fileid=25&amp;mid=9" title="Download This Admin Toolbar Skin">&nbsp;</a></p>
<br /><a href='http://i7media.net/skinning-the-mojoportal-admin-toolbar'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/skinning-the-mojoportal-admin-toolbar'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Skinning+the+mojoPortal+Admin+Toolbar+http%3a%2f%2fi7media.net%2fskinning-the-mojoportal-admin-toolbar'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fskinning-the-mojoportal-admin-toolbar&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/skinning-the-mojoportal-admin-toolbar</link>
      <author>Joe Davis</author>
      <pubDate>Thu, 21 Jan 2010 19:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Oh, The Things to Come</title>
      <description><![CDATA[<p>I was browsing through the SVN update log for mojoPortal this afternoon and I am very excited about some of the things Joe Audette is working on for the upcoming release.</p>
<p>I started browsing around the demo site (<a href="http://demo.mojoportal.com">http://demo.mojoportal.com</a>) so I could see some of the new changes in action. The list below are just the ones I found interesting, there are a lot more changes coming in the next release.</p>
<ol class="fancy">
    <li><span>A new File Manager has been added and the old one has been re-factored. The new File Manager is very nice and is a big improvement over the old one. It uses Javascript whereas the old one doesn't so Audette decided to keep the old File Manager and allow users to switch back and forth between the old and the new. Usability is very big to mojoPortal and as a matter of fact, mojoPortal can be used entirely without Javascript if one chooses to do so. There is also a new link&#160;with the Administration and Edit Page links&#160;which opens the&#160;File Manager in a graybox. This allows for easy access&#160;to the File Manager at all times.<br />
    <img alt="" width="550" height="424" src="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_filemanager.jpg" /></span></li>
    <li><span>Adding users to Roles via the Role Administration admin page is a lot easier thanks to a new selector dialog. Previously, users not in a role were listed in a single drop-down list which made it very difficult to use when a site had a lot of users.<br />
    <img alt="" width="550" height="122" src="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_addusertorole.jpg" /></span></li>
    <li><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>mojoPortal</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> uses a CSSHandler to combine &amp; minimize CSS files. This process makes caching easier and allows sites to load faster. The url to CSSHandler has been http://somedomain.com/data/sites/[sitenumber]/skins/[skinname]/CSSHandler.ashx. This required the&#160;Data directory or at least the skin directory to be executable which is not ideal.&#160;The CSSHandler URL has been&#160;moved to the&#160;root of applicaiton in the next release. Problem solved.</span></li>
    <li><span>A new SQL Query tool will allow developers to easily see and modify data in the database from the website. This tool must be enabled by a site administrator in the web.config prior to it being available for use. It will allow developers to save queries which can be used to populate date in a custom module for quick and dirty data access.<br />
    <img alt="" width="550" height="438" src="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_querytool.jpg" /></span></li>
    <li><span>The main administration links (admin, add page, edit page, page settings) used to be just that, links. If a site designer like yours truly wanted to display the links in a drawer or some other type of cool UI, custom code would have to be developed to create the links manually. This next version will include support for controls for each link which means it will be possible to declare them directly in the layout.master and they will show/hide automatically according to internal logic. See number 6 for what this really means.</span></li>
    <li><span>The <a href="http://plugins.jquery.com/project/mbextruder">jQuery Extruder</a>&#160;plugin has been included with mojoPortal which allows for an example of using a widget with the admin links.<br />
    <a href="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_admindrawer-closed.jpg"><img alt="" width="224" height="102" src="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_admindrawer-closed.jpg" /></a>&#160;<a href="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_admindrawer-open.jpg"><img alt="" width="225" height="108" src="http://i7media.net/Data/Sites/1/blogdata/upcoming2334_admindrawer-open.jpg" /></a></span></li>
    <li><span>The blog is getting some attention this go 'round. Community feedback suggested a preview draft option, paging, option to display only blog titles in the main blog page, and a few other improvements. All of them, that I noticed anyway, made it into the core! Check out the <a href="http://demo.mojoportal.com">demo</a>, to get a better idea of what has changed with the blog.</span></li>
    <li><span>The Search facility will now provide a link to download items in ShareFiles modules. Previously, just a link to the Shared Files module was provided.</span></li>
</ol>
<p>Rather impressive what Joe Audette can get done in just a few weeks, isn't it?</p>
<p>What improvements or features are you waiting to see implemented? <a href="http://www.mojoportal.com/buy-joe-a-coffee-product.aspx">Why not buy Joe Audette a Coffee to show him your appreciation?</a>&#160;</p><br /><a href='http://i7media.net/oh-the-things-to-come'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/oh-the-things-to-come'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Oh%2c+The+Things+to+Come+http%3a%2f%2fi7media.net%2foh-the-things-to-come'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2foh-the-things-to-come&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/oh-the-things-to-come</link>
      <author>Joe Davis</author>
      <pubDate>Fri, 08 Jan 2010 20:56:00 GMT</pubDate>
    </item>
    <item>
      <title>Adding You Are Here Message to mojoPortal Breadcrumbs</title>
      <description><![CDATA[<p>
	mojoPortal provides a nifty little BreadCrumb control which will show the path to the current page. We have used the control in several of our sites and from time to time, our customer ask us to put the &quot;You Are Here&quot;&nbsp;or some other text in front of the breadcrumbs.</p>
<p>
	<img alt="Screenshot of You Are Here breadcrumbs" src="http://i7media.net/Data/Sites/1/blogdata/youarehere.jpg" style="margin: 5px; width: 365px; height: 74px;" /></p>
<p>
	So that&#39;s simple, right? Well, yes and no.&nbsp;The BreadCrumb control doesn&#39;t&nbsp;have the&nbsp;ability to add&nbsp;a message to the&nbsp;crumbs so we have to add the text in the layout.master of our skin. Okay, that&#39;s simple too but the&nbsp;difficulty comes with making the message invisible when the page settings have breadcrumbs turned off or there aren&#39;t any to display.</p>
<p>
	<img alt="" src="http://i7media.net/Data/Sites/1/blogdata/youarehere_nologic.jpg" style="margin: 5px; width: 345px; height: 73px;" /></p>
<p>
	The solution is to create a User Control with all of the logic needed to display the Breadcrumb Message when needed.</p>
<h3>
	The User Control</h3>
<p>
	For simplicity of this article, we will create our user control in a folder named <em>CustomControls</em> which we placed inside the Controls folder (\Controls).</p>
<h4>
	The YouAreHere.ascx file</h4>
<pre>
<code>&lt;%@ Control Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeFile=&quot;YouAreHere.ascx.cs&quot;
&nbsp;&nbsp; &nbsp;ClassName=&quot;YouAreHere.ascx&quot; Inherits=&quot;Controls_YouAreHere&quot; %&gt;

&lt;asp:literal ID=&quot;lblYouAreHere&quot; Text=&quot;You Are Here:&quot; runat=&quot;server&quot; Visible=&quot;false&quot; /&gt;</code></pre>
<p>
	Not much magic here, just importing the necessary namespaces and creating our Label which will end up being the Message text. Notice the Label has the Text argument assigned and it is set to &quot;You Are Here:&quot;. We will discuss this further later in the article.</p>
<h4>
	The YouAreHere.ascx.cs file (code behind)</h4>
<pre>
<code>using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using mojoPortal.Web;
using mojoPortal.Web.UI;
using mojoPortal.Web.Framework;
using mojoPortal.Business;
using mojoPortal.Business.WebHelpers;


public partial class Controls_YouAreHere : System.Web.UI.UserControl
{
&nbsp;&nbsp;&nbsp; private string sMessage;
&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; public string Message
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get { return sMessage; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set { sMessage = value; }
&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (sMessage != null)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lblYouAreHere.Text = sMessage;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PageSettings currentPage = CacheHelper.GetCurrentPage();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (currentPage == null) { return; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((currentPage.ShowBreadcrumbs)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || (currentPage.ShowChildPageBreadcrumbs)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lblYouAreHere.Visible = true;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp; }
}

</code></pre>
<h4>
	Using the User Control (layout.Master file)</h4>
<pre>
<code>&lt;%@ Register Src=&quot;~/Controls/CustomControls/YouAreHere.ascx&quot; TagName=&quot;YouAreHere&quot; TagPrefix=&quot;i7&quot; %&gt;</code></pre>
<p>
	&nbsp;</p>
<pre>
<code>&lt;i7:YouAreHere id=&quot;YouAreHere1&quot; Message=&quot;How You Got Here:&quot; runat=&quot;server&quot; /&gt;</code></pre>
<p>
	The first line should be placed after the <font size="2">&lt;%<font color="#0000ff"><font color="#0000ff">@</font></font> <font color="#a31515"><font color="#a31515">Register</font></font></font>... line. It registers the User Control on the page.</p>
<p>
	The second line should be placed directly before the <font size="2"><font color="#0000ff">&lt;</font><font color="#a31515"><font color="#a31515">portal</font></font><font color="#0000ff"><font color="#0000ff">:</font></font><font color="#a31515"><font color="#a31515">Breadcrumbs</font></font></font>... line. This is the&nbsp;User Control Tag which will show the Message. Optionally, you can set a custom message using the <em>Message</em> argument.</p>
<p>
	<img alt="" src="http://i7media.net/Data/Sites/1/blogdata/youarehere_custommessage.jpg" style="margin: 5px; width: 375px; height: 72px;" /></p>
<p>
	<a alt="download" class="download-button-mojo" href="http://i7media.net/SharedFiles/Download.aspx?pageid=6&amp;fileid=26&amp;mid=9" title="Download the You Are Here control">&nbsp;</a></p>
<p>
	Note: i7MEDIA assumes no liability or responsibility for the use of this code. We do however want to help you if you need it so don&#39;t hesitate to <a href="http://i7media.net/contact">ask us</a>.</p>
<p>
	Happy mojo-ing!</p>
<br /><a href='http://i7media.net/adding-you-are-here-message-to-mojoportal-breadcrumbs'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/adding-you-are-here-message-to-mojoportal-breadcrumbs'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=Adding+You+Are+Here+Message+to+mojoPortal+Breadcrumbs+http%3a%2f%2fi7media.net%2fadding-you-are-here-message-to-mojoportal-breadcrumbs'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fadding-you-are-here-message-to-mojoportal-breadcrumbs&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/adding-you-are-here-message-to-mojoportal-breadcrumbs</link>
      <author>Joe Davis</author>
      <pubDate>Wed, 30 Dec 2009 20:20:00 GMT</pubDate>
    </item>
    <item>
      <title>mojoPortal content features inside UI Widget</title>
      <description><![CDATA[<p>
	With the release of mojoPortal 2.3.0.4 came the addition of Content Templates for FCKeditor and the examples included with mojoPortal for using the Content Templates were widgets like jQuery Accordian and Tabs. I like the Accordian and Tab widgets quite a bit because they allow me to easily include a very professional looking UI elements with very little work. Examples of the jQuery Accordian and Tabs are below:</p>
<p>
	&nbsp;<a href="http://josephmdavis.com/image.axd?picture=jquery-accordion-clip.png"><img alt="jquery-accordion-clip" height="234" src="http://i7media.net/Data/Sites/1/blogdata/jquery-accordion-clip.png" style="border: 0px none ; display: inline;" title="jquery-accordion-clip" width="292" /></a>&nbsp;<img alt="screenshot of jquery tabs" height="127" src="http://i7media.net/Data/Sites/1/blogdata/jquery-tabs-clip.png" width="255" /></p>
<p>
	The first idea I had for using the widgets was to include a couple different contact forms on one page, each with its own tab. So I set out creating the 3 different Contact Form instances that I needed. I was doing this for my church so I had one for the Pastor, Christian Ed. Director and the Secretary. I then created an HTML Content instance on the Contact Us page and added the Tabs UI widget to the HTML content. Now this is when I ran into a problem; there isn&#39;t any way to reference a mojoPortal module from within another module, so I had no way to put the Contact Form instances inside the UI widget.</p>
<p>
	I looked throught the documentation on the mojoPortal site but couldn&#39;t find anything that I thought would lead me in the right direction so I posted a question in the forum asking for help. Joe Audette, mojoPortal&#39;s founder and chief developer, responded with a very elegant solution. All I needed to do was create a my own module that included the Tab widget with the Contact Form instances wrapped up inside. Being the great guy he is, Joe provided me with the necessary code to make this work. The process is very simple:</p>
<ol>
	<li>
		Create a text file named whateveryoulike.ascx</li>
	<li>
		Paste this code into the text file:
		<pre>
		<code>&lt;%@ Control Language=&quot;C#&quot; ClassName=&quot;MultiModuleInTabsModule.ascx&quot; Inherits=&quot;mojoPortal.Web.SiteModuleControl&quot; %&gt;
&lt;%@ register assembly=&quot;AjaxControlToolkit&quot; namespace=&quot;AjaxControlToolkit&quot; tagprefix=&quot;portal&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Business&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Business.WebHelpers&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Web.Framework&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Web.Controls&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Web.Editor&quot; %&gt;
&lt;%@ Import Namespace=&quot;mojoPortal.Net&quot; %&gt;

&lt;script runat=&quot;server&quot;&gt;
&nbsp;&nbsp; &nbsp;protected void Page_Load(object sender, EventArgs e)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;}&nbsp;&nbsp; &nbsp;
&lt;/script&gt;

&lt;div class=&quot;mojo-tabs&quot;&gt;
&nbsp;&nbsp; &nbsp;&lt;ul&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href=&quot;#tab1&quot;&gt;Tab 1&lt;/a&gt;&lt;/li&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href=&quot;#tab2&quot;&gt;Tab 2&lt;/a&gt;&lt;/li&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href=&quot;#tab3&quot;&gt;Tab 3&lt;/a&gt;&lt;/li&gt;
&nbsp;&nbsp; &nbsp;&lt;/ul&gt;
&nbsp;&nbsp; &nbsp;&lt;div id=&quot;tab1&quot;&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Panel ID=&quot;pnlModuleWrapper1&quot; runat=&quot;server&quot;&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;portal:ModuleWrapper ID=&quot;ModuleWrapper1&quot; runat=&quot;server&quot; ConfigureModuleID=&quot;15&quot; /&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:Panel&gt;
&nbsp;&nbsp; &nbsp;&lt;/div&gt;
&nbsp;&nbsp; &nbsp;&lt;div id=&quot;tab2&quot;&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Panel ID=&quot;pnlModuleWrapper2&quot; runat=&quot;server&quot;&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;portal:ModuleWrapper ID=&quot;ModuleWrapper2&quot; runat=&quot;server&quot; ConfigureModuleID=&quot;16&quot; /&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:Panel&gt;
&nbsp;&nbsp; &nbsp;&lt;/div&gt;
&nbsp;&nbsp; &nbsp;&lt;div id=&quot;tab3&quot;&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Panel ID=&quot;pnlModuleWrapper3&quot; runat=&quot;server&quot;&gt;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;portal:ModuleWrapper ID=&quot;ModuleWrapper3&quot; runat=&quot;server&quot; ConfigureModuleID=&quot;17&quot; /&gt;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:Panel&gt;
&nbsp;&nbsp; &nbsp;&lt;/div&gt;
&lt;/div&gt;</code></pre>
	</li>
	<li>
		Find the ModuleID for each Contact Form instance and modify the ModuleWrapper controls in the code above to match the correct ModuleIDs. <em><strong>Note: To find the correct ModuleIDs all you need to do is hover over the Edit or Settings link for the Contact Form instances and then look in your browser&#39;s status bar. The ModuleID will show as mid=SomeNumber.</strong></em></li>
	<li>
		Save the file you created in the first step to the &quot;~\data\sites\[sitenumber]\Modules&quot; directory. (Note: you can save the file to any directory in the mojoPortal application but I think it is best that you save it to a directory under your actual site in the Data directory because this will prevent it from being overwritten or accidentally deleted during upgrades.</li>
	<li>
		Install your newly created module via the Administration &gt; Advanced Tools &gt; Feature Installation/Configuration screen inside of your mojoPortal site.
		<ol>
			<li>
				This is rather straight forward. All you have to do is give your Module a name, and input the correct path in the <em>Control Source</em> field. You may want to create your own GUID to make sure that it is unique.</li>
		</ol>
	</li>
	<li>
		Now you can add your new module to any page you like just as you would add any other module to a page.</li>
</ol>
<p>
	Here&rsquo;s a screenshot of the end result:</p>
<p>
	<img alt="screenshot of content module inside jquery tabs" height="273" src="http://i7media.net/Data/Sites/1/blogdata/contactforminsidetabs.png" width="300" /></p>
<p>
	&nbsp;</p>
<p>
	Happy mojo-ing!</p>
<br /><a href='http://i7media.net/mojoportal-content-features-inside-ui-widget'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/mojoportal-content-features-inside-ui-widget'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=mojoPortal+content+features+inside+UI+Widget+http%3a%2f%2fi7media.net%2fmojoportal-content-features-inside-ui-widget'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fmojoportal-content-features-inside-ui-widget&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/mojoportal-content-features-inside-ui-widget</link>
      <author>Joe Davis</author>
      <pubDate>Mon, 23 Nov 2009 17:28:00 GMT</pubDate>
    </item>
    <item>
      <title>SlideShow Crazy!</title>
      <description><![CDATA[<p>The latest release of mojoPortal (v 2.3.1.7) added functionality to use a SilverLight&nbsp;SlideShow with the mojoPortal image gallery and a new feature for a slide show based on your Flickr account. Both of these features are very cool and I was excited to see them added to&nbsp;the mojoPortal core but when Joe Audette told me of another SlideShow feature he is adding to mojoPortal, I was jumping up and down and now I can't wait for the next release!</p>
<p>Joe is adding the ability to the HTML Feature of mojoPortal to display any element in a Slide Show. All the user has to do is type out their text, separating each "slide" with DIV or P elements and mojoPortal handles the rest! You can mix text with images within your SlideShow!</p>
<p>Here is a short video on it so you can see what I mean:</p>
<p>
<object style="width: 500px; height: 500px;" classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" width="500" height="500" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701">
<param name="url" value="http://i7media.net/Data/Sites/1/00-i7MEDIA/mpslideshow.wmv" />
<param name="src" value="http://i7media.net/Data/Sites/1/00-i7MEDIA/mpslideshow.wmv" /><embed style="width: 500px; height: 500px;" type="application/x-mplayer2" width="500" height="500" src="http://i7media.net/Data/Sites/1/00-i7MEDIA/mpslideshow.wmv" url="http://i7media.net/Data/Sites/1/00-i7MEDIA/mpslideshow.wmv"></embed>
</object>
</p>
<p>Try doing something like this with the built-in functionality of DNN!!! I can tell you now that you can't!!! This is a prime example of why mojoPortal is so far ahead of everyone else in the OpenSource .NET CMS game. One of the most important purposes of a CMS is supposed to be to allow users without a lot of web knowledge the ability to quickly and efficiently update/manage a website. This simple but very elegant feature will help those users keep their website up to date with a Web 2.0 feel.</p>
<p>I can't wait for the next release of mojo!!!!</p><br /><a href='http://i7media.net/slideshow-crazy'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/slideshow-crazy'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=SlideShow+Crazy!+http%3a%2f%2fi7media.net%2fslideshow-crazy'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fslideshow-crazy&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/slideshow-crazy</link>
      <author>Joe Davis</author>
      <pubDate>Mon, 14 Sep 2009 20:34:48 GMT</pubDate>
    </item>
    <item>
      <title>What We Like Best About mojoPortal</title>
      <description><![CDATA[<p>In a recent article, "<a href="http://www.cmswire.com/cms/web-cms/alert-whats-coming-for-open-source-cms-in-september-2009-005403.php" target="_blank">Alert: What's Coming for Open Source CMS in September 2009</a>", on <a href="http://cmswire.com">CMSWire</a> I noticed that they did not mention mojoPortal (<a href="http://www.mojoportal.com">http://www.mojoportal.com</a>).</p>
<p>mojoPortal is my CMS of choice because of its usability, simple management and skinning. I have used many other CMS projects over the years and I have found mojoPortal the best for doing what a CMS is supposed to do which is save time and effort in the management of a website.</p>
<p>Some key feature of mojoPortal that I like are:</p>
<ul>
<li><a href="http://www.mojoportal.com/muliplesites.aspx">Multi-site installation</a> allows you to host multiple sites with one installation of mojoPortal. </li>
<li>Automatic resizing of images upon upload from within the TinyMCE and FCKeditor WYSIWYGs. <a href="http://www.mojoportal.com/mojoportal-2316-released.aspx">This feature is new as of 2.3.1.6</a> and it allows users to upload images for use in content and the image will be resized to a maximum height and width which can be set by the user in the same dialog as the upload. The feature can also be turned off for a single upload or for all uploads (requires an admin). </li>
<li><a href="http://www.mojoportal.com/creating-content-templates.aspx">Content</a> and <a href="http://www.mojoportal.com/creating-content-style-templates.aspx">Content Style Templates</a> are built-in to both TinyMCE and FCKeditor. A site admin can create custom templates and they will be accessible to site authors and publishers. This feature saves my customers a lot of time because they have specific layouts for certain types of articles, all they have to do is select a template and add their content. </li>
<li><a href="http://www.mojoportal.com/forums.aspx">VERY active forums</a> where questions are answered and no body gets flamed for asking a question, even if the answer is in the documentation. </li>
<li><a href="http://www.mojoportal.com/using-the-chat-feature.aspx">Website Chat</a> using Windows Live Messenger enables users to communicate with company staff for support or sales questions. </li>
<li><a href="http://www.mojoportal.com/site-search-overview.aspx">Search features galore</a>! mojoPortal's search functionality is very nice. The site search engine indexes all content on the site, regardless of which feature the content resides. Many other CMSs have separate a search for the forum, blog, site content, etc... The search engine also allows the user search by feature so if a user only wants to search the forum, all they have to do is select forum from a drop down menu. </li>
<li>Core Features are core features. Joe Audette, the founder of mojoPortal, offers a few enhanced modules for sale through his company Source Tree Solutions. What Joe doesn't do is make core enhancements to the core and package them as licensed products. Some CMS projects have started doing this and it is not truly open source. </li>
<li>Skinning in mojoPortal is very simple and can be learned by any web developer in just a matter of a few hours. I have attempted to create skins for DNN, Joomla, and others but I have never achieved the level of success that I have with mojo! </li>
</ul>
<p>This is just a short list of the reasons I use mojoPortal and recommend it over any other open source CMS. I hope sites like CMSWire start to take notice of mojoPortal and give it the press it deserves.</p><br /><a href='http://i7media.net/what-we-like-best-about-mojoportal'>Joe Davis</a>&nbsp;&nbsp;<a href='http://i7media.net/what-we-like-best-about-mojoportal'>...</a><a class='tweetthislink' title='Tweet This' href='http://twitter.com/home?status=What+We+Like+Best+About+mojoPortal+http%3a%2f%2fi7media.net%2fwhat-we-like-best-about-mojoportal'><img src='http://i7media.net/Data/SiteImages/tweetthis3.png' alt='Tweet This' /></a><div class='fblikebutton'><iframe src='http://www.facebook.com/plugins/like.php?href=http%3a%2f%2fi7media.net%2fwhat-we-like-best-about-mojoportal&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;height=35&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden;width:450px; height:35px;'></iframe></div>]]></description>
      <link>http://i7media.net/what-we-like-best-about-mojoportal</link>
      <author>Joe Davis</author>
      <pubDate>Wed, 02 Sep 2009 19:52:00 GMT</pubDate>
    </item>
  </channel>
</rss>
