Posts in Category: Tutorials

Using the Blogsy iPad App With mojoPortal

It seems like developing applications for the iPad is all the rage these days as it has become a very popular device.  I’ve thought about developing an iPad app for mojoPortal, it would be fun to learn how to develop apps for iPad and iPhone, but honestly my plate is pretty full just working on mojoPortal itself and add on products for it. So I got to wondering if there were any apps already in existence for the iPad that could work with mojoPortal similar to Windows Live Writer which is the best Windows desktop application for blogging. In case you missed it, in version we improved our support for Windows Live Writer so that you can now edit CMS pages with Html content in addition to Blog posts. I thought it would be pretty cool if there is an iPad application that offers similar functionality as Windows Live Writer.

So I tried a few iPad applications including the WordPress app, BlogPress, and Blogsy. I found Blogsy to be the most feature rich user friendly one of the group. All of these apps support Wordpress and some of them support a few additional blogging platforms and since mojoPortal is much less known than the big blogging platforms I would not expect the developers of those apps to be interested in working on specific support for mojoPortal. So instead I decided to try to support more of the Wordpress API in mojoPortal so that these apps could be used with mojoPortal just as if they were using  Wordpress. I used all 3 of these apps in testing to make sure I was correctly implementing the Wordpress methods, but Blogsy is by far the best one that I could recommend to mojoPortal users who would like to blog from their iPad.


In Blogsy you configure mojoPortal the same as if it were a self hosted Wordpress site. So you enter the url to your Blog page (use https if you have SSL installed) and your login credentials.

Now Wordpress of course is a PHP application (not a .NET app) and the Url for the API is yoursiteroot/xmlrpc.php (you don't enter this url in Blogsy but that is the url it will use to talk to mojoPortal) so we have a handler mapping in our Web.config file that maps requests for xmlrpc.php to our metaweblogapi.ashx handler. This probably only works in IIS 7.x and it may not work if you have PHP installed and configured for your site, but it does work for me.  I don’t have PHP installed so not sure what would happen if it is, but in most hosting control panels you can disable PHP for your site even if it is installed on the server, so hopefully it will work for you.

<add name="WordpressXmlRpcHandler" verb="POST" path="*xmlrpc.php" type="mojoPortal.Web.BlogUI.metaweblogapi, mojoPortal.Features.UI" preCondition="integratedMode"/>

When I first began work on the additional API methods and testing with Blogsy I was getting a lot of crashes. Adding an image from the iPad photostream for example was causing a crash after it uploaded the image to the server. But I contacted the Blogsy guys and they both helped me with advice that the images needed to be named a certain way with a prefix, and they also fixed things in their app to make it more robust and reduce the crashing and now it is working pretty well. I have a first generation iPad and suspect these apps work even better with newer iPads that have more memory available, but it works well enough even on my older iPad.

You can create and edit posts, you can publish or post as draft. It supports inserting images from your Photostream, local storage, Fickr, Picasso, and even videos from YouTube. You can assign and edit categories. You can create and edit CMS pages with Html content in addition to Blog posts. The only missing feature is the ability to set the parent page of a CMS page so you can’t manage the site hierarchy the same as you can with Windows Live Writer, but who knows if enough people request it maybe they will add support for parent pages in a future update to Blogsy.

The additional support for the Wordpress API is included in mojoPortal but I’m just now getting around to documenting it so that people know they can try it. If you have an iPad I hope you’ll give it a try. If you have any troubles with it or any feedback positive or negative let us know. In theory it should work with any Wordpress client. While Windows Live Writer is still the best Windows app for blogging, in the Mac world apps like MarsEdit should theoretically work though I haven’t actually tested it yet.

A quick shout of thanks out to the Blogsy guys for their help and support. I highly recommend you give their app a try if you have an iPad. Its very inexpensive ($5 if I recall correctly), I actually think they could get away with raising the price a bit because it is the best blogging tool currently available on iPad and they are very passionate about it and constantly improving it and listening to the feedback from their customers.

See also:

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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

mojoPortal SQL CE and WebMatrix

This is just a quick post in follow up to my previous post SQL Server Compact 4.0 and mojoPortal, to provide some updated information. We recently released mojoPortal, and I've updated the package for SQL CE recently to contain migration scripts so that it is easy to migrate to SQL Server.

I've also created some new documentation.

Using WebMatrix with mojoPortal

WebMatrix includes IIS Express web server which is much easier to use on your local machine than IIS but has all the features of IIS. Once you install WebMatrix, you can right click a folder in Windows Explorer and choose "Open as a Web Site with Microsoft WebMatrix". So you can just unzip the mojoPortal package and right click the wwwroot folder to launch a mojoPortal site on your local machine. If using SQL CE you don't need to even need to configure a database, it just works, but for other mojoPortal packages you would have to set the connection string for the database. 

One could also use WebMatrix for light mojoPortal feature development, perhaps at some point I will make an article showing how to use the mojoPortal Hello World examples with WebMatrix. While WebMatrix is not designed to scratch the same itch as Visual Studio, it is a useful tool even for folks like me who really live in Visual Studio all day long. I encourage you to check it out, especially if you are interested in working with the SQL CE version of mojoPortal.


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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

5 New Developer Training Videos

Just a quick post to mention that 5 more videos have been completed in the developer series of videos. Here is the full list of videos so far and more are on the way soon. The newest videos are at the bottom of the list. The series is aimed at teaching how to build custom features that plug into mojoPortal by demonstrating step by step how to implement a guest book feature. Once the series is completed I will also make the source code available.

  1. Getting the code with TortoiseSVN
  2. Source Code Overview Part 1
  3. Source Code Overview Part 2
  4. Custom Solution
  5. Hello Web
  6. Hello Web Part 2
  7. Hello Guest Book
  8. Concepts Part 1
  9. Concepts Part 2
  10. Debugging in IIS
  11. Create a Table Using the Setup System
  12. Using The Setup System to Run Upgrade Scripts
  13. Generating a Data Access Class
  14. Generate the Business Layer
  15. First Guestbook Submission
  16. Form Layout
  17. Form Layout and Data Binding
  18. Upgrading from svn and Converting to VS 2010
  19. CSS Layout
  20. Using a WYSIWYG Editor and Captcha
  21. Default Button and Input Validation
  22. Protecting Against Untrusted Content
  23. Supporting Pages Part 1
  24. Supporting Pages Part 2
  25. Supporting Pages Part 3
  26. Enforcing Security Part 1
  27. Enforcing Security Part 2
  28. Implementing the update method

UPDATED 2010-05-11: added 3 more videos 26, 27, and 28

Also don't forget the mojoPortal online user group meeting is coming up on May 18, 2010 at 8PM EDT.

mojoportal online user group meeting


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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

Some New Training Videos

Just a quick post to let people know about new training videos available. I am making it my focus for this month to produce a lot more tutorials to answer common questions and especially to help developers get started with custom development. I still have a ways to go with the developer tutorials, but thought I would go ahead an post links to videos I've completed so far.

Installation and Configuration

Developer Series

I've begun a series of clips where I plan to implement a simple Guestbook feature as a way to cover important concepts. 

  1. Getting the code from svn trunk
  2. Introduction to the Source Code Part 1
  3. Introduction to the Source Code Part 2
  4. Creating a Custom Solution and Project
  5. Hello Web Part 1
  6. Hello Web Part 2
  7. Guestbook first steps
  8. Concepts Part 1
  9. Concepts Part 2
  10. Debugging in IIS
  11. Create a Table in the db using the setup system
  12. Create stored procedures with an upgrade script using the setup system
  13. Generating a data access class
  14. Generate the business layer
  15. First Guestbook submission achieved
  16. Form Layout 
  17. Form Layout Part 2 and data binding

Just getting started so far, lots more clips to produce to complete the Guestbook tutorial. I'm planning to cover development of business and data access classes and how to add supporting pages to your feature as well as how to make your feature searchable. I'm working only from an outline not a script, so the videos are mostly improvised and I stumble on a few things here and there, but rather than edit them out, I think it is helpful since you may also stumble a little bit, so learning to work through the stumbles is part of the process.

Each clip will be less than 10 minutes in order to fit them on YouTube, but they are in high definition so the video quality should be pretty decent.

UPDATE 2010-03-08 -added items 8 - 17 to the list above.


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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

New Training Videos Thanks to Expression Studio

Recently, Microsoft announced the release of Expression Studio 3. I was very excited about this because I noticed that my MSDN subscription included it whereas in the past all I had access to was Expression Blend and Expression Web. Kudos to Microsoft for making the whole of Expression Studio available to MSDN subscribers. I don't know if it applies to all subscription levels but whatever I have now includes it and its awesome!

The new parts for me are the Expression Screen Capture and Expression Encoder. I was heavily involved with streaming Windows Media Video years ago like 2003-2005 ish but the new Silverlight technology is so much nicer today. Anyway, the Expression Screen Capture tool is like Camtasia and Wink and other screen capture tools but its pretty darn easy to use and the Expression Encoder can encode the resulting screen capture into various formats, especially .wmv that is optimised for Silverlight, but also formats like mp4 suitable for upload to YouTube or Facebook etc.

I've found some issues with the audio getting out of sync with the video on YouTube but don't really know if its some fault of the mp4 file I upload or the conversion process to Flash that YouTube does. Some of the videos I uploaded to YouTube are better than others in this regard, but the Silverlight versions are consistently good.

There is even free hosting for some Silverlight files up to 1 GB total on and I'm serving my Silveright training videos from there. Expression Encoder can generate an html page to host the video and its easy enough to modify it to point to the video on the site.

So I spent the last 2 days doing some screen capture tutorials for mojoPortal using these new tools. For most of the files I uploaded alternatives on YouTube that don't require the Silverlight plugin, but as mentioned a few of them have audio video sync problems but not real bad. Best if you can watch them using Silverlight though and one of them, the Introduction to the mojoPortal Source Code is 20 minutes long so it was too long to upload to YouTube as they limit you to 10 minutes.

Here is a list of the video tutorials I made in the last 2 days:

I was long overdue to make some more video tutorials and having these nice new tools inspired me to spend a few days on it and it was kind of fun. Hope you find them useful and informative. Now back to regularly scheduled development ;-)

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