Thursday, February 11, 2010

Before we begin, we need a Visual Studio Project for Intranet Portal

As promised, it’s time to start looking under the hood of Sitecore Intranet Portal 3.1. There is so much for us to discuss! How exciting!

But before we do, as developers, we need to create a Visual Studio 2008 web application project. As introduced with Visual Studio 2005 sp1, there are some key differences between the Web site project and the Web Application project model.

The Web site project model uses the directory structure to define the contents of the project. In this model, there is no project file, and all files in the directory are part of the project. In the Web application project model, only files that are explicitly referenced in the solution's project file are part of the project. These files are displayed in Solution Explorer. These files are compiled during a build. That's a big difference.  For many developers, we choose the Web application project model because we want to do the following:
  • Use stand-alone classes to reference page classes and more often, user-control classes
  • Have control over the names of output assemblies
  • Add pre-build and post-build steps during compilation
  • Build a Web application with multiple Web projects
  • Publish the Web Application project into a single assembly

Sitecore CMS supports the Web Application Project model, and not the Web site model.

Today’s post features a short video on how to create a visual studio project for Sitecore Intranet Portal 3.1.

While you do the watching, I’ll continue writing the course outline draft due at the end of the week.



A quick recap:
  1. Create a "Dummy" web application project
  2. Copy the Properties Folder, Project File and User Options file to your SIP website folder
  3. Open the copied project file in Visual Studio
  4. Exclude Default.aspx
  5. Add a reference to the Sitecore.Kernel. Set Copy Local to False
  6. Include any other folder or file in the project
  7. Build and test

    Questions or comments? Please post. Thanks!

    Next topic: Adding the Sitecore Intranet Portal source files to your project.

    Tuesday, February 9, 2010

    Getting Started on Sitecore Intranet Portal 3.1 for Developers

    My first deliverable for the Sitecore Intranet Portal 3.1 for Developers is a course outline. Just a draft.

    Thankfully, to develop this new course, I’m working with a team of Sitecore Intranet Portal subject experts. Also, I have access to the most recent SIP build and work in progress documentation. This helps tremendously!
    But what I think that helps the most is that at Sitecore we dogfood.

    We dogfood www.sitecore.net with Sitecore CMS and Sitecore OMS.

    We dogfood the partner portal with Sitecore CMS and Sitecore OMS.

    For our corporate Intranet, then….guess what???
    We dogfood with Sitecore Intranet Portal.
    Go figure.

    Luckily, as training program manager and course developer, it’s my job to update the all the related training program and courseware pages for our behind the firewall corporate intranet with magic sauce, top secret content.  Here's a screenshot of our front-page. (The top-secret stuff I've blurred out).

    Yet for all my jerky-boy sarcasm, there is an upside. For the past several months, I’ve been regularly creating and editing content with SIP. And with the Sitecore Page Editor user interface, it’s a breeze.

    Most recently, I’ve been giving admin rights, allowing me to architect training program content at a power user / developer level. Of course, having admin access also means that I can screw everything up. And boy, how I can screw things up! You’d never imagine how sensitive those guys in product marketing are! One word that saves even the dumbest Kung Fu master: versioning.

    Seriously though, my big take away from this experience is realizing how much an Intranet differs from other type of websites. Truth be told, with so many content editors, our humble little kick ass Intranet is a true ecosystem. Content grows, ebbs, flows and demands. There is Relevancy, Rigor and Relationship. My favorite three R’s for content.

     As both participant and observer, I help fuel this constant crime of change. And realizing the organic nature of an Intranet, is, I argue, a core key concept for developers to “get”.

     Like a farmer cultivating the fields, a developer must be aware of the Intranet ecosystem: the soil, the seasons, the weather, the sun, the fertilizer and the seed. For Sitecore developers, this translates to content tree architecture, data templates, branch templates, command templates, presentation components, special field types, site settings, skins, and web parts.

    The first thing newbie SIP developers will discover is the extreme amount of detail and forethought put into Sitecore Intranet Portal. So much is already created for you. Of course, this doesn’t mean you can’t extend Sitecore Intranet Portal. Of course you can. But before doing so, you’ll probably want to know how the proverbial radio works. You’ll want to take it apart so that you can put it back together.

    Later this week, let’s start taking things apart. Hopefully, in doing so, you'll become a little more inspired about your Intranet project and about how Sitecore Intranet Portal is the best solution for your company. And hopefully, I'll stumble upon divine inspiration for my course outline that is due. Speaking of which, if you have comments or suggests regarding topics, exercise or slides, please feel free to post them here.

    -seth