mojoPortal Blog https://www.mojoportal.com/blog http://www.rssboard.org/rss-specification mojoPortal Blog Module en-US webmaster@mojoportal.com (mojoPortal) 120 webmaster@mojoportal.com (mojoPortal) webmaster@mojoportal.com mojoPortal no mojoPortal 2.7 We're pleased to announce the release of mojoPortal 2.7, which has a lot feature enhancements and fixes as you will see below. We're also releasing updated versions of Form Wizard, Event Calendar Pro, Site Membership Paywall, Web Invoice, and Fund Raiser.

Where to Get It?

Head over to our GitHub Releases Page.

Highlights

  • Google Maps Fix
  • New Image Gallery
  • MySQL 8 support
  • pgSQL and SQLite support for SuperFlexi
  • Form Wizard form editing experience improvements

New Feature: Better Image Gallery

  • Beginning of a new image gallery. Currently replaces the Image Gallery (Simple Folder Version), will replace the other Image Gallery soon.
  • Uses Razor Views the same way the Blog Post List View module does.
  • Default layout (view) uses BlueImpGallery
  • Learn more here: Getting Started With The Better Image Gallery.

SuperFlexi

  • pgSQL and SQLite support.
  • Allow editing when user is in AllowedEditRoles.
  • Added "SkinVersionGuid" static token.
  • Added WebApi support for retrieving SuperFlexi data.
  • Added [dbo] to all object references in mssql scripts.
  • Added Pre/Post TokenStringWhen True/False for CheckBoxes.
  • Fixed MaxItems needing high number to work properly.
  • Fixed bug where not selecting solution would break site.
  • Fixed bug where changing Solution would cause an error condition on first click of edit link.
  • Fixed bug in MySQL data layer where Int32 dbtype was used when Guid should have been used.

Blog

  • Added optional "Default Post URL Prefix" setting. Allows for automatically placing blog posts in a URL hierarchy, e.g., some.domain/my-blog/my-first-post.
  • Added logic to Remove post from Search Index if "EndDate" is set to before current date.
  • Added logic Remove post from Search Index if "IncludeInSearch" is set to false. Previously, this was only checked when creating a post, not when editing.
  • Added logic to check for Heading control on page when UsePostTitleAsPageHeading is true. This setting would hide the blog title if the page heading was no longer on the page if the ShowPageHeading setting was set in the DB from a previous skin.
  • Added logic to allow BlogPostListModule to work in ModuleWrapper.
  • Changed post title and subtitle fields to not allow HTML. Someone actually thought this was a XSS issue but only people who could add HTML to the post body (thus able to add script) could set the title and subtitle fields. SMH…

Forums

  • Removed old inline styling on table elements
  • Standardized on "thread" vs "topic" and capitalization of other phrases/words

Survey

  • Added submission limit for authenticated users.

Shared Files

  • Added granular permissions for Roles on files and folders.

mojoPortal Core

  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added SQLite database auto creation. If SqliteConnectionString value is "defaultdblocation", mojo will copy the seed database (/data/sqlitedb/mojo-seed.db.config) to  (/data/sqlitedb/mojo.db.config). This will prevent accidentally overwriting the existing database.
  • Added page deletion confirmation dialog.
  • Added .webp to the allowed image file extensions.
  • Added WebUser.IsSkinManager method.
  • Added new control "EmbedSVGSprite" to allow easier embedding of SVGs in code.
  • Added display settings to separate settings/delete from move buttons on PageLayout buttons.
  • Added override for UIHelper.AddConfirmationDialog to allow for HtmlButton in place of WebControl. Allows for attaching Confirmation Dialogs to HTML5 button elements.
  • Added AlertPanel to allow for easier and standardized skinning of alert messages.
  • Added SelectFolder function to FileManager.
  • Added ICustomField, Options, Attributes, and DropDown to ModuleSettings. Makes adding dropdown options easier, removes need for special controls for those types of fields. ICustomField is like ISettingControl but it has ability to add additional Attributes to the control. These attributes can be used by the custom control in any way the developer wants. They are also used by the TextBox, CheckBox and DropDown field types in the ModuleSettings.
  • Added API Key functionality to Google Maps.
  • Added iframe embed option for Google Maps, enabled by default. Doesn’t require an API Key.
  • Added SetupFooter options.
  • Added CSV_Splitter to MSSQL datalayer. Will create a list of SqlDataRecord from a list of values. This new list is used to populate a TVP (Table-Valued Parameter) in a stored procedure.
  • Added StringHelper.IsIn(). string extesion to easily check if string is in an array. Example:
    string color = "blue";
    string[] colors = {"blue", "green", "red"};
    if (color.IsIn(colors))
    {
        // do something
    }
  • Added Set_Root_Cookie function to mojocombined.js.
  • Added .woff2 to web.config.
  • Added UIHelper.GetDictionaryFromString(). Converts a semicolon and pipe delimited string to a string,string dictionary.
  • Added XMLHelper.GetKeyValuePairsAsStringBuilder and XMLHelper.GetKeyValuePairs.
  • Added Browse Files permission to allow users to use the file manager but not make any changes or upload new files.
  • Changed location of "Design Tools" to Admin Menu.
  • Changed to Newer/prettier/better/fantastical markup for error page.
  • Changed UIHelper.AddConfirmationDialog to allow for more than one onclick call.
  • Changed the rendered order of CssClass and ExtraCssClasses on BasePanel. (extra is now second).
  • Changed RolesThatCanDeleteFileInEditor to always include ContentAdmins.
  • Changed FriendlyUrl Suggestions to use optional url prefix.
  • Changed permissions to allow ContentAdmins to delete in File Manager.
  • Changed permissions to allow ContentAdmins to see FileManager link.
  • Cleaned up System Log page when logging to database.
  • Cleaned up controls in built-in features, added SkinIDs to buttons, converted panels to FormGroupPanel.
  • Fixed some capitalization issues in MySQL db scripts.
  • Fixed "Skin Manager" CSS editing to allow editing CSS files in sub-directories of a skin.
  • Fixed OpenID (janrain) issue preventing logins.
  • Fixed bug where Site Search Module wasn’t using the feature filter from the module settings.
  • Fixed caching issue in FileManager by disabling caching. This was causing issues with the FileSystemServiceToken which would prevent users from using the File Manager.
  • Fixed reference to non-existent 404notfound.aspx file in web.config
  • Fixed FileManager for folder-based multi-tenancy.
  • Fixed folder url recognition in folder-based multi-tenancy. No longer need to create folder and add empty default.aspx file.
  • Fixed saving of FirstName and LastName on create in ManageUsers.aspx
  • Fixed buggy regex for CustomCssClass settings in several modules. Consecutive spaces in submitted input were causing the regex validation to lockup.
  • Removed DetectPageNotFoundForExtensionlessUrls to fix issues with Routing (new file manager).
  • Removed GreyBoxIsLoadedFromSkin in code and user/web.config.
  • Removed LessUtility from DesignTools.
  • Removed unused images and css from data/style.
  • Removed unused icons and images from data/SiteImages.
  • Removed more corner rounding controls.
  • Removed FeatureIcon/ModuleIcon and PageIcon settings.
  • Removed Twitter and Flicker modules that no longer work due to drastic changes in service APIs.
  • Replaced several hard coded instances of image file extensions.
  • Replaced long string concatenation with string interpolation (not complete, work-in-progress).
  • Replaced ugly icons used on PageLayout for moving content with FontAwesome 5 SVG sprite.
  • Replaced a lot of the old ugly icons used throughout project with simplified icons. Planning full replacement of these icons with something else later.
  • Standardized Authentication Checks and Access Denied redirects. Had about 10 different process flows before.
  • Standardized use of NonCmsBasePage across admin page.

Web Store 7.5.0.1

Web Store can be downloaded here.

  • REQUIRES mojoPortal 2.7
  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added proper SkinID to buttons so they will match styling of the rest of the site
  • Removed the now defunct Google Checkout
  • UI Improvements, including several new Display Settings

Form Wizard 2.7

Form Wizard can be purchased in the store. If you already own a license, go to My Profile under your avatar on the mojoPortal site to download the latest version.

  • REQUIRES mojoPortal 2.7 (version numbers being the same is just a coincidence).
  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added a lot of Display Settings.
  • Added SkinIDs to submit and previous buttons.
  • Added Question Alias to divs wrapping each row in rendered form. Allows for selecting specific questions by targeting data-question-alias in script.
  • Changed field/question editing to use pop-up modals. Framework based skins and skins with Bootstrap 3.7 work with this automatically. For others, see this.
  • Changed Slider question to use HTML Slider Input by default.
  • Changed Slider Range inputs to textboxes.
  • Changed FormUtils.GetAttachments to public so it can be used in SubmissionHandler.
  • Changed HTML Question to use mojoEditor (will use whatever editor is default in mojo).
  • Changed ugly icons used for moving question options to FontAwesome.
  • Fixed Question disappearing when editing.
  • Fixed submit buttons being disabled when using pages.
  • Removed SliderMaxRangeLimit option.

Event Calendar Pro 3.5

Event Calendar Pro can be purchased in the store. If you already own a license, go to My Profile under your avatar on the mojoPortal site to download the latest version.

  • REQUIRES mojoPortal 2.7.
  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added "Use iframe Embed for Map" option for Google Maps.
  • Added a lot of Display Settings to help with skinning.
  • Fixed issue where customer company input was not showing on ticket purchase form when "Show Address on Free Event Registration" was disabled.
  • Moved ticket options to separate tab in event editor.
  • Removed Bing Map support.
  • Renamed "Sales Management" to "Administration".

Web Invoice 1.8

Web Invoice can be purchased in the store. If you already own a license, go to My Profile under your avatar on the mojoPortal site to download the latest version.

  • REQUIRES mojoPortal 2.7.
  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added optional Invoice Fee.
  • Added Email CC option.
  • Added Email BCC option.

Fund Raiser 1.3

Fund Raiser can be purchased in the store. If you already own a license, go to My Profile under your avatar on the mojoPortal site to download the latest version.

  • REQUIRES mojoPortal 2.7.
  • Added support for MySQL 8 and SSL connections to MySQL servers.
  • Added a lot of Display Settings to help with skinning.
  • Removed CornerRounder Controls

Site Membership Paywall 1.1

Site Membership Paywall can be purchased in the store. If you already own a license, go to My Profile under your avatar on the mojoPortal site to download the latest version.

  • REQUIRES mojoPortal 2.7.
  • Added support for MySQL 8 and SSL connections to MySQL servers.

Joe Davis  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2-7 webmaster@mojoportal.com https://www.mojoportal.com/mojoportal-2-7 https://www.mojoportal.com/mojoportal-2-7 Sat, 20 Oct 2018 05:00:00 GMT
mojoPortal 2.6 Today, we're pleased to announce the release of mojoPortal 2.6. We had planned on releasing this version much sooner but we kept adding features! In the future, we're planning on releasing about once per month. Larger features will take more time but our community shouldn't wait for smaller enhancements.

With this release, we're introducing SuperFlexi and the Blog Post List modules. We also have a lot of enhancements and new features for existing modules. Finally, we've made some improvements to Framework and we're releasing a new free skin called "Scout", which can be downloaded from the mojoSkins project.

Where to Get It?

Head over to our GitHub Releases Page.

SuperFlexi

The SuperFlexi module is intended to serve as an easy templating system that works as a go-between for front-end developers and users. Developers can easily create "Solutions" that determine, to a large extent, the module's uses; controlling both what kind of input users can store in the database and what markup is created on the page. Users can then simply select a "Solution" in the module settings, and create their content with straightforward easily-understood forms, which will then be rendered as determined by the developers defined markup.

SuperFlexi aims to give end users much easier control over their content, even when that content might normally be quite complicated (as in the case of sliders, tables, structured or gridded HTML, and many other things). Possible uses for SuperFlexi are virtually limitless and we're really excited to be adding it as a core module in mojoPortal 2.6.

With mojoPortal 2.6, we're including 8 solutions; Accordion, Banner Slider, Icon Blocks, Image Blocks, Personnel List, Quick Links, Social Media Links, and Tabs. Each of these is demonstrated on the mojoPortal Demo Site. Please note, SuperFlexi does not currently support SQLite and PGSQL. We should have support for those database platforms in a couple of weeks.

To learn more about SuperFlexi, check out the documentation. We've also created a new Forum, just for SuperFlexi.

Blog Post List Module

So, for a very long time, the official guidance for showing a list of blog posts on pages other than the page your blog is on was to use the Feed Manager to consume your blog's RSS Feed. This meant that the Feed Manager had to make an http(s) connection back to your site, consume the feed, cache the feed contents in the database, and then query the database for the cached contents. Granted, the connection and subsequent caching only happened on a set interval but it was very unnecessary. We decided to cut out the middle-man (Feed Manager) and create a module which connects directly to a chosen Blog module and displays the posts. We went a step further by creating a Razor View Engine for this new module. Yes, you read that right, Razor. You can create Razor views to control the display of this new module.

To learn more about the Blog Post List module, head over to the documentation.

Blog Updates

We spent some time on the Blog and besides the wonderful new Razor-enabled Blog Post List, we have added Post Featured Image, Blog Featured Post, and automatic Meta Content creation for Facebook, Twitter, and Schema.org.

Post Featured Image

You can now easily add a featured image to each of your blog posts. This image will be used in the meta elements added to the page for Facebook, Twitter, and other social media outlets. The image is also treated a bit special by the Blog in that it is shown at the top of posts. More on the Post Featured Image.

Featured Post

This feature allows you to set a single post in your blog as "Featured". That post will always be at the top of the post list, even when using the Blog Post List module. More on the Blog Featured Post.

Automatic Meta Content Creation

Sharing posts on social media is a lot easier now because the special meta content markup that is necessary for sites like Twitter and Facebook to show correct titles and post images is now automatically added when you create a post. You can even edit the meta content that is created by editing the post and clicking the "Page Meta Data" tab (we're gonna change that to "Post Meta Data" in the next release).

Other Blog Updates

  • Added Display Settings for the Blog module to allow for easier skinning via CSS classes
  • Updated to actually move the blog navigation in markup instead of changing places with CSS * floats for easier styling
  • Cleaned up a lot of the default markup
  • Panels with no child elements will no longer be rendered
  • Added option to include comment body in comment notifications
  • Added SkinID="Blog" to CommentsWidget
  • Removed "Feed Links". These were links to old MSN, Yahoo and other defunct feed managers.
  • Added option to allow Post Title to be used as Page Heading when the PageHeading (or PageTitle) control is used in the layout.master for the skin

ASP.NET 4.6.2

mojoPortal now requires ASP.NET 4.6.2, which was released in August of 2016. Most hosting providers already support 4.6.2 so you should be fine upgrading your site. If your host doesn't support it and you purchase a hosting plan with i7MEDIA, we'll move your site for free.

TLS 1.2

mojoPortal will now enforce using TLS 1.2 for outgoing connections. This is important for connections to payment processors like Authorize.Net, WorldPay and PayPal.

Site Settings

The Site Settings page has a lot of options for configuring your site. We're actually working on moving more stuff from the web.config to the UI so it'll be easier to configure your site. Knowing that we are going to be adding even more to Site Settings, we implemented a few changes and reorganized some things to make using the Site Settings page easier. In the future, we plan on breaking this single page up into several smaller and more task oriented pages. In this release, you'll notice the following:

  • "Site Title" field moved to the General tab
  • "New Site" link removed (to add another site, go to Administration > Site List)
  • Skin options grouped on the General tab
  • Content Editor options grouped on the General tab
  • Registration options grouped on the Security > Main tab
  • User Account options grouped on the Security > Main tab
  • "Avatar System" option moved to User Account group under Security > Main tab
  • Password options grouped on the Security > Main tab
  • Security > OpenID tab renamed to "3rd Party Auth"
  • OpenID options grouped on the 3rd Party Auth tab
  • Windows Live options grouped on the 3rd Party Auth tab
  • "Host Name Mapping" and "Folder Name Mapping" moved to a single tab called "Site Mappings".
  • "SMTP Settings" tab renamed to "Mail Settings"
  • "Mail Settings" tab is always visible with information on how to enable the fields there. New sites will, by default, use this area for SMTP settings. You can enable this on your site by following the instructions here.
  • "Default Email From Address" and "Default Email From Alias" moved to "Mail Settings" tab
  • Reordered Recaptcha Site/Secret keys to match order on Recaptcha site
  • Added several contextual notes throughout the Site Settings page

Change Log

This change log isn't exhaustive because a lot of changes are already listed above. If we didn't list it above, it should be listed below.

Core

  • Updated mojoPortal to ASP.NET 4.6.2 and C# 7
  • Updated mojoPortal source code to use latest NuGet package management
  • Added RazorBridge method to allow use of MVC Razor Templating in Web Forms controls
  • Added MVC HTML Helper for internal Avatar and Gravatar use in Razor templates
  • Added Link control for inside/outside markup of the link
  • Added AutoEscapeStringForCsv method for exporting data in CSV format
  • Updated Gravatar in Forums to link to mojo user profile by default
  • Fixed File Manager/Page Picker for folder sites and sites running in a virtual directory
  • Moved First Name and Last Name fields to the General tab in the User Profile.
  • Added option to include comment body in notifications
  • Added ExportDynamicListToCSV method to ExportHelper
  • Added ImportHelper with GetDynamicListFromCSV method
  • Removed calls to jQueryFileTree and removed from ClientScripts
  • Removed calls to jQueryLayout
  • Removed call to greybox from Contact Form
  • Fixed possible XSS bug in help dialog, reported by Jarrod Farncomb of TSS (CVE-2017-1000457).
  • Removed WebStore from core (will be available as a separate download from the AddOn store)
  • Cleaned up user.config.sample file
  • Standardized on "Login" instead of "Sign In" (both were used before now)
  • Added Security Protocol information to "Security Advisor" (Administration > Security Advisor)
  • Added CombinePath method to DiskFileSystem file system provider.
  • Added FolderVirtualPath property to WebFile
  • Added NameProperty and ContentProperty to ContentMeta. This allows for creation of meta elements with custom names <meta property="foo" value="bar" /> instead of only allowing for <meta name="foo" content="bar" />

Skinning

  • Added FormGroupPanel control for settingrows to control their classes
  • Updated Site Settings page to use new FormGroupPanel control
  • Updated the Layout.Master.cs to expose SiteSettings (siteSettings), PageSettings (currentPage), isCmsPage and isMobileDevice to the Layout.Master for richer skinning functionality (Check out the layout.master in the Nature theme)
  • Updated CSSHander to allow for "https://" and non-http-specified ("//my-domain.com/") url calls
  • Updated Avatar.cs with new ExtraCssClass property
  • Cleaned up markup of CommentsWidget
  • Added themeable properties to CommentsWidget to help with skinning
  • Added themeable display settings for Contact Form
  • Cleaned up markup of the RelatedNewsletterSetting control
  • Cleaned up markup of HTMLCompare feature (used by version history)
  • Fixed Inline Editing in HTML Module for selecting files/images
  • Fixed CSSHandler for HTTPS URL calls
  • Fixed missing CKEditor Image2 Alignment Classes
  • Added InsideTopMarkup to replace LiteralExtraTopContent in BasePanel
  • Added InsideBottomMarkup to replace LiteralExtraBottomContent in BasePanel
  • Removed the .LESS CSS Utility from the Administration area. We recommend using a tool like Prepros for LESS management.

Joe Davis  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2-6 webmaster@mojoportal.com https://www.mojoportal.com/mojoportal-2-6 https://www.mojoportal.com/mojoportal-2-6 Tue, 03 Oct 2017 20:11:00 GMT
mojoPortal 2.5 The team here at i7MEDIA is so very excited to release mojoPortal 2.5! This is our first release since taking over the mojoPortal project and we're already gearing up for the next one! 

Where to Get It?

Head over to our GitHub Releases Page.

Major Updates

  1. A new File Manager has been added which replaces all three managers in previous versions.

    Using the new File Manager

    FEATURES

    • Create folders
    • Upload multiple files
    • Delete files and folders
    • Copy files new
    • Move files from one folder to another new
    • Rename files and folders
    • Compress multiple files into a .zip file new
    • Extract a .zip file into the current directory new
    • Download single files and download multiple files as a .zip file [3] new
    • Edit document type files [1] new
    • Preview image files
    • Select files/mojoPortal pages to return to the WYSIWYG editor
    • Search files in currently viewed folder new
    • Change manager view between List and Grid new
  2. The new Page Manager

    Page Manager Pro has been added to the mojoPortal core. Now, everyone can enjoy easier page management with the new Page Manager. Drag-and-drop functionality makes it easy to move pages while the enhanced UI makes understanding a site's hierarchy much simpler, particularly on larger sites. We're still building the documentation on this feature but it's really self-explanatory.

Minor Improvements and Changes

  • CKEditor 4.6.2 (image2 extension is included by default now) with new moono, moono-dark, and moono-lisa (default) skins.
  • Image File Extensions are now configurable using web.config settings.
    <add key="ImageFileExtensions" value=".gif|.jpg|.jpeg|.png|.svg" />
  • Updated to Colorbox 1.6.4 and changed Colorbox theme configuration. See Important Skin Changes.
  • Added "RssFeedLinkFormat" display setting for Blog. See Important Skin Changes.
  • Added web.config setting to control showing feed links with https. Defaults to true. Set to false if this causes you problems with a feed reader.
    <add key="UseSSLForFeedLinks" value="true" />
  • Added Framework as the default skin and removed Artisteer skins. Artisteer is still supported but we recognize that the included Artisteer skins aren't very pretty so they have been removed from the release.
  • Renamed "Page List" and "Add/Edit Pages" to "Page Manager".

Bug Fixes

  • Removed non-existent local-fs.pubxml file reference from mojoPortal.Web.csproj
  • Fixed renaming of files on upload so all files are renamed properly.
  • Removed unneeded apple-touch-icon.png from the root of the install. This was causing the mojo dog image to show up on tablets. Skin developers should follow these instructions for adding touch icons to their skins.
  • Fixed WebStore FlexCartLink where IncludeCartTotalWhenZero did not do anything.
  • Fixed WebStore FlexCartLink where ModuleGuid was actually supposed to be StoreGuid. Neither are really needed so we don't do anything with ModuleGuid on this control anymore.
  • Fixed an issue where when you create a new site it wouldn't copy over folders inside a skin that were more than 1 level deep.

Joe Davis  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2-5 webmaster@mojoportal.com https://www.mojoportal.com/mojoportal-2-5 https://www.mojoportal.com/mojoportal-2-5 Tue, 14 Mar 2017 15:24:00 GMT
mojoSkins Project Release V1.0 Our team at i7MEDIA have been developing mojoPortal skins for a long time, and we've done a lot of fine-tuning of our skinning process over the years. Now we want to make the fruit of our labor, the Framework skin, available for the whole mojoPortal community, for free! In light of this, we've just launched our new mojoSkins project with a version 1.0 release. This first release comes as a package of 5 skins: Framework v3.3.7, and four skins created out of Framework using Bootswatch.

Expect Much More to Come!

Framework was always intended to be a very basic skin which we would then build our designs on top of. With this new project, we're going to have to change that direction a little bit, making improvements for its use by all of you. For instance, because it's been a very long time since any of our clients used the Webstore feature in mojoPortal, the current version of Framework in this release doesn't include styles for it. We will be fixing this, as well as adding styles for all of the Pro modules in the near future, fixing any bugs that arise, and making quality-of-life improvements for the end users where we can.

We want to ensure that everything is as good as possible while also keeping the skins as small as possible, since after all Framework is intended to be a base that you use to build your own design on top of, which is why we are also going to be adjusting mojoPortal's core code to better suit being used with skinning systems like Bootstrap and will adjust the Framework skin as needed to reflect those changes. We believe we can greatly reduce the amount of CSS needed in Framework by doing this (though it is already reasonably small).

While the skins in this first release are primarily targeted at other developers, who we want to provide with a solid foundation for skin creation in mojoPortal, we believe they will work well for anyone, developer or not, who wants to create a very clean mojoPortal site.

How Can I use it?

Using the new skins from this project is incredibly easy, here's the step-by-step:

  1. Download the skins from here.
  2. Extract the zip file you just downloaded.
  3. Each of the skins is included in the root of the zip in their own folder. Choose which skin(s) you'd like to use, and copy those folder(s) into the Data/Sites/1/Skins directory in your mojoPortal installation.*
  4. Sign into your mojoPortal site as an administrator.
  5. Click "Administration", then "Site Settings", and on that page, scroll down until you find the select input labeled "Skin".
  6. Your new skin(s) should be visible in the drop-down, select it and hit save.

That's it, you should now see the skin on your own site!

* Note: If you have a multiple site install, change the /1/ in the path described in step 3 to be /#/, where # is the site number of the mojoPortal site you'd like the skin to appear on.

How can I contribute?

We have already begun tracking issues in the project's GitHub repo, and look forward to community involvement as the project evolves. Please report any issues you notice, and feel free to do a pull request if you've managed to fix an issue yourself.

You can also create your own Bootswatch skins out of Framework, and submit them for inclusion in the project, which would be an awesome help.


Isaac Hall  ...Tweet This
]]>
https://www.mojoportal.com/mojoskins-project-release-v1 isaac@i7media.net (Isaac Hall) https://www.mojoportal.com/mojoskins-project-release-v1 https://www.mojoportal.com/mojoskins-project-release-v1 Fri, 10 Feb 2017 20:54:00 GMT
A New Beginning It is an exciting day for the mojoPortal project! First, allow me to introduce myself. My name is Joe Davis. I am the Founder and President of i7MEDIA and a longtime supporter of mojoPortal. On Friday, February 3, 2017, I and Joe Audette, Founder of mojoPortal, completed an agreement for the sale of mojoPortal to i7MEDIA. This sale includes the open source project and the commercial modules available on the mojoPortal website from Joe Audette's company, Source Tree Solutions.

I have been using mojoPortal since 2008 and supporting it since 2009. I started my business in 2008 and set out to find a good content management system I could use to build websites for my customers. After a lot of trial and error, I came across mojoPortal and I was immediately drawn to its ease-of-use and friendly forum, fostered by Joe Audette. After 9 years of building sites with mojoPortal, contributing to the core, and providing support to my own clients and those around the world through the forums, I am thrilled that I, and my company, are able to ensure the further development of mojoPortal.

Rest assured mojoPortal will remain open source and there are no plans to change that. We (i7MEDIA) do, however, have plans for expanding mojoPortal to help it stay relevant and to provide the best .NET CMS platform on the market today.

You're sure to be wondering what Joe Audette has to say about all of this. Well, he is very enthusiastic about the new life of mojoPortal:

It gives me great satisfaction to know that I have created something that so many people have found useful and that it will continue to be used and supported by a top community member and his organization. Joe Davis and i7MEDIA have always been the most qualified consultants for mojoPortal other than myself, and I've always had great confidence in referring customers and projects to them over the years. Joe Davis has been a good friend and has been my go to guy when I needed to refer a customer or project that I did not have the capacity for. Whether you need design help, hosting, or custom feature development, i7MEDIA is the team you want with years of experience. mojoPortal was my baby for over a decade, and my baby is in good hands! Long live mojoPortal!

Joe Audette, mojoPortal Founder

What's Changing?

Basic Stuff

At first, we're going to focus on changing small things that will save site owners and site builders time. Some of these items are:

  • Ensuring that settings are logically organized and labeled properly.
  • Removing unnecessary markup (empty divs, excessive <br> elements, etc…).
  • Consolidating DB scripts.

Developer Support

Development of add-ons for mojoPortal isn't necessarily hard but there is a bit of a learning curve and quite a few steps one must take to prepare a working development environment. Our focus will be on cutting down on the number of steps and making the process easier overall. We will also explore possible MVC and WebApi implementations of some features, especially administration features like the File Manager. 

Additionally, we want to engage with the developers already using mojoPortal to get them contributing code to the project. GitHub provides a very simple mechanism for generating pull requests so if you have code you would like to contribute, we would be very grateful.

Beautiful Design

It has always been possible to create beautiful sites with mojoPortal but the built-in skins were not good examples. We're fixing that and we're committed to making sure that mojoPortal is seen as a designer-friendly CMS. To make that happen, we're going to implement some new functionality which will allow UI developers to include options for site owners to control various aspects of their skin.

Documentation Audit

mojoPortal is a fairly well-documented system but there is a lot of stuff that is just not needed anymore, other things have changed, and there's a lot that isn't documented. 

Commercial Add-On Pricing and Licensing

We're working on the licensing and pricing for the commercial add-ons. Some of them are going to be released as open source and others will see their prices change. The server licenses are back and are generally at a lower price than before. To see the new pricing, take a look at the store (we've renamed the page "Add-Ons" because in the near future we're going to have a marketplace so others can sell or list their own add-ons).

Licensing has changed for all commercial add-ons with regard to updates. Now, each purchase of an add-on will give the purchaser a year of updates to that add-on. If you purchase Form Wizard Pro on February 5, 2017, you can continue to download updates to the module through February 5, 2018.

When's the Next Update?

We expect to release a new version in the next couple of weeks with several small fixes, a few clean bootstrap-based skins, and a brand-new file manager to replace both of the current file managers and the link and image picker used in the WYSIWYG editors. That's right, one file manager that does it all. 

We Need Your Help

We purchased mojoPortal and we're committed to it being a success, again. We will need your help to make this happen. If you would like to help with documentation, let us know. If you would like to contribute code, check out how easy it is to submit a pull request. If you would like to help others looking for help, subscribe to the forums.

Here's to the Future of mojo!

I am very excited about the future of mojoPortal. We soft-launched the mojoPortal website over this past weekend and I have already received a few inquiries about what's going on and some messages of support. Thank you for taking the time to read this post. If you have any questions, please feel free to ask them in the forums or send us an email.


Joe Davis  ...Tweet This
]]>
https://www.mojoportal.com/a-new-beginning joe+mojoPortal@i7media.net (Joe Davis) https://www.mojoportal.com/a-new-beginning https://www.mojoportal.com/a-new-beginning Mon, 06 Feb 2017 14:56:00 GMT
mojoPortal 2.4.1.0 Released mojoPortal 2.4.1.0 is now available on our download page. This is a minor maintenance release.

What's New?

  • Upgrade to AjaxControlToolkit v16.1
  • Upgrade to newer, more user-friendly ReCaptcha - Thanks, Joe Davis of i7MEDIA
  • Update to the new preferred endpoint for Authorize.NET
  • various minor bug fixes

new user friendly recaptcha

Note that there are corresponding updates to our add-on products that also use AjaxControlToolkit because they need to use the same version as mojoPortal, so whenever you upgrade to a newer version of mojoPortal you should also download and install the latest version of any add-on products that you have purchased. Just login to this site with the account you used to purchase, click the "My Account" link at the top of the page and download the latest version from your purchase history.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2410-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2410-released https://www.mojoportal.com/mojoportal-2410-released Mon, 11 Apr 2016 12:12:00 GMT
mojoPortal 2.4.0.9 Released mojoPortal 2.4.0.9 is now available on our download page.

What's New?

  • Upgraded to the new more stable version of Ajax Control Toolkit version 15.1 which is now maintained by DevExpress.
  • CKEditor upgraded to version 4.4.7 from 4.4.6
  • TinyMCE upgraded to 4.1.9 from 4.1.7
  • added basic flat rate shipping price to products in WebStore - by Joe Davis of i7MEDIA
  • added config settings to control whether non download webstore orders require authentication
  • added option to FlexMenu to control rendering of href when page is not clickable
  • fixed bug incorrect redirecturl if using ConfirmRegistration.aspx
  • fixed bug in poll - incorrect handling of utc vs local time for isactive
  • fixed bug where ssl redirects were not correctly detecting proxy server settings
  • fixed a bug that prevented shared files uploads when using an ssl proxy server
  • fixed bug in list/link folder sites with relative file urls
  • fixed bug in FlexMenu when using the ChildNodesPerUl option and a page is hit which shouldn't be in the menu, it's still counted
  • fixed bug custom profile dropdowns did not support required
  • fixed bug in webstore where shipping panel was not shown on confirm order page when cart had shipped items
  • fixed unlocalized string on register page

Note that there are corresponding compatibility updates for each of our add on products. Existing customers can get the updated versions of our add on products by logging in to this site as the user with the purchase history, click the "My Account" link at the top of the page and then click "Order History".

As with all releases of mojoPortal, when upgrading you should make sure you use the new Web.config file and restore any customizations such as the machine key from your old one. This is especially important for this release because there are quite a few changes and additions in Web.config and some of them are subtle such as control declarations for ajaxcontroltoolkit which changed only by case of a few letters.

UPDATE 2015-05-08 This new version of AjaxControlToolkit seems to be broken in medium trust web hosting, I have reported the problem here. Anyone hosted in Medium Trust should not upgrade to this version of mojoPortal until this is resolved.

UPDATE 2015-05-11 We were able to implement a workaround to get past the medium trust error. We have now uploaded a new package on our codeplex page named mojoportal-2-4-0-9-mssql-net45-mediumtrust-deploymentfiles.zip which is pre-configured to work in medium trust hosting. There were some changes in code to support this configuration so mojoPortal.Web.dll was modified, Web.config was modified, and AjaxControlToolkit.StaticResources.dll had to be deleted from the bin folder to complete the workaround.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2409-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2409-released https://www.mojoportal.com/mojoportal-2409-released Wed, 29 Apr 2015 13:55:00 GMT
mojoPortal 2.4.0.8 Released mojoPortal 2.4.0.8 is now available on our download page.

A few weeks ago we released mojoPortal 2.4.0.7 in which we had changed to using NuGet package manager for some of our dependencies and updated to the latest version of AjaxControlToolkit via NuGet. Since that version of the toolkit came out over a year ago, in September 2013 we thought it should be stable, but as it turned out there are numerous major problems with that version of AjaxControlToolkit and we began to get reports of those problems from our community members who upgraded to the new release of mojoPortal.

As a result we were forced to go back to the previous version of the AjaxControlToolit that we were using which is the January 2013 release, which we know to be more stable.

Since our add on products Event Calendar Pro, Form Wizard Pro, and Web Invoice Pro also depend on the AjaxControlToolkit and must use the same version as mojoPortal, we also have released updates to those products to keep them in sync with mojoPortal.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2408-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2408-released https://www.mojoportal.com/mojoportal-2408-released Thu, 18 Dec 2014 15:07:00 GMT
mojoPortal 2.4.0.7 Released mojoPortal 2.4.0.7 is now available on our download page.

This release is a maintenance release with minor bug fixes and updates to newer versions of some components. This release requires .NET 4.5, we no longer provide packages for 4.0 or 3.5

What's New?

  • CKEditor upgraded to version 4.4.6 from 4.4.3
  • TinyMCE upgraded to 4.1.7 from 4.1.2
  • Upgraded to latest version of Ajax Control Toolkit
  • Upgraded to latest version of log4net
  • fixed bug in NeatHtml where addthis script interferes
  • fixed bug where inline editor in html content was not using extraplugins from config file
  • fixed bug where content admins were not allowed uploads
  • changed to use universal analytics by default now that google has migrated everyone to that
  • various other minor bug fixes

Note that there are also corresponding new updates available for our add on features for compatibility with the new versions of AjaxControlToolkit and log4net.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2407-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2407-released https://www.mojoportal.com/mojoportal-2407-released Tue, 02 Dec 2014 19:42:00 GMT
mojoPortal 2.4.0.4 Released mojoPortal 2.4.0.4 is now available on our download page.

In one sense this is a minor upgrade with a few improvements but this is also a significant release in that it marks a change in our target framework from .NET 4 to .NET 4.5. Since mojoPortal is now compiled against the .NET 4.5 framework, any code that depends on it must also be compiled against the newer framework, so we have also released corresponding compatibility updates for all of our add on products.

In terms of web hosting, you can host either .NET 4 or .NET 4.5 compiled code under .NET 4.5 hosting and most hosts should probably be updated to .NET 4.5 by now. .NET 4.5 is really still the .NET 4 framework with some additions, it is considered an in place upgrade of the framework, so it may not be easy to know for sure whether your hosting has been updated to .NET 4.5 or if it still is running an older .NET 4 framework.

If you do get errors about the framework version after deploying the upgrade, we have a separate download with replacement Web.config and bin folder which has a version of the dlls compiled for .NET 4. Using these files should get things working again if you are still using .NET 4.

We have a similar package of replacement files that should in theory also support  .NET 3.5 but at this point we are not officially supporting .NET 3.5 any longer and we hope very few people download that package.

Changing our target framework to .NET 4.5 allows us to start moving forward with the use of some of the great new things that the .NET team has been working on such as Web API. In fact this release has a new plugin system that allows features to plugin their own Web API Routes, and we implemented a small custom web api in our forum feature to handle moderation before sending posts to the forum subscribers as discussed below.

Forum Improvements

This release includes a new per forum setting for Roles That Can Post. We've had several requests for making read only forums and also for limiting posting by role so that only premium members could post. This is useful for example if you are selling site membership levels with Site Membership Pro.

It is now possible also to configure the forums such that notification email is not sent until a moderator approves the post for sending to the list. We really needed that on this site because we have our forums configured to include the post message in the notification email and we had several occasions where someone would register late at night and post a few spamy forum posts that got emailed to our subscribers and this in turn hurts the reputation of our email system. Note that the settings for this are per forum and you must add the moderator emails in the settings so that the moderator gets notified of the new post. The moderator will see new link buttons on the post for either sending the post to the list or marking it as sent so that it does not get sent to the list. There is also a setting to allow users that are marked as "Trusted" in the user management page to have their posts sent to the list without moderation so that you can avoid delays for posts from your active trusted community members.

There are also new settings per forum that control whether new posts get included in the google site map for the forums by default or whether new posts get a NOINDEX meta tag added by default. On this site we've found that forums can be a mixed bag in terms of SEO value, some threads may have worthy content and others may not. You can always edit a thread after the fact to set whether it is included in the google site map or whether it gets a NOINDEX meta, these new forum level settings just control the default for new posts.

This release also includes upgrades to CKEditor 4.4.3 (from 4.3.4) and TinyMCE 4.1.2 (from 4.0.21). We've also included the new moono-dark skin for CKEditor which you can enable by adding this in user.config:

<add key="CKEditor:Skin" value="moono-dark" />

ckeditor moono-dark skin

If you have a dark site skin you might like that better than the default editor skin.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

UPDATE 2014-09-10

We have been receiving some reports of problems with mojoPortal 2.4.0.4 under .NET 4 hosting. At this time we do not have a solution for those problems (except to migrate the site to 4.5 hosting) so we do not recommend anyone to upgrade to mojoPortal 2.4.0.4 unless you have .NET 4.5 hosting. It can be difficult to determine whether your hosting is 4.0 or 4.5 because 4.5 is really like a service pak for 4.0 that has been out for 2 years now, and if you look under Administration > System Information it will say version 4.0..... even if you are hosted under 4.5. So the best thing to do is ask your host if you have 4.5 or not, and if possible move your site to 4.5 hosting before upgrading.

The problem with our 4.0 build seems to be that even though we target 4.0 in Visual Studio when compiling it, it ends up being compiled for 4.5 because when 4.5 is installed it replaces 4.0. Visual Studio is supposed to use a reference version of 4.0 when compiling projects that target 4.0 but in practice sometimes it does not work and we think this may be the problem with our build. We do not have any machine with Visual Studio that don't also have 4.5 installed so we cannot be sure that our build is really targeting 4.0 as it should. If someone has a machine without 4.5 installed and they have Visual Studio 2013 Pro then they could compile their own build that targets 4.0, but going forward we are not confident that we can produce such builds.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2404-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2404-released https://www.mojoportal.com/mojoportal-2404-released Fri, 18 Jul 2014 19:03:00 GMT
Minor Update For Page Manager Pro I've just posted a minor update to our Page Manager Pro add on product. We've added a link to page permissions in the command menu along with an indicator of whether a page is public or protected by roles.

Page Manager Pro with new permissions link

This is a free update for existing customers who have already purchased Page Manager Pro, the latest version can be downloaded from your purchase history under the "My Account" link at the top of the page after signing in as the user who purchased.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/minor-update-for-page-manager-pro joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/minor-update-for-page-manager-pro https://www.mojoportal.com/minor-update-for-page-manager-pro Tue, 13 May 2014 19:35:00 GMT
mojoPortal 2.4.0.3 Released I'm happy to announce the release of mojoPortal 2.4.0.3, available now on our download page.

What's New?

  • Added support for Google News Site Map generation in the blog feature making it easy to submit news articles for syndication by google news.
  • Added a new Custom Javascript Module by Joe Davis of i7MEDIA that makes it easy to add custom javascript to a page. 
  • Upgraded from CKeditor 4.3.2 to 4.3.4
  • Upgraded from TinyMCE 4.0.12 to 4.0.21
  • Added config setting to support using html email for newsletter confirmation instead of the default plain text confirmation message
  • Add string extension method JsonEscape() to StringHelpers class
  • Fixed a bug in indexhelper where the item could be indexed 2x in some cases creating duplicate search results
  • Fixed bug extra closing ul in forum alt lists
  • Fixed bug where DateOfBirth profile property was not mapped to the corresponding field in mp_Users table
  • Implemented new EmailValidator control that uses regex client side but server side just tests if the address is valid with System.Net.Mail.MailAddress to reduce performance load of server side regex
  • Implemented correct json escaping for editor style and content templates, should prevent problems with quotes in the content that previously results in javascript errors
  • Fixed bug where ExtendedValidElements from TinyMCE4.config was not being rendered by the TinyMCE editor
  • Added support for display ad (doubleclick) tracking in google universal analytics
  • Moved charset above title in layout.master of included skins
  • Updated Italian Resources from Diego Mora
  • Fixed bug in Nivo Slider themes in Image Gallery

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2403-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2403-released https://www.mojoportal.com/mojoportal-2403-released Mon, 14 Apr 2014 17:11:00 GMT
Ecommerce Features Updated to Support PayPal Express Checkout Just a quick post to mention that all of our mojoPortal ecommerce add on features have been updated to support PayPal Express Checkout in addition to PayPal Standard which they already supported in previous versions.

We've added a new documentation article Using PayPal Express Checkout which explains the needed configuration to enable PayPal Express checkout.

The updated features include:

These are free updates for customers who already purchased these add on products.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/ecommerce-features-updated-to-support-paypal-express-checkout joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/ecommerce-features-updated-to-support-paypal-express-checkout https://www.mojoportal.com/ecommerce-features-updated-to-support-paypal-express-checkout Mon, 27 Jan 2014 17:23:00 GMT
mojoPortal 2.4.0.2 Released I'm happy to announce the release of mojoPortal 2.4.0.2, available now on our download page. This is primarily a maintenance release with new versions of the editors and bug fixes, but probably the coolest thing in this release is the ability to drag and drop images into the editors. The images will be resized according to the default reiszing config settings and by default the resized image will link to the full size image. Of course if you need better control over the resizing, you can still use the image toolbar item to open the dialog where you can set the resize options before upoloading.

What's New?

  • upgrade CKeditor from 4.2.2 to 4.3.2 (This should resolve some issues that the previous version had with IE 11)
  • upgrade to TinyMCE 4.0.10 to 4.0.12
  • upgrade to newer version of the time picker extension for jquery datepicker - this fixes some localization problems with the time picker
  • upgrade from jPlayer 2.4.0 to 2.5.0
  • We implemented plugins to support dragging and dropping images into CKeditor and TinyMCE (works only in modern html 5 web browsers). When images are dropped into the editor they will be uploaded and automatically resized according to the default image resize config settings, and by default the resized image will link to the full size image.
  • add support for Google Universal Analytics
  • implemented DateOfBirth as a default profile property, add support for year range to the datepicker used in date profile properties
  • modifications to make the colorbox in image gallery responsive
  • implemented new control SkinFolderCssFile for conditionally adding an extra css link based on role or url
  • add support for page heading with PageTitle control
  • add support for view all link on forum threads to show all posts in one page for a given thread
  • add support for folder browsing in file dialog and filebrowserTextBoxExtender
  • fix bug related sites mode permission settings were not synced across sites from the permission edit page
  • fix bug where blog category selection was lost when adding a new category on a new post
  • fix bug in blog where m4a file attachments were not treated as audio
  • fix bug where author avatar was not shown in blog detail view unless author bio was also shown
  • fix bug in blog where unchecked show download link for media attachments was not respected in detail view
  • fix forum unsubscribe bug in mssql data layer
  • fix bug in Video Player where flash fallback was not working due to incorrect url for the swf file, this prevented .flv video files from playing

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2402-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2402-released https://www.mojoportal.com/mojoportal-2402-released Wed, 22 Jan 2014 16:21:00 GMT
mojoPortal 2.4.0.0 Released I'm happy to announce the release of mojoPortal 2.4.0.0 available now on our download page. This is primarily a maintenance release with new versions of the editors and bug fixes.

What's New?

  • Upgrade to CKeditor 4.2.2 from 4.2.1
  • Upgrade To TinyMCE 4.0.10 from 3.5.8
  • Upgrade to jplayer 2.4.0 from 2.3.0
  • implemented a new wrapper control for jqueryui autocomplete, used to lookup a single user for edit permission in feature settings
  • On new installations, a custom machine key is automatically generated and updated by the setup page
  • fixed bug links in forum notification email need to have URL params HTML decoded for plain
  • fixed bug improve the logic for auto-generated login name
  • fixed bug in blog feed where the home page URL was used for the channel URL instead of the blog page
  • fixed inconsistent feed autodiscovery URL in the blog
  • fixed unencoded parameter in WebStore FlexCartLink
  • fixed broken spell checker in TinyMCE
  • fixed bug where security tab was shown in module settings and page settings for users who could not change anything there
  • fixed bug content adminstrators role should not be filtered out from roles that can view the member list
  • fixed bug password recovery email template for German should be utf-8 encoded
  • fixed bug email should not be case sensitive for authentication
  • fixed bug where blog media attachment uploads failed in IE
  • fixed bug in MySQL data layer where page publish mode was not saved on update
  • fixed bug where images uploaded from the editor were always resized even when the checkbox was not checked
  • fixed bug FlexMenu was not using property ChildUlCssClass

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2400-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2400-released https://www.mojoportal.com/mojoportal-2400-released Thu, 14 Nov 2013 18:45:00 GMT
Fund Raiser Pro I'm happy to announce the release of Fund Raiser Pro, available now in the mojoPortal Store, or take a test drive on our demo site!

Fund Raiser Pro is an add on feature for mojoPortal content management system. It provides the tools you need to do fund raising/crowd funding on your own web site. It has similar functionality to sites like Kickstarter.com and indiegogo.com but you host it in your own site and control it yourself and collect payments via PayPal or any of the ecommerce gateways supported in mojoPortal.

You can also define contribution levels and/or allow users to contribute any amount they want (within lower and upper limits that you can define). Your fund raising campaign can have a target date for reaching a fund raising goal or it can be open ended with no end date, or you can change the end date if you need more time to achieve the fund raising goal.

You can show or hide progress toward your fund raising goal, you can show or hide contributor profiles. Contributors can control their own privacy settings for what is shown on the contributor profile and the administrative settings allow you to make things even more private. That is, you can hide information that users marked as not hidden, but you cannot show information that the user chose not to show. For example the contributor can show or not show their name, city, state, country and contribution amount for example. As administrator of the site you could choose not to show the city and state and country even if the contributor said it was ok to share that information. In some cases you may want to show the contribution amount, in other cases you may not or the contributor may not want to show that information. You can optionally allow users to edit their own contribution profile or change privacy settings. 

You can also allow people to post comments and you can post updates to keep people informed on the progress of the campaign or project. You could also use the mojoPortal Newsletter feature to keep in touch with your contributors and encourage additional contributions. If you have defined levels and are allowing users to contribute arbitrary amounts, then a subsequent contribution can move a contributor up to a higher level by aggregating with his or her previous contributions. There is also integrated social sharing using the add this widget to encourage sharing your campaign on social networks such as Facebook and twitter.

Fund Raiser Pro - A fund raising and crowd funding solution for mojoPortal web content management system

Fund Raiser Pro - Admin Menu

Fund Raiser Pro - edit contribution levels

You can try it out on our demo site to test both the front end for contributing and the back end for managing the fund raising campaign.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/fund-raiser-pro joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/fund-raiser-pro https://www.mojoportal.com/fund-raiser-pro Wed, 25 Sep 2013 18:29:00 GMT
Form Wizard Pro 2.6.1.2 Released We've just released a small update to Form Wizard Pro that adds support for grouping items in a dropdown list question.

grouped items in a dropdown list

The form editor also shows the grouping and allows assigning and editing groups on items.

grouped items in edit view using ListBox

Note that this release of Form Wizard Pro requires mojoPortal 2.3.9.9 (released yesterday) because the support for grouping items was implemented in the mojoDropDownList and mojoListBox controls which are part of mojoPortal. These controls extend the ASP.NET DropDownList and ListBox controls which don't provide any support for grouping.

As usual this is a free update for customers who already purchased Form Wizard Pro and can be downloaded from your purchase history by logging in as the user who made the purchase and clicking the "My Account" link at the top of the page, you'll find it under the "Order History" tab.

If you don't already have Form Wizard Pro, check out the product page, it is an essential add on product for easy custom forms and simple surveys in your web site powered by the free mojoPortal Content Management System.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/form-wizard-pro-2612-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/form-wizard-pro-2612-released https://www.mojoportal.com/form-wizard-pro-2612-released Fri, 20 Sep 2013 16:12:00 GMT
mojoPortal 2.3.9.9 Released I'm happy to announce the release of mojoPortal 2.3.9.9, available now on our download page. This release is a minor update with a few bug fixes and improvements.

What's New?

  • Upgrade to CKEditor 4.2.1
  • added support for 'optgroup' to mojoDropDownList and new mojoListBox
  • added options for alternate email from address and alias for forum notification
  • shared files added config setting for cache header of non-attachment downloads
  • added setting in the blog to allow showing calendar navigation on post detail page default to true
  • added generic.browser file so new browsers are assumed to support cookies
  • new configuration option for mutli-site installations that use related sites mode it is possible to configure all sites to use the same media folder for user uploads by adding this setting as true
    <add key="UseSameContentFolderForRelatedSiteMode" value="true"/>
  • fixed bug in forums where user threads page in multi-site installations with related sites mode showed forum threads from other sites
  • fixed bug in forums where unsubscribing from notification did not work unless authenticated
  • fixed bug in pgsql data layer that caused an error when creating a newsletter
  • fixed bug where janrain inputs were not shown in site settings unless the legacy open id was enabled in web.config
  • fixed bug in folder child sites where facebook like in HTML content feature had a relative URL for the URL to like
  • added required field validator for module title in content wizard

Stay tuned, we will soon be announcing an update to Form Wizard Pro that uses the new support for 'optgroup' in dropdown list questions, and we are also about to release a new add-on product, Fund Raiser Pro that depends on this new version of mojoPortal.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2399-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2399-released https://www.mojoportal.com/mojoportal-2399-released Thu, 19 Sep 2013 14:23:00 GMT
mojoPortal 2.3.9.8 Released I'm happy to announce the release of mojoPortal 2.3.9.8, available now on our download page. This is primarily a bug fix release. 

What's New?

upgrade from CKeditor 4.0.3 to 4.2
upgrade from TinyMCE 3.5.7 to 3.5.8
Some work is also in progress to support TinyMCE 4.x but so far there are still some issues with the file browser integration so we did not upgrade to that branch of TinyMCE just yet.

Thomas Nicolaïdès - implemented clickable folder crumbs in Shared Files

WebStore -  implemented a cart link that can be embedded in the layout.master file so it can be on every page.
To use this you first add a control declaration at the top of your layout.master file like this:
<%@ Register Namespace="WebStore.UI.Controls" Assembly="WebStore.UI" TagPrefix="webstore" %>

Then you can add the control anywhere you want on layout.master. I put it with the other top navigation links as in this example:

<div id="wraptopnav">
    <div class="topnav">
        <ul>
        <portal:WelcomeMessage id="WelcomeMessage" runat="server" RenderAsListItem="true" ListItemCSS="firstnav" />
        <portal:HomeLink id="HomeLink" runat="server" RenderAsListItem="true" />
        <portal:MobileSkinLink ID="mobileskin" runat="server" RenderAsListItem="true" />
        <portal:LoginLink id="LoginLink" runat="server" RenderAsListItem="true" />
        <portal:LogoutLink id="LogoutLink" runat="server" RenderAsListItem="true" />
        <portal:RegisterLink id="RegisterLink" runat="server" RenderAsListItem="true" />
        <portal:UserProfileLink id="UserProfileLink" runat="server" RenderAsListItem="true" />
        <portal:MailboxLink id="MailboxLink1" runat="server" RenderAsListItem="true"  />
        <portal:MyPageLink id="MyPageLink1" runat="server" RenderAsListItem="true" />
        <portal:MemberListLink id="MemberListLink" runat="server" RenderAsListItem="true"  />
        <portal:SiteMapLink id="SiteMapLink2" runat="server" CssClass="sitelink" RenderAsListItem="true"  />
        <webstore:FlexCartLink id="cartlink1" runat="server" PageId="490" ModuleId="733" ModuleGuid="4482d498-ea94-48dc-b4cd-b28b6abb0ad2" IncludeItemCount="true" IncludeCartTotal="true" LiteralTopMarkup="<li class='topnavitem cartnav'><span class='ui-icon ui-icon-cart'></span>" LiteralBottomMarkup="</li>" CssClass="sitelink" />
        </ul>
    </div>
</div>    

You must configure the pageid moduleid and ModuleGuid to match those values for your WebStore. The example extra markup uses the cart icon from jqueryui.

added module setting for date format in comments feature
added a new setting in html content to disable the click event for slide show slides so that clickable content within the slides can be clicked
added a Web.config option to lookup paramterized urls for 301 redirect - false by default

made it possible to style tables and mojoGridView using jqueryui, to do this you need these settings in theme.skin:
<mp:mojoGridView runat="server"
    TableCssClass="jqtable"
/>

<mp:mojoGridView runat="server" SkinID="FileManager"
    TableCssClass="jqtable"
/>

<mp:mojoGridView runat="server" SkinID="SharedFiles"
    TableCssClass="jqtable"
/>


added an option on FlexMenu for StartingNodePageId
added a Web.config option to show publish workflow icon for unsubmitted draft
made the contact form set the focus to the email box if there is any email validation error
fixed a few region specific languages in ckeditor that were not previously available

made email template editor also edit the plain text version of the template
added a Web.config option to limit Active Directory to root DN

fixed bug in Forums where thread subject was unfiltered in page title element causing a potential XSS vulnerability. Anyone using the forums should definitely upgrade to get this security fix.
fixed bug in Forums where non editors could not edit their own older posts even when the settings was -1 which should allow it.
fixed bug in mssql data layer for Forums where unsubscribe was returning false even on success causing the wrong message to be shown to the user.
fixed bug in sqlce data layer where redirect list paging did not work
fixed bug in comment system don't show user inputs for name, email, and url by default if user is authenticated
fixed bug in pgsql data layer when saving a module definition setting from the ui
fixed bug in blog when using jquery datepicker for calendar nav the date format in links was not correct if not using English
fixed bug in blog where blog sitemap did not work correctly if not using friendly urls
fixed bug Blog should use addthis accountid from blog settings if specified
fixed some validation problems in the blog feed, added some new settings for feed language, managing editor, iTunes categories, logo url
fixed bug in file manager where uploading to root folder failed
fixed bug in Shared Files, when editing a file in a sub fodler it would be moved to root folder
fixed bug in Shared Files where it was possible to make a child folder the parent
fixed bug Shared Files was not updating the upload date when a file was updated
fixed bug in parentpagedialog when configured to start fully expanded
fixed bug Janrain widget should use the new implementation by default
fixed javascript error in IE 8 when using the new file uploader
fixed bug inline editor should use style and content templates
fixed bug in authorize.net payment gateway where currencyCulture was not used to format currency. 
fixed bug sitemenu and pagemenu should set the ismobileskin property on flexmenu

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2398-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2398-released https://www.mojoportal.com/mojoportal-2398-released Mon, 29 Jul 2013 15:06:00 GMT
mojoPortal 2.3.9.7 Released I'm happy to announce the release of mojoPortal 2.3.9.7 available now on our download page.

The main new item this release is an all new file uploader with support for drag and drop, multiple file selection and a progress bar in modern browsers.

new file uploader

For many years we've used NeatUpload for file uploads which also provided a progress bar and multi file selection. Dean Brettle, the author of NeatUpload stopped supporting it in May of 2010 and now it has become a bit long in the tooth. It depended on Flash for multi file selection in some browsers and it did not work in medium trust hosting and was beginning to have some problems in newer versions of Firefox. Specifically it depended on a really old version of swfupload (which itself is now also an abandoned project). NeatUpload has served us well over the years but many of the problems that is solved are no longer existing problems or are easier to solve in modern web browsers so we felt the time had come to replace it.

We previously needed to provide a separate web.config file which enabled NeatUpload in Full Trust hosting but we no longer need any separate configuration, all the included features of mojoPortal "just work" in Medium Trust with no special configuration needed. Some of the file uploader features such as drag and drop, multi file selection and upload progress bar do not work in older web browsers but it does degrade to normal one at a time file upload in those browsers while modern browsers get the best user experience. NeatUpload is no longer included with mojoPortal so as long as you don't have any custom features that depend on it you can safely remove the /NeatUpload folder from your eisting installation after upgrading and remove the file Brettle.Web.NeatUpload.dll from the /bin folder. Developers are encouraged to look at how we implemented the file upload in mojoPortal features and replace your own use of NeatUpload in custom features to be consistent.

New Version of AjaxControlToolkit

We upgraded to the Jan2013 version (from July2012 version) of AjaxControlToolkit. Since this is used also in our add on products Form Wizard Pro, Event Calendar Pro, and Web Invoice Pro, we have corresponding upgrades to those add on products for compatibility with this release of mojoPortal.

Other Stuff

  • upgrade to CKeditor 4.0.3
  • upgrade to jQuery 1.9.1 and jQueryUI 1.10.2
  • upgrade from jPlayer 2.1.0 to 2.3.0
  • various minor bug fixes for things reported in the forums since the last release

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2397-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2397-released https://www.mojoportal.com/mojoportal-2397-released Tue, 30 Apr 2013 16:38:00 GMT
mojoPortal 2.3.9.6 Released I'm happy to announce the release of mojoPortal 2.3.9.6, available now on our download page.

This release includes a number of bug fixes and a few other improvements since the previous release. The most interesting new feature is support for inline editing in the Html Content feature when using CKEditor which has also been upgraded to version 4.0.2. With inline editing, users with edit permissions can just click into the content and the editor will appear as shown below in a screen shot from our demo site.

inline editing with CKeditor

When you click out of the content if it has changed it is saved by an ajax post to a service url. There is a little lock icon that toggles enabling and disabling the inline editor. This was needed otherwise if a user had edit permission and wanted to click a link within the content, it would launch the editor instead of navigating to the link. The inline editor also works in iPhone and iPad. For now inline editing is only implemented in the Html Content feature but depending on feedback we may implement it in other features in the future. It can also be disabled in case you don't like it and the traditional edit link that goes to the edit page also still works. To disabled inline editing in an installation you would add this in user.config:

<add key="EnableInlineEditing" value="false" />

In the last release we introduced a new Recent Content feature as well as an RSS url that could retrieve recent content based on query string parameters that could limit the results to a specific feature. Since the Recent Content feature that plugs into CMS pages could be configured to show content from multiple features we decided it would be more user friendly to expose an RSS link directly in the feature that will use the settings from the feature so that the feed will include the same content as the feature on the page.

In the previous release we upgraded to the latest jQuery but we missed a few plugins that were not compatible which caused a few bugs in various places such as the image cropper and the file manager. These have been fixed. The jPlayer plugin used in our Audio and Video players also is still not yet compatible with the latest jQuery so we automatically load the jQuery Migrate plugin when it is loaded to provide compatibility until they come out with an update to the jPlayer plugin.

We also upgraded to the newest version of the NivoSlider jQuery plugin which is integrated in the Image Gallery feature. It now supports captions and the web size image will link to the full size image.

There was also a bug introduced in the last release for the forums where forum threads could be lost from the search index when other threads were updated. This has now been fixed and anyone using the forums should rebuild the search index again after upgrading to restore any missing forum items from the search index.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2396-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2396-released https://www.mojoportal.com/mojoportal-2396-released Fri, 08 Mar 2013 19:13:00 GMT
mojoPortal 2.3.9.5 Released I'm happy to announce the release of mojoPortal 2.3.9.5, available now on our download page. This is a significant update with many improvements.

UPDATE 2013-02-14 We have found that our .NET 3.5 package for this release is broken under medium trust due to an error generated by Lucene.NET. We are looking into a solution to this but for now, those hosted under .NET 3.5 medium trust should not upgrade. The best solution is to move to .NET 4/4.5 hosting since we are approaching the end of support for .NET 3.5.

UPDATE 2013-02-14 We were able to use conditional compilation to make the .NET 3.5 builds use the older version of Lucene.NET and this fixed the medium trust error for the mojoportal-2-3-9-5-mssql-net35-deploymentfiles.zip package. So it is now safe to upgrade .NET 3.5 installations.

What's New?

Recent Content Feature

Lots of people have asked if there is a way to show recently created or updated content. The challenge with this has always been that features are self-contained and pages are just containers for feature instances so the don't have knowledge of the feature content so there was not an easy way to list new content except at the feature level. For example features like the blog and forums expose RSS feeds so one could pull recent content from those feeds into a feed manager instance, but there wasn't a good way to do it for the HTML Content feature which is the main content feature. However, we recently revamped our internal search index to keep track of created and modified dates so that searches could be filtered by date (also new in this release). Once that was completed we realized that one way to get recent content in a feature agnostic way is to retrieve it from the search index based on the created or modified date. This is exactly what the new Recent Content Feature does. You can set a maximum number of days old to include, which features to include and whether to use the created date or modified date. So this now works with all features that support search. The Recent Content feature can be placed on a page like any other feature and configured as you wish. There is also now a Recent Content RSS feed that can be enabled and then used with the Feed Manager feature to show recent content. I'll be documenting how to do that soon but the stand alone Recent Content feature is probably more user-friendly for most people.

Search Engine Improvements

As mentioned above the internal Lucene.NET search engine has been revamped. In addition to the created and modified dates it can also store the author name and this can be optionally shown in the search results for features that populate it. We also upgraded to the latest version of Lucene.NET (3.0.3). As a result of these changes, after upgrading it is recommended to rebuild the search index so it gets populated with the new fields. There were some breaking changes so developers who have implemented their own custom features that support search and use our internal search engine should see the notes in this forum thread.

There is also a corresponding update to our Event Calendar Pro product to be compatible with the search engine changes. This is a free update for customers who already purchased Event Calendar Pro.

Blog Improvements

Previously the map settings for the blog were at the feature instance level which meant that all maps in all posts had to use the same settings. These settings are now per post so you can get more creative with maps in your blog posts. There is also a new setting if you want to show a search input in the blog.

Forum Improvements

There is a new setting if you want to automatically close threads older than a certain number of days. Individual threads can now be left out of the google site map for the forums and/or marked with a NOINDEX meta tag if you don't feel that the thread has any content of value. There are also new settings to allow showing the CMS page side content on the forum detail pages which is useful for ad placement for example.

Miscellaneous Improvements

  • Content Style templates can now be imported and exported thanks to Joe Davis of i7MEDIA
  • Upgraded to CKEditor 4.0.1
  • There is a new menu control named FlexMenu included in this release. Unlike the ASP.NET Menu and Treeview controls it does not add any javascript so you can add your own if needed and not get any conflicts that those menus are prone to.
  • Updated the CDN settings to use jQuery 1.9 and jQueryUI 1.10.0. Also updated included plugins to compatible versions. However, if you are using any custom plugins or javascript that is not compatible with the new version of jQuery we have a way to include a compatibility script. See the important skin changes article for details.
  • Bug fixes for things reported in the forums since the last release.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2395-released webmaster@mojoportal.com https://www.mojoportal.com/mojoportal-2395-released https://www.mojoportal.com/mojoportal-2395-released Thu, 07 Feb 2013 15:09:00 GMT
mojoPortal 2.3.9.4 Released I’m happy to announce the release of mojoPortal 2.3.9.4, available now on our download page.

Although it has only been a little more than a month since our last release, we’ve been very busy with more improvements some of which have been long standing requests.

What’s New?

Page Content Wizard

Most of you who are familiar with mojoPortal know how to add features to a page, but I've noticed on our demo site some people manage to create pages but then for some reason can't figure out how to add content by clicking the "Edit This Page" link. To make it more friendly for new users and for people trying mojoPortal for the first time on our demo site, we've added a simple widget for adding a content feature to a page. This widget is shown if user visiting the page has edit permission on the page and the page has no other content on it and is not configured to show the child page site map.

We’ve also added a new default profile field for AuthorBio. By default it is only available to Administrators, Content Administrators, Content Authors, and Content Publisher roles.

Forum Improvements

Reduced the number of Url parameters and added a site map for forum threads that can be submitted to search engines for greatly improved SEO in the forums feature. See the updated Site Map documentation for details.

Blog Improvements

Added support for showing an Author Bio at the bottom of blog posts.

Added support for a Sub Title per post, with theme.skin support to configure what element it renders as in the list an in the detail view.

Added support for multiple bloggers: A user in the edit roles for a blog can only edit their own posts unless the user is in the Administrators or Content Administrators roles. This can be disabled from user.config if you prefer the old behavior where any editor could edit any post.  See the updated blog documentation for details.

Added support for per category feeds. Now by default the feed icon on the category page has the category specific feed url.

Added support for post end dates. If an end date is specified, then the post will no longer be available to users not in an edit role. Other users who visit the post url will see a message saying the content has expired and the HTTP Status code 410 will be returned for search engines, and the post url will be removed from the google site map.

Fixed bug where the feed would return an error until a post was made from the UI.

Added options for showing the Author Photo/Avatar and/or an Author Bio at the bottom of Html Content instances.

Newsletter Improvements

Added support for some new token replacements that can be used to personalize the newsletter, with settings for fallback default values configurable on the newsletter definition. See the updated newsletter documentation for details. https://www.mojoportal.com/usingthenewsletter.aspx

Other Miscellaneous Improvements

Added a SkinID to registration page validators so they can be configured form theme.skin. Changed to dynamic display so that by default the error messages are shown inline next to the form fields.

Updated Italian translation from Diego Mora Updated the config settings to use the latest versions of jQuery and jQueryUI from the google CDN.Updated to the latest version of log4net.

Fixed bug where only admins could edit an html instance from within content manager (without the context of a page), and content admins were not allowed by mistake.

Fixed bug where Audio and Video features allowed upload media file types not actually supported in the features.

Fixed bug in internal comment system where site root was duplicated in the comment link in the notification email.
Fixed bug PayPal form element values should be attribute encoded not html encoded. Fixed bug in Image Gallery where Nivo slider did not work when the site was running in a sub folder rather than in the root directory.
Fixed a bug where if a user registered on the site after previously only signing up for the newsletter, duplicate newsletter subscriptions were not removed. This bug was introduced in version 2.3.9.3 when we added the newsletter opt in to the registration page.

The mojoPortal Team would like to wish our friends in the US a Happy Thanksgiving! We will be taking a few days off to enjoy time with our families and we are thankful to our community and customers who make what we do possible with your support and feedback.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2394-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2394-released https://www.mojoportal.com/mojoportal-2394-released Mon, 19 Nov 2012 20:00:00 GMT
Updated Add On Products for mojoPortal We've just uploaded updates to several of the add-on products in the mojoPortal Store.

WorldPay Support

All of the eCommerce products: Site Membership Pro, Web Invoice Pro, and Event Calendar Pro now support WorldPay as a payment gateway in addition to the already existing support for Authorize.NET, PlugNPay, PayPal and Google Checkout. We've had quite a few requests for WorldPay support, so we're very excited to finally deliver this.

Other Updates

Form Wizard Pro has also been updated to include custom email template editing for the notification emails.

These are free upgrades for existing customers who have already purchased these products, the latest version can be downloaded from your order history by signing into this site as the user with the purchase history and clicking the "My Account" link at the top of the page. However, these updates do require the latest version of mojoPortal.

UPDATE: I made another small change to the Artisteer skin exporter plugin and uploaded a new version 2012-10-15. It fixed a problem with the menu layout in some designs.

UPDATE 2012-10-18 I've made another fix in the skin exporter plugin to solve a problem where Chrome browser was using responsive layout as if it were a phone.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/updated-add-on-products-for-mojoportal-2012-10-12 joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/updated-add-on-products-for-mojoportal-2012-10-12 https://www.mojoportal.com/updated-add-on-products-for-mojoportal-2012-10-12 Fri, 12 Oct 2012 15:28:00 GMT
mojoPortal 2.3.9.3 Released I'm happy to announce the release of mojoPortal 2.3.9.3, available now on our download page. This is a significant release with a lot of improvements.

What's New?

Support for WorldPay in the WebStore feature (also new releases to follow very soon adding WorldPay support to Site Membership Pro, Web Invoice Pro, and Event Calendar Pro)

Updates for Artisteer 4 and an updated skin exporter plugin for Artisteer 4

New improved internal comment system in the blog and as a standalone feature. Note that for MS SQL and SQL CE, the comments from the old blog comment system will be migrated automatically by the upgrade script, but for other database platforms you'll need to download a utility page that can migrate the data. Just drop the page into the root of your site then navigate to it while logged in as admin, then click the button to migrate the data.

Other blog improvements include support for media attachments in the blog for podcasting, and a new setting to show the post author avatar at the bottom of a post.  There is also a new blog display setting to allow use of jqueryui datepicker for calendar navigation

Site search as a content feature, right now it is just a simple way to add the search box to a page, it still navigates to the search results page but we may add more options for it in the next release that we didn't finish in time for this one.

We added newsletter subscriptions to the registration process, since we are no longer always redirecting to the user profile page after registration.

Updated to AddThis Widget from older AddThis button

We added some display settings for login module to allow use of Janrain social sign in, to allow not hiding it after sign in and showing the welcome message and user avatar.

Added option to show Janrain widget on SignInOrRegisterPrompt used in WebStore and other commerce features.

Added settings on WelcomeMessage to allow use of first and last name if populated
<portal:WelcomeMessage ID="WelcomeMessage" runat="server" RenderAsListItem="true" ListItemCss="firstnav" UseFirstLast="true" />

Upgrade TinyMCE from 3.5.5 to 3.5.7

Upgrade from CKEditor 3.6.3 to 3.6.5

Update google search to v2 api

Added bulk mail header to newsletter and forum notifications

Removed recaptcha theme web.config setting, use theme.skin so it can be set per skin

The source code solution now works with either Visual Studio 2010 or 2012

Added RoleEnabledHyperlink based on code from Joe Davis. This makes it easy to add a custom link in the layout.master file that you only want to be visible to members of specific roles.
<portal:RoleEnabledHyperlink id="yourid" runat="server" RelativeUrl="/your-url-relative-to-siteroot.aspx" AllowedRoles="Admins;Content Editors" UseSSL="false" RenderAsListItem="false" ListItemCss="" />

Added theme settings to control forum crumbs similar to admin crumbs

Fixed a bug where the disqus widget wasn't working correctly with disqus 2012 enabled

Fixed bug in css handler where background images declared as base64 strings were not working because the image base path was being appended

Fixed bug in cutepager where full postback was happening in updatepanels

Fixed a bug in treeviewadapter where the class attribute on child ul could be added twice

Fixed bug where sign in prompt showed registration link even when registration is disabled

Fixed bug in forum where unsubscribe was not working due to disabled viewstate on the container

Fixed bug in search input control where a div was rendering even when configured for link only

Fixed bug in blog where comment counts for internal comments were shown when using facebook comments

Fixed bug where admin menu did not show page tree link if user has some child page creation rights but is not admin, content admin, or site editor

Updated jqueryui skin to style new comment system as jquery ui widget

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2393-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2393-released https://www.mojoportal.com/mojoportal-2393-released Thu, 11 Oct 2012 18:55:00 GMT
mojoPortal 2.3.9.0 Released I'm happy to announce the release of mojoPortal CMS 2.3.9.0, available now on our download page.

What's New?

Full Support for HTML 5

New example skins based on Twitter bootstrap, and Zurb foundation, including better support for use of newer html 5 structural elements (like article, nav, and aside) configured from theme.skin. In these example skins we are using article and header for HTML Content and blog features and aside for page and blog side columns as well as nav to wrap the menus and paging links. There are some comments about the use of these elements as well as links to advice about their usage contained in the style.config file of the example skins. Studying the theme.skin files for these skins is a good way to learn about a lot of configuration options for layout and rendering that are not yet documented in detail elsewhere. These example skins are not prettied up, they are meant to be used as a starting point for designers who will pretty them up. Stay tuned for an announcement coming up soon about a new project for mojoPortal skins based on HTML 5, we will be looking for designers to participate in this project to help show off the full design potential of mojoPortal. The new example skins are in the extra-skins.zip file on our codeplex download page but later we will be moving them into the new project for HTML 5 Skins for mojoPortal where we hope to expand on the examples and get more designers involved.

We've also added support for LESS by integrating DotLess. .less files can be used in skins and will be combined and converted to CSS using DotLess by our CSS handler. We have one example skin based on Twitter bootstrap that uses raw .less files and one that uses only CSS. See the article Using HTML 5 with mojoPortal for more details.

We've also revamped most of the Administrative pages to make the markup more consistent and easier to style.

Support for Facebook Comments

We've added support for Using Facebook Comment System on pages and in the Blog as an alternative to our support for Disqus and IntenseDebate.
Requires adding this in layout.master file of the skin, just above the <form element:
<portal:FacebookSdk ID="fbsdk" runat="server" />
and a Facebook AppId must be entered either in Site Settings or in user.config

<add key="FacebookAppId" value="xxxxxxxxxxxxxx" /> 

The Blog also now supports showing related posts based on tags/categories.

Forum Improvements

Forum threads are now indexed as one item in the search index where previously each post was a separate item which could produce multiple search results for the same thread. Use of the new indexing approach requires adding this to user.config:
<add key="Forum:AggregateSearchIndexPerThread" value="true" />
and rebuilding the search index. I think this change has helped a lot on this site, it is much easier to find things in the forums now using search.

HTML Content Improvements

New options in Html Content feature to show the created date, created by, last modified date and last modified by.
New option for highlighting the differences in text when comparing a draft to the live version or when comparing to version history

Image Gallery Improvements

Added an option to use Nivo Slider in the image gallery.
Added a config setting to allow automatically deleting images if the image gallery instance is deleted. By default, it does not do that since you may have used image gallery images in other content.
To enable it, add this to user.config:
<add key="ImageGallery:DeleteImagesWhenModuleIsDeleted" value="true" />

Newsletter Improvements

Added button to re-send verification email for unverified addresses
Added functionality to allow opting in all site members to a newsletter if they have not previously opted out of any newsletters

Miscellaneous Improvements

Changed from RewriteUrl to Server.TransferRequest (based on a config setting and only works in Integrated Pipeline mode), this makes IIS log the friendly URL instead of the real URL (ie Default.aspx?pageid=x) making the IIS logs more useful. With the EU cookie law and growing use of Do Not Track, it is becoming more problematic to rely solely on google analytics for traffic analysis, we expect to see more people going back to log analysis.

Upgrade to the latest June 2012 release of AjaxcontrolToolkit. This also required new releases of Form Wizard Pro, Event Calendar Pro, and Web Invoice Pro because they must use the same version of the toolkit controls as mojoPortal. Customers who previously purchased these add-on features can download the latest version from their purchase history under "My Account"

Form Wizard Pro also has some new features including an HTML question type that shows a simple WYSIWYG editor, an Email question type that automatically validates email. A new option to send the submitter a copy of the form submission data, if enabled it will be sent to each email address from an Email question type on the form. There is also a new option to allow redirecting to a different page after the form is submitted instead of just showing the thank you message.

Add support for settings width of google and Bing maps using a percent instead of pixels
New sorting options on the member list page to allow sorting by join date so it is easy to find new members
Updated to the new Bing Search API

New provider plugin system for user profile updated handlers to allow custom code to execute when a user profile is updated (thanks to Huw Reddick).
New provider plugin system for user pre-delete handlers allows custom code to execute when a user is about to be deleted

Upgrade to TinyMCE 3.5.4
Upgrade to a nightly build of CKeditor to resolve a bug where the file browser dialog would not open in Chrome web browser

various minor improvements and bug fixes for things reported in the forums since the last release.

As always, it's a good idea to backup your site and database before upgrading and review the upgrading documentation.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2390-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2390-released https://www.mojoportal.com/mojoportal-2390-released Wed, 18 Jul 2012 19:11:00 GMT
Site Membership Pro 1.0.0.1 Released! I'm happy to announce the initial release of Site Membership Pro, available now in the mojoPortal Store. Site Membership Pro is an add on product for mojoPortal that makes it easy to monetize access to your premium site content.

Site Membership Pro

See the product page for full details. As with our other products, customers who purchase Site Membership Pro get free upgrades for the life of the product.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/site-membership-pro-1001-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/site-membership-pro-1001-released https://www.mojoportal.com/site-membership-pro-1001-released Thu, 19 Apr 2012 14:49:00 GMT
mojoPortal 2.3.8.5 Released I'm happy to announce the release of mojoPortal 2.3.8.5, available now on our download page.

What's New?

A new Control for Nivo Slider

Thanks to Matt Wilkinson who contributed a control that makes it easy to use Nivo Slider, a jQuery widget that does fancy slide show transistions. This control can be used in layout.master or in custom features. You basically add the control and point it to a folder that has images for the slide show. The images in the folder must all be the same size, and you must specify the width of the images on the control, so example usage is like this:

<portal:NivoSlider ID="NivoSlider1" runat="server" ImageFolder='~/Data/Sites/1/nivoimages' ImageWidth='618px' />

Then you also need to add one of these included skins for Nivo Slider to the style.config file of your skin:

<file cssvpath="/Data/style/nivoslider/default/default.css" imagebasevpath="/Data/style/nivoslider/default/">none</file>
<file cssvpath="/Data/style/nivoslider/orman/orman.css" imagebasevpath="/Data/style/nivoslider/orman/">none</file>

or you can copy and rename one of those and modify it as you like.

A new QRCodeImage control

QR Code

QR Codes are often used in printed materials to encode an url for a web page. There are apps for most smart phones and tablets that can scan the QR Code and navigate to the web page. We've added this control in the "PrinterFriendly" skin so that if people print a page on your site using the printer friendly view a QR Code will be included at the bottom automatically.

Since we don't update the skins in the site specific folders during upgrades you may want to copy the new version of the printerfirendly skin from /Data/skins to /Data/Sites/[SiteID]/skins or you can add it directly to the layout.master of your copy like this:

<portal:QRCodeImage id="qr1" runat="server" AutoDetectPageUrl="true" />

You could also use this control in custom features, you can encode any text value, if you set AutoDetectUrl to false and add the attribute TextToEncode="Any text you want to encode as a QR Code" you could use it for other purposes. The control uses the google charts api to generate the QR code image so it can't work if you are offline or your site is on a private intranet with no access to the internet.

Lots of Little Improvements

There is a new section in Site Settings for Company Info as well as some convenience controls to make it easy to show company info in the footer of your site by embedding some new convenience controls in your layout.master file that will automatically pull in the compnay info from site settings. Examples:

<portal:OrganizationControl id="oc1" runat="server" /> will include the company info marked up with Schema.org Organization markup. There are also a few literal controls that can be used separately:
<portal:CompanyPhoneLiteral id="litPhone" runat="server" />
<portal:CompanyFaxLiteral id="litFax" runat="server" />
<portal:PublicEmail id="litEmail" runat="server" />

There is a new Site Created Event Handler Provider system (usage is yet to be documented), contributed by Joe Davis that allows you to plugin custom code that can execute when additional sites are created.

Blog Category list and Archive list views now use the same settings as the main post list so that they show full posts or excerpts in a paged list instead of just titles.

There is a new setting in Image Gallery to automatically start the colorbox slide show when the page loads.

In the html content feature users with full edit permission can now publish a draft without submitting it through the approval process.

Improved usability for user role management on manage user page.

Made role permissions UI in page settings consistent with module settings where the links are under the security tab for improved usability

Added support for content on the login page.

Added count of members to role list in role manager page

When using LDAP Authentication with fallback to database authentication it is now possible to allow the users with database accounts to login with their email address in addition to the loginname.

Added config settings to make it possible to control the cache duration for 301 redirects or to disable caching.

Restored previously removed support to use cache dependency files based on a config setting to support small web clusters with a shared drive, where dependency files are the easiest way to clear the cache on all the nodes that share the drive without having to use a distrubuted cache.

Added rel="next" and rel="prev" meta links on paged Forums and Lists features to improve the SEO of those features.

Added support for checkboxlist questions in custom user profile with example in comments in mojoProfile.config.

Upgraded from CKeditor 3.6.2 to 3.6.3

Upgraded from TinyMCE 3.4.7 to 3.4.9

Updated to newest version of jcarousel

Update to newer version of google data libraries

Added custom body css class on closed page to make it easier to style the closed page.

Removed un-needed css class from artisteer theme.skin files, was causing a problem in webstore layout where it did not use the full page width.

Bug Fixes

  • fixed login, password recovery and registration issues when user exists but is flagged as deleted
  • fixed bug in profileview.aspx where custom profile boolean properties were not showing the images for true or false
  • fixed bug in PermissionEdit.aspx where All Users was not checked even if it was saved correctly in the database
  • fixed incorrect parameter type for compiledmeta field in MySql data layer
  • fixed bug in MySql data layer for database logging, incorrect parameter type
  • fixed a bug in the blog where an auto-generated excerpt was being used in the post list even when explicitely created in the editor
  • fixed bug in blog where detail view did not use the blogauthor override setting
  • fixed bug in blog - option to show side pane content and top and bottom content should work in all blog supporting pages
  • fixed bug where new user notification did not work in child sites when using related sites mode
  • fixed a bug in the editors where the unsaved changes warning from spanish resources was causing CKeditor to not work at all and causing unsaved changes prompt to not work in TinyMCE
  • fixed bug in SiteStatisiticsModule where it was hard coded to use 1 for the site id
  • fixed bug in newsletter administration where paging did not work
  • fixed bug in Flickr Gallery - don't specify a default size in flickr gallery script so it will not reduce image quality
  • fixed bug - check for null on all paypal IPN paramaters in webstore
  • fixed bug in webstore where media player was shown on offer detail page even when no teaser file was present

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2385-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2385-released https://www.mojoportal.com/mojoportal-2385-released Wed, 18 Apr 2012 15:11:00 GMT
mojoPortal 2.3.8.1 Released I’m happy to announce the release of mojoPortal 2.3.8.1, available now on our download page.

What’s New?

Security Updates

Stronger password hashing for hashed password format. Previously we were using MD5 without salt, but now we use sha512 with a random 128 character salt per user. Existing users will be automatically updated to the stronger hash the next time they login.

For encrypted passwords we’ve also updated to use a 128 character random salt per user. Existing users will be updated with a salt the next time they login.

In version 2.3.7.6 we changed the SSL behavior to keep users in a secure session once they sign in. After the release we noticed that the canonical url was using https for secure requests and http for insecure requests which could affect SEO since the canonical url should not vary. We’ve changed it in this release such that if the page does not require SSL and the site does not require SSL for all pages, then the canonical url will use http, otherwise it will use https. This way it will be consistent and not vary to make sure there is no inconsistency if search engines happen to crawl the pages using https.

When a user’s roles are changed, the role cookie will now be updated automatically on the next authenticated page request. Previously, if you added a user to a role or removed him from a role he needed to logout and login again to get the new role cookie.

Usability Improvements

We’ve made the role permissions more clear on Page Settings and Feature Instance Settings. There has been some confusion in the past about a special case of permissions. By default Administrators and Content Administrators can access and edit any content without adding them to the allowed roles, but we had a special case where if you set the allowed roles to only Administrators then the content could be locked down to only Administrators and Content Administrators would no longer have access. In the past this has not been an obvious feature from the UI and users who did not know about that feature would mistakenly check the box for Administrators, accidently locking out Content Administrators. We’ve now made it more clear in the UI with radio buttons above the role lists for Page and Content View and Edit Permissions like this:

page-permissions

Note that if you want to lock some content down so that only Administrators can access it, you should set both the page view/edit permissions and the feature instance view/edit permissions to Only Administrators. Otherwise if you only secure the page, Content Administrators can still access the content instance from Content Manager outside the context of the page security.

A related change is that now if you have more than 20 roles, by default we use separate pages for page and feature instance permissions, and the site level permissions have been moved out of the Site Settings page into their own pages. This was done because of a change in behavior in ASP.NET after a recent security update. Now if a page is using postback with more than 1000 form elements, it causes an error, and we moved these things to reduce the number of form elements on a page because if you have a lot of roles the checkboxes for each role for each permission adds up to a lot of form elements and combined with other form elements on the site settings page and hidden elements used for viewstate some users were getting errors when they would save site settings due to too many form elements. There is a workaround to allow more form elements but we wanted to make it work without doing that so it seemed like a better idea to reduce the number of form elements by not having as many things all on one page. We also did some viewstate optimization to reduce un-needed viewstate in some features.

We also added paging to the /Admin/SecurityRoles.aspx page which shows the users for a given role, and we made the feature instance settings page use the same skin as the page when using page specific skins.

Blog Improvements

The blog now shows the post categories for a post in the post list and in the post detail. We’ve also implemented more of the Wordpress API, so in addition to being able to use Windows Live Writer, it is also now possible to use Wordpress clients such as the Blogsy app for iPad. I’ll be documenting that soon but basically you configure it as if you were using Wordpress.

Html Content Improvements

Several people have reported problems when trying to use javascript in the Html Content Feature, the WYSIWYG editors such as CKeditor and TinyMCE tend to do some “cleanup” on the markup which sometimes removed things that people intended to be there. In CKeditor for example you could get around it by saving while still in Html view, but the next time you opened the content in the editor it would run the “cleanup” and mess up your javascript. For content instances where you are using javascript and just want to edit the raw html without interferance from the WYSIWYG editor, you can go into the settings and un-check the box for “Use WYSIWYG Editor?”, and then it will just use a plain text area when you go to edit that content instance.

Most Additional Language Resource Files are Now In a Separate Download

As the number of translations and partial translations of resource files has grown over time, it has added to the size of the download, but more importantly it has increased the amount of time it takes for the ASP.NET compiler to compile the files for the initial request when a site is first started up, or the application pool is recycled such as when deploying an upgrade. Each of those .resx files is compiled by the ASP.NET compiler and over time as we have got so many of them it has become too much and it adds significant time to the initial site startup. So we now have a separate languagepack.zip that has the additional languages. You can copy the language resource files you need from there into your /App_GlobalResources folder. For those upgrading, you may already have a lot of existing resource files in that folder that you don’t need. My advice would be to delete the languages you are not supporting in your site from the /App_GlobalResources folder just before upgrading. Do not delete the English resource files though because those are needed for fallback when other languages have missing keys. The English files are named without a language code like Resource.resx and BlogResources.resx whereas other languages have a language code like Resource.ru.resx and BlogResources.ru.resx for Russian. The main package now only contains the resource files for English and Italian and the other languages are all in the languagepack.zip

WebStore Improvements

The way payment gateways was plugged in in the past for card processing gateways like Authorize.NET and PlugNPay was kind of a mess, it is now a true provider model so that new gateways can be implemented in separate assemblies (dlls) and plugged in by configuration, so it should be easier now to implement new gateways. I’ll be documenting this soon. It doesn’t affect PayPal or Google Checkout because those are special cases where we don’t process the credit card payment on our own site, it happens at the PayPal or Google Checkout site and those payment gateways can be used in addition to a standard card processing gateway where the user doesn’t leave your site to complete the transaction. The new provider model is only for standard card processing gateways.

There was also some redundancy with the old way we implemented Authorize.NET and PlugNPay, they each had their own separate log for logging transactions which was redundant and would have only become worse if we kept adding new logs for each new payment gateway, so we now have a consolidated payment log used by all standard card processing gateways (ie ones that implement IPaymentGateway provider). The upgrade script will migrate existing data form the old Authorize.NET and PlugNPay Logs. Since our add on features Web Invoice Pro and Event Calendar Pro also use the payment gateways, we have corresponding upgrades of those features and you should upgrade them at the same time as you upgrade mojoPortal to make sure that going forward new transactions are being logged in the new common payment log (Note that this really only matters if you’ve been using Authorize.NET in those add on products).

In WebStore it is now also possible to move an order from one site user to another one on the AdminOrderDetail.aspx page. I’ve needed to do this in the past when the user who completed the order no longer works at the company that purchased a product so a different user needed to be able to get the product updates.

Miscellaneous

The Feed Manager now supports relative urls for use with internal feeds using the ~/ syntax to represent the site root.

When using Folder based child sites with related sites mode, closing the master site now closes all the sites

FCKEditor has been removed and is no longer included with mojoPortal because it is no longer kept up to date and doesn’t work well with newer browsers. CKeditor is the new generation of FCKeditor and we’ve included both of them for quite a while. Note however, that if you are upgrading from an older version, the FCKeditor files are still on disk from previouse installation, we are not deleting files during upgrades, so if you really wanted to keep using FCKeditor you could re-enable it by using a custom configuration file to plug in FCKeditor. But, my advice is don't use it, it has problems in newer browsers like IE 9 anyway and CKEditor is a better product.

Fixed a bug where the Janrain Engage sign in system wasn’t working correctly when using multiple sites with related sites mode, we’ve also updated to the newer Janrain Engage widget code.

Fixed some issues with theme caching where it wasn’t always loading the correct theme.skin file when using page specific skins.

Fixed a problem where the SiteRoot was being cached as a property on SiteSettings and then used in various places to build urls. The problem was that if you were accessing the site with more than one url such as using a domain name and by ip address, the cached site root might not be correct for the context of a specific request. This property has now been deprecated and all places in mojoPortal where we were using it are now using SiteUtils.GetNavigationSiteRoot() to make sure the site root is calculated in the context of the current request.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2381-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2381-released https://www.mojoportal.com/mojoportal-2381-released Thu, 26 Jan 2012 17:29:00 GMT
mojoPortal 2.3.7.6 Released I'm happy to announce the release of mojoPortal 2.3.7.6, available now on our download page.

The major highlight of this release are the new Audio Player and Video Player features contributed by our newest team member Kerry Doan.

Audio and Video Players

The New Audio and Video features based on jPlayer are also an exciting addition to the built-in feature set.

Audio and Video Players

Huge thanks to Kerry Doan for his hard work on these features.

There are also several smaller improvements and bug fixes for things reported in the forums since the last release, and there is a change in behavior when using SSL. We no longer redirect out of SSL on pages marked as not requiring it for reasons discussed in the new document Use SSL.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2376-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2376-released https://www.mojoportal.com/mojoportal-2376-released Wed, 28 Dec 2011 13:16:00 GMT
mojoPortal 2.3.7.5 Released I’m happy to announce the release of mojoPortal 2.3.7.5, available now on our download page.

This is a significant release with lots of new goodness.

Improvements to Windows Live Writer support. A completely new implementation of metaweblog api with new support for Creating and Editing CMS pages in addition to Blog posts.

windows live writer

Support for Windows Azure AppFabric cache and new guidance for hosting mojoPortal on Windows Azure.

New option to close a site so that it can only be browsed by Administrators and Content Administrators.

New button in Add/Edit Pages (aka PageTree.aspx) to resort child pages of the selected page alphabetically.

Use of WYSIWYG editors CKeditor and TinyMCE is now possible in IOS 5 devices.

Upgraded to TinyMCE 3.4.7

AllowPersistentLogin setting has been promoted from a Web.config setting to a site setting.

Default roles for new root level pages has been promoted from a web,.config setting to site settings.

If you were using the Web.config settings for the 2 items above you will need to go into site settings and specify the settings there since the web.config settings are no longer used.

New permission for Roles That Are Allowed To Set Page Level Skins (when page level skins are enabled).

New feature to reset a guid parameter used in the URL for the csshandler, by resetting the guid you can force all users to re-load the CSS for the skin.

In permission settings, Administrators and Content Administrators roles are filtered out of role lists for permissions where they don't need to be added because they have intrinsic permission as special system roles.

File Dialog used in the editors now shows meaningful messages when a user's file system quotas prevent upload

Updated to jQuery 1.7.1 and jQueryUI 1.8.16 when using the Google

CDN

WebStore Improvements

There is a new provider model for OrderCompletedEventHandlers that allows developers to plugin custom code that will be executed after payment clears on an order.

It is now possible to checkout in webstore with a zero

balance

ForumImprovements

New setting to copy the posting user on the notifications.
New setting to suppress email notifications when a user edits an existing post.
New setting to limit the timespan in which a user may edit his post.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2375-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2375-released https://www.mojoportal.com/mojoportal-2375-released Thu, 01 Dec 2011 14:34:00 GMT
mojoPortal 2.3.7.0 Released I'm happy to announce the release of mojoPortal 2.3.7.0, available now on our download page.

Since the last release, the focus of our work has been on improved web farm support. We've completed abstraction layers for the file system and for caching, and we've implemented a log4net appender that can log to the database. We are still working on various providers that can plug into the new abstraction layers and other improvements, so our work on web farm support will continue into October. We've almost completed our support and guidance documentation for Windows Azure, we have some of the web farm documentation online now, but we will be completing that work and making an announcement about it soon. After that we will turn our efforts to more traditional types of web farms using the Amazon EC2 cloud, and the Microsoft Web Farm Framework.

So, for now much of the web farm improvements are just architectural changes that won't be things users will notice. Other highlights of this release include:

  • Implemented an option to log errors and informational logging to the database instead of the file system
  • Upgraded to TinyMCE 3.4.5
  • Upgraded to CKeditor 3.6.2
  • Upgraded to the latest AjaxControlToolkit
  • Updated to latest version of Recaptcha library
  • Updated the google maps to use the new v3 API, thanks to Jamie Eubanks for his work on this
  • Added Whois ip address lookup dialog in most places where ip addresses are displayed

Updated Add On Products

The update to AjaxControlToolkit required us to also make new releases of Event Calendar Pro, Form Wizard Pro, and Web Invoice Pro, because these features use the AjaxControlToolkit and they need to use the same version of the AjaxControlToolit as mojoPortal. So you'll need to upgrade these products at the same time as you upgrade mojoPortal. 

Event Calendar Pro 3.4.0.2 includes new links to allow users to easily add events to Google Calendar, Yahoo Calendar, Windows Live Calendar, and Outlook/iCalendar. We also added a new text area that can be shown during event registration to capture additional information from users who register or purchase tickets for events. You can provide instructions that will be shown above the text area to let your users know what additional information is needed. As mentioned above this version was also updated to use the latest version of AjaxControlToolkit to keep it compatible with the latest version of mojoPortal.

Form Wizard Pro 2.6.0.3 includes a minor improvement to allow file uploads to be configured as optional instead of required. It also was updated to use the latest AjaxControlToolkit for compatibility with mojoPortal 2.3.7.0.

 

Vote mojoPortal for the 2011 Open Source Awards

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2370-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2370-released https://www.mojoportal.com/mojoportal-2370-released Thu, 29 Sep 2011 17:41:00 GMT
mojoPortal 2.3.6.6 Released I'm happy to announce the release of mojoPortal 2.3.6.6, available now on our download page.

I know it might seem unusual to make a new release on a Sunday on a holiday weekend, but it just worked out that the new release was ready today and since it has some updates that community members have been waiting for I thought I should make it available as soon as possible.

What's New?

  • Added a new prompt in edit screens to prevent accidently leaving the page if there are unsaved changes in the editor. I know I have experienced occasions myself where I was working on a long blog post or article, and by some strange combination of keystrokes it canceled out of the editor and jumped back a page and lost my work. The new prompt will prevent that.
  • Made it possible to browse and preview skins from page settings and/or user profile when per page skins or per user skins are enabled.
  • Users in roles that can manage skins can also have access to user specific skins even if it is not enabled for users in general. This makes it possible to work on skin changes or new skins more easily before assigning the skin to the site in general.
  • Added support for the new google analytics feature that allows Tracking Page Load time, this is now enabled by default. Once you start capturing this data it is available in a new Site Speed report in the new version of Google Analytics.
  • Our homemade tweet this link stopped working recently after some changes at twitter, so we updated to the official widget. This works much nicer now because twitter now has their own URL shortening service to automatically shorten URLs when using their widget.
  • Upgrade to CKEditor 3.6
  • Added unit sales to some commerce reports.
  • Miscellaneous minor bug fixes for things reported in the forums since the last release.
  • Updated translations thanks to our awesome translation team!

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2366-released joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2366-released https://www.mojoportal.com/mojoportal-2366-released Sun, 29 May 2011 14:41:00 GMT
Form Wizard Pro 2.6 Released I'm happy to announce the release of Form Wizard Pro 2.6, available now in the mojoPortal Store.

form wizard pro

This is a significant upgrade with major new features. For existing customers who have already purchased Form Wizard Pro, it is a free upgrade. You can always get the latest version of purchased products by signing in to the site using the account that you used to purchase, then click the "My Account" link at the top of the page and then click "Order History", from there you can download the latest version of any add on products you have purchased.

Form Wizard Pro is the most popular add on product for mojoPortal CMS (requires mojoPortal 2.3.6.4 or higher) and a great addition to any site. With Form Wizard Pro you can easily create custom forms and surveys on your site and this release adds a number of the most requested new features including:

  • Support for File Uploads, you can configure it to allow up to 4 files to be uploaded as part of the form submission. You can even have the files included as attachments in the notification email.
  • A new plugin system that allows developers to implement custom Form Submission Handlers to do additional custom processing on the submitted data.
  • Support for per question custom CSS classes to make it even easier to style your forms.
  • A new setting that allows you to leave the details out of the notification email in case sensitive data is being submitted that you would rather not include in email.
  • A new setting that allows leaving out unanswered questions when including the form details in the notification. This can be helpful in saving paper if you are printing the email notifications and have long forms with lots of optional questions.

You can also try Form Wizard Pro on our demo site to see how easy it really is. If you are getting a lot of value out of the free mojoPortal features why not purchase Form Wizard Pro for your site, it will make your site even better and the sales revenue supports the ongoing development of mojoPortal.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/form-wizard-pro-26-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/form-wizard-pro-26-released.aspx https://www.mojoportal.com/form-wizard-pro-26-released.aspx Thu, 12 May 2011 15:59:00 GMT
mojoPortal 2.3.6.5 Released I'm happy to announce the release of mojoPortal 2.3.6.5, available now on our download page.

This is not a major update but it does have some things to make it worth upgrading.

Editor Updates

Both CKeditor and TinyMCE put out new releases with bug fixes and updates, many of which are related to IE 9 and Firefox 4.
Upgrade to CKEditor 3.5.3
Upgrade to TinyMCE 3.4.2

There was an error happening under .NET 4 Medium Trust hosting related to our older FCKeditor. Nothing had changed in this editor for a long time so I'm surprised that we had never seen this error until recently. It makes me wonder if there was some behavior change that came with a recent Windows Update. In any case, the error is fixed in this release.

jQuery Updates

We had a bug report about our jQueryUI Date Picker where it was not formatting dates correctly for en-NZ. It turned out that support for en-NZ was only added to the jQueryUI Date Picker as of version 1.8.9, so the solution was to upgrade to a newer version. However, we had been holding off on upgrading jQueryUI because we knew there was an issue in the Time Picker extension that we were using where it did not work with newer versions of jQueryUI than 1.8.6. Fortunately, we found another Time Picker extension for the jQueryUI date picker and it seems to work with any version of jQueryUI.

So we updated to jQuery 1.5.2 and jQueryUI 1.8.11. Note that upgrading is really just changing 2 config settings since we load jQuery and jQueryUI from the google CDN. So if you are using any custom jQuery plugins and they don't work with the newer versions of jQuery or jQueryUI, you could override the version from user.config to keep using an older compatible version of jQuery or jQueryUI.

date time picker screen shot

Support for Newsletter Throttling

It had been requested a while back to have a way to throttle the sending of the newsletter. Blasting out an email to a lot of users in a short time can make it look like spam to some receiving mail servers, especially if you are using a consumer email account or you don't have a well known reputable mail server. So it can be beneficial to limit the rate at which you send the email messages to your list. The mojoPortal newsletter subscriber list is getting pretty large and we had some trouble with our February newsletter due to sending the emails too fast. I got a few non-delivery notifications from @msn.com and others saying that we sent too many in a short period of time. So it was a priority to implement this before we sent the March newsletter. It really helped as we had no non-deliveries related to sending them too fast. 

There is a new setting that you can override in user.config:

<!-- you can throttle the sending of the newsletter 0 = unlimited/no throttling -->

<add key="NewsletterMaxToSendPerMinute" value="0" />

If you enter a number greater than zero it will sleep for one minute after each round of sending that many. So if you set it to 10, it will blast out 10 in a row and then sleep for a minute and the repeat until it sends to each subscriber in the list. I set it to 10 before sending the March mojoPortal newsletter. Of course the larger the list the longer it will take but you can calculate approximately how long it will take at any given rate and you can use a higher setting to send them faster if you need to. 

Miscellaneous

Support for custom regex and error message for email validation on the registration page, you can override our defaults with these settings:

 <add key="CustomEmailRegex" value=""/>

 <add key="CustomEmailRegexWarning" value=""/>

Support for more page settings when creating initial content from config files

Support for configuring the Thread UICulture separately from the Culture. The UICulture is only used for choosing the resource files, whereas the Culture is used for formatting numbers, currency, and dates.

This example uses German for the numbers and date formats and uses English for the resource files.

<add key="UseCultureOverride" value="true" />

<add key="site1culture" value="de-CH" />

<add key="site1uiculture" value="en-US" />

Fixed bug in the SQL CE data layer that prevented the Newsletter feature from working in our package for SQL CE.

Lots of updated translations thanks to our Translation Team

Other miscellaneous little tweaks and fixes for things reported in the forums since the last release.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2365-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2365-released.aspx https://www.mojoportal.com/mojoportal-2365-released.aspx Fri, 15 Apr 2011 17:52:00 GMT
mojoPortal 2.3.6.4 Released I'm happy to announce the release of mojoPortal 2.3.6.4, available now on our download page.

Improved Usability for Multi Site Administration

There is a new site list page, that provides a link for creating new sites and a pageable list of existing sites. If you want to show the site id in the list you can add this to user.config
<add key="ShowSiteIdInSiteList" value="true" />

site list screen shot

Improved Usability for Managing Large Site Hierarchies

When creating or editing pages there has always been a dropdown list for selecting the parent page or you could set it to root for a root level page. When sites have a large number of pages this dropdown list would become unwieldy, so we implemented a new dialog page for selecting the parent page, the dialog pages uses a treeview with populate on demand to drill down to the page you want to use as the parent page so it can better handle large numbers of pages.
The dropdown list is easier to use for sites that don't have a huge amount of pages so we made it continue to use the dropdown if the number of pages in the site is less than 150. You can configure the setting if needed or desired. For example if you prefer to always use the dialog page then you could set it to 0.
<add key="TooManyPagesForDropdownList" value="150" />

New Child Pages Site Map Module

Pages have had a setting for a long time allowing you to show the child pages site map as a menu. This can be very useful especially for pages that are just used for grouping of child pages.
But the child page site map built into the page has some limitations, for example if you want to have content on the page in addition to the child page site map, it could either go above or below the child page site map depending on the position of the control in layout.master


<portal:ChildPageMenu ID="ChildPageMenu" runat="server"></portal:ChildPageMenu>

so it was an either or kind of thing you could not do it differently on differnet pages unless you used a different skin.

So, Joe Davis implemented a new Feature Module for Child Page Site Map that you can put on a page just like any other content feature and this allows you to position it any way you like, even in side columns

Support for Slide Show Pager in Html Content Feature

Again, thanks to Joe Davis who implemented some default css and other changes needed to support the pager for the jQuery Cycle plugin that can be used in the Html Content feature for making slide shows out of html elements.

Image Gallery Improvement

Changed to use colorbox, a nicer lightbox effect instead of the previously used greybox thanks to Jamie Eubanks.

List/Links Improvement

It is now possible to browse in order to link to pages or files within the site, similar to the link browser that was already implemented in the wysiwyg editor, the new link browser populates the url textbox in the List/Links feature.

Support for Roles That Can Manage Users

allows delegating user management to users without making them full administrators.

Registration Page Improvements

Previously we could make custom user profile properties that were required for registration to appear on the registration page, but there was not a way to show optional custom profile properties on the registration page. It is now possible.

The registration agreement is now per site and has an edit page, previously it came from config files and was global to all sites in an installation.

Improvements to the Initial Content System

The Initial Content System is used to populate the first site during installation and to populate new sites when they are created. We've made changes for better support for configuration of nested pages and also created an interface that can be implemented for populating custom features. I will be updating the documentation for the Initial Content System in the next few days and will update this post with a link once it is completed.

UPDATE 2011-03-31 I've updated the article Configuring Initial Content, and added another article Populating Feature Content.

Improvements for Design/Skinning

It is now possible to import and export skins as .zip files and there is a new permission in Site Settings for "Roles That Can Manage Skins". It is also now possible to edit css files in the browser. While it is probably better to do the main skin development on your local machine, it is possible to edit css files in the browser and it is useful for small css tweaks.

You can disable the ability to upload skins and edit CSS by adding this to user.config:
<add key="AllowEditingSkins" value="false" />

I have it disabled for example on the demo site.

skin manager screen shot

There is a new Page Setting that allows page specific css classes on the body tag as well as a setting for page specific menu css classes.

There is a new class on editor body making it easier when you need to override some of the styles in the editor, you can do it with body.wysiwygeditor {} in CSS.

All of the skins that ship with mojoPortal use h1 for the site name and h2 for headings of feature instances. Some designers prefer for SEO (Search Engine Optimization) reasons to not use a heading at all for the site title and use h1 for the feature instance headings. In the past we had a global config setting that could be used to override the heading:

<add key="ModuleTitleTag" value="h2" />

In the new version, it is possible to edit the setting used for feature instances right from the Feature Instance Settings page (ModuleSettings.aspx). The heading is now stored in the database so it is possible to use different headings on different instances. When new instances are created it defaults to whatever you have for this setting: <add key="ModuleTitleTag" value="h2" />

This is an advanced feature and it is possible to put something incorrect for the heading element, so it is disabled completely by default and even when it is enabled it is limited to users in "Roles That Can Manage Skins". You can enable it by adding this to your user.config:

<add key="EnableEditingModuleTitleElement" value="true" />

Since this is a new data filed used for the heading element, existing data will be updated to have h2 which is the default. However if you were previously using the config setting to force a different heading, for example if you were forcing it to use h1 by using this setting:

<add key="ModuleTitleTag" value="h1" />

then you will need to manually update the existing data by running a sql query like this:

UPDATE mp_Modules
SET HeadElement = 'h1'

Then going forward it will use the config setting for the default on new instances.

We also did a lot of work to make menu and treeview rendering more flexible. It is now possible to control which CSS classes are rendered on the menu ul, li and a elements. In the coming days I will be writing documentation about the new settings available and how to use them. I will update this post with links as I progress with the documentation.

The extra-skins.zip available on the download page also has updated skins for Artisteer 3.0 beta, as well as a number of skins contributed by community member Hennadiy of CMS-Web e-Business Solutions.

As always you should review the sticky thread about important skin changes that you will need to apply to your custom skins after upgrading.

Other Stuff

The friendly urls used in mojoPortal can be problematic for some non-ascii languages, we've had a config setting for a while that could disable it for CMS pages, but it has been requested to also be able to disable it for blog posts. It is now possible to do this from user.config
This setting disables it globally in the blog feature.

<add key="Blog:UseFriendlyUrls" value="false" />

You can also disable it for specific module ids using this pattern, where th number is the module id.

<add key="Blog:UseFriendlyUrls-3" value="false" />

As many of you probably know, javascript wysiwyg (What You See is What You Get) editors don't work in devices such as iPad, iPhone, Android, etc. Historically we have degraded to a plain text area for these devices so at least it is still possible to edit or post in the forums. In this release we integrated MarkItUp textarea editor for use with iPad and smart phones for a little better editing experience than a plain textarea. It is not a wysiwyg editor, it is an editor for html editing, the content in the editor is still raw html but there are convenient toolbar items to help you write the html.

Upgrade to TinyMCE 3.4.1
Upgrade to CKeditor 3.5.2

Many translation updates, thanks to all our translation team members and to the Amanuens service!

Various bug fixes for things reported in the forums since last release.

Corresponding Updates for Add On Products

An Update for NeatUpload is also included and this required us to make corresponding compatibility updates for Form Wizard Pro and Web Invoice Pro. Customer who have purchased these products can get the update from their purchase history under the "My Account" link.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2364-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2364-released.aspx https://www.mojoportal.com/mojoportal-2364-released.aspx Wed, 30 Mar 2011 13:34:00 GMT
New Add On Product - Web Invoice Pro I'm happy to announce the initial release of Web Invoice Pro, available now in the mojoPortal Store.

Web Invoice Pro makes it easy to send invoices by email and let your customers pay the invoice online at your web site running on mojoPortal. It provides support for receiving payments via PayPal, Google Checkout, or Authorize.NET. A great way for freelance web designers and developers or any business to invoice their customers. You can test Web Invoice Pro on demo.mojoportal.com, so you can try it before you buy it, though of course you should only send test invoices to yourself from the demo site and the demo email messagess will have extra text in them to make it clear it came from a demo site.scree shot of editing an invoice

Features at a Glance

  • Attach a PDF Invoice generated from your accounting system and/or just type in the invoice information as part of the email message.
  • Customers can pay the invoice online at your web site using Authorize.NET, PayPal, or Google Checkout.
  • Customers do not need to be registered on your site to pay the invoice, but if they are then they can see their payment history in the user profile.
  • Optional email notification when invoices are paid.
  • Integrated with the mojoPortal Commerce Reports system so you get reporting and charts of your invoice revenue.
  • Free upgrades to new versions of Web Invoice Pro for the life of the product! That's right, buy it once and any updates are free, we will never make you pay an upgrade fee for new versions of Web Invoice Pro!

Get Web Invoice Pro and get paid!

get paid, get web invoice pro

The initial release supports MS SQL or MySql, but I'm considering adding support for other databases if I get feedback requesting it. I've been using this feature myself for invoicing my customers and it meets my needs pretty well right now but I think there will be lots of possibilities to evolve this feature further, and those who purchase it may help shape its future based on their feedback.

If you need a way to invoice your customers and let them pay online I hope you'll give it a try. The sales of these add on products is what sustains and funds the continuous improvements of the mojoPortal project, so it is a good way to get additional features and to support the project.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/new-add-on-product-web-invoice-pro.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/new-add-on-product-web-invoice-pro.aspx https://www.mojoportal.com/new-add-on-product-web-invoice-pro.aspx Thu, 24 Feb 2011 14:19:00 GMT
mojoPortal 2.3.6.2 Released I'm happy to announce the release of mojoPortal 2.3.6.2, available now on our download page.

This is a minor release with just a few bug fixes, the primary purpose of this release is to fix a problem in our Shared Files feature and in our alternate File Manager when running under Medium Trust hosting. In the previous release of version 2.3.6.1 we had changed to strong name signed assemblies for NeatUpload and for the NeatUpload Greybox Progress bar. This strong signed version of NeatUpload allows it to be installed in the GAC (Global Assembly Cache) on the server so it can work in Medium Trust, but there was a bug in the previous release because the NeatUpload.GreyboxProgressBar.dll was not compiled with the AllowPartiallyTrustedCallers attribute so it caused an error under Medium Trust. This release addresses that problem, it just required adding the needed attribute and re-compiling the NeatUpload.GreyboxProgressBar.dll. Since most shared hosting uses Medium Trust we felt it important to get a fix out for this quickly.

Fixed Bugs

  • Fix error under Medium Trust in Shared Files and in the Alternate File Manager
  • Fix bug in SQL CE data layer when creating new sites
  • Fix bug where file manager did not overwrite existing files
  • Fix redirect bug in Search Input that could happen on blog detail pages
  • Fix bug in blog when using google maps (this bug was introduced in version 2.3.6.1 when we added an option to use Bing maps in the blog)

Other Stuff

  • Upgrade from CKeditor 3.5 to 3.5.1
  • Updated Italian resources from Diego Mora
  • Updated Persian resources from Asad Samarian
  • Updated Portuguese (Brazil) resources from Fabio Mastaler
  • Updated French resources from Yves Jadin
  • Updated German resources from Jan Aengenvoort
  • Updated Spanish resources from German Barbosa
  • New partial Arabic translation from Sameer Alomari

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2362-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2362-released.aspx https://www.mojoportal.com/mojoportal-2362-released.aspx Mon, 07 Feb 2011 19:07:00 GMT
mojoPortal 2.3.6.1 Released I'm happy to announce the release of mojoPortal 2.3.6.1, available now on our download page. We will submit this release to the Web App Gallery next week after we've had a chance to get any feedback from our early adopters.

New Security Options

  • It is now possible to require approval of new users before they can sign in, a setting in Site Settings enables it and you can specify email addresses to receive notification of new users that need approval, and a new button will appear on the member list page to find users not approved yet if you enable this. This is not a recommended configuration if you are doing eCommerce since it creates more barriers to completing a purchase if the user must wait for approval before he can sign in.
  • It is now possible to require any user to change their password from a setting in user management.
  • From Site Settings, you can now configure it to require a user to change their password after password recovery or reset.
  • There is now a custom error message you can configure in site settings if you are using a regular expression to validate password rules, you can provide an error message that explains the rules.

We also made the MS SQL packages of mojoPortal pre-configured for Medium Trust by default since this is the most common installation issue that people encounter. If you are hosted in Full Trust you can use the Web.fulltrust.config file.

Easier Content Re-Use

There is a new way to mark re-usable content as global content, which makes it available for page editors to add existing content to their pages. Joe Davis of i7MEDIA has made a nice video tutorial showing how to use this new feature, see the Global Content Section on this page.

Blog Improvements

  • Someone asked for the ability to not create a 301 redirect when a post is renamed and the URL changes. By default, we believe this behavior is what should happen to automatically help with SEO when a URL changes, but if you don't want that behavior you can turn it off by adding this to your user.config file: 
    <add key="Blog:Create301OnPostRename" value="false" />
  • It is now possible to use Bing Maps in the blog instead of Google Maps.
  • There have been settings in the blog for a while to allow showing the right and left column content from the main blog page also on the blog post pages. Recently someone asked to be able to show upper and lower content when using skins that have 5 content panes, so we added these Web.config settings that you could add to user.config:
    <add key="Blog:ShowTopContent" value="true" />
    <add key="Blog:ShowBottomContent" value="true" />
  • Improved Feedburner integration. When using Feedburner, we now redirect to the FeedBurner feed instead of direct linking so that you can keep users subscribed to your original blog feed and not lose subscribers if you later decide to stop using Feedburner. See updated documentation Using Feedburner with your Blog.

Miscellaneous Little Improvements

  • There is a new setting in Page Settings that allows you to control if pages appear in the child pages site map separately from if they appear in the menu
  • added config setting to allow using a custom registration page URL
  • added config option to not re-suggest URLs when renaming existing pages
  • made it possible to exclude HTML content instances from search index for landing pages that one doesn't want to come up in search, this is in the feature instance settings for Html Content
  • when moving items in pagelayout.aspx keep the item selected
  • make it possible to move pages to the top or bottom of their page tree node in PageTree.aspx
  • revamp of PageLayout.aspx thanks to Joe Davis - it required additional CSS so skins were all updated as well, see notes in this sticky thread for new CSS you need in your skin
  • CSS and markup improvements in WebStore - thanks to Joe Davis
  • when using excerpts in the feed manager make it possible to open the link in a new window
  • added an instance setting in Image Gallery to control the background color used when resizing images
  • update to a strong name signed version of NeatUpload so it can be installed in the GAC to make it work in Medium Trust hosting
  • upgrade to CKEditor 3.5
  • refactor system content templates and add new 2 column over 1 template from Jamie Eubanks
  • make it possible to specify a different site map data source id for SiteMenu control
  • when not combining CSS make URLs relative
  • updated Italian resources from Diego Mora
  • updated Persian resources from Asad Samarian
  • updated German resources from Jan Aengenvoort

Bug Fixes

  • restore possibility to edit HTML content instances that are loaded by modulewrapper
  • make IE specific CSS and favicon respect page specific skins
  • fix a bug in blog RSS when using folder based child sites it was incorrectly resolving URLs
  • fix bug where the smiley base path was not resolving correctly if running in a virtual directory instead of root
  • fix a bug in pgsql data layer for survey
  • fix a bug in pgsql data layer for content catalog paging
  • fix bug in sqlce data layer when adding features to child sites
  • fix a bug in timepicker - thanks, David Dean
  • fix an issue where export to CSV or word was not working correctly in IE 8 when SSL is enabled
  • fix a bug in webstore - add abstract to offer edit page
  • fix a bug in the forum where external images were handled differently on edit page than thread page
  • fix bug - don't show host name tab in site settings until after new site is created

As always, it is a good idea to backup your site and database before upgrading.

Corresponding Update For Form Wizard Pro

Users who have purchased  Form Wizard Pro should upgrade at the same time to the new version of Form Wizard Pro 0.0.2.3, released today for compatibility with mojoPortal 2.3.6.1. This was needed because we updated to a new version of NeatUpload and Form Wizard Pro must use the same version of NeatUpload as mojoPortal or it will result in errors.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2361-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2361-released.aspx https://www.mojoportal.com/mojoportal-2361-released.aspx Thu, 27 Jan 2011 16:59:00 GMT
mojoPortal 2.3.5.8 Released I'm happy to announce the release of mojoPortal 2.3.5.8, available now on our download page.

Whats' New?

  • A new Flickr Gallery feature
  • A new User Sign In Module that can be put on a content page such as the home page
  • A new scroller setting in the Feed Manager to enable a scrolling news ticker
  • Some improvements to the List/Links feature including a new introduction that can be used to place html above the list and a new option for non-ajax paging
  • Thanks to Jamie Eubanks for implementing a way to use both database authentication and LDAP, there is a new config setting for fallback to LDAP if database authentication fails. This allows scenarios where your internal users such as content authors can login with their LDAP credentials while still allowing public users to register and sign in with database credentials.
  • A new option to disable CSS caching while designing by clicking a button that sets a cookie to disable it. The previous way of of disabling it from config still works but this new way may be more convenient. You will find the button under Administration > Advanced Tools > Designer Tools
  • Upgraded to CKeditor 3.4.2
  • Updated Italian resources thanks to Diego Mora
  • Bug fixes for things reported in the forums since the previous release including several fixes in the SQL CE data layer and the Firebird data layer.

flickr gallery screen shot

sign in module screen shot

 

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2358-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2358-released.aspx https://www.mojoportal.com/mojoportal-2358-released.aspx Tue, 14 Dec 2010 14:45:00 GMT
mojoPortal 2.3.5.5 Released I'm happy to announce the release of mojoPortal 2.3.5.5, available now on our download page.

A few weeks ago I was on the verge of releasing my new add on product In Site Analytics Pro, but when I tested the package I discovered that the graphs did not work in Medium Trust hosting. It turned out to be a problem with ZedGraph that was easily fixed by re-compiling it with the AllowPartialyTrustedCallers attribute set to true. However, since both mojoPortal and In Site Analytics use ZedGraph, they really need to both be compile against the same version of ZedGraph. There are ways around such issues with configuration to map assembly versions, but to keep things simple I decided to wait and release a new version of mojoPortal with the new version of ZedGraph before releasing In Site Analytics Pro. So I went through our list of to do items and things that have been requested by the community to find a few low hanging fruit items that could be finished quickly to make the mojoPortal upgrade more appealing. I will follow up in the next few days and make the first release In Site Analytics Pro, but it will require mojoPortal 2.3.5.5 or newer.

What's New?

In recent versions, we added a Facebook like button and a Tweet This button in the blog, in this release we made it also possible to have the Facebook like button and/or the Tweet This button in the RSS feed so that users who subscribe to the feed using Google Reader or other Feed Readers can also Like or Tweet your posts. We also added logic so that if a blog post is saved with a blank url, the url is generated by server side code.

Thanks to a good suggestion from Tim Cadenbach, we added some nice ajaxy transitions for the jQuery UI tabs and Accordion used in administrative features and elsewhere.

Added a setting in Site Settings to require a Captcha on the Registration page.

Added a setting in Site Settings to require users to type their email address twice on the registration page (to avoid typos during registration).

Added a setting in Site Settings to show a Password Strength Meter on the registration page to encourage strong passwords.

Added a setting in Site Settings to require a Captcha on the login page, not something I generally recommend doing but if your security requirements call for this it is now possible.

Added support for a new token in newsletters for #viewaswebpage# which is replaced with a link to the web page version of the newsletter.

There was a usability issue previously with the forum notification emails where an opt out link was shown for both the forum as a whole and for just the thread regardless of whether the user was really subscribed to both the forum and the thread. Now we have different notification templates for each scenario so that only opt out links are shown for notifications the user is actually subscribed to.

Added an automatic machine key generator to the Security Advisor page to make it easier to create a custom machine key.

screen shot of machine key generator

Bug Fixes

  • Fixed issue where ZedGraph was not working in Medium Trust
  • Fixed issue where multi file selection for bulk upload did not work in IE after a recent Flash update
  • Fixed Member list paging bug in pgsql data layer

Don't forget that we are moving this site to a new server this evening so there may be some down time during the move.

If you haven't already, please vote for mojoPortal in the 2010 Open Source CMS Awards

 

Vote For mojoPortal in the 2010 CMS Awards

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2355-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2355-released.aspx https://www.mojoportal.com/mojoportal-2355-released.aspx Fri, 29 Oct 2010 13:41:00 GMT
mojoPortal 2.3.5.4 Released mojoPortal 2.3.5.4 is now available on our download page.

This is a compatibility update for the changes in ASP.NET that resulted from the security patch recently released by Microsoft and now available from Windows Update. I blogged about this issue previously and provided a workaround for the compatibility issue, this new release eliminates the need for the workaround.

Before the security update, there was a possibility for a System.Security.Cryptography.CryptographicException when decrypting the role cookie if the machine key had changed and the user was already authenticated. We already had error handling for this error, but after the security update the behavior changed and it would throw a more generic HttpException there which we were not handling, and this would cause users who were previously authenticated to experience an error until they cleared the cookie. Even without a machine key change, the same error could happen if a user was authenticated before the windows update was applied, the error could happen for that user after the update was applied (because there were also changes to how cookies are encrypted in the security update) In this release we have added handling for the new more generic exception so the cookie will be reset if this error occurs and the user will not experience an error on your site.

We've also removed the previous workaround for the ASP.NET security issue since it is not needed after the update is applied.

Other Changes

Thanks to Steve Railsback of Colorado State University we have some new CSS that can be used to add images to the Administration menu. It uses some Crystal Icons which are licensed under LGPL. I've updated many of the included skins that ship with mojoPortal to use the new icons, you can easily add them to your skin by adding this to your style.config file:

<file cssvpath="/Data/style/adminmenu/style.css" imagebasevpath="/Data/style/adminmenu/">none</file>

It will transform the admin menu from a plain looking vertical list to a list of images with hover effects like this:

screen shot of admin icons

This release also has:

  • upgrade to CKeditor 3.4.1
  • upgrade to TinyMCE 3.3.9.2
  • updated Italian resource files thanks to Diego Mora
  • fixed a bug where menu items that were configured as unclickable were still clickable in the breadcrumbs

I'd also like to point out a new article in the skinning documentation written by Steve Land, Using Wireframe Skins. Steve has shared a skin he designed to solve the problem of how to keep your discussions with clients focused on functionality when you need to. It is a very common issue that the customer can easily get side tracked onto colors and other visual aspects which is fine if you are trying to discuss the design but distracting if you are trying to focus the discussion on functionality or other non-design aspects of the site. The wireframe skin can help with this because it is designed to not be distracting and to clearly represent that the design is not what is being shown. Please let Steve know if you find his wireframe skin useful if there is interest he might make more variations.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2354-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2354-released.aspx https://www.mojoportal.com/mojoportal-2354-released.aspx Thu, 07 Oct 2010 13:02:00 GMT
mojoPortal 2.3.5.3 Released mojoPortal 2.3.5.3 is now available on our download page.

This is another security update in follow up to version 2.3.5.2 which we released on Friday afternoon to address 2 mojoPortal specific security issues and it had some initial defense against a more general ASP.NET vulnerability the full details of which were released Friday afternoon at a security conference in Argentina. On Friday night Microsoft released information about the vulnerability and a workaround to help protect sites until Microsoft can provide a fix to the underlying problem. On Saturday morning I updated the post for version 2.3.5.2 with the workaround information.

Over the weekend we continued to review how best to protect mojoPortal and this morning we are releasing mojoPortal 2.3.5.3.

This release has the same fixes provided in version 2.3.5.2, but also has the Microsoft suggested workaround pre-applied. Additionally, we have added a new page in the Administration Menu that can detect a few common configuration issues that affect security and provide links to information about how to correct the configuration. If a serious configuration issue is detected, it shows an alert in the Administration Menu to bring it to your attention.

screen shot of security alert in the administration menu

Note that in a multi site installation this page is only available in the root administrative site.

I strongly advise everyone to upgrade as soon as possible if you haven't already.

There was also a bug introduced in version 2.3.5.2, the fix I had made for the FileService issue had caused an error in the page if using the alternate File Manager (which doesn't use the file service). This issue is fixed in version 2.3.5.3

Note that in this release I also commented out the PageNotFoundHandlerModule in Web.config. I'm not 100% sure this is needed but it is probably better to play it safe. The downside is that users who click bad links will not see the friendly page not found page but the generic error page. 

For more details see also:

UPDATE 2010-09-25

Scott Guthrie of Microsoft just posted about an additional protection that can and should be applied at the server level. If you have control of your own server you should take the additional step of installing UrlScan and configuring a rule as indicated in the article.

http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx

UPDATE 2010-10-04

The fix for the ASP.NET  security bug is now available in windows update. However, the change has a negative side effect for the current release of mojoPortal which may cause authenticated users to experience an error on your site. The error occurs when trying to decrypt the role cookie which was encrypted before the update was applied. Previously, if there was an error decrypting a role cookie, it was throwing a System.Security.Cryptography.CrypotgraphicException (which we were handling so the user would not experience any error). After the windows update it now throws a more generic HttpException which the current release does not handle so the user will see the error page, and the only way to solve it is to clear the cookie. I have added handling for the changed error for the next release of mojoPortal. There is one workaround you can do right away to solve this problem, you can add code to the ErrorPage.aspx in the root to clear the role cookie so that at least the user will only see the error page one time. To do this, edit the ErrorPage.aspx file with a text editor. At the top add this:

<%@ Import Namespace="mojoPortal.Business" %>
<%@ Import Namespace="mojoPortal.Business.WebHelpers" %>
<%@ Import Namespace="mojoPortal.Web" %>

then add this code to the bottom of the Page_Load event:

try
        {
            SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();
            if (siteSettings != null)
            {
                string roleCookieName = SiteUtils.GetRoleCookieName(siteSettings);
                HttpCookie roleCookie = new HttpCookie(roleCookieName, string.Empty);
                roleCookie.HttpOnly = true;
                roleCookie.Path = "/";
                HttpContext.Current.Response.Cookies.Add(roleCookie);
            }
        }
        catch{}

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2353-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2353-released.aspx https://www.mojoportal.com/mojoportal-2353-released.aspx Mon, 20 Sep 2010 14:13:00 GMT
mojoPortal 2.3.5.2 Released mojoPortal 2.3.5.2 is now available on our download page.

This is an important security and bug fix release. All users of mojoPortal are urged to upgrade as soon as possible.

Yesterday a security exploit bulletin identifying 2 security vulnerabilities in mojoPortal 2.3.4.3 was posted on the internet. I was able to verify the issues still exist as of version 2.3.5.1, so I immediately began working on a fix. You can see the information on this page: http://www.exploit-db.com/exploits/15018/ however it might be wise to disable javascript or use the NoScript Firefox plugin when visiting that page just out of respect for what these guys are capable of. When I view the source of the exploit information page it seems to have a lot of javascript. Possibly there is nothing malicious about the page but better to use caution just in case.

Issue #1

The first issue listed in the exploit bulletin was an issue in the file manager service where it was possible to target an admin with a social engineering attack to make him visit a malicious web site specifically targeting his site while he was logged in as admin and this would allow the attacker to run some javascript which would call the file service on the ADMIN user's mojoPortal site using the move command to rename the user.config file. If the attack was successful then the site would stop working the next time the application pool recycles because the user.config file is no longer there so it would not be able to find the connection string. From this it is described as a DOS (Denial of Service) attack because it could take the site offline. By renaming the user.config to something with an unprotected file extension like user.config.aaa the attacker could then download the user.config file and capture the database connection string and potentially other sensitive data that might be stored in user.config.

Mitigating Factors

  • if the site is configured as recommended with only the /App_Data and /Data folders being writable by the web process, this attack would not work because the web process would not be able to rename the user.config file in the root. So the site would have to be mis-configured for this exploit to work.
  • this requires a targeted social attack against a specific admin user and a specific site. The admin user would have to be tricked into visiting a malicious site while logged in as admin in his mojoPortal site for it to work, and the malicious site would have to be coded to target the specific mojoPortal site belonging to the user. Also javascript would have to be enabled. When I visit random sites from internet searches or links people send to me, I use Firefox with NoScript plugin, and I recommend you do the same.
  • if the site is actively monitored the Denial of Service would be corrected quickly

Issue # 2

There was a cross site scripting vulnerability on the public profile page /ProfileView.aspx where we were appending the user name/id into the page title without sanitizing it first. Since we were not enforcing any rules on user name/id by default other than it must be unique, a user could register with a specially crafted string to add an external script to the page. The script could be used for malicious purposes such as stealing the authentication cookie of a user who visited the infected user profile page. The fix for this involved both sanitizing the user name/id before we append it to the title and also adding some validation of user names /id when the user registers to prevent characters that can be used for this kind of exploit such as angle brackets.

Mitigating Factors

  • The user name/id is shown on the member list and is html encoded there so that no exploit is possible. It would be easy to spot a malicious user name/id on the member list and then edit the user profile and lock the account.
  • For several versions now we have had an optional config setting for entering a regular expression for user name/id validation. Sites that were already using this would not be affected since the user would not be able to enter the malicious user name.

Potential Issue # 3

This one was not from this exploit bulletin, and is not specific to mojoPortal, but could potentially affect millions of ASP.NET sites. This article was brought to my attention by a community member, George Birbilis. 
http://visualstudiomagazine.com/articles/2010/09/14/aspnet-security-hack.aspx

The full details of the vulnerability have not been posted yet so I'm not 100% sure whether it will affect mojoPortal or not. I will have to review it once the full details are posted. However from what I gathered so far, it sounds like a real issue that will affect a lot of sites. When I first read the article, I thought it was saying that the hacker would use error messages received from the server to crack the machine key and then they could forge a cookie to get administrative access to a site. If that is true then it is not as bad because by default no error details are sent from the server, there would only be sent the 500 status code which indicates an error. However from reading comments on a few other places it sounds like they do not in fact need any error details but can gradually decipher the machine key through a lot of requests just using the response status codes 200 (success) 404 (not found) and 500 (error). I took steps in this release in case that is how it works to help protect against this attack. Basically what I did was make it always return a 404 if there is a cryptography error. So if the theory is true that they need to see the 500 status code this solution may protect against it. We will have to wait for the full details to know for sure. As I understand it the full details will be released today at a security conference.

UPDATE 2010-09-18

Microsoft has posted a Security Advisory 2416728  on TechNet which says they are investigating this problem to provide an update. They also provide a workaround. The workaround is basically to use a custom error page so that no error details are returned from the server. We already have that by default in mojoPortal where we use error.htm as the default error page. The only difference in their workaround suggestion, is that they use a custom.aspx page to show the generic error instead of plain html, and they use some logic to make a random amount of time for the thread to sleep so that timing of the 500 status code cannot easily be used as an alternate to error details. I recommend that you copy the C# version of the error page they provide into a text file named ErrorPage.aspx, put it in the root of your web site, and edit the web.config as follows (this is also shown in the Microsoft article):

  1. wrap the entire <system.web section inside a location element <location allowOverride="false"></location> - this might cause an error in some installations, if it does just skip it and follow step 2.
  2. find this in your Web.config file:

    <customErrors mode="RemoteOnly" defaultRedirect="Error.htm">
          <error statusCode="413" redirect="~/NeatUpload/Error413.aspx"/>
        </customErrors>

    and change it like this:

    <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPage.aspx">
       
      </customErrors>
     

That should help defend against possible attacks until an update is available from Microsoft. For more details to understand this problem, see http://blogs.technet.com/b/srd/archive/2010/09/17/understanding-the-asp-net-vulnerability.aspx

You should also review the post installation check list to make sure you have configured your site securely.

UPDATE 2010-09-25

Scott Guthrie of Microsoft just posted about an additional protection that can and should be applied at the server level. If you have control of your own server you should take the additional step of installing UrlScan and configuring a rule as indicated in the article.

http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx

UPDATE 2010-10-04

The fix for the ASP.NET  security bug is now available in windows update. However, the change has a negative side effect for the current release of mojoPortal which may cause authenticated users to experience an error on your site. The error occurs when trying to decrypt the role cookie which was encrypted before the update was applied. Previously, if there was an error decrypting a role cookie, it was throwing a System.Security.Cryptography.CrypotgraphicException (which we were handling so the user would not experience any error). After the windows update it now throws a more generic HttpException which the current release does not handle so the user will see the error page, and the only way to solve it is to clear the cookie. I have added handling for the changed error for the next release of mojoPortal. There is one workaround you can do right away to solve this problem, you can add code to the ErrorPage.aspx in the root to clear the role cookie so that at least the user will only see the error page one time. To do this, edit the ErrorPage.aspx file with a text editor. At the top add this:

<%@ Import Namespace="mojoPortal.Business" %>
<%@ Import Namespace="mojoPortal.Business.WebHelpers" %>
<%@ Import Namespace="mojoPortal.Web" %>

then add this code to the bottom of the Page_Load event:

try
        {
            SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();
            if (siteSettings != null)
            {
                string roleCookieName = SiteUtils.GetRoleCookieName(siteSettings);
                HttpCookie roleCookie = new HttpCookie(roleCookieName, string.Empty);
                roleCookie.HttpOnly = true;
                roleCookie.Path = "/";
                HttpContext.Current.Response.Cookies.Add(roleCookie);
            }
        }
        catch{}

 

Other Non Security Bug Fixes

  • fixed a long standing issue in the VirtualPathProvider that we use to serve the theme.skin file from the skin folder. For a long time this problem was not very noticeable because most skins did not have much variation in the theme.skin files, but more recently with our support for Artisteer we use settings in the them.skin file to control how markup is rendered so that we can add the needed markup for Artisteer and also the newer jQueryUI skin. The problem was that whatever skin was used first after the application startup, would have its theme.skin file cached and when pages with other skins were used it was getting the copy from the cache because the cache key was identical. Since the one in the cache may not have the correct settings then it could cause it to render incorrectly. The fix was to make sure they are uniquely cached. Note however that VirtualPathProvider does not work under medium trust in .NET 3.5 (it does work in 4.0), in that case all skins use the theme.skin file from App_Themes/default. For those in full trust or in .NET 4 hosting, you should see things work better in this release when using multiple skins or allowing user skins.
  • fixed an issue in folder based child sites where the canonical url rendered in the head was not correct, it was doubling the folder name.
  • fixed a bug where if using related sites mode, newly created sites were not correctly inheriting security settings from the parent site unitl you saved the parent site again and then it would propagate to the child sites.
  • fixed a bug where if using related sites mode, the admin and edit links were not shown consistently to site editors in child sites
  • fixed a bug where jquery script was disabled if you set the StyleSheetCombiner to not load jQuery UI
  • fixed a bug where the Superfish menu was not rendering the mouse over effects in .NET 4 - Thanks to Benedict for the solution!
  • fixed a bug where if FirstName and LastName were used as custom profile properties it was not loading them correctly
  • fixed a pgsql data layer error in the forums feature
  • fixed a SQL CE data layer error in the image gallery
  • added error handling to the feed manager so that if a feed is missing the required channel element it does not crash the page

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2352-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2352-released.aspx https://www.mojoportal.com/mojoportal-2352-released.aspx Fri, 17 Sep 2010 16:38:00 GMT
mojoPortal 2.3.5.1 Released I'm happy to announce the release of mojoPortal 2.3.5.1, available now on our download page.

What's New?

jQuery UI Skin

This release includes a new skin based on jQuery UI, as described in my previous post, there is also a theme picker for choosing the jQuery UI theme. There are a bunch of pre-defined themes and you can roll your own with the jQueryUI theme roller, so this skin is like many skins in one.

A number of people have been asking in the forums about how to make menu items not clickable. Typically people want this when they are using a flyout menu like the jQuery Superfish menu or the horizontal menus used in Artisteer skins. Usually there is a parent page that is just a container for child pages that have the actual articles, and you may wish to make the parent menu item not clickable. If the user clicks it, it is the same as if they mouse over it, it just shows the child items and does not navigate to the page. This is now supported as described in the documentation article Un-clickable Menu Items.

Feature Setting Groups

This is something I've been meaning to do for a long time, when a feature has a lot of settings (like the blog for example), the settings page could become very daunting just because there are so many settings. By adding groups, we can organize the settings into logical groups that make it much easier for the user to digest because they can view one group at a time.

feature setting groups

A Few Blog Improvements

As the screen shot shows, there are some new settings for the blog. You can now add extra content into the blog side bar in 2 locations. This is suitable for adding a blog roll or an advertisement or other content you would like to add to the sidebar of the blog.

There is also a new Tweet This link available in the blog, located in the Social Settings.

Limiting Available Features by Roles

This is another popular request in the forums, many users have asked about being able to filter the list of available features by roles. This is now possible from Administration > Advanced Tools > Feature Configuration, you will see a new link for permissions next to each feature and you can set roles allowed to use the feature. Note that it only controls what is available in the list when creating new content, it does not change a user's permissions on existing instances of a feature.

Other Stuff

  • Upgraded from TinyMCE 3.3.7 to 3.3.8
  • Upgraded from CKeditor 3.3.1 to 3.3.2
  • Upgraded to the latest MySql Connector
  • Updated Italian resources thanks to Diego Mora
  • Updated German resources thanks to Jan Aengenvort
  • the Extra Skins download file has a new skin contributed by Nitin Sharma

Bug Fixes

  • fixed a redirect bug when using the MyPage feature in folder based child sites
  • fixed an issue where the tabs did not work correctly on the user profile and manage users pages in folder based child sites
  • fixed a bug where consuming the aggregate feed from on feed manager into another instance of Feed Manager caused the page to hang
  • fixed a bug where the download link in shared files did not always work correctly in IE 8
  • a few other bug fixes and enhancements based on feedback in the forums and by email

Upgrade Notes

After the previous release, 2 people reported errors upgrading and were not able to upgrade. I believe this issue happens only with SQL 2005 if it does not have all the service paks installed. This is related to changes we made to consolidate the MS SQL layer so it could support SqlAzure. In making the needed changes we made a conscious decision to drop support for SQL 2000, so our MS SQL Data layer is designed to support SQL 2005/2008/SqlAzure, but it turns out that SQL 2005 only works if you have the service paks installed. I was already running SQL 2005 Express with all service paks, so I did not anticipate any issues with SQL 2005, but apparently there are problems if you are not up to date on service paks. As always, you should backup your site and database before upgrading, and if you are using SQL 2005 you should check whether you have the service paks installed before upgrading.

 

Nominate mojoPortal for the 2010 CMS Awards

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2351-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2351-released.aspx https://www.mojoportal.com/mojoportal-2351-released.aspx Thu, 12 Aug 2010 10:57:00 GMT
SQL CE Support for Form Wizard Pro and Event Calendar Pro I'm happy to announce the availability of new packages of Form Wizard Pro and Event Calendar Pro, that include support for SQL CE. Existing customers can download the latest package from their order history under the My Account link after signing in to the site.

Event Calendar Pro

Form Wizard Pro

I've also updated the SQL CE package for mojoPortal on Codeplex to fix a couple of bugs reported recently, and I've created documentation about using SQL CE with mojoPortal. In the near future I will also create documentation to explain how to migrate a mojoPortal installation from SQL CE to SQL Server using WebMatrix.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/sql-ce-support-for-form-wizard-pro-and-event-calendar-pro.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/sql-ce-support-for-form-wizard-pro-and-event-calendar-pro.aspx https://www.mojoportal.com/sql-ce-support-for-form-wizard-pro-and-event-calendar-pro.aspx Fri, 23 Jul 2010 13:55:00 GMT
mojoPortal 2.3.4.8 Released I'm happy to announce the release of mojoPortal 2.3.4.8. 

Data Layer Consolidation

The primary focus of this release is consolidating our support for SqlAzure into our main MS SQL data layer so that we don't need to maintain a separate data layer for SqlAzure. For new installations that use SqlAzure, you should just use the package for MS SQL. If you have an existing installation using SqlAzure, you should follow these steps:

  1. Upgrade using the mojoportal-2-3-4-8-sqlazure-net35-deploymentfiles.zip or mojoportal-2-3-4-8-sqlazure-net40-deploymentfiles.zip depending on whether you are using .NET 3.5 or 4.0
  2. Copy your connection string from the SqlAzureConnectionString to the MSSQLConnectionString
  3. Download mojoportal-2-3-4-8-mssql-net35-deploymentfiles.zip or mojoportal-2-3-4-8-mssql-net40-deploymentfiles.zip again depending on your .NET version.
  4. Extract the files and copy the mojoPortal.Data.dll, mojoPortal.Features.Data.dll, and WebStore.Data.dll from the MS SQL package and replace them in the /bin folder your installation
  5. Going forward we will no longer have separate packages for SqlAzure, so for future upgrades you will just use the MS SQL package

Important - We no longer support MS SQL 2000. Our MS SQL Data layer is compatible with SQL 2005/2008/SqlAzure

As I mentioned in my previous post, we also now have a package for SQL CE. I encourage you to give it a try. It would be really cool if someone out there could do some load testing of mojoPortal using SQL CE and then using MS SQL to get an idea of how well SQL CE can handle traffic. I would not expect it to do as well as MS SQL but I think it might hold up better than one might expect. My guess is it can handle more traffic than the Sqlite version of mojoPortal because Sqlite only supports 1 connection and SQL CE does have a connection pool and supports more connections.

In the near future I will be looking into using WebMatrix which is the tool that can be used to migrate from SQL CE to SQL Server. WebMatrix could also be used for light mojoPortal feature development for those who find Visual Studio to be a little scary. WebMatrix is also a pretty neat tool for trying applications from the Web App Gallery and it includes IIS Express.

New Date Picker

This release also includes a new jQuery DatePicker. You could still use the old one if you like it better by changing the default DataPickerProvider in mojoDatePicker.config in the root of the site.

jquery date time picker

I also added jQuery UI styling to the buttons in most of the included skins (except Artisteer skins since they already have button style). You can enable it in a custom skin from the theme.skin file by adding this:

<portal:mojoButton runat="server" UsejQueryButton="true" />

A Few Bug Fixes

  • fixed a bug where using Live Writer an error would happen when trying to open existing posts
  • fixed a bug in the blog where the rating was not shown even on the detail page if using excerpts
  • fixed a bug in the blog where the default comment allowed days was being ignored
  • fixed a bug in Feed Manager where the aggregate feed link did not work in child sites
  • fixed a few bugs in the Sqlite data layer where the paging logic was not correct

Updated Italian resources from Diego Mora

Updated Dutch translation from Bouke Bisschop

As always, it is a good idea to backup your site and database before upgrading.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2348-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2348-released.aspx https://www.mojoportal.com/mojoportal-2348-released.aspx Fri, 16 Jul 2010 12:38:00 GMT
SQL Server Compact 4.0 and mojoPortal On June 30, 2010, Scott Guthrie blogged New Embedded Database Support with ASP.NET, announcing that SQL CE 4 (SQL Server Compact Edition) would soon be available. It was officially released as a public CTP (Community Technology Preview) on July 7, 2010 with an announcement on the SQL Server Compact Team blog in a post by Ambrish Mishra entitled Introducing SQL Server Compact 4.0, the Next Gen Embedded Database from Microsoft.

This little database is big news for mojoPortal

Today I am happy to announce a preview release of mojoPortal 2.3.4.7 for SQL CE 4 and ASP.NET 4.0. This package has a pre-configured database and can be deployed under Medium Trust with .NET 4 hosting.(*) This means it is easy to deploy and use even on budget shared hosting where Medium Trust security policy is almost always used. You can download the package mojoportal-2-3-4-7-preview-sqlce-net40-deploymentfiles.zip from the bottom of this page on Codeplex. It is an MsDeploy package, so it can be installed by importing it in IIS, or you can just unzip it and install manually.

When installing web applications like mojoPortal, often one of the more challenging installation issues is setting up the database, for non-techies this is the part that people really struggle with, and even people who consider themselves fairly tech savvy can find themselves struggling to get it working unless they have a background in working with databases and understand all the nuances of connection strings and permissions. Using SQL CE 4 eliminates this challenge completely because the database is just a file on disk. There is no database software to install on the server, so it does not depend on the host having it installed, it only requires .NET 4 hosting. Since we ship a database file already populated with initial data, it is basically zero configuration for the database, you don't have to do anything, it just works.

I'm sure some of you are aware that mojoPortal has supported Sqlite for a long time, and it is also a zero configuration, file based database that many people like a lot. However, it has never worked under Medium Trust and if your site traffic starts to grow there is not an easy way to migrate the data to a more robust database.

  SQL CE Sqlite
Zero config deployment yes yes
Backing up the files backs up the database yes yes
Works in Medium Trust yes no
A supported migration path to a more robust database yes to SQL Express/Server/SqlAzure no convenient migration solutions that I know of

 

Now, I'm not yet sure yet how easy the migration of mojoPortal from SQL CE to SQL Server will be. Scott Gu mentioned that they will be shipping migration tools that will make it straight forward to migrate the tables and data from SQL CE to SQL Express, SQL Server or SQL Azure. However, since SQL CE does not support stored procedures and we do use them in the SQL Server data layer for mojoPortal, it means we will also need to make migration scripts available to install the latest stored procedures into the database after migration. So, in theory, the migration process will be to first use the tool that Microsoft will ship to migrate the tables and data, then run the scripts we will make available that contain the stored procedures for a given version of mojoPortal, then you would just deploy the mojoPortal version for SQL Server over your existing mojoPortal for SQL CE installation and set your connection string for the new database. Once the migration tools ship I will verify the process and create documentation with the migration steps.

In summary, I think that the SQL CE package for mojoPortal will make it easy for you to stand up impressive new web sites quickly and easily in budget hosting with the possibility to upscale to a more robust database platform later without too much difficulty. I would say that if you are putting up a site that you are expecting to grow traffic quickly, then you should probably just start out using SQL Express, SQL Server, or SQL Azure. But, how many sites that you put online for your customers really get a lot of traffic? If the answer is not many, then you may find SQL CE is the best choice for many of your projects, reducing costs and time to deployment.

Screen shot of mojoportal system information showing SQL CE

 

Top Secret Early Access! :-D

 
Now you may wonder how I managed to have a version of mojoPortal for SQL CE ready so soon after SQL CE 4 was released. The answer is that I had early access to SQL CE 4.0 and access to a bunch of good folks on the IIS and SQL Server teams to help me with guidance and questions and was also able to give them feedback while they were working on this release.
 
Back in early March I was contacted by Jonathan Hawkins of Microsoft and was invited to an online meeting where they told me what they were planning for SQL CE and why it might be beneficial for mojoPortal to support it, I of course was very excited about it.  At the time the alpha bits of SQL CE 4 were not quite ready but I was provided with good help and work arounds that would enable me to work on support for SQL CE using the 3.5 version so I could get started without waiting. So I went ahead at that time and implemented it for the core mojoPortal features (it took me about a week) and managed to get it working as proof of concept. Once that was done I moved on to work on other things not knowing how long it would be until the alpha bits of SQL CE 4.0 would be ready. Finally on June 2nd I got an email that the alpha bits were available, but I was knee deep in other projects right at the time, so it was around June 27-28 when I finally tried the new bits and verified it worked under Medium Trust. Then when Scott Gu blogged about it on June 30, I realized it was going to be public very soon so I scrambled to complete the SQL CE data layer for the rest of the mojoPortal features (except for WebStore and my Add On Products). It took about 1 week to finish that work and by Friday July 9 I was ready to produce a package but decided to wait until Monday to blog about it.
 
So here we are, it is Monday, and I've uploaded the package on Codeplex, at the bottom of our current release. I've done sanity testing of all the features but not exhaustive testing of every configuration of every feature, so it is possible and perhaps likely there are still a few bugs here and there in the data layer, after all this is our newest data layer and therefore the least tested of all our data layers at this point. That is why I'm calling it a "Preview" release, and I hope you will give it a try and report any problems you may encounter. I will fix them quickly.
 
I'd like to thank all the folks at Microsoft for giving me this opportunity to work closely with them and get early access to the technology, and I especially thank Jonathan Hawkins, Parasuraman Narasimhan, Radhakrishnan Srikanth, Mohammad Imran Siddique, Himadri Sarkar, and Ambrish Mishra for all their help. It has really been a great experience for me getting to work with these guys and do something with mojoPortal that fit well with cutting edge work these guys have done on SQL CE. I really think they have solved one of the long standing problems in ASP.NET web deployment. For low traffic sites or quick prototyping or proof of concept deployment, or just low budget web sites, this is really going to reduce friction and make it easy to put a site up in minutes. 
 

Technical Notes

 
It turned out well that I waited for SQL CE 4 before implementing all the mojoPortal features. When I implemented the core features I only had SQL CE 3.5 to work with so in places where I needed to select a page of data, I was having to use some awkward SQL syntax to make it work, it did work but it was difficult to read and write. One of the coolest new things in SQL CE 4.0 is the new syntax for selecting a page of data like this:
 
SELECT * FROM mp_GeoCountry ORDER BY Name OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
 
It would be great if someday SQL Server supports an easier paging syntax, as it is still awkward to get a page of data efficiently in SQL Server, though it is a little easier than SQL CE 3.5 since SQL Server at least gives us stored procedures which provides a few additional strategies for getting a page of data. Anyway, you can guess I like this new syntax, it is much more convenient. Probably since I've worked with so many open source database platforms in mojoPortal, and have learned the major syntax differences between them, and really most of them have had easier ways to get a page of data than SQL Server for a long time, I'm glad to see something that makes a bit more sense. In a nutshell, MySql, PostgreSql, and Sqlite all support the LIMIT x OFFSET y syntax, Firebird has an interesting twist with SELECT FIRST x SKIP y, and SQL Server has always had the SELECT TOP (x) syntax but no equivalent to OFFSET, and this makes us have to jump through syntax hoops to get any efficient way to grab a page of data. So at the moment, in my view, SQL CE 4 has at least one cool syntax thing better than its big brother SQL Server even if it is not as capable in handling large traffic.
 

The mojoPortal Query Tool can talk to SQL CE

The above screen shot shows that the built in mojoPortal query tool can be used with SQL CE.

No need to install it in the GAC

One of the interesting things to me is that it seems like SQL CE 4 must be all managed code, that is, I think it must be implemented purely in .NET. The reasons I think this is because it seems that the database engine must be completely contained in System.Data.SqlServerCe.dll, and this dll just needs to be in the /bin folder, it doesn't even need to be installed in the GAC (Global Assembly Cache). The main reason why Sqlite doesn't work under Medium Trust is because it does some P/Invoke against a native dll written in C. To be allowed to do that the managed dll for Sqlite would have to be installed in the GAC. Since SQL CE can work without being installed in the GAC, I can guess it does not do any P/Invoke and is all managed code. Someone asked about this in the comments of Scott Gu's post, and while he did not specifically answer it, he did mention in comments that they are looking at enabling use of SQL CE in Silverlight which I think lends more evidence to it being fully managed code. I could be wrong though, possibly there are changes in code access security in .NET 4 that makes it possible to use without installing in the GAC.

The idea of being able to use SQL CE as a client side database in Silverlight is pretty compelling to me, so I'll be keeping my eyes open for future announcements. I had once done a proof of concept where I managed to use Sqlite as a client side database in Silverlight via Google Gears, but it had a few issues because database calls had to be marshalled back and forth from javascript to Silverlight via the Html Bridge. It would be much nicer to be able to use SQL CE directly from Silverlight. That would enable some really interesting client side scenarios.

(*) Actually I think SQL CE 4 could probably be used under 3.5 .NET but not under Medium Trust, it requires .NET 4 to work under Medium Trust, and the mojoPortal package for SQL CE is only going to be available for .NET 4.

Consolidation of Data Layers

At the moment we have a separate data layer for SqlAzure, SQL Server, and SQL CE. Back in March when I first began work on SQL CE support in mojoPortal, I blogged Anyone Still Using SQL 2000?, to guage how many people still use it. Going forward we are dropping support for SQL 2000 and then the MS SQL data layer will be modified to make it compatible with SqlAzure, and then we will eliminate the separate data layer for SqlAzure. I "think" the previous release of mojoPortal 2.3.4.5 was still compatible with SQL 2000, but the latest code in the repository is not compatible because we have changed from ntext to nvarchar(max) which is not supported in SQL 2000. So the next release of mojoPortal for sure will not be compatible with SQL 2000. Going forward we will support SQL 2005/2008/SqlAzure and SQL CE.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/sql-server-compact-40-and-mojoportal.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/sql-server-compact-40-and-mojoportal.aspx https://www.mojoportal.com/sql-server-compact-40-and-mojoportal.aspx Mon, 12 Jul 2010 11:15:00 GMT
mojoPortal 2.3.4.5 Released I'm happy to announce the release of mojoPortal 2.3.4.5, available now from our download page.

What's New

  • New Bing Map Feature
  • New alternate site search features allow you to use Bing or Google for site search in addition to or instead of the internal Lucene search engine
  • Upgraded to the latest version of AjaxControlToolkit
  • Upgraded from TinyMCE .3.6 to 3.3.7
  • Upgraded from CKeditor 3.3 to 3.3.1
  • Added a required checkbox if a registration agreement is used
  • Updated Italian resources from Diego Mora
  • Fixed a bug introduced in version 2.3.4.4 where if you were using excerpts in the blog, the read more link was malformed
  • Fixed a bug introduced in version 2.3.4.4 where the FeedManager page size setting was ignored
  • Fixed some more places where we had not implemented the new TimeZone system and the old hard coded offsets were still being used
  • Fixed a bug where the google 404 enhancement gives a script error in IE, it is now disabled in IE
  • Fixed a bug in the pgsql data layer for the blog that caused an error on viewing blog categories
  • Other minor enhancements and fixes for things reported or requested in the forums since the last release

Bing Map Screen shot

There were also a few additions to CSS in included skins that you will need to add to custom skins, see this sticky thread for details.

Upgrades for Add On Products

Because of the upgrade to the latest version of AjaxControlToolkit, there are also corresponding compatibility updates for Event Calendar Pro and Form Wizard Pro because they must use the same version of AjaxControlToolkit as mojoPortal. Existing customers can download the updates from their purchase history. We have officially changed our upgrade policy, originally the policy was free upgrades for 1 year after purchasing our add on products, but now our policy is free upgrades for the life of the product and this is retro active to all existing customers. If you've never purchased our add on products now is a good time to consider adding them to your site, visit the store to learn more about our add on products for mojoPortal

Online User Group Meeting

Don't forget to sign up for our free online user group meeting coming up this Wednesday June 23, 2010 8 PM Eastern Daylight Time on Yamisee.

mojoportal user group ad

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2345-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2345-released.aspx https://www.mojoportal.com/mojoportal-2345-released.aspx Fri, 18 Jun 2010 15:46:00 GMT
mojoPortal 2.3.4.4 Released I'm happy to announce the release of mojoPortal 2.3.4.4, available now on our download page.

What's New?

  • This is the first release where we have separate release packages for .NET 3.5 and .NET 4.0.
  • New Facebook like button available in the Blog and in the HTML feature. This makes it easy for people to "Like" pages on your site on Facebook.
  • Upgrade from TinyMCE 3.2.7 to 3.3.6
  • Upgrade from CKeditor 3.2.1 to 3.3
  • Upgrade to the latest version of NeatUpload
  • We removed 7 skins from the main release packages to reduce the file size of the main packages and made them available in a separate download extra-skins.zip. Don't worry there are still a lot of skins included in the main packages.
  • Various bug fixes and enhancements for things reported or requested in the forums.

There are also corresponding releases of Form Wizard Pro and Event Calendar Pro. Users who have purchased these add-on products should upgrade them at the same time or right after upgrading mojoPortal.

Form Wizard Pro 0.0.1.7

  • compatibility updates for mojoPortal 2.3.4.4
  • includes a build for both .NET 3.5 and .NET 4.0
  • fixed bug where an incorrect redirect would happen after importing a form definition if the site was running in a virtual directory instead of a root site
  • added option to use regular expression validation of date questions
  • added a setting for a custom CSS class so forms can be styled differently

Event Calendar Pro 0.0.2.8

  • compatibility update for mojoPortal 2.3.4.4
  • includes a build for .NET 3.5 and .NET 4.0

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2344-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2344-released.aspx https://www.mojoportal.com/mojoportal-2344-released.aspx Thu, 03 Jun 2010 18:49:00 GMT
Event Calendar Pro 0.0.2.7 Released I'm happy to announce the release of Event Calendar Pro 0.0.2.7. This is a free upgrade for existing customers, though you should first upgrade to mojoPortal 2.3.4.3. It "probably" works with mojoPortal 2.3.3.9 or higher but has only been tested with mojoPortal 2.3.4.3. Customers who already purchased Event Calendar Pro can download the new version by signing into the site and then click the "My Account" link at the top of the page, and then click the Order History tab.

Whats New?

  • Better support for time zones with automatic adjustment for Daylight Savings when creating future events.
  • It is now possible to accept will pay later ticket orders without configuring any ecommerce provider.
  • There is a new setting to allow ticket purchases/registration without having to register or sign into the site.
  • There is a new recurrence option for Bi-weekly (every 14 days) events.
  • When making recurring events that require registration, it is now possible to use the same begin date for ticket sales/registration for all recurrences.
  • Fixed a bug in the RSS feed where the urls for events were not correct if the site was hosted in a virtual directory sub folder.

Important: Since we removed the previous time zone offset setting and added a new Time Zone setting, after upgrading you should immediately go to the settings for any existing instances of the Event Calendar and set the time zone.

Event Calendar Pro Screen shot

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/event-calendar-pro-0027-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/event-calendar-pro-0027-released.aspx https://www.mojoportal.com/event-calendar-pro-0027-released.aspx Fri, 07 May 2010 17:41:38 GMT
mojoPortal 2.3.4.3 Released I'm happy to announce the release of mojoPortal 2.3.4.3, available now on our download page. This is primarily a minor bug fix release for issues reported in the forums since the last release, but also introduces alternate Web.config files that allow hosting mojoPortal in ASP.NET 4.0.

Hosting in ASP.NET 4.0 and the Plan for Transitioning to 4.0

Although the current release of mojoPortal is compiled for the 3.5 SP1 .NET framework, it is compatible for hosting under .NET 4.0, but requires different Web.config settings. So basically we have 4 different Web.config files

  • Web.config is configured for .NET 3.5 full trust hosting
  • Web.mediumtrust.config is meant for .NET 3.5 medium trust hosting
  • Web.net4.config is for .NET 4 full trust hosting
  • Web.net4.mediumtrust.config is for .NET 4 medium trust hosting

Whichever file you use needs to be named Web.config, so for example to run in .NET 4 medium trust you should rename the Web.config to Web.net35.config and then rename the Web.net4.mediumtrust.config to Web.config

demo.mojoportal.com has been running under .NET 4 for several days now and seems to be working well. My recommendation would be for new installations to use .NET 4 hosting to be future proof. I might hold off a bit before migrating existing installations to .NET 4 but it is time to start thinking about migrating to .NET 4 at some point in the not too distant future.

UPDATE 2010-05-15 Several people have reported problems trying to get mojoPortal working in shared hosting under .NET 4. Therefore I recommend stay with 3.5 hosting until we put out a package compiled for .NET 4.

For developers

In the source code packages and in our svn source code repository, we currently have alternate project and solution files for Visual Studio 2008, but the main projects and solutions have already been converted to Visual Studio 2010. I recommend that everyone begin using Visual Studio 2010 as soon as possible. I will not be keeping the VS 2008 compatible files for long because it is more work to do so. You can also use the free Visual Web Developer Express 2010, so there should be no barrier to moving forward. After eliminating the VS 2008 project and solution files, I will then setup alternate project and solution files for .NET 3.5 and then the main projects and solution can be changed to target .NET 4. Once I do this, we will have to maintain separate release packages for 3.5 and 4.0 .NET and we will have to use conditional compilation to wrap any use of .NET 4 specific features so that we can continue to produce builds for 3.5 .NET. We went through a similar process with the transition from .NET 1.1 to .NET 2.0 back in 2005. it will be more difficult for a while having to manage supporting both 3.5 and 4.0 .NET while beginning to use some of the 4.0 features. We will probably do this for about 1 year and then we will drop the effort to support 3.5 framework. Hopefully this will give most users enough time to migrate to 4.0 .NET hosting.

Miscellaneous

  • Implemented option to allow users to choose which editor they prefer if enabled from site settings
  • Added setting to allow hiding the search box in forums per community request
  • made it possible to use a custom configuration file for the Vertigo Silverlight slideshow used in the Image Gallery and Flickr module, to be documented
  • upgrade from NeatUpload 1.3.22 to 1.3.24
  • updated Italian Translation from Diego Mora
  • added some Codesmith templates for VB.NET in source code package
  • some more refinements of TimeZone handling
  • previously we had added this to the layout.master file of skins to pre-zoom the screen for iPhone: 
    <meta name="viewport" content="width=670, initial-scale=0.45, minimum-scale=0.45"/>
    this has been removed from existing skins and I recommend you remove it from your layout.master if it is there after upgrading. The reason is that it also affects iPad, but we really don't want to pre-zoom the screen in iPad since the screen is much larger, so now we add this meta element from code only when the request is from iPhone, therefore it does not need to be in the layout.master file
  • fixed an issue where the wrong cart could be used if there were more than 1 WebStore in a site
  • other miscellaneous bug fixes for things reported in the forums

I'm still working on the series of developer training videos and you can expect to see more of them in May

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2343-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2343-released.aspx https://www.mojoportal.com/mojoportal-2343-released.aspx Thu, 29 Apr 2010 15:29:21 GMT
mojoPortal 2.3.4.2 Released I'm happy to announce the release of mojoPortal 2.3.4.2, available now on our download page. This is primarily a bug fix release, but also, this release marks the move to Visual Studio 2010.

Bug Fixes

  • Fixed a bug that prevented changing the password format.
  • Reverted from TinyMCE 3.3.2 back to version 3.2.7 due to some bugs in the paste as text and paste from word in the newer version.
  • Reverted from jQuery 1.4.2 back to 1.4.1 due to a minor bug where a script error would happen in IE if the javascript debugger was enabled such as when working in Visual Studio
  • other miscellaneous bug fixes

Miscellaneous

This release will probably be the last one to support MS SQL 2000. Users running on SQL 2000 should plan to upgrade to SQL 2005/2008 soon or use the free Express version of SQL 2008. This will enable us to make the main MS SQL data layer also work for SqlAzure so that we don't have to maintain a separate version just for Sql Azure. The main changes that will be made going forward involve changing from ntext to nvarchar(max) and a few syntax changes in some procedures. ntext is now considered a deprecated data type, it is not supported in Sql Azure. SQL 2000 on the other hand does not support nvarchar(max), thus to move forward we need to be willing to drop support for SQL 2000.

Upgrade from CKeditor 3.2 to 3.2.1

Visual Studio 2010 and .NET 4.0

Yesterday, Microsoft released Visual Studio 2010 and .NET 4.0, bringing us to a transition point similar to when we changed from Visual Studio 2003 to Visual Studio 2005, and then to Visual Studio 2008. For developers like me who spend their day in Visual Studio, it is always exciting to get the new version. Microsoft really delivers great developer tools and there are always a lot of great improvements in new versions of Visual Studio.

With a project such as mojoPortal that is widely deployed we cannot expect everyone to upgrade their servers or hosting immediately to ASP.NET 4. Therefore we will continue targeting .NET 3.5 SP1 for possibly up to a year to give time for ASP.NET 4.0 hosting to become widely available and to allow time for people to plan migrating or upgrading their hosting environments to ASP.NET 4. However, on the developer side we can immediately begin using Visual Studio 2010. Of course, just as in previous Visual Studio upgrades the project and solution files get upgraded and then can no longer be opened in the older version.

Visual Studio Project upgrade wizard screen shot

Things are a lot better this time than in previous upgrades because there is a free version of Visual Web Developer Express, that can be used with mojoPortal, so there is nothing holding anyone back from working with the latest mojoPortal using the latest tools. I have created temporary project and solution files that can still be used in Visual Studio 2008. These are named with -vs2008.sln and can still be opened in VS 2008. However I don't plan to keep them around for more than a month or so at most because it is more work maintaining these solutions and projects. So I recommend get yourself the latest version of Visual Studio or Visual Web Developer Express as soon as you can. It is time to bid a fond farewell to our old friend Visual Studio 2008, it is now officially a legacy tool. Back when Visual Studio 2008 was first released, we had to maintain projects and solutions for Visual Studio 2005 much longer because the free version of Visual Web Developer Express 2008 did not support class library projects until SP1, so we really had no free option available to work with mojoPortal and had to wait for most people to upgrade to VS 2008.

Today is my first day working in Visual Studio 2010, having not tried the betas or release candidate. It definitely feels more modern and smooth than VS 2008. Haven't spent enough time with it yet but so far it seems really nice, I love the ability to peel off a screen and move it to a different monitor!

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2342-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2342-released.aspx https://www.mojoportal.com/mojoportal-2342-released.aspx Tue, 13 Apr 2010 12:19:17 GMT
mojoPortal 2.3.4.1 Released I'm happy to announce the release of mojoPortal 2.3.4.1, available now on our download page.

What's New?

New Time Zone System

Yes, a little late since we just did the whole spring forward thing and moved our clocks forward, but better late than never. I guess the best way to explain the new Time Zone System is to contrast it to the old one. Previously, we had a setting in Web.config for the site default preferred offset from GMT (Greenwich Mean Time) and we had also an offset as a property of the user profile. So for example previously I had my offset set to -5 Eastern Time, because I live in the Eastern US Time Zone and the offset for Eastern US vs GMT is -5 hours. The problem with the old system is that what I just said is only true for part of the year. We just moved into Daylight Savings Time and during this part of the year Eastern US is only GTM -4 not GMT -5. So, with the old system we would have to change these offsets twice a year (possibly more in some time zones). In .NET 3.5, a new TimeZoneInfo class was introduced and this made it possible to keep track of user time zones by a Time Zone Id and then we could create a TimeZoneInfo object and it would be able to give us the correct GMT offset for any time of the year. The Time Zone setting looks much the same as it did before in the user profile page but under the hood it works much nicer. Also, we have a new Site Setting for setting the site time zone so it does not have to be a global setting in Web.config.

After you upgrade you should go to Site Settings and set your preferred Time Zone.

Forum Improvements

It is now possible after a thread or post has been created to edit it and make it a sticky thread or post which moves the sort of the thread or post to the top. It is also possible to lock threads so that no-one can reply to them except the editors. Only users with edit permissions on the page or forums instance can make sticky or locked threads.

We also added a new setting in case you want to link the user's Gravatar to the user profile page instead of to the Gravatar site. The only downside is that users may not discover about Gravatar and therefore less users may sign up for Gravatar and use it on your site.

We also changed the hard coded <img elements for folders in the forums to use CSS to set the images in order to make it possible to skin it more creatively. However, because of this change you will need to make some changes to your existing skins.

Skin Changes

Add these to your style.config file:

<file cssvpath="/ClientScript/greybox/gb_styles.css" imagebasevpath="/ClientScript/greybox/">none</file>
<file cssvpath="/Data/style/forums/style.css" imagebasevpath="/Data/style/forums/">none</file>

Add this to your style.css:

ol.formlist { list-style:none; margin: 0px; }
li.settingrow { list-style:none; }
div.sitemap .AspNet-TreeView-Collapse
{background: url('collapse.gif') 0 0 no-repeat; width: 15px; margin-right: 5px;
  float:left; cursor: pointer; line-height: 15px;}
.AspNet-TreeView-Hide { display:none;}
div.sitemap a.AspNet-TreeView-Expand, div.sitemap a.AspNet-TreeView-Collapse { text-decoration: none; }

you may also want to look at skin notes for previous upgrades in this new sticky thread about skin changes.

There is a new feature setting for most features to allow you to add a custom CSS class name to the wrapper div for feature instances. This allows you to easily style a specific instance of a feature differently than others.

All the YUI tabs have bee replaced with jQueryUI tabs. There are a lot more themes for jQuery UI Tabs than for YUI and this reduces the number of javascipt and CSS files needed. Basically we are standardizing on jQuery UI.

WebStore Improvements

Added paging to the product list. Also added a confirmation email as soon as an order is received, in addition to the one we already had that is sent when the payment has cleared. Sometimes it takes a while for payment processing to complete at PayPal or Google and in those few cases where it takes more than a few minutes, the user might worry whether the order worked or not. So now we send an email right away to let the user know it is being processed, and then when payment clears we send the final confirmation email.

Miscellaneous

  • Update from NeatUpload 1.3.21 to 1.3.22
  • Update from TinyMCE 3.2.7 to 3.3.2
  • Update from CKeditor 3.1 to 3.2
  • Update to jQueryUI from 1.7.2 to 1.8.0
  • Updated Italian resources thanks to Diego Mora
  • Updated Russian resources thanks to Ермоленко А.С. (aka Alexander or SkySandy in the forums)
  • Updated Croatian resources thanks to Slaven Brumec
  • Updated Swedish resources thanks to Bert-Ola Persson
  • fixed localization bug in RPX widget
  • fixed date issues with some feeds in Feed Manager

Also I'm sure the community joins me in congratulating our friend Joe Davis of i7MEDIA on the birth of his daughter Ruthie!

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2341-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2341-released.aspx https://www.mojoportal.com/mojoportal-2341-released.aspx Tue, 30 Mar 2010 21:21:00 GMT
Form Wizard Pro 0.0.1.5 Released I'm happy to announce the first major upgrade for my Form Wizard Pro product

New Features:

  • Support for multi page forms aka surveys
  • You can import and export complete form definitions
  • You can import and export individual questions, so if you make a state list dropdown you don't have to type it again, just export it and then you can import it in a different form to re-use it.
  • Support for additional instruction blocks arranged by drag and drop among the questions
  • Support for regular expression validation
  • and more

This release is a free upgrade for existing customers who bought Form Wizard Pro previously and starts at $99 for new customers. 

Note: This new release requires mojoPortal 2.3.3.6 which was just released a few days ago.

See how easy it is to create custom forms and surveys using mojoPortal and Form Wizard Pro

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/form-wizard-pro-0015-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/form-wizard-pro-0015-released.aspx https://www.mojoportal.com/form-wizard-pro-0015-released.aspx Sat, 06 Feb 2010 17:51:13 GMT
mojoPortal 2.3.3.6 Released I'm happy to announce the release of mojoPortal 2.3.3.6, available now on our download page.

This release fixes a few bugs reported in our forums since the last release, adds a few minor improvements to some features and lots of minor fit and finish improvements based on feedback from our community.

In the previous release I added a hideable toolbar for administration links in most of the included skins, this release I took a queue from Joe Davis and added icons to the toolbar. Also based on community feedback, I made it remember your preference for open/closed across pages. Previously if you closed it and went to a different page it would open again on the new page, now it remembers your preference.

toolbar with icons

 

Contact Form - added a setting for BCC email, added a setting in case you don't want to store messages in the database, added a setting allowing you to use the email address entered by the user as the from address in the form notification.

Shared Files - added a setting for the Default Sort, when shared files are returned as search results in the search page, the download link now opens a new window.

Upgrade to NeatUpload 1.3.21

Updated Translations

  • Italian - thanks Diego Mora
  • Greek - thanks Yioryos Moschovakis
  • Russian - thanks Alexander (aka SkySandy)
  • Turkish - thanks to Cenk Kumas
  • Swedish - thanks to Par Rohlin
  • Spanish - thanks to Matias Molleja

Your Opinion Requested

I am currently using CKeditor as my main editor and it is also now the default for new installations of mojoPortal. The only thing I like better about TinyMCE at the moment is the spell checker which works much nicer than the one in CKeditor or FCKeditor. Since CKeditor is the successor to FCKeditor and no new development is being done on FCKeditor, I'm considering not including FCKeditor in mojoPortal going forward to reduce our footprint on disk a little as each editor is a lot of javascript. We could reduce 3 or 4 MB of disk footprint leaving it out. I could still make it available as a separate download for anyone who wants to continue using it. So, if you have a strong opinion about whether we should or should not continue to package FCKeditor with mojoPortal, please post in the comments.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2336-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2336-released.aspx https://www.mojoportal.com/mojoportal-2336-released.aspx Wed, 03 Feb 2010 18:32:00 GMT
mojoPortal 2.3.3.4 Released  

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

This is a major release packed with lots of improvements that I think you will like. 

New File Manager UI

We have a new File Manager based on QtFile. I could never have made anything pretty like that myself, if you see anything pretty in mojoPortal you can be fairly sure someone besides me deserves the credit for the prettiness. I'm very good at making things work and integrating things others have made pretty. Now the old File Manager is not gone, you can actually toggle between them. The new one in addition to being prettier than the old one also has a way to easily move files whereas the old one does not. I kept the old one because it has a couple of advantages of it's own that the new one does not have. For example, it has bulk file uploading, may be better able to handle large file uploads because it uses NeatUpload, and it can still be used with javascript completely disabled. In both our File Managers, where and whether the user can upload and delete files depends on their role permissions.

file manager screen shot

If you have a custom skin and are upgrading, you will need to add this to your style.config to bring in the css for the new file manager.

<file cssvpath="/Data/style/qtfile/default.css" imagebasevpath="/Data/style/qtfile/">none</file>

We also recently had some requests for an administration link so that users with permissions to upload and delete files could easily get to the file manager. Previously non admin users could only upload images for example by using the editor in a content instance. With the addition of this new link for File Manager in addition to our other administration links it seemed that the number of links we are showing was beginning to clutter the screen a bit, so I implemented this pretty toolbar in most of the included skins to contain the administration links, you can hide it with a click of the down arrows.

administration toolbar

Now, as you can see it is kind of pretty so obviously someone else deserves credit for that. To explain the why and how this toolbar was integrated into the included skins, how you can use it if you want to in your custom skin, and to learn where it came from and who really deserves the credit see "Creating an Admin Toolbar".

Shared Files Improvements

  • Now counts downloads of files
  • If you rebuild your search index, files found in search results be be a download link instead of a link to the page containing the Shared Files instance.
  • New description field. This field gets indexed in the search index, since we do not currently have support for indexing actual file contents for things like PDF files or Word docs, you can paste the full text of the document into the description and then get search results with files that have matching content. In this case you would keep the description column hidden since it would probably be ugly to show the full file contents as text in the page.
  • New options for showing and hiding columns in the file grid

Blog Improvements

  • Added paging to the blog list view by popular demand
  • Added a dedicated Is Draft indicator so drafts can be created either by checking this or settings future publish date.
  • Added a Save/Preview button so you can preview drafts as they will appear when published.
  • New setting allowing you to specify the date/time format string for blog posts

Feed Manager Improvements

  • Added a Calendar View, this goes well with our Event Calendar Pro feature which can expose Events as RSS. Now you could show a mini calendar on your home page for example that shows upcoming events and links to the event details in Event Calendar Pro.
  • New setting allowing you to specify the date/time format string

Simple List/Links

What we previously called the Links Feature is now renamed to Simple List/Links. This was one of the first features in mojoPortal and in fact was a feature in the old IBuySpy Portal that mojoPortal was originally based on. It had not changed much over the years, we added a description which could be shown optionally with the link and this could be indexed into the search index, but other than that it was just a way to make a list of links, something one could easily do also in the plain old Html Content feature, so the Links feature was just an easier way to make a list of links. I've been using it for our mojo Sites list, but as the number of sites in the list is growing it seemed like a good idea to add paging, so I did that as you can see on the mojo Sites page. Once I had that done I got to thinking about our Consulting Partners List which was just using a plain Html Content feature and was beginning to get unwieldy to update.  I thought of the Links feature with it's new paging support and how handy it would be to have that same paging functionality on the consulting list but without the links since we link to the partner sites from the description. So I added a setting allowing you to show "Description Only" in the Links feature and then decided it needed to be renamed to Simple List/Links or others won't notice they can use it this way. I'm also thinking about using it to make a Skin Gallery where we can show the link to the zip file and have screen shots in the description, again paging is what makes this manageable as the list grows. So it is a nice little feature now to make a list of blocks of html content or links or both. You can move things around in the list based on their sort rank.

De-Coupled Settings For Open ID and RPX

This is important for you to notice, if you are using the RPX service and are upgrading you probably have "Enable OpenID" checked in Site Settings because previously it was required to have this checked to use RPX but then the normal Open ID login would not be shown if RPX was enabled. You may want to uncheck that now because if it is checked it will also show the normal Open ID sign in in addition to the RPX one. Previously it was not possible to show both but it seemed they should be de-coupled because they are completely separate implementations and nothing should stop you from using both if you wanted to. RPX is enabled simply by the presence of an RPX Now API key. Remove the key to disable it.

Moved the Url Location for CssHandler.ashx

We have always held the opinion that the /Data folder in mojoPortal (or writable folders in any ASP.NET application) should not require execute permissions because that is where users can upload files and it is just best security practice to not let the web process have both write and execute permissions on the same folder. You should not be able to upload dll files to the /bin folder from web code for example, it should require a more privileged ftp user for best security. A few versions back when we implemented the CssHandler to combine and minify the CSS files, we made the url for the handler be /theskinsfolder/csshandler.ashx because this made it easy to determine which files belonged to the skin. Note that there is no physical file named csshandler.ashx anywhere on disk but since the skin folder is one of the writable folders below /Data and we were making the url appear as if it was actually located there, setting the folder permissions to deny execute caused the csshandler to fail. So now we have changed the virtual url for the csshandler to be just in the root of the site so that the /Data folder and all it's child folders including skins can be marked as not executable without breaking the css handler.

Miscellaneous

  • Added more noticeable links in the Forums to encourage users to subscribe to email notification
  • New User Selector Dialog in Role Manager
  • Updated Italian Resource files thanks to Diego Mora
  • Updated Swedish Resources thanks to Par Rohlin
  • Update Russian Resources thanks to SkySandy
  • Updated French Resurces thanks to Thomas

One More Thing - A Query Tool For Developers

For this release I implemented a Query Tool that can be used to query the database on any of our supported database platforms. See the new documentation, you can even save queries and use them in quick and dirty custom features.

screen shot of query tool

Thanks to all who provided feedback in the forums and especially thanks to those who are helping others in our forums.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2334-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2334-released.aspx https://www.mojoportal.com/mojoportal-2334-released.aspx Tue, 12 Jan 2010 20:43:00 GMT
mojoPortal 2.3.3.2 Released I'm happy to announce the release of mojoPortal 2.3.3.2, available now on our download page.

New Features

Custom Meta Data

We have a new custom meta data system allowing you to add custom meta data to your pages in addition to the standard keywords and description. Specifically the system was designed to support the use of Dublin Core Meta Data, but it can be used for any html meta data.

Dublin Core Meta Data

The new meta data system has been integrated into CMS pages, Blog Posts as well as Web Store Products and Offers.

Page Comments

While it still remains a to do item on our Road Map to implement an internal comment system that can be attached to pages and content features, in the mean time we have added support to allow you to attach IntenseDebate or Disqus comments to the bottom of any CMS page. The Blog of course already has the option to use it's own internal comment system or one of these services. Actually I recommend IntenseDebate because of bugs I encountered with Disqus. I have reported the issues and even identified the line of code in their javascript where the problems occur so hopefully they will fix it. There are new settings in Site Settings > API Keys to enable these services and a setting in Page Settings to enable it on a page.

Google Translate Integration

You can now easily add Google Translate widget to a page or to every page in your site. As you can see I've added it to all pages in this site. Not sure if I will always keep it there but we shall see what the user feedback on it is and whether people find it helpful or not.

A New IFrame Feature

It is already easy to add iframes to the Html content feature using the source view of the editor, but for less html saavy users having a feature to make it easy may be helpful. Eric Stoffers, a community member sent me on he had put together for his users and I made one based on his example but according to my own coding preferences.

Contact Form Improvement

Added an enhancement to the contact form so it can be configured to give the user a choice of who receives the email notification, so you can have different departments or user receive the submission depending on the user choice. See Using The Contact Form for more details.

Forum Improvement

Made it a little easier for users to notice the email notification subscriptions in the forums to encourage users to subscribe and participate in the forums. Users in edit roles will also see a link allowing them to review who is subscribed and unsubscribe users if needed. There is also a new setting if you want all users to be able to see the number of subscribers to the forums (but not the link to review them obviously).

Shared Files Improvement

Added a description to shared files, it is not currently surfaced in the UI except for the editing UI where descriptions can be edited. The main benefit of the description field is that it is indexed into the search engine. Previously you could only find search results based on the title of the file as we do not have an easy way to index Word Documents or PDF files. Now you can paste plain text of the content from these documents into the description in order to index the content of the documents and improve search matching.

Major CSS Re-organization

Back in version 2.3.1.7, based on community feedback we combined CSS from separate files where we previously had things separated too granularly in files like stylelayout.css, styleimages.css, styleborders.css, styletext.css. These were all combined into style.css for included skins. The problem is we used a CSSTidy script to do the combining and it produced a correct result without breaking any styles but it did not organize the CSS selectors into any groupings that make sense to people, they were just scattered kind of randomly on the style.css file. The result was that it did not have the intended result of making it easier to find what you are looking for. For this release I went through the included skins 1 by 1 and manually moved the CSS selectors around into logical groupings for layout, headings, form styling so that it really is easy to find what you are looking for. This was a very tedious manual task, I spent nearly 40 hours on this working as fast but as carefully as I could. In the end I was very glad to be finished but I feel it was a very important task to make the included skins more approachable as a starting point for customization.

I also went through the features and made more consistent use of styles on grids and tables. In many places we were using the YUI table javascript just for styling tables but this did not lend itself well to styling them according the skin design, it just made a very neutral looking table. I found some nice free GridView themes and put them in a common location under /Data/style and modified them a little according to my needs. I then chose the one that looked the best for each included skin and added it to the style.config file for combining. Those of you with custom skins or upgrading should add one of them to your style.config as well. Note we hve several to choose from and may add more later.

<file cssvpath="/Data/style/gridview/WhiteChromeGridView.css" imagebasevpath="/Data/style/gridview/">none</file>

<!--
<file cssvpath="/Data/style/gridview/ChromeBlackGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
<file cssvpath="/Data/style/gridview/ChromeGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
<file cssvpath="/Data/style/gridview/GlassBlackGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
<file cssvpath="/Data/style/gridview/SoftGreyGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
<file cssvpath="/Data/style/gridview/WhiteChromeGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
<file cssvpath="/Data/style/gridview/YahooGridView.css" imagebasevpath="/Data/style/gridview/">none</file>
-->

Other Miscellaneous Improvements

Because editing Html for email newsletters has such different requirements than normal site content, I added a new site setting so you can specify a different editor preference for the newsletter than for site content. I prefer TinyMCE for Newsletter editing because it has a little better preview feature, but I'm growing more fond of CKeditor for editing site content.

Upgraded to CKeditor 3.0.2 and managed to get our Content Template System and Content Style System integrated and working. I am still noticing a few little issues here and there with CKeditor but I think it has a lot of promise and look forward to it improving over time.

 

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2332-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2332-released.aspx https://www.mojoportal.com/mojoportal-2332-released.aspx Mon, 21 Dec 2009 16:38:04 GMT
mojoPortal 2.3.3.0 Released I'm happy to announce the release of mojoPortal 2.3.3.0, available now on our download page.

This is primarily a bug fix release. With Thanksgiving approaching it seems it will take a few more weeks to complete the next set of new features and improvements, so rather than make people wait for these fixes I thought I should go ahead and put out a release.

Fixed Bugs

Fixed issue where Newsletters configured as opt in by default were not opting in new users when using LDAP authentication.

Fixed issue where if a registered user changed their email address on the profile page it was not reflected in Newsletter subscriptions.

Fixed issue where users in the Content Administrators role could not always move pages around in the hierarchy using the PageTree.aspx page.

Fixed an issue in the EmailMessageTask where it failed to deserialize if there were special characters in the content or subject.

Fixed an issue where urls for images and links were not resolved correctly in feed urls if the site was running in a virtual directory rather than as a root site.

Fixed issue where redirect after editing resulted in a 404 if the url had non-ascii characters.

Fixed some typos in the English resource files.

Fixed a bug in the Poll feature that would occur if using MS SQL without parameter caching.

Fixed other minor issues as reported in the forums since the last release.

Thanks to all who provided bug reports and feedback!

UPDATE 2009-11-25

I forgot to mention that we changed some behavior to fix an issue with non-ascii characters in urls. If you already have non-ascii urls in your site you may need to make a change in the user.config to keep the behavior as it was in the past. See the document here: http://www.mojoportal.com/non-ascii-urls.aspx

Anything New?

Added a setting in the Poll to make it easy to choose the color for the result bars. Previously there was some undocumented voodoo required to change the bar color from blue.

Updated Italian resource files from Diego Mora.

Better rating star images added to existing skins thanks to Joe Davis.

Happy Thanksgiving! Hope you all enjoy some quality time with your family and friends.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2330-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2330-released.aspx https://www.mojoportal.com/mojoportal-2330-released.aspx Tue, 24 Nov 2009 13:46:26 GMT
mojoPortal 2.3.2.9 Released I'm happy to announce the release of mojoPortal 2.3.2.9, available now on our download page.

Newsletter Improvements

The primary focus of this release is improvements to our newsletter.  We have had a lot of consistent feedback from the community asking for Newsletter improvements and we were long overdue to complete this. The improvements made are as follows:

  • Users can subscribe to Newsletters without registering on the site
  • A Newsletter Sign Up feature has been implemented so that you can put it on any page(s) you like and configure it with various settings to control what is displayed. Since you can have as many newsletters as you like, the sign up can be configured to show a list where users can choose which newsletters they would like to receive, or you can not show the list and it just subscribes to the default newsletter, which is the first one in the list. If the user is not authenticated then a confirmation email is sent to confirm ownership of the email address.
  • Each newsletter can be configured whether to opt in by default when a user registers on the site.
  • Each newsletter can be configured whether to allow viewing previous editions as a web page. If your newsletter has compelling content, browsing previous newsletters may encourage more subscriptions.
  • A progress bar so you can monitor progress as the newsletter is sent to the list.

newsletter progress bar

Editor Updates

Upgrade to TinyMCE 3.2.7
Upgrade to FCKeditor 2.6.5
Upgrade to CKeditor 3.0.1

Added more options to our TinyMCE configuration file, including setting for configuring the default language for the spelling checker.  Added a new toolbar for the Newsletter editor since it has different needs than web page content. Fixed an issue where TinyMCE would remove iframes entered in html view.

SEO Improvements

Added an option in page settings for overriding the canonical url. This is mainly for use on your home page. Since it is the default page of the site it is visible using the url http://yoursiteroot/, http://yoursiteroot/Default.aspx, and http://yoursiteroot/home.aspx, by default it would make the canonical url use the generated friendly url for the page, in this example it would use http:/yoursiteroot/home.aspx, but you may prefer to have http://yoursiteroot/ a the canonical url so this override setting allows you to do that.

Added a separate setting in page settings for including a page in the search engine site map. Previously we used the same setting for the search engine site map as for the main user site map. For example you could create a page and then point it to http://www.gogle.com and it would be listed in the menu and site map the same as any other page, however, for the search engine site map, google webmaster tools would find this as an error in your site map. So we added a separate setting so you can easily exclude pages from the search engine site map if they are just pointers to external pages.

Updated Translations

Updated Italian resource files form Diego Mora

Updated Persian resource files from Asad Samarian

New, French-Canadian resources thanks to Benoit Houle

Miscellaneous

Added a new setting under Site Settings > Permissions for "Users that can create root level pages".

Made it possible to disable the default database authentication if you want to use only Windows Live and/or OpenID

Added a config setting to exclude specific admin email addresses from site registration notifications and work flow notifications.

Other miscellaneous tweaks and bug fixes for things reported in the forums since the last release.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2329-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2329-released.aspx https://www.mojoportal.com/mojoportal-2329-released.aspx Wed, 11 Nov 2009 13:03:29 GMT
mojoPortal 2.3.1.9 Released I'm happy to announce the release of mojoPortal 2.3.1.9, available now on our download page.

Whats' New

Easy content animation/slide shows

Our Html Content feature now has content animation built in. You can enable it in the settings of an Html Content instance and it will create a slide show based on the content using cool transitions that you can also configure in the settings. The animation uses the jQuery Cycle Plugin. It can rotate images paragraphs or any html content. People often ask how to rotate images in their custom skins, so I've also added image rotation in the andreasvicklund-02-alt2 skin to give an example how to do this.

Integrated Image Cropping

We now have easy to use image cropping built into the image browser/uploader in our editors. We also have image cropping integrated into the user uploaded avatar system so users can upload a larger image then crop it to create their avatar. We used the jQuery jCrop plugin to implement the user interface for cropping.

screen shot of image cropper

Integrated Twitter Widgets

We now have built in widgets that can be used to show your tweets or twitter search results.

screen shot of twitter search widget

New Configuration file for TinyMCE

Due to community requests to have more control over which plugins and toolbar items are displayed, I've implemented an xml config file that gives you control over these items. The file mojoTinyMCE.config located in the root is used by default. To customize it you should copy and rename this file then change the setting in Web.config to point to your custom file.

Bulk Image Upload in the Image Gallery

We added bulk upload to the Folder Gallery in the last release and users have been asking for the same thing in the other Image Gallery so we have added it there as well.

Usability Improvements

Also due to community feedback and my own observation from support questions, the use of the gear icon for feature instance settings was changed to use a text link by default. Those who prefer the icons can add this to their user.config file to override the new default.
<add key="UseTextLinksForFeatureSettings" value="false" />
I wanted to make the same default change to use text links also for the main administration links but I found that forcing it globally could affect the layout of existing custom skins, so I kept the default to use the icons but added an option that can be specified on the StyleSheetCombiner control in the layout.master file of a skin to specify whether to use icons or text links:
<portal:StyleSheetCombiner id="StyleSheetCombiner" runat="server" UseIconsForAdminLinks="false" />
The default setting is to use icons, but for most of the included skins I changed it to use text links and updated the skin layout so that the text links could render without affecting the layout. Note that if you are upgrading and want to use the latest versions of the skins you will need to copy them from /Data/skins to /Data/Sites/1/skins after upgrading because we only update the skins in the library not in individual sites.

Miscellaneous

Updated Italian resources thanks to Diego Mora

Updated Spanish resources thanks to Matias Molleja

Various bug fixes for things reported in the forums since the last release.

vote for mojoPortal in the 2009 CMS Awards


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2319-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2319-released.aspx https://www.mojoportal.com/mojoportal-2319-released.aspx Sun, 27 Sep 2009 13:22:00 GMT
mojoPortal 2.3.1.7 Released I'm happy to announce the release of mojoPortal 2.3.1.7, available now on our download page.

More Editor Improvements

The File Browser/Uploader that we implemented previously in TinyMCE is now also working in FCKeditor and CKeditor so that users have a common browse and upload experience in each of these editors. So we now have equivalent functionality in TinyMCE and FCKeditor but in CKeditor we do not yet have integration with our content template system or content style system.

New User Avatar System

We've had a lot of requests for an avatar system that allowed users to upload their own avatar. There is a new setting for Avatar System in Site Settings where you can choose User Upload or Gravatar. If user upload is enabled then an upload button will appear on the user profile page allowing them to upload an image. The image will be resized according settings in the Web.config file for AvatarMaxHeight and AvatarMaxWidth.

Image Gallery Improvements

We now have support for the Vertigo Slideshow which uses Silverlight to create a really nice slide show of images in the gallery. You can enable it from settings in the gallery. Since the Vertigo Slideshow can also consume images from your Flickr account, we also added a new Flickr Gallery  Feature which also uses the Vertigo Slideshow.

silverlight slide show screen shot

Blog Improvements

We've added support for using IntenseDebate or Disqus for the comment system in the blog. For the moment I recommend IntenseDebate because there are some issues I encountered with Disqus. Specifically, I could not get it to work correctly n IE 8 though it works reasonably well in Firefox and Chrome. But even when using Firefox or Chrome it does not work correctly if you try to post a comment as an anonymous guest. The integration steps are trivial so I don't think I've done it wrong but believe the problem can be fixed on their end. I've let them know about it and hope they can resolve it. Give it a try if you like but be aware about these issues since at the time of this writing they are not resolved. I'm now using IntenseDebate in this blog. I implemented it such that if you have existing posts with comments in the internal comment system those posts will continue to use the internal comments but new posts will use the current setting.

Its now also possible to post future posts from Windows Live Writer. Previously it was ignoring the publish date passed in from Live Writer.

Its also now possible to require users to sign in to view the full blog post when using excerpts in the main blog page.

Re-Organized Css In Included Skins and a New Skin

Based on community feedback I've re-organised the css for included skins to make it easier to find what you are looking for. Previously we had things separated a little too cleverly with colors in one css, borders in another and text related settings in another. This made the css a little less approachable and less intuitive. I've combined those files into one style.css file and renamed some other css files so they sort together in the file system and are easier to find. You can of course organize the css files in a custom skin any way you like by listing which file to include in the style.config file. Ultimately they are all combined and minified into one request by our CSSHandler. The style config file for included skins now are including the following files:


<file csswebconfigkey="YUITabCss" imagebasewebconfigkey="YUISkinImagePath">none</file>
<file cssvpath="/ClientScript/oomph/oomph.css" imagebasevpath="/ClientScript/oomph/">none</file>
<file cssvpath="/Data/style/cluetip/jquery.cluetip.css" imagebasevpath="/Data/style/cluetip/">none</file>
<file>style.css</file>
<file>stylemenu.css</file>
<file>styletreeview.css</file>
<file>styleblog.css</file>
<file>styleforum.css</file>
<file>stylefeedmanager.css</file>
<file>styleformwizard.css</file>
<file>stylewebstore.css</file>
<file>styleaspcalendar.css</file>
<file>styledatacalendar.css</file>

so we still have some separation but the main style.css has most of the common css.

We also have a nice new skin with a cool menu style thanks to Joe Davis of i7MEDIA

What Else?

Updated Polish Translation - thanks to Przemyslaw Luniewski.

Updated Italian Translation - thanks to Diego Mora.

A number of bug fixes for things reported in the forums since the last release.

nominate mojoportal for the 2009 cms awards


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2317-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2317-released.aspx https://www.mojoportal.com/mojoportal-2317-released.aspx Thu, 10 Sep 2009 15:59:00 GMT
mojoPortal 2.3.1.6 Released I'm happy to announce the release of mojoPortal 2.3.1.6 available now on our download page.

More Improvements in our TinyMCE editor integration

This release comes fast on the heals of our 2.3.1.5 release and it is primarily focused on polishing up our Tiny MCE editor integration. Thanks to all who provided great feedback in the forums, especially Eric Stoffers who helped make our file browse layout a little prettier and more informative. Here is a screen shot of our file browser/uploader:

screen shot of our TinyMCE file browser

The most significant improvement is that we now have automatic image size adjustment for the web. Its optional, users may uncheck the box and no resizing will occur for cases where you are uploading images that you have already optimized for the web. The default resizing options come from the Web.config but users are able to override them by setting the Max Width or Max Height according to their own preferences. We've all seen our users upload huge images right from their 10 mega pixel cameras then just set a width and height on the img tag to make it display the right size. But the result of that is a page that loads very slow because it has the mega large images and disk space is consumed rapidly as well. So, our new solution is designed to make it easy to do it right but not take away control from more savvy users.

Also requested was an option to configure the skin used by TinyMCE. We now have a setting in Web.config that you can override in user.config to set the skin for TinyMCE. 

<!--- valid options for the TinyMCE skin are: default, o2k7default, o2k7silver, o2k7black -->

<add key="TinyMCE:Skin" value="default" />

To my eyes the default skin looks the best and cleanest of them.

I purposely remove some toolbar items from the editors because they are not suitable for a skinnable content management system. Items for selecting fnt size, font face, font color and background color, are all things that put hard coded styles into your content and then the content is not subject to skinning. In order to be able to completely change the look of your site by changing skins you need to avoid hard coding any kind of style into the content itself and always use CSS. Our style template system allows you to create items in the style drop down of the editor that corresponds to css classes in your skin. So you can make some pre-defined styles to help your users rather than let them hard code styles. Now I'm not trying to force this on anyone, I'm just trying to make it easy to do the right thing and a little more difficult to do the wrong thing. If you really want those hard coded style toolbar items in your editor you can enable it in Web.config/user.config with by changing this setting to true:

<add key="TinyMCE:IncludeHardCodedStyleTools" value="false" />

but, my opinion is that one day you will regret it when you decide to re-design your site with a new skin and none of this hard coded content looks right in the new design.

After switching to TinyMCE here on mojoportal.com I had noticed that the forums were starting to get juinked up due to things users paste into the editor. In FCKeditor I was already forcing paste as plain text in the forums but now I have implemented the same thing in TinyMCE. This helps avoid page validation problems when users copy and paste from word or html pages. You can get invalid markup and missing closing tags that can mess up the page. This was very common when pasting errors or code fragments.

Also there were two bugs reported about our TinyMCE integration and these have been fixed. The first was that although our file browser was always using urls relative to the root of the site, TinyMCE was changing them to relative to the current page and this could make links incorrect if you viewed the content on a different page like in the content manager. It also could prevent us from correctly restoring the absolute url on outbound feeds for images or links that were posted in the blog. This was merely a configuration issue, it is the default behavior of TinyMCE, but it was easily disabled once I realized it was doing that. The second bug was that when running mojoPortal as an application in a sub directory instead of as a root site, the file browser was incorrectly resolving the root for uploads at the root of the main site rather than the root of the mojoportal application. This has also been fixed.

This release also includes a minor enhancement in our content manager. It now shows the use count of content instances making it easy to spot content that is not published anywhere.

There was also a bug fixed in the search index where page titles and content instance titles were not causing a match in search results unless the content itself also had the search term.

A Note About Our Versioning Scheme

In a post on CMSREport.com, Bryan Ruby commented that

Although you wouldn't expect an application with the version number of 2.3.1.5 to contain anything but bug fixes, in the world of mojoPortal almost every release contains new features for the CMS.

I thank Bryan both for the coverage and the comment. I suppose my use of versions is a bit different than many other projects so its worth mentioning what my versioning strategy is based on and clear up any confusion about what if anything is implied in the version number.

For most projects I think versions come down to major.minor.build.revision and often features are targeted for a new major version number. We use the same kind of format like 2.3.1.6 but our versioning is simply incremental and is based on our upgrade system. Any time we need to run a new script for any of the db platforms we increment the version. We only use a single digit between each . so we never have versions like 2.3.90.20, its just simple incrementing. So as soon as I need to run a new script I will create the next script file named 2.3.1.7.config (different script with the same name for each db platform). I may not need to run a script against every db platform but I keep the versions the same and create an empty script file if needed since we have different sets of upgrade scripts for each db platform. I then change a version variable in the code also to version 2.3.1.7 and this is how mojoPortal determines that it needs to run upgrade scripts, because each script increments the schema version stored in the db itself, so if the code is a higher version than what the current schema shows it knows it needs to run upgrade scripts to get the schema to the same version as the code. This scheme makes it easier to sort the script files correctly to run them in the right order. Sometimes the version will increment several times between releases but it does just increment linearly and really has no special significance for implying some magnitude of release or major milestone. This corresponds to our incremental short release cycle. We target a few things for the next release, make a development sprint, and as soon as we feel its stable we make a new release.

Probably the biggest problem we have with our short release cycles is release fatigue. People do get tired of upgrading but its really up to them how frequently they upgrade. If the new release has new features or fixes that you're dying to have then you have the choice to upgrade. I think that is better than making you wait a long time for features that are ready or bugs that are already fixed. I don't sleep well at night if I know people are still downloading a version with a bug that I have already fixed. I mean some bugs are trivial but if its something that I think is causing a nuisance to people on a daily basis I like to get the fix out as quickly as possible.

Some of you may find it better to wait a bit after a new release and keep your eyes on the forums for bug reports, but then if everyone does that it just delays the feedback cycle so its helpful to me if many of you do try each new release. I'm always dogfooding the latest release and new builds in between releases on this site to try and find any bugs before making a new release. I don't have a team of Quality Assurance testers other than the testing that comes from the community. Those of you working with the latest releases and especially those of you working with the code from svn trunk and making your own builds and providing feedback in between releases are a huge help and I thank you for that.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2316-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2316-released.aspx https://www.mojoportal.com/mojoportal-2316-released.aspx Sat, 29 Aug 2009 15:37:45 GMT
mojoPortal 2.3.1.5 Released I'm happy to announce the release of mojoPortal 2.3.1.5, available now on our download page.

Whats New?

Tiny MCE Editor Rises To The Top

For a long time now the FCKeditor has been the best editor available out of the box in mojoPortal. It was the only one with the ability to browse and upload images and files, it was the only one with integration for our Content Template System and Content Style System, and it was the only one with a spelling checker. Not anymore! I had not upgraded the Tiny MCE editor in a long time, I had tried to once and it broke and I was busy so I reverted to the working version. But recently we've been having some issues with FCKeditor so I decided to give the Tiny MCE upgrade another try. At did not work as before but I pursued it and debugged it and found how to make it work. Then I began looking closer at the documentation and found it was really good, it even described the basic steps to build your own image browser/uploader and integrate it. I also learned how to integrate our content templates and styles. Implementing the file browse and upload was both challenging and fun. I used the jQuery File Tree, which I then extended to be able to monitor folder selection in addition to file selection, and to pre expand to the current folder after a full postback/redirect which we do when uploading files or creating folders. Then I found that they actually provide .NET code in their library to implement spell checking against the google spelling checker services. The code was very easy to integrate and it works so much nicer than the spelling checker in FCKeditor. You basically click the spell checker button and it puts squiggly lines under suspect words, you right click it and it suggests a correction. So nice! I'm notorious for typos in my blog posts, this is going to help!

CKeditor 3.0

So where does this leave us with FCKeditor you might ask. Well, the makers of FCKeditor are moving forward with a revamped version named CKeditor and they just made the first release of CKeditor 3.0. It's also already integrated with mojoPortal and I've enabled it in the new release for you to check it out. It does not have image browse or upload and it is no integrated with our content templates or styles, but it does work. The biggest problem is there is not yet enough good documentation to figure out how to do those things, but it looks very promising and I'm sure the documentation will get there at some point.

New Permissions Tab In Site Settings

In polishing up the image browse and upload experience I decided to move some settings that were previously in Web.config into Site Settings to make it easier to manage. Specifically we now have a Roles That Can Browse and Upload setting. Users in the selected roles can browse and upload starting at the /Data/Sites/[SiteID]/media folder. This is appropriate for content authors. Admins and Content Admins can browse from the /Data/Sites/[SiteID]/ folder as before. There is also a separate Roles That Can Upload and Browse to a User Specific Location. This is appropriate for users who you don't want to be able to browse your media but can upload and broswe images and other files. For example you can allow forum users to upload files if they are in these roles. The allowed file extensions are controlled from Web.config. You will find these settings in a new tab named "Permissions" under the Site Settings > Security Tab.

NeatUpload 1.3.18 Upgrade

I also upgraded to the latest version of NeatUpload. But even better, I read the documentation again and noticed something I should have noticed a long time ago. Dean Brettle, the author of NeatUpload has built in an easy to use Multi-File upload, so I have integrated it into the File Manager, Shared Files, Image Gallery, and Folder Gallery features to allow you to batch upload files. If you have Flash 8 or higher you can even ctrl-select files all at once. Pretty sweet! NeatUpload is really the best upload component for ASP.NET and its free.

Changed The DOCTYPE to Html 5 for included skins

I was tempted to do this last release but after more experiments with Html 5 I decided to do it this release. If you don't agree its easy enough to change it back to Html 1.0 Transitional in the layout.master file of your skin. This only applies to the skins I ship, if you are upgrading and have an existing skin using Xhtml it will continue to be the same. Be aware that I'm aware that there are a few places where pages do not validate as Html 5 including the login and registration pages. If you have a problem with that then please just keep using Xhtml doctype. Html 5 is still just a draft so I'm not going to get too worried about a few places where it doesn't validate, the spec may change before it becomes a standard. It validates on most pages. The things that don't validate are iframes with frameborder and scrolling attributes. Making them validate would make the page ugly and it has zero impact on any user if the page doesn't validate there, it works in all known browsers.

Minor Blog Enhancement

Added a new setting for the default allowed comment days in a blog. Previously if comments were enabled it just defaulted to 90 days and if you wanted something different you had to edit the setting on each post. Now you can set your own default.

Removed Site Office

Site Office was a prototype UI and plug-in system that was disabled by default and included no real working features that plugged in just a few stubs to demonstrate the plug-in system. It was designed for more of an application style UI rather than public web site UI. I originally built it using ExtJs but they changed licenses and I could no longer get upgrades. I've done some preliminary work to re-implement it using YUI but its not finished. I decided to remove it because the ExtJs javascript was about 9MB on disk so this reduced the size of our download packages. Developers who still want to use it can still get it from svn and deploy it themselves.

New and Updated Translations

New Hebrew translation thanks to Daniel Szasz

New Polish translation thanks to Przemyslaw Luiewski

Updated German translation thanks to Jan Aengenvoort

Bug Fixes

There were a number of bug fixes, primarily issues with some features when used in folder based child sites. A few issues that only affected pgsql. Thanks to all who reported these issues!


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2315-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2315-released.aspx https://www.mojoportal.com/mojoportal-2315-released.aspx Mon, 24 Aug 2009 19:14:00 GMT
mojoPortal 2.3.1.3 Released I'm happy to announce the release of mojoPortal 2.3.1.3, available now on our download page.

What's New

Content Workflow!

Huge thanks go out to Kevin Needham! He did a great job implementing Content Workflow for mojoPortal. Currently its only supported in the Html Content feature but it is extensible so we can use it in other features going forward. Kevin did a great job figuring out where things needed to go, it showed he really understands the mojoPortal code. People have been asking for a better way to have a content approval process for a long time and it certainly wasn't trivial coming up with a plan and implementing it so it fit in well with the existing architecture. He proposed a strategy that made sense up front before he began and then was able to implement it without much involvement from me. He setup a private demo site so I could review the functionality for usability before he submitted the code. The code he submitted was very high quality, I implemented the alternate database support and did a little re-factoring here and there but he pretty much nailed it. I hope he will continue to be involved with the project as it was a pleasure working with him to get his work integrated into the core of mojoPortal.

Web Store Improvements

As mentioned in my previous blog post, the Web Store now supports teaser files for download products. The main use case I focused on was the ability to sell mp3 files with a teaser file and media player so musicians can use mojoPortal to sell their own mp3 files on their own web site using PayPal or any of the other supported payment options. It should be useful for other use cases as well, like selling pdf e-books and maybe having 1 free chapter or table of contents as a teaser file. It could also support a trial version for selling software downloads.

Additionally I implemented a back end order entry system so an admin can create orders. This is useful for situations where the customer does not want to purchase directly on the web site. Recently a school system inquired about buying my products with a PO number and having me invoice them, so I whipped this feature up so that I could create the order after receiving payment by check.

Miscellaneous

We've also added a setting to the blog for the default comments allowed days. Previously it always defaulted to 90 days and you would have to change it on each new post if that was not the desired setting, but now you can set a default preference.

Updated Italian Resources thanks to Diego Mora
Updated French Resources thanks to Thomas Nicolaïdès
Updated Japanese Resources thanks to Suzuki Teko

Its now possible to use Html 5 doctype easily if you choose to as mentioned in this previous post.

Various minor bug fixes as reported in the forums since the last release.

Note: You should add this to the style.config file in your skins:

<file cssvpath="/Data/style/cluetip/jquery.cluetip.css" imagebasevpath="/Data/style/cluetip/">none</file>

to support a new jQuery tooltip we use in the content workflow.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2313-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2313-released.aspx https://www.mojoportal.com/mojoportal-2313-released.aspx Mon, 03 Aug 2009 18:39:06 GMT
mojoPortal 2.3.1.0 Released I'm happy to announce the release of mojoPortal 2.3.1.0 available now on our download page.

This is primarily a bug fix release.

Fixed Issues

Fixed an issue in the WebStore where using EURO currency with PayPal the amounts returned from PayPal were not being correctly parsed.

Fixed a bug in CryptoHelper that was causing an error in some environments when encrypting or decrypting data.

Fixed missing titles on some edit pages that were a side effect of our refactoring of page titles to give more control over them in the last release.

Downgraded YUI from 2.7.0 to 2.6.0 when using the Google CDN, because of a bug in YUI 2.7.0 where an FCKeditor inside a YUI tab sometimes was not visible in IE.

Added required field validators in the Content Style Template editor because leaving the element blank could cause the FCKeditor to throw an error.

Implemented a Content Delete Handler provider system to make a more consistent way of deleting related content when a module instance is deleted. Previously some features were not cleaning out their data when a content instance was deleted.

Last release we introduced support for search results highlighting. This brought with it a possibility for an information disclosure if the user had view permissions on the page but not the module. In the past only the page title was shown so there was no disclosure of the content but with fragments of the actual content now being shown in search results we needed to store the module view permissions in the search index in order to be able to filter search results based on those roles in addition to page view roles. In order to get the view roles into your search index requires rebuilding the search index. In order to not break existing search indexes I had to keep the default to not filter by the module view roles otherwise since the roles are not in the exisiting index all search results would be filtered out. In a new installation the preferred settings are in user.config.sample so that new installations should always filter by module view roles. Those who upgrade and rebuild their search index should add this to their user.config file: <add key="SearchIncludeModuleRoleFilters" value="true" />
This issue only affects those who have content on a page filtered by module view roles in addition to page view roles and only if you are using search results highlighting.

There is a corresponding minor update release for Event Calendar Pro to make it write module permissions also to the search index for events. Customers can download the new 0.0.1.5 version from their purchase history.

Fixed an issue where our App Keep Alive feature did not work in IIS 7 using Integrated Pipeline mode.

Fixed an issue in our SmartCombo dropdown when using Chinese characters.

Fixed an issue in the Image Gallery where the Greybox did not work if the caption had an apostrophy.

Fixed a similar issue in the blog where a script error would occur in IE in the blog if Odiogo was enabled and the blog title had an apostrophy.

Previously some skins had corner rounders surrounding the PageMenu control but if there were no child pages for the current page in the SiteMenu then the PageMenu would not be visible but the corner rounders would still be there. We solved this by moving the CornerRounders into the PageMenu control and out of the layout.master. This way if the menu is not visible neither are the corner rounders.

What Else?

We now force the use of a plain text editor in iPhone because none of the wysiwyg editors can work in iPhone due to the way they create png images of the page for zooming. So even though the editor rendered correctly because javascript is supported, there was no way to click in the editors. So now you can edit site content, make blog posts or anything you like using the iPhone though it does require knowledge of html.

Based on user feedback, I implemented additional CSS classes and and example skin showing how to layout forms with the labels above the form fields. Whereas most of the skins have the label on the left side of the input, andreasvicklund-02 now has forms with the labels above the inputs. Also I think now all the Cancel buttons have been changed to links which was also suggested as a usability improvement.

There was also a request to add a per instance unique CSS class on Html content instances so that it is easier when you want to style a particular content instance different that the others. I implemented this so that there is a wrapper div with class=modulex where x is the module id. This allows you to easily overrid ethe styles for particular instance. I did the same thing for blogs and links and a few other places.

Updated Italian resource files thanks to Diego Mora.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2310-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2310-released.aspx https://www.mojoportal.com/mojoportal-2310-released.aspx Mon, 29 Jun 2009 17:03:48 GMT
mojoPortal 2.3.0.8 Released I'm very happy to announce the release of mojoPortal 2.3.0.8, available now on our download page.

What's New?

Search Engine Improvements

The mojoPortal search engine now supports filtering results by feature and results highlighting, as well as support for Open Search with automatic discovery. A number of changes were made to what we store in the search index, so to take advantage of the new features requires changing some config settings and rebuilding the search index which may or may not be trivial depending on the size and activity level of your site. For backward compatibility we have kept the default settings such that the exisiting search index should continue to work as it has, but to take advantage of the new features you should put this in your user.config for a new installation before doing a search or for an existing site you can add these settings to user.config and then rebuild the search index.

<add key="DisableSearchFeatureFilters" value="false" />
<add key="SearchUseBackwardCompatibilityMode" value="false" />
<add key="EnableSearchResultsHighlighting" value="true" />

SEO (Search Engine Optimization) Improvements

I did a lot of analysis using the new free IIS SEO Toolkit and made a number of small changes based on the results. Its now possible for you to control the default title format for pages and to use extensionless urls in IIS 7.

Content Template Editor

Now you can create and save custom content templates and they will show up in the FCKeditor.

Content Style Editor

Its now possible for you to create and save content style templates that appear in the Style dropdown list in FCKeditor.

Skin Improvements

We include about 30 good looking skins in mojoPortal, but a number of the skins were designed for 800x600 screen resolutions so even though they were good looking it seemed to me that some of them were not being used very much because they are too narrow. So I made most of the narrow skins wider. Also we needed good examples of suckerfish style menus. The mitchinson-earthy skin had something close but it did not work very well so I re-implemented it using the jQuery Superfish menu and I made the mitchinson-earthy-alt1 which uses a vertical superfish menu. So now I think we have a lot of skins that be can useful as a starting point for customization. There is also a new Preview/Browse link in the Administration Menu > Site Settings page to allow you to easily preview the available skins.

Other Updates

Upgraded to the newest version of NeatUpload and the newest version of the AjaxControlToolkit.

Upgrade Notes

Customers who have purchased Event Calendar Pro and/or Form Wizard Pro, will need to upgrade to new releases of those products which have corresponding changes partly due to the newer version of AjaxToolkit. You can download the latest version from your order history under the "My Account" link.

Be sure to read an understand the changes to the search index and consider rebuilding your search index. If you have a custom skin you will need to add a new css class that is used to highlight the search results, the included skins all have this new css class:

.searchterm { color:black; background-color:yellow; }

 

 

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2308-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2308-released.aspx https://www.mojoportal.com/mojoportal-2308-released.aspx Wed, 17 Jun 2009 14:42:23 GMT
mojoPortal 2.3.0.4 Released I'm happy to announce the release of mojoPortal 2.3.0.4, available now on our download page.

Whats New?

RPX Instant Open ID Single Sign In Integration

Now you can allow users to easily register and sign in to your site with no new passwords using their existing account from Google, Yahoo, AOL, Microsoft,  Facebook, MySpace, Twitter and more. For complete details, see the RPX documentation here.

screen shot of rpx sign in widget

We've had support built in to mojoPortal for Open ID for a long time but this is much more user friendly, the user doesn't have to know anything about Open ID to use it. We still have suppport for standard Open ID authentication for those who would rather use it as is. In fact we also upgraded to the newer DotNetOpenAuth from the older DotNetOpenId (same project but they changed the name of the dll), and now it can work in Medium Trust environments, where previously, you have to remove the DotNetOpenId dll for Medium Trust to work. Of course the new RPX service also works fine in Medium Trust.

New Content Templates in the FCKeditor

You can now easily use a few UI widgets like the jQuery Accordion, jQuery Tabs, and YUI tabs right in the editor. There is a new toolbar item in the editor for choosing content templates, and we have pre-defined a few templates for these widgets.

screen shot of jquery accordion

screen shot of jquery tabs

In the near future we will also add the ability for you to create and edit your own templates.

TextArea Editor

For anyone who would rather use a plain text area for editing content rather thanone of our WYSIWYG editors, we now have a TextArea editor, thanks to a sponsorship from Felix Schudel. Since the WYSIWYG is much more friendly for most people, the TextArea editor is disabled by default, but it can be easily enabled by un-commenting it in the mojoEditor.config file.

WebStore Improvements

It is now possible to checkout without registration or sign in, if the order has no download products. So now people can buy me a beer without registering on this site ;-). There are also improvements to the offer administration, we added a new product picker dialog, and there is a new product site map for submitting to google and other search engines located at /yoursiteroot/WebStore/ProductSiteMap.ashx.

Blog Improvements

There is now an option in the blog to format the category list as a tag cloud. To use it you just enable the setting in the feature instance settings and then clear your browser cache to get the new css for the tag cloud. Soon we will be implementing categories/tags as a core system feature so it can be re-used by any feature and then we will replace the existing blog categories with the new system. This new category/tag system will then be used to easily add categories to the WebStore, EventCalendar Pro, and possibly other features. Note that if you have a custom skin, you will need to add this css for the tag cloud:

.tag-cloud { list-style-type:none; margin: 15px 0px 3px -30px;}
.tag-cloud li { display: inline; list-style-type:none; }
.tagcount { font-size: x-small;}
.tag-cloud .weight1 { font-size: 90%; }
.tag-cloud .weight2 { font-size: 110%; }
.tag-cloud .weight3 { font-size: 120%; }
.tag-cloud .weight4 { font-size: 130%; }
.tag-cloud .weight5 { font-size: 140%; }
.tag-cloud .weight6 { font-size: 150%; }
.tag-cloud .weight7 { font-size: 160%; }
.tag-cloud .weight8 { font-size: 180%; }
.tag-cloud .weight9 { font-size: 200%; }
.tag-cloud .weight10 { font-size: 210%; }

 

There have also been a number of minor enhancements and of course bug fixes for things reported in the forums since the last release.

Updated Releases For Event Calendar Pro and Form Wizard Pro

New minor release updates are available for customers who have purchased these features.  There were small changes made in these feature to correspond with changes in the core of mojoPortal. The Form Wizard also now uses the full editor toolbar for editing the form instructions and thank you message. Customers can download the updated versions from their purchase history and install them after upgrading to mojoPortal 2.3.0.4.

 Update 2009-05-22

Just updated to version 2.3.0.4.b to fix an issue where the breadcrumbs wrapper div was rendering on pages even if breadcrumbs were not enabled and this extra div could affect layout in some skin designs.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2304-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2304-released.aspx https://www.mojoportal.com/mojoportal-2304-released.aspx Mon, 18 May 2009 18:48:05 GMT
mojoPortal 2.3.0.1 Released  I'm happy to announce the release of mojoPortal 2.3.0.1, available now on our download page.

What's New?

Content Versioning

The Html Content and Blog features now support keeping a history of every edit (like a wiki). You can compare any historical version of the content to the current version and you can restore any version to the editor so that you can restore it as it is by saving it or modify it further then save it. Versioning can be enabled at the feature instance level or it can be enforced site wide from Site Settings or it can be enforced from Web.config. Site administrators and content administrators can delete history but no other roles are allowed to delete the history. The ContentHistory is built into the core so that it does not have to be re-implemented for each feature. Each feature does implement its own UI to show or restore the previous versions, but they leverage common business classes to store and retrieve their history. In the future we will implement versioning for product and offer descriptions in the WebStore, developers may also leverage this in their own features to keep version history for their own feature data. This is one more thing to mark off our Road Map as complete. Next up is a general Content Tagging/Category system that can be re-used across features, and a Content Comment system that can be re-used across features.

Web Chat using Windows Live Messenger

See my previous post for more information about the new Chat feature. This was not even on the roadmap but when I saw how easy it was to implement I decided to work on it. It was fun and it only took a few days. One of the things I like best about my job is that I can just decide to work on something for a few days because its fun.

New PlugNPay Payment Gateway in WebStore thanks to Voir Hillaire

New Skin - dcarter-bluedesert, based on dcarter-ticktockpro but modified and contributed by Sami Isamil Hassan

Various minor enhancements based on feedback and fixes for bugs reported in the forums since the last release.

More progress moving away from ExtJs by implementing some .NET controls for YUI to replace the ones I previously built for ExtJs

Some of you may have checked out my Site Office UI prototype in the past. Its a separate plug in system than the main content system designed more for a consistent application user interface rather than for creative design like we use for the public facing web site via our skins. You can see the Site Office layout on this site or the demo site if you login and click the "Site Office" link at the top of the page, or you can look at the origianl layout demo for ExtJs here. I still have not implemented any real features for Site Office, but the plug in system itself works and I've even received emails from developers who have implemented their own plug features using it. I got kind of side tracked off of the Site Office idea partly because I had spent quite a bit of time implementing .NET wrapper cntrols around the ExtJs javascript to make it easy to use and then the ExtJs project changed their license to GPL which is not compatible with our CPL license, so I could no longer get upgrades of ExtJs and include them with mojoPortal. Since then we've been stuck on version 2.0.2 of ExtJs which was the last version they shipped under the LGPL (which was compatible). I had also used a little ExtJs in the Contact Form for the messaage list page. For a long time I've been thinking I really need to build new .NET wrapper controls with similar functionality but using the YUI javascript instead of ExtJs.
 
So again in the name of fun (because I like building .NET controls around javascript) I spent some time implementing some new controls with YUI to replace the ExtJs stuff I've been using. I have now removed the dependency on ExtJs from the Contact Form feature and I've got a good start on the layout framework to replace the current SiteOffice. I still have more work to do to finish, but the goal will be to eliminate all use of ExtJs in favor of YUI. The ExtJs javascript we include in mojoPortal is 6.36 MB, so it will reduce the size of our downloads once we no longer need to it. Anyway, you can see the work I've done so far on the YUI layout here, its very similar as you can see to the current Site Office layout with ExtJs. Once I get some more of the YUI things wrapped up so they are easy to use, I might even change the site administration area so that it uses this kind of layout instead of the site skin.

New Experimental CKEditor

Some of you may have noticed that the FCKeditor project has shifted gears from the next upgrade of FCKeditor to their next generation version named CKEditor. I think they are basically taking the good parts from the FCKeditor implementation but doing a new redesign of the implementation using things they have learned and new techniques that have emerged to improve the architecture. The CKEditor does not yet have image upload or server browsing so I have disabled it by default, but anyone who really wants to check it out can un-comment it in the mojoEditor.config file in the root of the web. It really looks just like the FCKeditor but does not have all the functionality yet, I just figured it was good to get started with it so we can be ready as they make imporvements.
 
So all of the above (other than the contributions from the community) is work I've done since the last release on March 24, less than 30 days ago, but in that time I've also made a substantial start on my next paid product Web Invoice Pro. It still has a ways to go before release though. Its one of those things where I started out with a very simple vision for it but it quickly changed to a more complex feature the more I thought about it after getting a few little pieces of it built. I needed to step away from it a little to think about it more and that is part of the reason I worked on some fun things as I got to a point where I was frustrated and needed to work on something that made me feel productive.

Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2301-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2301-released.aspx https://www.mojoportal.com/mojoportal-2301-released.aspx Mon, 20 Apr 2009 19:36:00 GMT
mojoPortal 2.2.9.6 Released mojoPortal 2.2.9.6 is available now on our download page.

The primary reason for this release is to fix a security issue reported yesterday in our forums. This is only the second security vulnerability ever confirmed in mojoPortal in the entire history of the project since 2004. When a security vulnerability is confirmed we feel it is very important to release a fix within 24 hours and to disclose it with full transparency.

Description

The issue is a cross site scripting vulnerability. The cause of the problem was failure to sanitize a query string parameter that is used for previewing skins. We use a printer friendly skin to produce our printer friendly view using a simple parameter in the url like this skin=printerfriendly. It can also be used to preview any existing skin. Since the skin name is output into the page as part of the url for the css handler it needs to be sanitized to prevent manipulation. The new release sanitizes the input to remove any possibility for javascript being inserted into the page.

The vulnerability was reported by Aaron King who discovered it using the free version of Acunetix Web Vulnerability Scanner. The scanner identified an url that could be constructed that would inject javascript into the page and cause an alert message to be displayed in the page. While the demo exploit causes no harm, in theory other exploits are possible including the possibility of altering the content of the page or stealing a session cookie which could make it possible to take control of a user account. Note that actual malicious exploits have not been proven, but the ability to inject a javascript alert means more malicious exploits may be possible.

Mitigating Factors

In order to exploit this vulnerability the attacker would have to somehow trick a user who is already logged into the mojoPortal site to click a malicious link. The link itself must contain the exploit code and this would be obvious to more experienced users unless the url of the link was masked in some way. So a targeted social engineering attack would have to be used to exploit this. A hacker could email a site user with a link to the site or create a link on a web page on some other web site and convince the user to click it.

What Versions are Vulnerable?

I’m pretty sure this vulnerability was introduced in version 2.2.7.7 when we implemented the CssHandler to combine and minify css. Older versions are probably not vulnerable. To determine if your installation is vulnerable, just visit http://yourdomain/Default.aspx?skin=1%00'"><ScRiPt%20%0a%0d>alert(403326057258)%3B</ScRiPt> If it causes an alert message then the vulnerability does exist.

Upgrade is Highly Recommended

Ugrading to mojoPortal 2.2.9.6 will eliminate this vulnerability. All users are recommended to upgrade as soon as you can. If you are upgrading from version 2.2.9.5, you can skip uploading the ClientScript folder, it will save you some time since its a large folder and nothing in that folder has changed.

Anything Else New This Release?

There was a bug fix in WebStore for MS SQL. Previously when updating the quantity of an item in the cart, the stored procedure was declared incorrectly as having 10 parameters instead of 8 which it actually had.

There is a new Site Setting for Company Name, which is used to automatically populate the CopyrightLabel in the skin.

Our release packages now support easy installation in IIS using the Microsoft Web Deployment Tool aka MsDeploy. See this article for easy step by step installation instructions. Its only for new installations not upgrades. This is actually a pretty exciting development, though I post it here as if it were a footnote. Supporting MsDeploy now should make it possible to get mojoPortal listed in the Microsoft Web Application Gallery, I have submitted a form and am waiting to hear back from them.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2296-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2296-released.aspx https://www.mojoportal.com/mojoportal-2296-released.aspx Tue, 24 Mar 2009 16:10:00 GMT
mojoPortal 2.2.9.5 Released I'm happy to announce the release of mojoPortal 2.2.9.5, available now on the download page.

This release is primarily a bug fix release but it does have some new things.

Whats New?

A new option in Page Settings, "Show Home Crumb", adds a home link to the breadcrumbs when "Show Beadcrumbs" is enabled. Thanks to Damien White for help with this.

Added a setting to the blog to control whether google maps are displayed in Excerpt view. Previously they were displayed, but now they are not by default, but can be displayed if the setting is enabled.

Added a feature on the Member List page to allow Admins to lookup users by ip address

Implemented a Discount feature in WebStore that allows defining discount codes supporting percentage and dollar amount discounts with various rules. The user can apply the discount by entering the discount code on the cart page. The apply discount feature is only visible on the cart page if there are currently active discounts.

Forum Improvements: added an email icon to make it more obvious that you can subscribe to forum post notification emails. Added the forum description to the forum post page so that its easier for users to remember which forum they are in and what the forum description says. For example on this site it helps users remember to post certain details like OS, db platform, and version of mojoPortal when reporting bugs.

Bug Fixes

  • Fixed bug in url re-writer where paths could be re-written incorrectly in folder based child sites if the folder name was a substring of a page name. 
  • Fixed broken background image in css for one of the skins.
  • Fixed broken image urls on MyPage when used in folder based sub sites.
  • Fixed bug where an error would occur when removing users form roles under SQLite.
  • Fixed broken folder image url in forum UserThreads.aspx.
  • Fixed an issue with the css handler incorrectly resolving site id for folder based sites.
  • Remove unused files as these cause errors when people try to use the release packages in Visual Studio. I still think people should use the source code for development not the release files but people keep trying to use release files so I'm trying to make that possible.
  • Fixed a bug in the MS SQL install/upgrade scripts where one procedure was not compatible with SQL 2000.

Upgrade Notes

If you are upgrading from 2.2.9.2, you can skip uploading the /ClientScript folder as nothing has changed there.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2295-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2295-released.aspx https://www.mojoportal.com/mojoportal-2295-released.aspx Mon, 16 Mar 2009 13:24:53 GMT
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.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2292-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2292-released.aspx https://www.mojoportal.com/mojoportal-2292-released.aspx Thu, 26 Feb 2009 12:58:31 GMT
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.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2286-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2286-released.aspx https://www.mojoportal.com/mojoportal-2286-released.aspx Mon, 09 Feb 2009 17:26:00 GMT
Event Calendar Pro 0.0.1.0 Released I'm happy to announce the release of Event Calendar Pro 0.0.1.0 a premium event publishing system for mojoPortal. This is a significant upgrade and is free to existing customers who have already purchased Event Calendar Pro. Just sign into the site and visit our Store, click the "Order History" link to get to your order history and you will be able to download the new version using the same page where you originally downloaded. For new customers pricing starts at $99 for a single installation license. You can also try it on our demo site at demo.mojoportal.com. This release requires mojoPortal 2.2.8.3, so you should upgrade to the latest mojoPortal before installing or upgrading to the new version of Event Calendar Pro.

Whats New?

  • Ability to take registrations or sell tickets to a course or class. If you create a recurring event, for example a weekly course that runs every Tuesday for 6 weeks, you can specify that the ticket/registration includes the recurrences.
  • If you have customers that pay by check or other means in person, you can enable a "Will Pay Later" button so users can register for the event but pay upon arrival. You can optionally limit the roles allowed to use this feature so for example you could create a role named "Trusted Customers" and add your trusted customers to that role and then limit use of the "Will Pay Later" button to members of that role.
  • You can color code events differently on the Month View using our new color picker.
  • You can customize the text on the ticket purchase/register link per event, so instead of the default "Register for this event", you could put "Register for this class" or whatever you like.
  • There is a new setting to specify the default Country and State for ticket orders/registration to make it more convenient if most of your customers are local.
  • Ability to specify the end date for recurrences.
  • Location Alias in case you want the location label to be different than the location you use to get the google map to work.
  • Meta keywords and description per event.
  • Google Map settings are now per event rather than global.
  • Addition of a Summary field so you can have a more brief description of the event on the List View and Ticket Purchase/Registration page.
  • This version now supports all 5 databases that mojoPortal supports, including MS SQL, MySql, PostgreSql, Firebird Sql, and SQLite

monthview screen shot

event editor screen shot

color picker screen shot


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/event-calendar-pro-0010-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/event-calendar-pro-0010-released.aspx https://www.mojoportal.com/event-calendar-pro-0010-released.aspx Wed, 28 Jan 2009 16:36:56 GMT
mojoPortal 2.2.8.3 Released I'm happy to announce the release of mojoPortal 2.2.8.3, available now on the download page.

In addition to bug fixes for things reported in the Forums since the last release, highlights of this release are as follows:

  • Upgrade to FCKeditor 2.6.4 which includes a new spelling checker that works out of the box, a long wished for feature.
  • A new set of translation files for Danish language thanks to Kurt Greve
  • Blog improvements, an option whether to hide the URL input for comments and an option to require users to authenticate in order to post comments.
  • New sorting levels for products and offers in WebStore to allow better control over sorting on the product list.
  • A new CountryStateSetting control. I needed this for an improvement to Event Calendar Pro in order to specify a default country and state for ticket orders, but I built it into the core so it can be re-used in other features.

spell checker screenshot

Note that the spell checker uses a free ad supported web service. Its very useful but you probably would not want to use this if your web page contains top secret content. It can be disabled from a configuration file for that kind of scenario but I think most users will be glad to have this. It is also possible to purchase a paid account with no ads or a version that can run on your own server, though I'm not sure what the integration steps are for those scenarios.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2283-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2283-released.aspx https://www.mojoportal.com/mojoportal-2283-released.aspx Wed, 28 Jan 2009 14:57:09 GMT
Mono 2.2 and mojoPortal 2.2.8.2-c So Happy Together! Big Congratulations to the Mono Team for shipping Mono 2.2!

mono 2.2

We've seen growing interest in our support for running mojoPortal on Linux with Mono judging by the increasing forum posts related to it. We try to be very careful as we improve mojoPortal, not to break compatibility with Mono. My testing is usually using the latest Mono built from their svn repository but when a release of Mono comes out I try to also test with the release version since this is what most people are using. Things are progressing rapidly in the Mono project which allowed us not long ago to change our target to the 3.5 version of .NET so that we can begin to dabble in Silverlight, and RESTful web services. Enough of the 3.5 stuff is there in Mono that we can compile and things mostly work but with a few bugs here and there including some bugs in the 3.5 version of Mono's implementation of MS Ajax aka System.Web.Extensions.

Historically I've used my physical openSuse machine to run VMWare server and then I could run the  Mono release virtual machines from there, but after upgrading to openSuse 11.1 I couldn't get my VMWare server to open any virtual machines. So I installed the VMWare Player on my Vista machine this time to test.

mono 2.2 running mojoportal

The Mono 2.2 virtual machine already had mojoPortal 2.2.6.8 installed and it works well and I noticed the ajax stuff worked fine there but in testing mojoPortal 2.2.8.2-b the UpdatePanels were not being updated in the UI and were logging some errors so I figured if I change the references and use the 2.0 .NET version of Ajax aka System.Web.Extensions 1.0 (since thats what mojoPortal 2.2.6.8 uses) maybe I could get the latest mojoPortal working as well as 2.2.6.8 does. And sure enough, after making this change, the latest mojoPortal seems to work very well ajax and all.

So I've packaged up a new mojoPortal 2.2.8.2-c release to work smoothly with the latest Mono 2.2 release. You can even download the source zip and build it an run it using Mono 2.2, the only thing you'll need to do for that is to copy the contents of Web.mono.config into Web.config so it will have the correct references to System.Wen.Extensions 1.0. The mojoportal-2-2-8-2-c-pgsql-for-mono.zip file is pre-compiled and the web.config is already configured for Mono. You can swap out the data layer dlls if you want to use a different db.

I think this is a major milestone for the Mono Project. mojoPortal is a complex application, and the fact that it runs well on Mono 2.2 shows that the Mono 2.0 ASP.NET stack is pretty solid. The 3.5 stuff is coming along but your mileage may vary.

The Visual studio solution and the Windows release packages are still targeting .NET 3.5. Its very handy that we use a separate mojoportal.mds for MonoDevelop even though it could open the Visual Studio solution, it allows us to do things differently on Mono as needed.

In our svn repository, will be changing our MonoDevelop projects back to reference the 3.5 version of System.Web.Extensions so we can keep moving forward and report bugs so they can get fixed in the next version of Mono. So 2.2 Mono users who want to play with the source code should use the .zip download instead of svn, unless you are also working with Mono built from svn as I am.

Other minor changes in 2.2.8.2-c include a new color picker that I mentioned in my previous post and we upgraded from jquery 1.2.6 to 1.3.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mono-22-and-mojoportal-2282-c-so-happy-together.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mono-22-and-mojoportal-2282-c-so-happy-together.aspx https://www.mojoportal.com/mono-22-and-mojoportal-2282-c-so-happy-together.aspx Fri, 16 Jan 2009 19:10:45 GMT
mojoPortal 2.2.8.2 Released I'm happy to announce the release of mojoPortal 2.2.8.2, available now on our download page.

Blog Improvements

Thanks to the great work of Tom Opgenorth, Microsoft MVP, long time community member and all around cool guy, we now have support for using Windows Live Writer for posting to the blog feature. In fact I'm blogging this release announcement using it. Live Writer support has been a long requested feature so this should make a lot of people happy. I'm enjoying using it myself, its more rich than the web based editor and has spell checking. Its nice being able to save drafts locally and writing posts while offline. To learn how to configure Windows Live Writer for use with your mojoPortal blog see Using Windows Live Writer with Your Blog. There is also one other small improvement to the blog, its an option to show the post author name with each post for the use case where more than one person is posting in the same blog.

Forum Improvement

This was also an enhancement requested recently, previously forum notification email message only provided a link to the forum post, but now there is a setting to enable including the post body in the email notification.

IIS 7 Integrated Pipeline mode support

mojoPortal can now run in IIS 7 Integrated Pipeline mode, which is new in IIS 7. Previously you had to use "Classic" mode, but now it can run in either mode. The pipeline mode is something specified on the application pool and the default in IIS 7 is Integrated.

NeatUpload 1.3.4

This release we upgraded to NeatUpload 1.3.4. NeatUpload by Dean Brettle is the best upload control for .NET available. The new version among other things adds support for IIS 7 Integrated pipeline mode, which in turn made it possible for mojoPortal to support this mode.

Bug Fixes

This release also includes bug fixes for things reported in the forums since the last release.

Upgrade Notes

If you are running mojoPortal 2.2.7.9 or higher, you can skip uploading the ClientScript folder.

I have not yet created a release package for Mono this release because I ran into a hardware problem on my Mono build machine. I'm working on resolving that now and hope to upload a new package for Mono users tomorrow or the next day.

UPDATE 2009-01-07

I've uploaded the for Mono release package. I can say for sure it works using Mono from svn but I don't have an installation of Mono 2.0.1 so I can't be 100% sure if it works with that release.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2282-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2282-released.aspx https://www.mojoportal.com/mojoportal-2282-released.aspx Tue, 06 Jan 2009 19:00:00 GMT
mojoPortal 2.2.8.1 Released I'm happy to announce the release of mojoPortal 2.2.8.1, available now on the download page.

Bug Fix

The main reason for this release is to fix a bug in the MS SQL version of the blog that was introduced in version 2.2.8.0. I'm surprised it took 5 days for anyone to report this bug, it was causing an error when adding new blog posts and this prevented the friendly url from being created to link to the post. Once it was reported I felt it needed an immediate fix and release. We are on a short release cycle anyway, typically we release every 2-8 weeks but any time a significant bug is confirmed we like to get a fixed release out as soon as possible.

If you are upgrading from 2.2.7.9 or higher, you don't have to upload the ClientScript or Data folders as nothing has changed there. Those are big folders so it should help not having to upload them.

New Stuff

YUI

Even though its only been a week since the last release there are some new things in this release worth mentioning. I've been gradually trying to eliminate the places where we were using ExtJs since they changed the license and we can no longer get upgrades, I'm focusing on YUI and jQuery and MS Ajax for UI enhancements. I previously removed all the use of ExtJs Tabs and implemented YUI tabs. In this release I implemented a YuiGridView, which is an ASP.NET GridView decorated with the YUI DataTable javascript. I had previously implemented a similar ExtJsGridView and was using it in quite a few places in mojoPortal, but now I have replaced all of those with the new YUI version.

Using the Google CDN

We've been shipping all the YUI and jQuery javascript with mojoPortal for a while. YUI is fairly large, its a lot of files and added a lot to the size of our package. Yahoo has had their own CDN (Content Delivery Network) that allowed you to just load the YUI files from the Yahoo servers, but they don't have support for SSL, so in the past it seemed better to include the files within the site, otherwise on secure pages IE users would get the pesky warning about the page having both secure and insecure content. Recently I saw this blog post in the YUI blog mentioning that google is now also hosting YUI on their CDN which does support SSL. So now we can leave out all of that YUI javascript from our package and load it from the google CDN. This is now enabled by default in mojoPortal, though there is a web.config setting that allows you to disable it if you have some reason why you want to host the files yourself, you still can do that, but its up to you to download the latest YUI and configure it in Web.config. We are also loading jQuery from the Google CDN. The only reason I can think of not to use the google CDN is if your site is on a private network and your users don't have internet access. To me that would be a very unusual use case, but in this case you would want to host all the javascript on the server.

WebStore Gets Its First Report

I implemented a Sales Overview report for the WebStore. I debated with myself whether to show you this screen shot, but I generally lean toward transparency so decided to show my own sales on this report. You can see that I'm clearly not making a living selling products yet.

webstore sales report screen shot

For reference, the store opened on July 23, 2008 with only the Buy Me a Beer product. Event Calendar Pro went on sale August 20th, 2008, and Form Wizard Pro went on sale Sept 29, 2008. Sales are currently only a trickle and I have a long way to go to get to my goal of selling 50 units per month, which is the point where I would start to make a decent living. For now I am still living primarily on savings, but I am optimistic about reaching my goals before I run out of savings. I think I need to add iCal import and export to the Event Calendar Pro and I need to add support for multi page forms or surveys in Form Wizard Pro to make them more popular, and having a few more products would be good. However, I still think the main thing is to improve the popularity of mojoPortal since my products only target users of mojoPortal, and to that end I've outlined some things on my road map that I think will help get there. Anyway, the main idea of the screen shot is to show the new report. The tables are using the YUIGridView I mentioned, and the Chart is ZedGraph.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2281-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2281-released.aspx https://www.mojoportal.com/mojoportal-2281-released.aspx Sat, 20 Dec 2008 16:02:08 GMT
mojoPortal 2.2.8.0 Released I'm happy to announce the release of mojoPortal 2.2.8.0, available now on the download page.

Blog Improvements

Refactored the core meta data system to make it easier for features to control the meta data for their own content. Now you have per post control of the meta data in the blog. Its now possible to use html in the excerpts. If you enable excerpts and don't enter an excerpt, we still generate a plain text one for you of the configured length, but you now have the flexibility to specify the content of the excerpt so you can use images and html, but in that case we don't truncate anything so as not to lose any closing tags, so its up to you to determine how much to include in the excerpt.

WebStore Improvements

Also added meta data support for products so you can optimise SEO for product pages. Also products are now indexed into the site search index and can be found using site search.

Site Search Improvements

I added paging to the results. Previously we just brought back up to 200 results and it was up to you to refine your search if you didn't find what you were looking for. Now you can page through all of the results no matter how many there are.

404 Page Not Found Handler

When a user clicks a broken link to your site or types an url incorrectly, they typically get what is known as a 404 page not found error. 404 s the status code that indicates to the browser (or crawler) that the page was not found. Web servers like IIS and apache have a page about the error that is shown to the user by default in that case but its not the most friendly thing. It is possible to customize the 404 page in IIS or apache, but typically we would rather control it from within our application. The prevailing technique for doing this in ASP.NET has been to declare a custom 404 page in Web.config like this:

<customErrors mode="RemoteOnly" defaultRedirect="yourcustomerrorpage.aspx">
<error statusCode="404" redirect="~/PageNotFound.aspx" />
</customErrors>

allowing you to customize the 404 page and make it a little more user friendly. The problem with this technique is that when it does the redirect it never delivers the 404 status code, it provides a friendly experience to the user by redirecting to a page that does exist so no 404 really occurs as far as the browser knows. This is bad for search engine crawlers because they don't see the broken links either and you don't find out about them as you should from google webmaster tools. Its better if you can get reports about the broken links in your site and fix them. So what you really want is a custom 404 page that provides friendly content but still delivers the 404 status code, but redirecting to this page is what will prevent the status. You could set a status code from within your custom 404 page but since you redirected it won't report the correct url because you are now at the error page url not the missing url. Redirecting is not the correct solution, its just easy.

So I implemented an HttpModule to trap exceptions that indicate 404 errors and instead of redirecting I keep the current url and set the response status code to 404 then I make a server side web request to the custom 404 page to get its content and then just write the content into the reponse. So in effect I deliver the content of the custom 404 page but stay on the incorrect url so the status code will indicate that this url was not found. You can see the status code in the screen shot below where I have firebug showing the status of the request.  I've also added the google 404 enhancement javscript to the cutom 404 page, so for example if a user typos the url for the download page (as shown below in the screen shot) as dwnload.aspx instead of download.aspx, google is smart enough to suggest the correct page.

404 page not found handler screen shot

This seems like an ideal solution as the user gets a friendly page with good suggestions and the crawlers get the correct story about broken urls.

Bug Fixes

There were a number of bugs reported in the forums since the last release which have been fixed. There were some problems with the setup scripts for MySql that affected some installations. There were a number of small bugs resulting from the re-organisation of the code. I think most of these are now shaken out and though the last release was a little bumpy the benefits of the new code structure were worth the trouble.

Upgrade Notes

People often complain about having to upload all the files again, but generally this is always the best thing to do to make sure you don't miss any of the new files. We are on short release cycles so it tends to amplify the problem for those who like to upgrade every release. For this release, if you are upgrading from 2.2.7.9, you can skip uploading the ClientScript folder and Data folder as nothing changed there since the last release. Those are 2 big folders, so it will save you some upload time. Be sure and upload all the rest of the files though, and if upgrading from older versions upload all the files.

Lots of other fun stuff going on. I've been prototyping some things in Silverlight that I will blog more on later.

 

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2280-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2280-released.aspx https://www.mojoportal.com/mojoportal-2280-released.aspx Sun, 14 Dec 2008 22:38:38 GMT
mojoPortal 2.2.7.9 Released I'm happy to announce the release of mojoPortal 2.2.7.9, available now on our download page.

New Related Sites Mode

mojoPortal has for a long time had the multiple sites feature which enables you to host multiple sites on a single installation using a single database. The feature was carefully designed to keep the sites and users completely independent so that each site is isolated from the others from a security perspective. But for some scenarios its desirable to host multiple sites but use the same users and roles in all of them. For example, maybe you want to have different versions of your site for different languages bu you want the same users in all of the sites. Or maybe a university wants to create separate sites for different departments but they want the students to have the same sign in credentials in all of them. This is now possible with simple configuration settings as indicated in the documentation. Multiple sites can be configured either based on host names or by folders beneath the root site. With the folder based sites, since they share a common cookie, once the user is signed into any of the sites he is signed into all of them.

New 301 Redirect Manager

When you create pages in mojoPortal, the page gets a friendly url based on its title, like /fun-stuff.aspx would be the url for a page named Fun Stuff. Now if you change the name of the page later it will get a different url, so for example if I change the name to Really Fun Stuff, its going to get a new url /really-fun-stuff.aspx.

Now from an SEO (Search Engine Optimisation) point of view, its not a good idea to be changing your urls willy nilly. If someone bookmarked your old url you don't want it to be broken, or if its already popular in search results, you don't want it to be a broken link. So ideally, you need to have the old page do a 301 redirect to the new page. The 301 status code tells the browser that the page moved permanently. Now mojoPortal will create the 301 redirect for you automatically when you re-name a page or blog post. However, its still not a great idea to be renaming your pages frequently, you should avoid it generally but if you need to its ok to do it. You can also see the 301 redirect mappings and manually manage them from Administration Menu > Advanced Tools > 301 Redirect Manager. You need to be very careful with this feature, you do not want to create circular redirects where 2 urls redirect to each other.

This is the last Release Targeting ASP.NET 2.0

This release as previous ones targets the 2.0 ASP.NET runtime. I requested feedback in my previous post about changing to target the 3.5 ASP.NET runtime and everyone who responded was in favor. I've already changed it in my svn sandbox and will change it in trunk soon. I find that on a machine with VS 2005 I am still able to build and run the solution as long as .NET 3.5 is installed. Using the Mono 2.0 release I could still get it working if I swaped out the Web.config so it used 2.0 version of System.Web.Extensions. Using the latest Mono built from svn I see that the Mono version of System.Web.Extensions has changed to 3.5, but I'm getting an error running it and will have to investigate further.

So the next release will target .NET 3.5. If someone needs a 2.0 build it will be possible for them to change the build target back to 2.0 (in Visual Studio 2008) and rebuild, because I'm not really planning to use 3.5 specific features in the core projects for a while yet. I just need to use the 3.5 version of ScriptManager to support features like Silverlight that I will use in external projects. Just like our other features, the external projects will copy the needed files up to the main Web project so it can work at runtime. This allows us to move forward and take advantage of new things in 3.5 while keeping general compatibility with Mono and 2.0 .NET. Changing the target to 3.5 NET on the core projects only changes the Web.config file and the .csproj file

I'm very excited to start working with Silverlight 2 and RESTful web services using the REST toolkit. I'm just beginning to do exploratory prototyping now but I'm seeing some very cool possibilities.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2279-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2279-released.aspx https://www.mojoportal.com/mojoportal-2279-released.aspx Mon, 24 Nov 2008 10:18:31 GMT
mojoPortal 2.2.7.8 Released I'm happy to announce the release of mojoPortal 2.2.7.8, available now on the download page.

Important Upgrade Notes

We added a feature to combine and minify the CSS files in the skins. Those using custom skins should modify their skins as described here after upgrading.

This release also contains Oomph, as described in my previous post.

We have a new Croatian language translation thanks to Slaven Brumec.

Other than the above and a few bug fixes and feature tweaks as discussed in the forums since the last release, the main focus of this release is changes to make developers happy as discussed below.

Source Code Project Re-Organization

All of the content features like Blog, forum, Gallery, Maps, etc, have been moved out of the core mojoPortal projects into the mojoPortal.Features.* projects. This makes it possible to build and package a leaner version of mojoPortal without any features except Html Content. I will still continue to make the official mojoPortal releases with all the features, I have no plans to package separate mojoPortal lite packages myself, but the idea is that developers can package their own application with mojoPortal without having to include all the features we have. If you work with the mojoportal-core.sln Visual Studio Solution, it will build without any of the extra features and you can package it with UnLeashIt. If you build the mojoportal-complete.sln solution, post build events will copy the extra features up to the core Web project, so you don't want to do that if you plan to package without those features. Once they are copied up to the Web project UnLeashIt will include them, so you need to keep it clean by not building that solution if you want to package without those features.

As a result of this, features are now basically self contained within folders, like the Blog is in the siteroot/Blog folder and forums are in the siteroot/Forums folder and so on. For backward compatibility I created pages with the old names that will do a 301 redirect to the new pages. I also was careful to make sure friendly urls for existing blog posts would continue to work correctly.

The only thing site owners need to change is if they previously submitted a blog site map to google using siteroot/BlogSiteMap.ashx, you need to change that to siteroot/Blog/BlogSiteMap.ashx

When Should We Target .NET 3.5?

I'd like to gather input and opinions about when we should change the target platform to .NET 3.5. I'm eager to start playing with Silverlight in mojoPortal and it seems to need the 3.5 versions of ScriptManager to host the <asp:Silverlight control

The issues I see are:

  • We need to be careful to keep compatibility with Mono. I think we can move forward with using .NET 3.5 on Windows and continue to build for .NET 2.0 for the MonoDevelop solution. We really won't add non-supported features in the core projects but we need to be able to specify 3.5 settings in Web.config of the core Web project. We already maintain a different Web.config file for Mono packages so this should not be a problem. We can put 3.5 functionality like Silverlight into separate projects and use post build events to deploy them into the main web for runtime as we do with most features. So these projects can be left out of the MonoDevelop Solution until they are supported. In summary I think we can workaround all issues relating to Mono and should be able to move forward while still maintaining Mono compatibility.
  • Hosting - This is the issue I'm not entirely sure of and would appreciate any input. If the next release of mojoPortal for Windows targets the 3.5 runtime is that available at your hosting or will it pose a barrier to upgrade? It seems like most of the big name hosts have .NET 3.5, they don't like to be left behind by the competition.
  • Visual Studio 2005 Issues? - As far as I know VS 2005 can target 3.5 without problems except maybe for Windows Workflow development and it doesn't have some of the built in project templates for 3.5 .NET projects. We already maintain separate VS 2005 solution files so we could leave out any projects if they don't work.

UPDATE:

Forgot to mention that I updated the project road map yesterday.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2278-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2278-released.aspx https://www.mojoportal.com/mojoportal-2278-released.aspx Mon, 17 Nov 2008 12:04:47 GMT
mojoPortal 2.2.7.7 Released I'm happy to announce the release of mojoPortal 2.2.7.7, available now on the download page.

This is a minor bug fix release for things reported in the forums since the last release.

This release does have significant changes/improvements in the experimental WebStore feature so those experimenting with this feature may be more interested in upgrading. I call it experimental primarily because at this stage of the development I can't promise smooth upgrades for this feature and because its not yet feature complete enough for general purpose ecommerce. It is functional for selling of download products and is in use on this site in the mojoPortal Store. I've been working pretty actively on this feature lately driven by a need to improve the store on this site. Strategically I also think that getting this feature in shape to really handle general ecommerce scenarios is going to be very valuable in driving popularity of mojoPortal.

I'm also happy to note that mojoPortal now has a presence on Codeplex, and our downloads are available there in addition to on Novell Forge. We are still using the Subversion repository on Novell Forge for now. I've been experimenting with Codeplex hosting since they released their server side svn bridge as I mentioned in this previous post. The Codeplex team is working on some additional features to the svn bridge that are needed before we can use it for our repository. Specifically, the svn merge commands which are really needed to manage moving changes from sandboxes into trunk are not yet available but they are confident that these features will be implemented, so ultimately we will move our repository there once its all working well. In the meantime we are glad to be able to have our release and code packages available at Codeplex and giving us more visibility in the .NET community. For those who are working with the source code I stll recommend you get it directly from svn trunk.

Now we also have a formal Issue Tracker available on Codeplex. If you want to report bugs in a formal fashion with steps to produce the bug and the ability to track when the issue is closed, feel free to use the new issue tracker. For less formal reporting of problems or bugs the forums here on mojoportal.com are still the best bet.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2277-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2277-released.aspx https://www.mojoportal.com/mojoportal-2277-released.aspx Thu, 30 Oct 2008 15:40:22 GMT
mojoPortal 2.2.7.6 Released I'm happy to announce the release of mojoPortal 2.2.7.6, available now on the download page.

In addition to bug fixes for things reported in the forums since the last release, this release includes the new Content Rating System and Feed Manager improvements mentioned in this previous post, as well as the new option in Site Statistics to show a graph of new site member registrations that I mentioned in this post.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2276-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2276-released.aspx https://www.mojoportal.com/mojoportal-2276-released.aspx Tue, 14 Oct 2008 19:57:52 GMT
mojoPortal 2.2.7.3 Released I'm happy to announce the release of mojoPortal 2.2.7.3, available now on the download page.

Important Upgrade Information

After upgrading to the new version, you will need to delete the following files from your /bin folder.

  • PollFeature.UI.dll
  • PollFeature.Business.dll
  • PollFeature.Data.dll
  • SurveyFeature.UI.dll
  • SurveyFeature.Business.dll
  • SurveyFeature.Data.dll

The reason these need to be deleted is because the Poll and Survey have been combined into these dlls:

  • mojoPortal.Features.UI.dll
  • mojoPortal.Features.Business.dll
  • mojoPortal.Features.Data.dll

The good news is that the Poll and Survey now work for all the different databases, MS SQL, MySql, PostgreSql, Firebird Sql, and SQLite. Previously we only had support for MS SQL and MySql for those features.

Everyone who purchased Event Calendar Pro (and I mean both of you ;-D), will also need to upgrade to version  0.0.0.2-b (a free upgrade, just download the product again). There were changes in mojoPortal that required small changes in this feature, there are no functional changes to this feature right now.

Feature Improvements

  • Blog - I added an Excerpt option due to popular demand in the forums. Improved support for Persian localization, thanks to Asad Samarian.
  • RSS Feed Module - Walter Ferrari added options for showing and hiding various things, an Excerpt option, and Ajax paging.
  • Forum - I added a captcha if anonymous posting is enabled to reduce spam.
  • Image Gallery and Shared Files - I added some ajaxiness

New Multi Site Configuration Options

Its now possible to use different SMTP settings in each site of a multi site installation. To enable this, set this setting to true in your Web.config or user.config file:

<add key="EnableSiteSettingsSmtpSettings" value="false" />

after doing this a new Mail Settings tab will appear in Site Settings.

New Global Options

These settings are not site specific so they will affect all sites in a multi site installation.

There is a new config option to email site administrators if a new user registers. Set this to true if you need that functionality:
<add key="NotifyAdminsOnNewUserRegistration" value="false" />

The following config options were added based on a request in the forums to make it possible to show more information on the member list page for an intranet site:
<add key="ShowEmailInMemberList" value="false" />
<add key="ShowLoginNameInMemberList" value="false" />
<add key="ShowUserIDInMemberList" value="false" />

Accessibility and Usability Improvements

FCKeditor now works with Safari and Chrome, so we have enabled it for these browsers in mojoPortal.

All site management features should now work even if javascript is disabled. Previously most of the features could function even with javascript disabled but we went through and found a number of places where we were using <asp:LinkButton and replaced it with <asp:Button. We did this because the ASP.NET LinkButton is the only button type in ASP.NET that doesn't work if javascript is disabled. We added some new css to style the new buttons to look like links instead of buttons. Fortunately, other than the LinkButton, almost everything in ASP.NET is built to degrade gracefully but remain functional if javascript is disabled. So, with a little care its not difficult to build accessible applications and sites.

We replaced the use of ExtJs Tabs with YUI Tabs in Site Settings, Page Settings, and other places where we have settings grouped on tabs. This change was made partly because the YUI tabs are a bit more accessible, but also because we have been running into issues where the ExtJs tabs don't work right. I've hadd issues in Firefox 3 where if there was an FCKeditor on more than one tab, changing between the tabs doesn't show the correct editor. Others have reported interaction bugs with ExtJs tabs when using the new 3.5 Ajax Extensions. Since the ExtJs project changed their license to GPL, which is not compatible with mojoPortal, we can no longer get upgrades to ExtJs and can only use the old version under a compatible license. So, it seems better to switch to the YUI tabs. The only downside is that the ExtJs tabs had a few better looking skins for the tabs but YUI only has one. So some of you may not find the new YUI tabs to be as good looking as the old ExtJs tabs, but since the YUI tabs are also skinnable, we may be able to come up with better looking skins in the future.

New Extensability Point

There is a new plugin system for UserSignInHandlers that allows developers to plug in their own handlers that can fire after a user signs into the site. People have asked for this so that they could implement custom redirect logic depending on user roles and other criteria.

New Translation

Resource files have recently been translated into Spanish thanks to Manuel de la Pena

Seems like a lot has been accomplished since the last release only 33 days ago. Lots of exciting things going on in the pipeline that I will blog about later.

As always be sure and backup before upgrading and if you have any troubles post in the forums and we will try to help.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2273-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2273-released.aspx https://www.mojoportal.com/mojoportal-2273-released.aspx Sat, 20 Sep 2008 10:36:00 GMT
Event Calendar Pro 0.0.0.2 Released I'm happy to announce the release of Event Calendar Pro version 0.0.0.2

This release adds support for rendering events that span across days, weeks, or months, on the Month View.

Event Calendar Pro screen shot showing events that span across days

From the beginning I felt rendering events that span across days was an important feature and I had hoped to have it working for the initial release, but since it took longer than expected to release this product I didn't want to delay any longer while I worked on this new calendar rendering. It was kind of tricky to achieve it. I struggled with it for about 4 days before finally arriving at a decent solution for rendering the events across days.  I hope you like it.

Event Calendar Pro includes 1 year of free upgrades, so anyone who already purchased it can just download it again from their order history to get the new version.

You can also try it out at demo.mojoportal.com


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/event-calendar-pro-0002-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/event-calendar-pro-0002-released.aspx https://www.mojoportal.com/event-calendar-pro-0002-released.aspx Wed, 27 Aug 2008 14:39:24 GMT
mojoPortal 2.2.6.8 Released I'm happy to announce the release of mojoPortal 2.2.6.8, available now on the download page.

Actually I released the files yesterday but didn't manage to get to making a release announcement until today because I was still working on some related documentation that I wanted to link to.

Whats New?

Google Analytics Integration

As I mentioned in my previous post, we now have Advanced Integration with Google Analytics built in. There was a lot to talk about so I made that its own post yesterday instead of including it all in the release announcement.

Gravatars

For a long time I've been wanting to implement a better avatar system, because the one we had with just a list of little cartoons you could choose from seemed pretty lame and out of date. The other day, while reading Scott Hanselman's blog, I noticed that he was using Gravatars in his blog comments. I looked into the implementation and it was trivial so I implemented support for Gravatars in the mojoPortal forums and profile system. I haven't got it in blog comments yet but will try to get to that in a future version. The idea of Gravatars is that you can have an avatar that follows you whenever you visit any sites that support Gravatar. If you look in the mojoPortal Forums, you'll see my Gravatar.

a screen shot of my GravatarIf you don't have a Gravatar it just displays a generic one:a screen shot of a generic gravatar

 

So, if you are a frequent visitor, go and get yourself a Gravatar. Gravatars are rated like movies G, PG, R, X, by default, mojoPortal is only configured to display Gravatars rated as G, but you can set this in Web.config or user.config:
<add key="GravatarMaxAllowedRating" value="G" />

Its just a minor feature but its a social feature that I think can make a community site more appealing.

Enhanced OpenID Support

We've had support for OpenID authentication for quite a while now, but recently I came across ID Selector, an enhancement for the OpenID login box.

screen shot of open id selector

It makes it easy for users to sign in or register using their existing open id enabled account.  I've created documentation about enabling OpenID selector in mojoPortal here: http://www.mojoportal.com/using-openid.aspx

Using OpenID or Windows Live ID can increase the number of users who register on your site because they don't have to create any new passwords. Everyone hates new passwords and thats probably one of the biggest reasons people resist registering on new sites, so eliminating that issue can increase registration and participation in your site.

New Developer Extension Points

Actually, I implemented these a few versions ago but just now got around to documenting them.

These are basically plugin systems that let you build and plugin your own handlers so you can execute your own custom logic whenever a new user is created or a new page is created. I'm always trying to dicourage people from modifying the core of mojoportal and put their custom code in external projects. If you make changes in the core code and those changes don't go back into the project you are basically creating a fork and it will be difficult to upgrade to future versions without losing your custom code, so unless you are working on something that is going to be integrated back into the project you should never change code in the core. If you run into something where you think you are going to need to modify the core, let us know in the developer forum and maybe we can suggest a way to accomplish your goal using external projects, or maybe we will consider integrating your change if its appropriate, or maybe your questions will lead us to add new extension points to make it possible to do what you want without modifying the core.

Event Calendar Pro Will Be On Sale Next Week

My first for sale feature will be in the Store sometime next week. The first version is feature complete, and you can try it out on demo.mojoportal.com. I still need to make help files, documentation, training/demo video, marketing text, licensing text, etc etc, so it will take me a few days to get that stuff done. I'll make a detailed post about this feature after its available.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2268-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2268-released.aspx https://www.mojoportal.com/mojoportal-2268-released.aspx Sun, 17 Aug 2008 14:19:00 GMT
mojoPortal Gets Advanced Google Analytics Integration As of version 2.2.6.8, mojoPortal now includes advanced integration with Google Analytics. Google provides you with a basic script that you can use to track page views in your site, it looks like this:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._trackPageview();
</script>

Historically, in mojoPortal and in other ASP.NET sites, you could always put this script into the bottom of your masterpage, in mojoPortal, that would be the layout.master file in your skin. This would get you basic tracking and it was very easy to do. Now in the current version of mojoPortal, you just enter this part "UA-xxxxxxx-x" from the script provided by google into your Site Settings  under (key icon) Administration Menu > Site Settings > API Keys like this:

Google Analytics Setting in mojoPortal

of course your code will be different than "UA-xxxxxxx-x", that just represents the format of your tracking code.

If you are using a custom skin, the only other requirement is to put this in the bottom of your layout.master file just before the closing form tag:

<portal:mojoGoogleAnalyticsScript ID="mojoGoogleAnalyticsScript1" runat="server" />
</form>

All the skins included in mojoPortal already have this so if you are using one of those you don't have to do anything other than the site setting above.

mojoPortal will automatically setup the script and it will do a lot more than the basic script.

One of the first advantages, is that it doesn't matter if you change skins or use different skins on different pages, the script will just work as long as the skin has the needed control. So for example in the past, unless you also put your google analytics script into the printerfriendly skin, it wasn't tracking page views when users clicked the printer friendly link, but now it does. THis also helped me with tracking traffic on demo.mojoportal.com, in the past I never bothered tracking that site because users could always change the skin and it was tedious to have to put my tracking code in all the skins. Now I just set it in user.config, you can set it there like this and it will trump the one in site settings : <add key="GoogleAnalyticsProfileId" value="UA-xxxxxxx-x" />.  The only reason I use it on the demo site is so that no-one can change it in site settings and affect my tracking. I mean people get to login to the demo site as admin after all.  Of course for multi site installations you want to always use the sitesettings.

In addition to the convenience of not having to maintain tracking codes in all your skins, mojoPortal will automatically label your visitors as Members if they are registered on your site, and if they make a purchase in WebStore or the Event Calendar Pro features they will be labelled as Customers. You will see this under the "User Defined" section of reports beneath Visitor reports. mojoPortal will also track ecommerce transactions in Google analytics from WebStore and from Event Calendar Pro features.

Site Search is also tracked, but to take advantage of it you need to configre your settings in google analytics like this:

google analytics search configuration, add a q as the query parameter for search

Note that you just enable it and set "q" as the Query Parameter. Now you will start to capture data in the Site Search Reports beneath the Content Reports.

You can also enable tracking of page load time by setting this in your Web.config or user.config: <add key="TrackPageLoadTimeInGoogleAnalytics" value="true" /> Unfortunately, as of the time of this writing, you won't see this yet in your google analytics reports unless you are in their beta program. But, by starting to capture data now, you will see it later when event reports come out of the beta process.

Another thing you can do is capture the google analytics data into your own IIS or apache web logs by setting this in Web.config or user.config: <add key="LogGoogleAnalyticsDataToLocalWebLog" value="true" />
To get any value out of this data you would need to get google Urchin and use it to analyze your web logs. Another reason to capture this data in your logs is because google analytics only keeps your data for 25 months.

If you have more than one host name that your site responds to like mojoportal.com and www.mojoportal.coom, recommend that you force a preferred host name, to keep your reportng consistent.

Since anyone can view the rendered source of a page and see your tracking code, its possible for someone else to put your code in their site and create bogus data in your reports. To avoid this, after forcing a preferred host name, I recommend that you set a filter on your google analytics profile. Click the Add Filter link:

screen shot showing the Add Filter link in google analytics

then configure it like this:

google analytics host name filter configuration screen shot

I'm really just learning about all the possibilities for taking full advantage of Google Analytics, I've learned what I have so far from the top book in this picture and hope to learn more ways to make it easy to get good tracking integrated into mojoPortal.

screen shot of a stack of books about google analytics and search engine optimization


 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-gets-advanced-google-analytics-integration.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-gets-advanced-google-analytics-integration.aspx https://www.mojoportal.com/mojoportal-gets-advanced-google-analytics-integration.aspx Sat, 16 Aug 2008 16:16:59 GMT
mojoPortal 2.2.6.7 Released mojoPortal 2.2.6.7 is now available on the download page.

This is primarily a bug fix release. There was a change in the search engine architecture in recent versions that did not work in Medium Trust hosting environments that has now been fixed.

It seems like a constant battle to avoid medium trust issues, so I started a small document here with some notes for developers about things to avoid that can cause problems under medium trust.

http://www.mojoportal.com/developing-for-medium-trust.aspx

Its not comprehensive so if anyone else has any suggestions for things to list on this page let me know. Sometimes its surprising when seemingly innocuous things don't work under medium trust. The problem we encountered was when we changed the search engine to use a queue for writing/updating the search index to ensure things happen in correct sequence. We were serializing our task object into a row in the database then our little task service would deserialize it and run it on a new thread in the background. As it turned out the SoapFormatter we were using to do the serialization throws a security exception under medium trust so you can't use it. I had to re-work the code to use the XmlSerializer.

Since a lot of people are hosted in medium trust I thought it important to get this fix out quickly.

This release also fixes a few other minor bugs as mentioned in the forums. I was surprised how many people are experimenting with our WebStore feature. Several bug fixes and improvements have been made in WebStore. Most of the bugs were only affecting the MS SQL version, whereas the store on this site is runningunder MySql

UPDATE: I've just uploaded a new set of files versioned 2-2-6-7-b because a significant bug was found today in the task framework. The changes I made to the way we serialize tasks to fix the medium trust issue introduced a bug that allowed multiple instances of the same task to run at the same time and this would use up additional threads from the threadpool, potentially causing hangs and performance problems. I also upgraded to FCKeditor 2.6.3.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2267-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2267-released.aspx https://www.mojoportal.com/mojoportal-2267-released.aspx Tue, 05 Aug 2008 14:56:34 GMT
mojoPortal 2.2.6.6 Released I'm happy to announce the release of mojoPortal 2.2.6.6

This is a minor upgrade and bug fix release. There is a new option to show or hide any content instance based on whether the user is signed into the site or not. There is a new Traditional Chinese translation, thanks to Alex Ho!

There are a couple of bug fixes for the MS SQL version of WebStore and a few mnior improvements to a few admin pages in the WebStore.

There is a bug fix for a forums error that would occur if anonymous posting is enabled, though I still don't recommend allowing anonymous posting.

As usual, be sure and backup your site and database before upgrading, and post in the forums if you run into any troubles.

UPDATE: I've released a new set of files versioned 2-2-6-6-b, there was a packaging bug in the first set of files and it was missing some .htm files used by TinyMCE editor. I also fixed a few more bugs in the WebStore that were discovered today.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2266-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2266-released.aspx https://www.mojoportal.com/mojoportal-2266-released.aspx Tue, 29 Jul 2008 12:29:28 GMT
mojoPortal 2.2.6.5 Released and the Semi-Grand Opening of the mojoPortal Store I'm happy to announce the release of mojoPortal 2.2.6.5! Its been 2 months since our last release and a lot of good progress has been made.

What's New?

Upgrade to the newest version of MySql Connector
Upgrade to FCKeditor 2.6.2
Upgrade to the latest version of NeatHtml
Usability Improvements for google map enabled features and improvements to the search architecture as mentioned in this previous blog post.
A number of bug fixes as reported in the forums since the last release.
WebStore Improvements - the web store now supports selling download products using Authorize.NET, PaPal, and Google Checkout
A new plugin system for handling PageCreated events so developers can write their own handlers that execute after a page is created - not yet documented
A new plugin system for handling UserCreated events so developers can write their own handlers that execute after a nw user is created - not yet documented.

As always, be sure and backup your database and site before upgrading, and if you run into any problems post in the forums and we will try to help.

The Semi Grand Opening of the mojoPortal Store

I call it semi grand because no real products are available yet, all you can do in the store is buy me a beer at the moment. I expect to have my first product, Event Calendar Pro available by the end of July. You can see what I have so far for the Event Calendar Pro feature on the demo site http://demo.mojoportal.com/events. I decided to go ahead and open the store now because I thought it might interest others who want to use the mojoPortal WebStore to sell download products. The WebStore feature is very rudimentary now but it will be getting more love as I improve it to meet my own ecommerce needs. I will try to update some documentation on the WebStore soon. The one tip I will mention is you configure "Products" then you configure "Offers". Products are not sold directly, but by Offers. An Offer can have 1 or more products and price is set at the Offer level, not at the product level. The Product Catalog is very bare bones, we don't have categories yet so its really only good for a short list of products.

I've also opened up a store on CafePress to sell mojoPortal merchandise: http://www.cafepress.com/mojoportal.

t-shirtladies t-shirtcoffee mug

A great way to support mojoPortal, each item purchased contributes $5 to the project.

I'll announce the real Grand Opening of the mojoPortal Store as soon as our first product is available.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2265-released-and-the-semi-grand-opening-of-the-mojoportal-store.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2265-released-and-the-semi-grand-opening-of-the-mojoportal-store.aspx https://www.mojoportal.com/mojoportal-2265-released-and-the-semi-grand-opening-of-the-mojoportal-store.aspx Wed, 23 Jul 2008 15:09:00 GMT
mojoPortal 2.2.5.8 Released I'm happy to announce the release of mojoPortal 2.2.5.8, its available now on the download page.

New This Release

Friendly urls for the blog as mentioned in my previous post.

The Folder Image Gallery now works in Medium Trust

Bug fixes for SQLite and pgsql and other various minor bugs as reported in the forums since the last release.

As always, be sure and backup your site and database before upgrading, and report any problems in the Forums.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2258-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2258-released.aspx https://www.mojoportal.com/mojoportal-2258-released.aspx Wed, 21 May 2008 22:13:35 GMT
mojoPortal 2.2.5.4 Released I'm very excited to announce the release of mojoPortal 2.2.5.4

Its available now on the download page.

The main focus of this release is making mojoPortal more attractive, with the addition of 21 good looking new skins for a total of 34 skins now included with mojoPortal. There were also a few minor bug fixes for things reported in the Forums since the last release.

Those of you upgrading should do a full upgrade, don't try to just upload the new skins as there were code changes needed to support some of these new designs. You should upload all the new files and restore your customizations to Web.config or user.config.

My goals in producing all these skins was to make mojoPortal more popular and also to prove just how skinnable mojoPortal is. You can have a site fully populated with content and dramatically change the look of it with one click by changing the skin. This shows that we really have achieved good separation of presentation from content in mojoPortal. Those of you following this blog have surely seen the screen shots over the last 20 days as I implemented these new skins. 21 skins in 20 days is not bad if I do say so myself. It says a lot about the quality of the rendered markup produced by mojoPortal that one can go and find nice standards based designs and create mojoPortal skins from them relatively easy at least if you have an understanding of html and css. All these included skins can be used as a starting point for further customization to make your own custom skins as well.

I'd like to extend a huge thanks to the great designers who have made their work available. All the new skins in this release are the work of only 7 designers, Andreas Viklund, FreeCssTemplates, Graformix, Denise Mitchinson, snop, styleshout, and arcsin.

As always, be sure and backup your site and database before upgrading and if you have any trouble let us know in the forums.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2254-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2254-released.aspx https://www.mojoportal.com/mojoportal-2254-released.aspx Mon, 12 May 2008 21:47:12 GMT
mojoPortal 2.2.5.3 Released I'm happy to announce the release of mojoPortal 2.2.5.3.

This is a relatively minor upgrade. There are a few bug fixes for little things reported in the forums.

Upgrade to FCKeditor 2.6

Upgrade to ExtJs 2.0.2

The package for Mono has been tested and works on Mono 1.9

As always, be sure and backup your site and database before upgrading and post in the forums if you have any trouble.

I've also created some new documentation to help with installation and upgrades.

Web.config Guide describes how to make upgrading easier by using a user.config file in conjunction with Web.config

Uploading Files to a Hosted Server gives a few tips for uploading files to your server.

Getting the most from your blog with Odiogo and Feedburner.

There is still time to help pick designs for new mojoPortal skins. I will be starting on the new skins after I get back from the MySql Conference and will probably blog again about some of the suggestions next week during the conference.

If you're going to the MySql Conference I hope to see you there. I'll be in Santa Clara all week. My first ever trip to Silicon Valley.

Cross Platform .NET Development with Mono and MySQL Visit Our Booth at the MySQL Conference

We've got a booth in the DotOrg Pavillion, so come by and see us. I'm also co-presenting with Joseph Hill of Novell for the session "Cross Platform .NET Development with Mono and MySQL". Its very exciting for me because support for Mono and MySql were my very first goals and milestones for mojoPortal when I began the project. The other interesting thing is that mojoPortal has projects and solutions for MonoDevelop in addition to those for Visual Studio, so its one of the few .NET projects with developers collaborating across Windows and *nix platforms.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2253-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2253-released.aspx https://www.mojoportal.com/mojoportal-2253-released.aspx Fri, 11 Apr 2008 21:57:00 GMT
mojoPortal 2.2.5.2 Released I'm happy to announce the release of mojoPortal 2.2.5.2.

New this release:

AddThis.com button added to blog and to skins to make it easy for others to bookmark and share your site pages using popular bookmarking services. See my previous post for more info.

Contact Form Improvements

The contact form now persists messages to the database so messages are not lost if smtp is not configured. A cool new UI for reviewing messages has been added. It uses ExtJs Window for which I implemented a new .NET WebControl.

screen shot of message list

The window and the panes are re-sizable by dragging. I also added a Web.config option that should help users who have been reporting problems with contact form messages not being encoded correctly for Russian and other languages.

<!-- leave this blank for ascii encoding -->
<add key="SmtpPreferredEncoding" value="" />
<!-- example for Russian encoding
<add key="SmtpPreferredEncoding" value="koi8-r" />
-->

New Skin - extjsViewport1

I also implemented a new skin based on the ExtJs complex layout example, its named extjsViewport1.

screen shot of extjsViewport1 skin

I'm really just scratching the surface so far, I think it will be possible to have feature instances collapse accordian style and the possiblity to drag and drop feature instances to re-arrange content on the page. So far just some foundation work is done, but it is usable.

As always, be sure and backup your site and database before upgrading and if you have any troubles post in the forums and I will try to help.

 


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2252-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2252-released.aspx https://www.mojoportal.com/mojoportal-2252-released.aspx Thu, 03 Apr 2008 12:05:07 GMT
mojoPortal 2.2.5.1 Released I've just released mojoPortal 2.2.5.1, which is a bug fix release for things reported in the forums since the 2.2.5.0 release.

Specifically there was a bug in the Google Maps that caused it to not have the width and height so it made the map disappear.

There was a bug in the new folder image gallery.

There was a bug in the MS SQL version that prevented login if the site was configured for encrypted passwords and login using email.

I've also added better error handling around the search index builders due to a few reports of errors that I was not able to reproduce.

See my previous post for details about new features and enhancements.

I'd also like to mention that I've been working on some new video tutorials.


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2251-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2251-released.aspx https://www.mojoportal.com/mojoportal-2251-released.aspx Mon, 24 Mar 2008 16:47:31 GMT
mojoPortal 2.2.5.0 Released I'm happy to announce the release of mojoPortal 2.2.5.0.

This release contains some significant database schema changes, almost every table has some new columns. As with every upgrade, its important that you backup your site and your database before upgrading so that you can get back to a known working condition should anything go wrong. I fully expect the upgrade to go smoothly and my advice about backing up is no different than any other release. I just figure that since the upgrade scripts are touching so many tables it merits emphasizing this precaution.

So why were so many tables modified this time? Well its laying the foundation for some things to come.

Architectural Changes - Guids are Good

Although we are using integer ids on most tables in mojoPortal (which is optimal for performance), we have added Guids (Globally Unique Identifiers) to most tables that can be thought of as supplemental primary keys and foreign keys. Guids are guaranteed to be unique across machines. It seems almost impossible but supposedly you can generate Guids all day and never make the same one twice or conflict with ones generated on other machines. So what are the benefits of having these Guids on your tables?

One benefit is that it makes it more feasible if you need to combine data from 2 mojoPortal sites into one site. It still would require some custom query work, but the basic idea is that the imported data would not get the same integer ids as it had in the previous system, but the relationships between rows could be re-established using the Guids.

The other benefit and perhaps the more important one is that it allows flexible relationships between tables that make it easier to re-use some functionality across features. For example, I plan soon to implement some things like Content Rating and Content Versioning. So for example I will need a ContentHistory table for the versioning so I can store a copy of every change to a content instance. Instead of implementing this versioning just for the Html Content feature, I'm implementing it in a way that multiple features can use it. So instead of having joins between the ContentHistory table and the HtmlContent table, I will store the history using the Guid that identifies the Html Content instance. It will be able to retrieve its history by passing in its Guid. I could then re-use it in the Blog feature if I want because blog items have their own Guids and can retrieve their history by passing in a Guid. Same thing for the event calendar feature. So basically the ContentHistory table doesn't care which features store their history in it and doesn't have any hard foreign key relationships, but instead loose relationships by virtue of Guids. So the ContentHistory table will have a column named ContentGuid which can relate to the Guid columns of any feature specific tables.

Consider the ContentRating table, again it will have a column named ContentGuid, but I could pass in any feature instance specific Guid, or I could even pass in a page Guid and have ratings at the page level or content instance level. I'll be able to re-use it in Blogs, Html Content, Events, Forums, or anywhere else I need to use it. It will of course be up to the feature or page or whatever to know how to retrieve its ratings or history using its own Guids.

I have not yet implemented  Content Ratings or Content Versioning, but with the Guids in place I can now implement it once and use it in flexible ways across various features. You won't notice anything in the user experience yet from this addition of Guid columns, but the value of this will be more apparent in future releases. These are just examples too, there are actually a lot more things like tagging, meta data and other sub systems that I want to be able to re-use across features and the use of Guids will make that much easier to implement.

Also, this release introduces SubSonic into our architecture which will make it much easier going forward to support all the different databases. See my previous post for more information about the use of SubSonic in mojoPortal.

Blog Enhancements

Its now possible to have a google map in your blog posts by entering a location. Not sure how often you will find that useful, but its there if you need it. A more exciting enhancement to the blog is support for Odiogo, a free service that can generate audio podcasts from you posts automatically. To use it all you have to do is enter your Odiogo feed id and podcast url into the blog settings. Both of these enhancements were pretty low hanging fruit, that is, easy to implement.

Event Calendar Enhancements

Its now possible to enter a location for an Event and have a google map appear in the event details page. The google maps api key now can be stored in Site Settings for all google map enabled features.

Forum Enhancement

A small but useful enhancement is the ability to view threads by user. For any user that has made forum posts now a link to "View Posts" appears below their forum signature as well as on the member list and profile pages.

A New Image Gallery

I blogged about this new feature here.

More work on WebStore

I've been working a lot recently on getting the WebStore feature working on MySql for two reasons. One is so that I can demo it at the MySql Conference. The other is so that I can open up a store on this site to sell premium features. Its very challenging making a living as an open source developer when you give away your products. I do ok when I get consulting work but that is sporadic and not all the work I get has any benefit to the mojoPortal project so sometimes its actually slowing down progress of the project when I take consulting work. Most of the actual progress is still happening when I'm working for free on my own time. So I'm hoping that I can come up with some premium features that you would be willing to pay for. The core of mojoPortal will always remain open source but I need to get some revenue stream going so that I can afford to keep working on improving the core features. I'm also going to roll out a corporate benefactor program soon to make it easier for companies who are building their infrastructure on mojoPortal to get involved in supporting the project financially and influencing the direction of progress.

The WebStore feature should still be considered very experimental, but as I get it running on this site and begin to use it in actual commerce, it will get polished up more quickly and soon be in a condition for others to use.

This release also includes fixes for various bugs posted in the forums since the last release.

As always, be sure and backup your site and database before upgrading, and if you run into any problems post in the forums and I will try to help.

New Tutorial Videos


Joe Audette  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2250-released.aspx joe.audette@gmail.com (Joe Audette) https://www.mojoportal.com/mojoportal-2250-released.aspx https://www.mojoportal.com/mojoportal-2250-released.aspx Thu, 20 Mar 2008 14:32:48 GMT
mojoPortal 2.2.4.6-b Released I've just released mojoPortal 2.2.4.6-b, its available now on the download page.

Nothing changed in the core schema thats why the version only changed to -b. However there are some changes that make it worth the effort to upgrade.

The Poll Feature by Christian Fredh and the Survey Feature by Rob Henry have been revamped to make them a little more user friendly and more consistent with other features. These are 2 very cool features which up till now I haven't used much myself because this site is running on MySql and they were only implemented for MS SQL. Rob actually implemented most of the MySql layer for the Survey recently so I picked up where he left off and finished it then went on and implemented MySql for the Poll as well. You can try them out on this site, the Poll is here and the Survey is here. Go ahead and try them, I'd be interested in your answers to some of the questions I created.

Another new feature is the link browser in the FCKeditor is now implemented so you can browse and link to pages in the site or files in the file system more easily.

As always back up your site and db before upgrading. You'll want to be sure and get the new Web.config file, don't try to keep the old one, just restore any customizations from the old one to the new one.

Although the core schema didn't change you still need to visit the /Setup/Default.aspx page after uploading the new files so it can upgrade the Poll and Survey.

Other than these new features there are only a couple of minor bug fixes. The SQLite blog bug is fixed and it was the worst one reported since the previous release.

Also wanted to mention as noted in Miguel's blog, mojoPortal is also available in rpm format for a few flavors of Linux. The root folder is here, you can drill down through the different distros to find the correct package. This is all thanks to the magic of the OpenSuse Build service and Joseph Hill who initially set it up for mojoPortal. The rpms don't have the very latest release but they are easier to install. I plan to get involved in keeping them up to date after I learn how.


  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2246-b-released.aspx () https://www.mojoportal.com/mojoportal-2246-b-released.aspx https://www.mojoportal.com/mojoportal-2246-b-released.aspx Thu, 24 Jan 2008 22:28:23 GMT
mojoPortal 2.2.4.6 Released I'm happy to announce the release of mojoPortal 2.2.4.6.

Its been over 3 months since the last packaged release which is a bit longer than usual, my general motto is release early and release often but I had set a goal for this release to include the Newsletter which took a little longer than anticiapted. I was also side tracked on some other projects and of course we had several major holidays and family events to sidetrack me too. As a result this is a significant new release with a lot of new goodness.

Whats New?

Newsletter is a feature that a lot of users have been asking for. Now I hope you will all login to this site and opt in to our new mojoPortal News. I plan to send newsletters about once a month but I suppose it will depend on how much news we have each month. Thanks to those of you who signed up for the testing list and provided feedback!

Google Maps is one of the things I got sidetracked on as a need for it came up in a customer project. After meeting the customer needs I dressed it up a little more and made a new mojoPortal feature that makes it easy to put google maps in your site with various options for showing satelite, hybrid, and driving directions.

A feature to allow banning ip addresses is now included. I periodically review my logs and see evidence of malicious traffic and decided it was time to block some of those. A new feature has also been added to capture users ip addresses so that if a site has any troublesome users they can be banned.  Of course they may come back using a different ip address but every little bit of defense helps. Another benefit of capturing ip addresses is that there are ways of determining approximate logitude and latitude based on ip addresses and this presents a possibility to create cool features to plot community members on a map. So this will lead to some other cool features in the future.

We have a new Simplified Chinese translation as well as updates to the Russian, German, and Swedish translations contributed by the community. Thanks to all!

In the Blog, as soon as you create a post with a future date a new "Edit Drafts" link appears to make it easier to keep track of posts you are working on but aren;t ready to publish.

This release contains updated version of FCKeditor (v2.5.1) and ExtJs (2.0) toolkit.

The Site Settings, Page Settings, My Account (User Profile), Manage Users pages have all been updated to use Tab Panel layout provided by ExtJs. I'm also using the ExtJs grid in several places. I've been writing .NET wrapper controls to make it easy to use these things.

Rob Henry and I both did a bunch of work trying to fix FxCop violations to bring the code into FxCop rule compliance. Very few projects pass all the FxCop rules. Not passing them doesn't mean the code is bad but following the Framework guidelines developed by MS is a good practice. We used CodeIt Right to help identify and fix a lot of them but there is still a good ways to go. I spent 2 solid weeks on it. Some of the changes were breaking changes so those of you with custom features that haven't been working with the code from svn may need to revisit your code and compile against the new version. The breaking changes were just due to renaming some things and can be fixed easily by careful find and replace of .SiteID with .SiteId, .PageID with .PageId, and .ModuleID with .ModuleId. Does the code work any different or better due to these changes? No but it makes FxCop happier and I think adherance to the framework guidelines is one metric of code quality that is easy to measure. I would not overwieght this as the most important thing though.

I also noticed Rob recently implemented a MySQL data layer for his Survey feature. I haven't had time to test it yet but plan to soon.

I spent a chunk of time working on performance improvements using RedGate Antz Profiler and MS ACT load tester. ANTS is a great tool for finding slow places in the code. So I was finding such methods to optimize then load test to verify performance improvement by the optimization. I was able to make some significant gains in requests per second on my test machine using this process.

I'm including the e-commerce feature in the MS SQL release this time. It still needs a lot of work on the customer facing side but it can sell download products processing credit cards through Authorize.NET. I'll be doing more work on this in the near future and plan to implement Paypal and Google Checkout providers soon. For now consider it experimental but if you want to experiment with it feel free.

It is now possible to make skins with up to 5 content sections as illustrated in the 5contentpanes skin.

Things are working a bit better on Mono as of late. We still have to compile a special build without WebParts but the MS AJAX Update panel works so we're back to one code base again whereas at the time of the 2.2.3.9 mojoportal release we had to keep the 2.2.3.6 version for Mono due to lack of MS AJAX. The biggest problem we currently have is the lack of support for CSS Control Adapters, but the good news is my friend Dean Brettle has taken on the task of implementing the needed support in Mono. Dean is an awesome developer and the author of NeatUpload and NeatHtml both of which are used in mojoPortal. I think its just a matter of time now and all the mojoPortal skins will look as they should on Mono. I know a number of mojoPortal users who are eager for this so its very exciting.

As always, be sure and back up your site and database before upgrading. Report any problems in the forums and we will try to help.

If you like mojoPortal please help spread the word. We've got a lot of exciting plans for 2008 that I'll blog about soon.

 


  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2246-released.aspx () https://www.mojoportal.com/mojoportal-2246-released.aspx https://www.mojoportal.com/mojoportal-2246-released.aspx Sun, 13 Jan 2008 00:34:00 GMT
mojoPortal 2.2.3.9 Released I'm happy to announce the release of mojoPortal 2.2.3.9, available now on the download page.

I was going to wait and try to get finished with the Newsletter feature I'm working on for this release but since I'm getting side tracked with some customer work (which is a good thing) I thought I should go ahead and make a release to get the new skins out there.

This release contains a few bug fixes and 7 new skins as mentioned in my previous post.


  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2239-released.aspx () https://www.mojoportal.com/mojoportal-2239-released.aspx https://www.mojoportal.com/mojoportal-2239-released.aspx Wed, 26 Sep 2007 21:20:31 GMT
mojoPortal 2.2.3.8 Released I'm happy to announce the release of mojoPortal 2.2.3.8. Its available now on the download page.

This release contains bug fixes since the last release, and the 3 new skins I implemented recently. Since these skins are much better looking than most of our existing skins I wanted to go ahead and make a release so people can use them.

I still plan to implement more new skins in the coming weeks.

As always be sure and back everything up before upgrading, read the upgrading tips, and post in the forums if you have any difficulties and I will try to help.

We did not release a new build for Mono, and probably won't do that until Mono 1.2.6 is released.


  ...Tweet This
]]>
https://www.mojoportal.com/mojoportal-2238-released.aspx () https://www.mojoportal.com/mojoportal-2238-released.aspx https://www.mojoportal.com/mojoportal-2238-released.aspx Tue, 11 Sep 2007 21:44:11 GMT