Posts in Category: Features

How To Develop a Feature for mojoPortal, Tutorial coming soon.

I've been thinking for a long time that we really need a walk through tutorial showing how to implement a custom feature that plugs into mojoPortal. This will be very helpful in making mojoPortal even more popular among developers.

So I've decided to write a tutorial as I implement the e-commerce feature. I've been taking notes and screen shots as I go and will probably put up a page with the beginnings of this tutorial soon for anyone who wants to follow my progress. The tutorial will evolve along with the feature. Those of you working regularly with the svn code will see my checkins and can follow my progress there too.

I'm implementing the e-commerce feature as an external module outside of the core of mojoPortal. I think this will be the most popular approach for third party developers because with your code separate from the core, you can do svn update on the core without touching your feature. So implementing a complex feature like this and having the code and the tutorial available should get most developers up to speed faster.

I've already stubbed out the needed projects and created the module control that will be the entry point to the store and plug into the content system. Its in svn branches/2.x

mojoPortal 2.2.1.5

I've just released a new set of files version 2.2.1.5

If you are upgrading from a previous version, this is the last time you will need to run any upgrade scripts for the database. Next time that will happen automatically due to the new schema detection and upgrading system I implemented in this release.

So this time you do have to run the upradefrom2-2-1to2-2-1-5.sql
but next time there will be no need for this.

This will also make it easier for those working from svn branches/2.x as your db schema will also upgrade automatically whenever I check in new upgrade scripts.

If using MS SQL or PostgreSQL you need to also run the stored procedure script (this step also will not be needed going forward)

As always be sure and backup both your site and your db before upgrading and post in the foums if you run into any troubles.

Thanks to all for reporting bugs and making suggestions to help improve mojoPortal.
Thanks especially to Alexander Yushchenko for providing a lot of great QA and code review as well as patches.

Work continues on the Mono front. We are making progress but still have issues to work through. We are getting good help from the Mono Team, especially Marek Habersack. Thanks!

e-commerce and Site Office Features Coming Next

Just a quick post to mention the things I'm working on.

The biggest thing on the agenda is the e-commerce project which has a due date of March 1st.

I'm wrapping up some work on an automated database update system for easy upgrading. I've got the MS SQL version implemented and just need to translate it to the other data layers.

I've also implemented a few core plumbing items of the planned Site Office feature. I hope to ship a little of it also on March 1, but it will be disabled by default until its a little more complete. Those who want to enable it will be able to do so using the Web.config file. The things we have planned for the Site Office Feature are:

Private Message System
External POP Email Access
Personal File Storage
Contacts
Group and User Calendars

but we will only have a little of that done by March 1

Big Thanks! go out to Alexander Yushchenko and Jesse Englert for all their help testing and reviewing the code from svn.

Localization Documentation Updated

I've just updated the documentation about localizing mojoPortal

http://www.mojoportal.com/localization.aspx
 
I'm renewing my push to improve documentation as I believe this is critical to improving the popularity of mojoPortal, which in turn is crucial for my business plan and trying to make a living working on mojoPortal.

Right now my top priorities are documentation and preparing for a new release with the recently completed extensible User Profile system.

The e-Commerce Solution project is temporarily on hold for now because the deadline has been pushed out by the one sponsor I have for this project and because the project is currently under funded and therefore not as high on my priority list.
 
Currently I have one sponsor pledging $1000 for this feature. I would really like to find some additional sponsors to make it worthwhile for me to work on the e-commerce feature so if you are interested in this feature and have any funds in your budget, please consider sponsoring this project. Please contact me if you are interested.

New Extensible Profile System in svn

I just committed the new Extensible Profile System to svn branches/2.x

Anyone who can help test before the release, it would be greatly appreciated. Post in the forums if you have any difficulty or questions.

With this feature, user profile properties are specified in mojoProfile.config file, you can totally customize what properties show up on the user profile page and you can also specify properties that are required for Registration on the site. You can specify any System data type that can be serialized as a string. Boolean properties will be rendered as checkboxes, all other types will be rendered as a textbox. It is also possible to configure dropdown lists, see the Gender property in mojoProfile.config for example syntax:
<add    name="Gender"
                type="System.String"
                allowMarkup="false" 
                labelResourceKey="GenderLabel"
                lazyLoad="false"
                requiredForRegistration="false"
                readOnly="false"
                allowAnonymous="false"
                visibleToAnonymous="false"
                visibleToAuthenticated="true"
                visibleToUser="true"
                editableByUser="true"
                regexValidationExpression=""
                validationErrorResourceKey=""
                onlyAvailableForRoles=""
                defaultValue=""
                includeHelpLink="true"
                >
            <OptionList>
                <Option value="" TextResourceKey="GenderUnselectedLabel"></Option>
                <Option value="M" TextResourceKey="GenderMaleLabel"></Option>
                <Option value="F" TextResourceKey="GenderFemaleLabel"></Option>
                <Option value="T" TextResourceKey="missingkeytest"></Option>
            </OptionList>
        </add>

I'll be working on documentation for this new feature tomorrow, so more to come, but I'm hoping some brave developers will jump right in and try it out.

Update 1/5/2007: I've just completed the documentation for this feature here, let me know if there is anything unclear or any feedback for improving the documentation or the feature itself.