Posts From February, 2009

mojoPortal 2.2.9.2 Released

I'm happy to announce the release of mojoPortal 2.2.9.2 available now on our download page.

Whats New?

Easy Woopra Integration

I mentioned Woopra in this previous post, its an awesome web analytics and real time traffic monitoring tool. Now its easy to use Woopra with your mojoPortal site. Just sign up for woopra and install their software on your home or office computer. Once they approve your site, you enable the script in mojoPortal from the Site Settings page as shown in this screen shot:

screen shot of woopra setitng in mojoportal

If you are using a custom skin, then you also need to add the woopra control to the layout.master file in your skin, just before the closing </form> tag like this:

<portal:Woopra ID="woopra11" runat="server" />
</form>

All the included skins in mojoPortal already have this. There was a long waiting period when I first signed up for woopra but lately people have been telling me they are getting approved within a few days of signing up for woopra. Its agreat service, I highly recommend it.

WebStore Improvements

We've added the ability to set the quantity when adding items to the cart from the product detail page and we've made it possible to update quantities directly on the cart. So previously if you wanted to buy me more than one beer, you had to add the beers to the cart one at a time, but now its very easy to be generous :-).

Last release we moved reporting out of WebStore and created a common set of reporting tables in the core so that the same reporting system can be used across ecommerce features. Since then we've begun fleshing out more reports, there are a number of new reports this release and even more to come later.

Miscellaneous

Japanese resource files thanks to Suzuki Teku, this brings us p to 18 languages!

A new setting in Page Settings for "Inlcude In Site Map", this was requested recently by a community member, we already had a setting for "Include In Menu" but that setting also excluded the page from the site map, so this new setting allows creating pages that don't appear in the menu but do appear in the site map.

Canonical Urls in the meta data, this is a new thing agreed upon by the big search engines so that if a page is available from more than one url the preferred url can be specified by a meta link with rel=canonical. This helps make sure the urls that is shown in search results is the correct one. In mojoPortal we haven't really had problems with this for content system pages because they generally only have one url, but in the past I would see some dupplicate warnings in google webmaster tools about my forum pages because the same page could be seen with query string paramters in different sequence and google would think they were duplicated pages when it was really the same page with just a variation in the sequence of parameters in the url. So the forums now specify the preferred url with the preferred sequence of parameters. We also add cononical urls to the main content pages but its really probably not much impact there since there hasn't been problems with duplicated pages with different urls.

One customer recently asked about being able to use separate read/write connection strings with MySql so they could use MySql replicatin as a scaling strategy. I don't know much about using this approach, it seems it could be problematic unless the replication is instantaneous. Nevertheless, I did the grunt work of going through all the MySql data classes and making it possible to use different connection strings for read and write operations. Bascially I made all the read methods get the read connection string and all the write methos use the write connection string. If you don't specify a write connection string in Web.config/user.config then it just uses the read connection string, so the logic is like this:

private static String GetReadConnectionString()
{
return ConfigurationManager.AppSettings["MySqlConnectionString"];

}

private static String GetWriteConnectionString()
{
if (ConfigurationManager.AppSettings["MySqlWriteConnectionString"] != null)
{
return ConfigurationManager.AppSettings["MySqlWriteConnectionString"];
}

return ConfigurationManager.AppSettings["MySqlConnectionString"];
}

So, if you want to use a different connection string for write operations just add a connection strng setting with the key MySqlWriteConnectionString. I'd be interested to hear back from anyone who does use this approach with MySql. I don't know if the same scaling strategy is commonly used for MS SQL, Postgre SQL or Firebird, but I could make the same changes for those data layers if people tell me it would be helpful.

Event Calendar Pro 0.0.1.3 Released

Coinciding with this new release of mojoPortal is a new release of Event Calendar Pro. It now uses the new commerce reporting system so ticket sales are reflected in commerce reports and user purchase history is consolidated in the My Account/User Profile page. Note also that previously there was a module setting for currency but this now uses the currency setting from Site Settings. Also fixed a bug on the event detail page where the correct currency was not always displayed. Existing customers can download the new version from their Order History under My Account. Because Event Calendar Pro depends on the new reporting system you must upgrade to mojoPortal 2.2.9.2 before upgrading to the new version of Event Calendar Pro.

Form Wizard Pro 0.0.0.4 Released

This is just a minor bug fix release of Form Wizard Pro. There was a bug in the data export where the submission date for the forms was not correct, all the rows were suing the submit date of the first row. This is now fixed. Existing customers can download the new version from their Order History under My Account.

Upgrade Notes for mojoPortal

If you are upgrading from mojoPortal 2.2.8.6, then you can skip uploading the /ClientScript folder as nothing in that folder has changed. Its a large folder so leaving it out can save a lot of upload time.

 

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

mojoPortal 2.2.8.6 Released

Whats New

French translation of resource files by Thomas Nicolaïdès and Bernard Cortesi. This brings us up to 17 languages that mojoPortal has been translated into!

Updated Danish Translation by Kurt Greve

Upgraded FCKeditor from 2.6.4 beta to 2.6.4 final release.

Upgraded NeatUpload to version 1.3.8

Upgraded to the newest version of NeatHtml, NeatHtml is a tool for protecting against cross site scripting. This release fixed a bug where sometime un-trusted content would be visually clipped in WebKit based browsers like Chrome and Safari. We use it in the forums and in the blog comments.

Moved commerce reporting out of WebStore and into the core. This is a preliminary step so that we can aggregate commerce reporting across features at the site level. This will also eliminate the need for a lot of duplication of effort that would occur if we implemented reports in each commerce enabled feature.  My next 2 add on products will be e-commerce features, Fund Raiser Pro and Web Invoice Pro, so I'm thinking ahead and implementing commerce reporting as a core feature so I only need to implement reporting in one place and each feature will push its own data into the common reporting system. Event Calendar Pro for example is already a commerce enabled feature since it can sell tickets and soon it will have the ability to push its data into the reporting system. I still have a lot more reports to develop, but the point is I only want to develop one set of them.

Implemented a separate skin setting for MyPage. This was requested recently in the forums and it was a good idea since the layout needs of MyPage are not the same as for the main content system.

Implemented a Web.config setting to disable the search index. While mojoPortal works well in Medium Trust, there can be some problems with the search index if you host multiple sites on a single installation under Medium Trust so this provides an option if you can't get it working correctly you can disable it.

Added an anchor to the ModuleTitle control so that if you have a bunch of modules on a page you can easily create links that jump right to a module with #Modulex, where x is the module id. This was also a recent community request.

Fixed a recently introduced bug in the Shared Files module where the upload controls were displayed to users who did not have upload permission.

Added better error handling to the SiteMap to prevent errors if invalid urls are entered manually. Urls are generally auto-suggested but users can override the suggestion and put in something invalid. With great power comes great responsibility, but at least with the better error handling we can keep it from causing major problems with the menu when a user puts in something invalid. We also added a regular expression validator that checks for common mistakes and typos but it doesn't prevent all possible bad urls.

Fixed a bug in the url re-writer that caused a problem in folder based sub sites. In folder based sub sites, you can have an extensionless root url like /folder1/ if you actually create a folder named folder1 and put an empty text file there named Default.aspx, but there was a bug in the url re-writer that prevented this from working. There are components available for IIS to enable extensionless urls but this approach works without any IIS add ons.

A Shout Out To Our Consulting Partners

My own small company Source Tree Solutions, LLC has only limited availability for consulting engagements. I am trying to shift my business to product sales of add on features for mojoPortal so that I can have more freedom to work on the things I think will best advance the project. Consulting will always be a part of my business but I am very selective about projects I will take on myself and prefer to be a consultant to the consultants, so I am fostering a Consulting Partners Program to build a network of reliable consultants I can refer customers to and so that there are other qualified developers I have a relationship with and could pull in as additional resources to meet tight deadlines on larger projects. So far we have 5 companies in the program.

Summit IT Solutions

Summit IT Solutions uses mojoPortal extensively in their work, providing custom feature development, skinning and hosting.

Abertech

Abertech provides custom solutions and feature development based on mojoPortal and also helps maintain the Italian translation files.

Turbo Front Office

Turbo Front Office is a Dutch company that can handle all technical aspects of your mojoPortal site you can focus on the content. They also manage the mojoPortal Dutch Community site.

Samar Software Samar Software provides services for mojoPortal and also maintains the Persian translation files and manages the mojoPortal Persian Language Community Site.

talesis100b

TALESIS is our newest partner in Paris France, and helps maintain the French translation files for mojoPortal.

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

Cool mojoPortal Linux Appliance by Jordi Massaguer Pla

Got a google alert this morning bringing my attention to this blog post by Jordi Massaguer Pla. Jordi is doing a lot of work making cool Linux appliances with Suse Studio and his latest one is a mojoPortal appliance. I've played around a little on Suse Studio myself but have been so busy I haven't finished any appliances yet, so I was glad to see the one Jordi has put together.

screen shot of mojoportal appliance running in VMWare player

Its running mojoPortal 2.2.8.2 using SQLite. You can download it from Jordi's post, boot it up in VMWare player or server and login with user=tux and password = linux

Suse Studio is an amazing tool, it allows you to build a custom linux installation with just the features and applications you want to include and then target your build for a VMWare appliance, installation media or live CD. And you do it all from a web browser.

Thanks a lot to Jordi for putting together this appliance!

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

A New Alternate Demo Site Hosted by OpenSourceCMS.com

If you've been involved in the open source content management world for while, you've probably come accross OpenSourceCMS.com before. For a long time they have hosted demos of all the popular open source PHP CMS and web applications. Its kind of a one stop shopping place where you can test drive a lot of different CMS and web applications without having to install them yourself. I've always wished mojoPortal could be on their list but since they were only doing PHP it wasn't possible. But now they are tackling ASP.NET demos to bring the same convenience for trying ASP.NET web applications without having to install it yourself. Happily, mojoPortal is now on there as well as quite a few other popular ASP.NET content management systems and blogs. I still encourage you to use our demo site but sometimes it can get a little out of whack with lots of people using it so its good having another alternative demo site available.

screen shot from opensourcecms.com

Congratulations to Scott Goodwin and Mark King on the launch of their new ASP.NET demo site, I hope it does as well as their PHP demos have.

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

Woopra - Fantastic Real Time Web Site Tracking and Analytics

A few days ago mojoportal.com finally got accepted into the woopra beta program. If you haven't heard of woopra, you really should check it out. I've only been using it for a few days but I'm already addicted and I think anyone who has a web site that is important to them and particularly anyone with an e-commerce web site will find this tool to be awesome.

I'm using it in addition to google analytics. The big advantage it has over google analytics is the way they make it possible to see clearly how individual visitors are using your site in real time (or close enough to it). You can see a lot of information about each visitor, what country they are in, if they arrived at your site as the result of a search, you can see what they were searching on that led them to your site, you can see the sequence of pages the visitor has looked at. In short its just brilliant!

You add a little javascript to your site just like you do for google analytics, but you also install a desktop application (its a Java application) that gives you a rich user interface with a lot of different views. Its the live data that has me hooked.

woopra screen shot

I've always been addicted to keeping tabs on how many visitors are on my site at any given moment. I used to frequently check my community page, which gives a little chart showing how many people are online and who is logged into the site.

mojo users online screen shot

Woopra takes it to a whole new level for me, now I not only know how many people are on the site but also what they are looking for, have looked at, how they arrived. I have a secondary machine with a separate monitor and I pretty much keep the woopra running all day on that screen while I work. It gives me the feeling as if I were running a brick and mortar store. I can see the people walk in and look around and get a good idea of what they are looking for or interested in. In fact if I wanted to, woopra has a built in web chat feature (see the "start a conversation" links next to each user in the screen shot), so if someone is looking at a product page I could prompt them and ask if they have any questions, very much like a real store where people offer help. All of this is giving me better insights about how users interact with my site.

If you have an important web site you really ought to sign up for woopra, it may take a while before they accept your site as they are scaling up gradually but the sooner you get on the list the better.

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.