Paul Sterling's Blog

Installing Umbraco Using the Web Platform Installer

Wednesday, April 29, 2009 by Paul Sterling

Mai-lan from the IIS7 team created this very nice video overview of using the Web Platform Installer to install required components (SQL Express in this case) and Umbraco.  Check it out, shows just how easy getting up and running with Umbraco can be.

 


Niels Hartvig on Five Keys for Open Source Startups

Thursday, April 23, 2009 by Paul Sterling

Following is a sidebar from an interview Niels Hartvig did with Prosabladet in the 4 April, 2009 edition. nh-family(http://www.prosa.dk/)  I used Google Translate to get the bulk of the translation as the original work is Danish-only, but added some content where the translation was ambiguous.

::::

1 - You are never more than in the start-up phase. Learn the basics of place in the beginning. Write documentation - the devil! I never finished it. Umbraco would be twice as prevalent if there had been proper focus on evidence. 

2 - Be 100 percent open about everything in the project. It's no disgrace not to make money in the beginning of the project. If you are honest about it, you'll go to the the users and they'll give you that. 

3 - Be clear why you want to build a open-source project. The good reasons are to be more capable and to get more input and to create software jointly with others. 

4 - Sit down and carefully review the license options.  Do not just take GPL because all others do. 

5 - If it is a commercial project then get a trademark. It is the only asset you have. You need this to obtain a share of the profits from training companies, etc., which wish to use the trademark. If you don't, people will stand and laugh at you.

5 1/2 - Have a natural user environment. Low team meetings and conferences - it is easy. Write it on your blog.

Commerce For Umbraco v1.0 Feature Set

Monday, April 13, 2009 by Paul Sterling

We've made tremendous progress on Commerce For Umbraco over the past two weeks - thanks in part to the sharpened focus from the community and in part to me carving out a a few days to get the project framed for v1.0.  With just more than two-months until Umbraco CodeGarden09 and with some awesome project members I'm feeling really good about what we'll deliver to the community in June.  dc4umb   Commerce For Umbraco has a time-tested transaction-core (based on dashCommerce 2.2) that is in use on almost 100 commerce sites (and growing).  The v1.0 release focuses on the Umbraco integration for the Admin Section and a simplified set of .NET User Controls and Xslt-Extensions.  We hope the included controls will serve as a guide for creating custom controls on your own sites.  However, we will deliver a fully functional sample site that will have you selling products via your Umbraco installation in a very short period of time.

Following is the list of features we'll deliver with v1.0.  If you see something missing, please let me know so we can evaluate the effort.  Feel free to comment below or send me a message here.

Admin Section

  • Orders - Grouped in Date Folder Format
  • Products
  • Categories
  • Manufacturers
  • Configuration File Editor (via Tim G's ConfigTree package)
    • Address Validation
    • Fulfillment Provider Settings
    • General Commerce Settings
    • Domain Specific Settings
    • Payment Provider Settings
    • PayPal Specific Settings
    • Subsonic Specific Settings
    • Tax Provider Settings
  • Mailer Settings
    • orders, payments, shipments, etc….

Front End

User Controls

  • Single Product Display
    • Product Cross-Sell Display
    • Product Descriptors Display
  • Category Products Display
  • Featured Product Display
  • Product 'Box' Displays
  • Shopping Cart
  • Multi-Page Checkout
  • Single-Page Checkout
  • Address Entry (Shipping and Billing)
  • Payment Entry
  • Login
  • Create Account
  • Recover Password
  • Reset Password
  • Order Summary List

Xslt Extension

  • Single Product Display
  • Category Products Display
  • Featured Product Display
  • Cart Item Count Display

dashCommerce.Net - Revisions

  • Removed dependency on Enterprise Library Logging and Exception Handling mechanisms
  • Relocated *.config files to reduce web.config size and allow editing via UI

Installer

  • Support for full installation via an Umbraco Package - including database creation
  • Optional sample site installation

 

Simple .NET User Control Markup

<%@ Control Language="C#" AutoEventWireup="true"
Inherits="CommerceForUmbraco.usercontrols.FeaturedProduct"
Codebehind="featuredProduct.ascx.cs" %>


<div id="featuredProduct">
<h3>
<a href='<%=productUrl%>' title='<%=ProductName%>'>

<%=
ProductName%></a>
<br />
<%=RetailPrice.ToString("c") %>
</h3>
<img src='<%=ImageFile%>' alt='<%=ProductName%>'

width
="250" />
<p>
<%=ShortDescription %>
<br />
<strong>Part Number:</strong>&nbsp;&nbsp;<%=productSku %>
</p>
<p class="featButton">
<asp:LinkButton ID="AddToCart" runat="server"

CssClass
="aAddCart"

OnClick="AddToCart_Click">Add To Cart</asp:LinkButton>
</p>
<div class="clear"></div>
</div>

Integrated Admin Section

image

Integrated Configuration File Editing

image

 

See you at Umbraco Codegarden09!

-Paul

Umbraco Store is the One Spot for Umbraco

Monday, March 30, 2009 by Paul Sterling

A super quick post to let you know we've retired the Motus Connect Store and will direct all of our efforts to the Umbraco Store.  We've updated the domains and redirects already and the content will be updated this week to remove reference to the former Motus Connect Store.

Best,

-Paul

Feeling the Umbraco Love at MIX 2009

Saturday, March 21, 2009 by Paul Sterling

After a whirlwind 3-days at MIX 2009 in Las Vegas the .NET web developer and designer community is a little bit better for the Umbraco love they were shown.  With Niels Hartvig and Per Ploug Hansen present, attendees were able to feel the love and admire the t-shirts - surprisingly we heard dozens of compliments on the Umbraco t-shirts from CG08 and CGUS08.  I helped spread the love as much as I was able, but the Danes really know how to do it!

Windows Web Application Gallery

Umbraco made its big-conference-keynote debut Share photos on twitter with Twitpic with its presence in the Windows Web Application Gallery and the Web Platform Installer v2.0 - both which launched at MIX on 18 March.  Umbraco is now available via the Web Platform Installer and its various outlets; Windows Web Application Gallery, IIS 7.0 add-ins, Control Panel apps cPanel and DotNetPanel, and the publically available ATOM feed.  In addition to dramatically increasing the exposure Umbraco receives, the Web Platform Installer streamlines the Umbraco installation process significantly.  No more are there dozens of steps to be completed before actually 'installing' Umbraco - now, the database creation and setting of Acls is performed by the Web Platform Installer's robust installation handlers.  If your web server is running IIS7 you can install Umbraco remotely, without requiring you to log on to the server, using IIS7's remote management capability and the Web Platform Installer integration.

We're excited about what this means for Umbraco adoption - it's very cool!  Go check it out next time you need a fresh Umbraco installation.

'Open Space' Demo and Guerilla Recruiting

In the Umbraco tradition of open-space we set a session at MIX's 3rd Place (sort of a room with too loud music and couches).  As with open-space we didn't know who or what to expect and we were pleasantly surprised by number of MIX attendees who stopped by for a demo or to ask questions.  Niels promoted the session with his special style of guerilla marketing Share photos on twitter with Twitpic by placing 'cards' in each toilet stall where they would not be missed.  It worked! 

In addition to Umbraco, the MIX conference included some excellent sessions that we thoroughly enjoyed - although I wasn't able to convince Per to attend the "Next Gen Web Commerce" session, we all managed to find content to suit our interests.

Umbraco Futures

It was a true pleasure to discuss the vision that Niels and Per have for Umbraco in the future.  Some of this is underway already (LINQ to Umbraco for example) and some of it is not, but all in all Umbraco's future is very exciting.  Look for Umbraco to start showing up in even more high-profile installations (as if Wired, NAIAS.com, and others were not already high-profile); look for a bigger, more tangible Umbraco presence in North America; and look for a (possible) Umbraco book in the one-year timeframe.

I'm looking forward to CodeGarden 2009 on June 22-23 in Copenhagen and I hope to see you there.

-Paul

Umbraco Integration with the Windows Web Application Gallery

Friday, March 20, 2009 by Paul Sterling

With the launch today at MIX09 of Microsoft's Windows Web Application Gallery we are thrilled to announce that Umbraco is already integrated with this excellent platform.  We worked hand-in-hand with the Microsoft Web Team to quickly integrate the latest Umbraco release (4.0) with the Windows Web Application Gallery.

With Microsoft's revision to the Web Platform Installer and Web Deployment technologies we believe the case for building your web solution on the Microsoft Web Platform is irrefutable.  (We at Motus Connect have made this assertion from the founding of out practice.)  Using the Web Platform Installer a user can now install and configure all the components of a web solution (even a PHP-MySQL solution!) using a single interface - the enormity of this set in when I was setting up a new web server and wanted to install the Microsoft Web Platform, MySql, ASP.NET MVC, and Umbraco.  Until now that process entailed visiting numerous different web sites (Microsoft, CodePlex, SourceForge) and individually installing the components of the platform - it is not an understatement to say that it was a real pain in the bum! 

Enter Web Platform Installer - now I can get all of the above components (including Umbraco!) from a single source, within a single interface.  What's more, the Web Platform Installer does more than just gather the various downloads into a single interface, it installs and configures the components based on the best practices as provided by each component's author.  For Umbraco, we set the required ACL's, connection strings, and database security as part of the install.  No more slogging through a 30+ page installation guide.  Just click, click, click and bam! you've gone from zero to web app in a few minutes and can get on with the business of doing what you do best - creating web solutions (unless you *like* installing web components).

For web developers this is no small thing as is stands to significantly boost our productivity.  For the Umbraco project this is a fantastic development as more exposure is always a good thing.  As we who are involved with Umbraco on a daily basis know; once you've had Umbraco it's *really* hard to go back to another CMS/Framework.  Umbraco's presence in the Windows Web Application Gallery allows Umbraco to stand side-by-side with its peers Drupal, and DNN; and will allow even more web developers to discover and fall in love with the Friendly CMS. 

Go check out the Web Application Installer and the Windows Web Application Gallery now.  If you just want to get on with it, here's the direct link to Web Platform Installer for Umbraco

wpiBadgeGreen

-Paul

Umbraco Security Best Practices

Saturday, March 14, 2009 by Paul Sterling

As part of a project we're just completing we had the occasion to review some of the file level security for Umbraco.  What we found was quite encouraging - namely that an Umbraco installation can be made secure very easily.  The one issue that came up is that a user, following the Umbraco installation guide, is left with some less than ideal security settings that could, potentially, result in a compromised installation.  Taking cues from project team members and loads of installation scenarios, I created the following brief security guide.  The guide is intended to get a new Umbraco installation to a more secure state than it would be otherwise, it is far from being comprehensive.  As always, we value your input.

<><><><><><><><><><><><><>

Umbraco Security Best Practices for Installations

<><><><><><><><><><><><><>

After an Umbraco installation is completed you may find that some security settings are left as less than optimal.  Following is a brief guide to making some simple changes that will help make your Umbraco installation more secure.  There are two sections following; the Quick Guide, which every Umbraco site owner should read and implement, and the Full Guide outlining additional steps to be considered.

Quick Guide:

1. Set (or reset) Acl's as follows:
a. For the web site's Application Pool Identity :
  i. Generally the Application Pool's identity is Network Service, but if you are using shared hosting this may not be the case
   1. From IIS Manager each Application Pool will have its identity set as a property
    ii. Set the Acl for the file <web site root>\web.config to Read (Make sure to remove Full Control, Modify, and Write)
    iii. Set the Acl for the following directories to Read (Make sure to remove Full Control, Modify, and Write)
     1. <web site root>
     2. <web site root>\bin
     3. <web site root>\umbraco
    iv. For the following directory set the Acl to Read & Execute
     1. <web site root>\app_code
     2. <web site root>\usercontrols
    v. For the following directories set the Acl to Read, Modify
     1. <web site root>\config
     2. <web site root>\css
     3. <web site root>\data
     4. <web site root>\masterpages
     5. <web site root>\media
     6. <web site root>\python
     7. <web site root>\scripts
     8. <web site root>\xslt
2. Remove the <web site root>\install directory
3. Set strong passwords for the Umbraco Database User or use Integrated Security (if using SQL Server or SQL Server Express) to connect as the web site's Application Pool identity
4. Set strong passwords for Umbraco users

Full Guide:

1. Set Acl's and password recommendations as above
2. Follow the recommendations outlined here http://tehchnet.microsoft.com/en-us/library/dd309461.aspx for setting secure Acl's
3. Follow the detailed recommendations outlined in this excellent whitepaper (.NET 2.0) http://msdn.microsoft.com/en-us/library/ms998372.aspx - most of the recommendations here are implemented by Umbraco and are applicable to .NET 3.5 as well

Note:  This is a brief guide that outlines only the most basic tasks to help secure your Umbraco installation.  In a production and/or critical environment we strongly recommend using a hardening protocol (such as the IIS Security Planning Tool or other available resources) that is outside the scope of this guide. 

Codegarden09 – Reasons to Attend

Friday, March 06, 2009 by Paul Sterling

…as if you really needed any more.  Here's my take.

Come join the annual umbraco developer conference in Wonderful Copenhagen on June 22nd - 23rd. Two days for insights, eye-openers, great conversations and friendly people.
More information and registration here:  umbraco.org/codegarden

 

 

-Paul

In Defense of Frequent Flier Programs

Monday, March 02, 2009 by Paul Sterling

In preparation for this year's Umbraco Codegarden 2009 in Copenhagen I decided to try and obtain an award-travel itinerary from Seattle to Copenhagen.  For last year's Codegarden I purchased an itinerary on SAS in coach for nearly $2,000 (USD).  Although SAS offers a very convenient direct Seattle to Copenhagen flight, the level of comfort was low and the cost high - I arrived tired, stinky and found working (which we were there to do) very difficult.

Having heard the extreme pessimism surrounding the ability to actually locate and book one of these itineraries without being forced to use the higher point requirement (200,000), I was not very optimistic.  I collect most of my award points in Continental's OnePass program and also have an American Express card which earns points that are transferrable to the OnePass program.  All in I had 96,000 points available in the OnePass program.  Note:  these points do seem to add up fast as I had previously booked an award itinerary in December 2007 for Seattle to Copenhagen. 

Continental provides an online booking engine for award travel and allows you to book on partner airlines as well.  My first attempts were fruitless, but a bit of perseverance paid off and I was able to locate an itinerary from Vancouver, BC, Canada (about 30 minutes from my home, hooray!) to Amsterdam in Business class on Northwest for 100,000 points.  Good enough, the dates fit perfectly and, while Northwest Business class isn't Virgin's Upper class, not having to sit in coach for a 10+ hour flight is a huge benefit.  I booked it entirely online (including the purchase of the additional 4,000 points I needed) and received immediate confirmation.  Kudos Continental!

All that was left was to book from Amsterdam to Copenhagen.  As it turned out I had just enough points in my SAS EuroBonus account to book a very convenient itinerary, not in Business class but since the flight is only 80-minutes long it's not of much concern.  SAS also provides an online booking engine and I was able to locate, book, and confirm this itinerary in less than 15-minutes.  Kudos SAS!

Granted this itinerary is not quite as direct as Seattle to Copenhagen nonstop, however the extra couple of hours in travel time will be made up for by the more comfortable seating…at least I hope so.  In addition, the total cost covering taxes and fees was less than $230 (USD), just a fraction of what I could've otherwise spent.  As far as the level of booking difficulty and time-required - while it certainly took longer than sending a request to a travel agent and receiving a complete itinerary in return, it did not require more than one-hour of effort in total, I consider that a fair trade-off.

Licensing for the Umbraco Store – Part 2

Wednesday, February 25, 2009 by Paul Sterling

Based on the feedback received yesterday to both the poll and via email it's clear that the Umbraco community wants licensing integration for products sold via the Umbraco Store.  The task at hand, now, is to determine 'what' this feature actually includes.  There was a huge variety of assumptions of what licensing is or isn't from the responses I received.  As a follow up I'd like to narrow this down, with another poll.

Please Vote Here

 

Thanks for you input!  v2 of the Umbraco Store will be something the community can be proud of.

-Paul