in

Raymond Mitchell

February 2008 - Posts

  • Minneapolis Office Developers Interest Group

    Tonight Neil will be presenting at the first MODIG meeting!  He will be discussing SharePoint feature and solution deployment.  More information can be found here.

    I've got a couple of OBA books I picked up at the ODC to give away and there will be pizza and soda as well!  Hope to see you tonight!

  • Office Developer Hero Videos from ODC

    They played these videos before keynote presentations at the ODC 2008.  Check them out on Mike's blog:  Funny Videos from ODC 2008

    Posted Feb 19 2008, 08:00 AM by rmitchell with no comments
    Filed under:
  • Office Developers Conference Day 3

    Today it was all about the sessions!

    • I sat in on a little bit of a session on MOSS Faceted Search showing the Faceted Search project on CodePlex (current release and future)  Very interesting stuff going on there!
    • I also stopped in on Andrew Connell's Real World talk on Building High Performance Solutions on MOSS.  Excellent presentation however we should all send Andrew a get well soon card.  He was a trooper and finished his presentation even though you could tell he was not feeling well!
    • I jumped around to a few sessions on Excel Services...
    • I attended the give-away in the Expo hall where someone won a guitar autographed by Bill Gates, some remote control bike-things, and a 42" flat panel TV!  I was a little bummed I didn't win the TV but I was very happy that it at least went to one of my new friends from Air Products!
    • After lunch were the Unconference sessions.  Big thanks to Ayca Yuksel for making the Unconference possible!  I presented on "Three SharePoint Development GEMS."  You can find more info and the presentation here.
    Posted Feb 13 2008, 04:49 PM by rmitchell with no comments
    Filed under:
  • ODC 2008 Unconference

    For those of you attending the ODC I'll be presenting at tomorrow's Unconference!  Here are the details:

    Title:  Three SharePoint Development Gems in 30 minutes

    Abstract: In about ten minutes each we'll blaze through how to:

    1. unlock the secrets of SharePoint Designer, RPC, and the SharePoint Web Services using Fiddler
    2. explore the SharePoint object model like never before using PowerShell
    3. make SharePoint do what you want it to do using out of the box Web Parts: LVWP/CEWP/DVWP

    Hope to see you there!

    ** Update **

    The slide deck and other presentation resources are available here.

    Posted Feb 12 2008, 11:06 PM by rmitchell with no comments
    Filed under:
  • Office Developers Conference Day 2

    Today was another more-than-full day at the ODC!  A few highlights:

    • Rajesh Jha and Gurdeep Singh Pall both gave fantastic keynote presentations:
      • Rajesh talked about the future release of Office Live Small Business and I have to say I was very impressed with the capabilities.  Developers can learn more at http://dev.officelive.com.
      • Gurdeep's talk was on Unified Communications and included some very impressive demos.  The thing that really caught my eye was a preview of some of their future capabilities.  In one demo they showed a SharePoint workflow that included a step for checking presence information - so, when a new task is created the workflow would check to see if the assigned-to person was online; if so, the user was sent an Instant Message with a link to the newly created task.  VERY cool!
    • I saw a chat on using SharePoint's Web Services given by Paul Swider.  I also saw talks on "Building Mashups with Office Live Small Business" by Robert Green and a FANTASTIC presentation on "Using LINQ to XML to Query and Transform Open XML Documents" given by Eric White.
    • Later I was lucky enough to chat with Mike Hernandez and other members of the VSTO team about their latest release of VSTO.
    • Tonight was the night of the Attendee party at TheTech Museum of Innovation.  Very fun stuff!  My highlights for the evening:
      • Rode on a Segway
      • Performed a space walk (scored 4 in 60 seconds!)
      • Survived a simulated Magnitude 6.4 earthquake
      • Got a robotic arm to spell SharePoint in alpha-blocks:

    image

    Posted Feb 12 2008, 10:59 PM by rmitchell with no comments
    Filed under:
  • Office Developers Conference - Day 1

    Wow, what a day.  Some highlights:

    • Kurt DelBene gave another keynote address following Bill Gates - very good presentation with some great demos.
    • This morning's keynotes had funny videos during the breaks called "Mr Office Developer Guy" (to the tune of Real Men of Genius).  Hopefully those will make it out to youtube/soapbox soon.
    • I attended "Designer / Developer Interaction of Visual Studio and SharePoint Designer."  This was a fantastic presentation given by Rob Howard where he showed how to build custom ASP.NET controls, add them to SharePoint Designer, and then consume them within a Data Form Web Part.  FANTASTIC!
    • I then saw Ted Pattison's talk on SharePoint Deployment.  It was a good discussion but most of the talk centered around using STSDEV for packaging your solutions.  Rob had also talked about another solution tool WSPBuilder in his session.
    • I also got some very cool demos from three vendor booths:
      • Cameron from Nintex gave an overview of their very cool workflow tool
      • Some folks from HP were nice enough to show me their Sizing and Configuration Tool
      • I picked up a book from the OpenXMLdeveloper.org booth and had a quick chat about the joys of generating Word 2003 XML files.
    Posted Feb 12 2008, 01:23 AM by rmitchell with no comments
    Filed under:
  • Office Developer Conference - Keynote by Bill Gates

    I just watched the keynote here at the ODC given by Bill Gates:

    BG @ ODC

    It was very interesting to hear him talking about the future of computing in general but then also focus in on how it relates to the office platform.  I was surprised at how much of his "how we'll work in the future" is already happening.  A couple raw notes from the presentation:

    • They kept calling the Office Ribbon the "Fluent UI" - I must have missed that memo?
    • xobni was shown during the keynote... guess I should go download it now..
    • They also announced a new version of Office Live Small Business that will be available in Winter 2008.  I saw a lot of interesting slides go by on that one - I'll definitely have to take a look.   http://dev.officelive.com
    • FedEx presented during the Keynote but it came across like a sales pitch.  It left me thinking... what can brown do for you?

    At the very end they had 1/2 an hour for Q&A with Bill so I decided, why not?  How often do you get to ask the Man a question?  Unfortunately, I was next in line when they ran out of time.  Maybe next time :-)

    Posted Feb 11 2008, 10:55 AM by rmitchell with no comments
    Filed under:
  • Composite Apps - Custom Pages (4 of 4)

    Now we have a completely custom page but what we really want is a page that matches the look and feel for our site as defined by the Master Page.  To accomplish this, open the page in SharePoint Designer and choose "Attach Master Page" from the Format --> Master Page menu:

    image

    Select the default Master Page and press OK:

    image

    You will then receive a prompt that asks you to match content regions to the Master Page.  This is because our custom page has content defined in the body of the HTML.  Because Content Pages do not have a body tag you need to specify which Content Placeholder you would like to move your custom content into.  SharePoint Designer is nice enough to configure a default mapping that will work just fine so you can press OK:

    image

    Now your page looks much more like a SharePoint page.

    image 

    Even better, now you can browse to the page and interact with it using the out of the box actions menu:

     image

  • Office Developer's Conference - Day 0

    After some fun at the Minneapolis Airport this morning I arrived in San Jose, California this afternoon for the Office Developer's Conference!  Tonight we had a connect & register gathering.  The special guest was Hugh MacCleod (from http://www.gapingvoid.com).  He had a projector and was marking up people's business cards - here is what he did with mine:

      195226

    While I was sitting there I met a member of the Office Business Platform Team and a member of the NESPUG!  More to report tomorrow when the sessions kick off!

    Posted Feb 10 2008, 10:29 PM by rmitchell with no comments
    Filed under:
  • Composite Apps - Custom Pages (3 of 4)

    So we have a new page, we've added a link to the Quick Launch so we can easily find it... but the page is still pretty ugly:

    image

    Well, the first thing we can do is apply the SharePoint styles to the page.  This will work if you want a completely custom layout for your page but still want to have a consistent style.  Open the custom page in SharePoint Designer and choose "Manage Style Sheet Links" from the Format --> CSS Styles menu:

    image

    Ensure that "current page" is selected and click Add:

    image

    Paste in the relative path to SharePoint's core CSS file:  /_layouts/1033/styles/core.css

    Press OK and save the page to commit your changes.  Now when you reload the page, it looks much more like a SharePoint page:

    image

  • Composite Apps - Custom Pages (2 of 4)

    Now that you have your custom page, you'll probably want to make it more accessible.  To do that, let's add a link to the Quick Launch.  Now, we talked about how to do this from the web interface before, today we're going to make the change from within SharePoint Designer.  With the site open, select Navigation from the Site menu:

    image

    and you should see a tree view of the site's navigation:

    image

    To add a link to to the Quick Launch, select our custom page and drag it under the Quick Launch tree node:

    image

    Then rename the tree node:

    image

    Now the Quick Launch has a link for our new page:

    image

  • Composite Apps - Custom Pages (1 of 4)

    Earlier we took a look at how to add Custom Web Part Pages to your SharePoint sites.  You can also create custom pages within SharePoint Designer.  To get started, open your SharePoint site in SPD and choose to create a new ASPX page:

    image

    An ASPX page is an ASP.NET page.  When the page loads you can see that it is essentially a blank canvas.  If we switch to code view, you can see it contains the bare essentials required by an ASPX page:

    image

    Now that we have our canvas, lets add some SharePoint functionality to this page.  From the Insert menu, select SharePoint Controls and choose to insert a new Web Part Zone:

    image

    By inserting  a Web Part Zone, SharePoint designer also adds an SPWebPartManager which is required to support Web Parts on a page.  We now have a working Web Part Zone for our page:

    image

    All we have left to do is save this page and view it in the browser:

     image

    Now, when you load the page you might be a little discouraged but don't worry!  Your page isn't really empty.  To see your Web Part Zone, however, you'll have to tell SharePoint that you want to edit the page.  You can do this by running some JavaScript from your address bar:

    image

    Here is the link you will need:  BLOCKED SCRIPTMSOTlPn_ShowToolPane('2')

    Simply paste that JavaScript into the address bar and press enter to execute it.  (Big thanks to Todd for the shortcut!)

    Now you should see a usable (if not exactly pretty) Web Part Page:

    image

  • Composite Apps - SPD Workflow Basics

    One of the great new features introduced by SharePoint Designer is the ability to create and customize Workflows using predefined conditions and actions.  Most Workflows created by SPD reference a list or library so before we get started, we'll create one of each:

    image

    Next, we'll open SharePoint Designer and create a new Workflow:

    image

    When the new Workflow wizard is launched, you're asked to provide a name for the Workflow.  You're also asked which list/library to attach the Workflow to:

    image 

    You are also asked when the Workflow should initiate.  There are three options:

    • Allow the Workflow to be started manually
    • Start when a new item is created
    • Start when an item is changed

    In our example, we want a new task to be created when a new Expense Report is completed.  The next step in the wizard is to define the steps of the Workflow.  Here you can add custom conditions and actions:

    image 

    Conditions allow you to specify when the Workflow should start.  Some examples of using conditions include only requiring approval when expense reports are valued at over $200...  or there could be different steps depending on the category of expenses, etc.

    Actions are what you want to have happen.  There are a number of actions available out of the box broken up into categories (Core Actions, List Actions, Task Actions) and you can even create your own Actions using Visual Studio.  For this example we're going to Assign a To-do Item:

    image

    Now, when I upload a new expense report (or, even better, fill out an InfoPath form) the Expense Report Approval Workflow fires automatically:

    image

    You can see that a column also gets added with the name of the Workflow showing the current status.  If we look at our tasks list you can see that a new task has been created and assigned to the "WSSDEMO Owners" site group.  The task also has a link that links back to the source item:

    image

    This is just a basic example of how to use the out of the box Workflows available in SharePoint Designer.  We'll explore some more interesting examples in future posts!

  • Composite Apps - SPD and Content Pages

    Now that we've seen how Master Pages work, let's look at a content page and see how it relates to a Master Page.  We'll start by opening the default.aspx page in SharePoint Designer.  When you open the page the first thing you'll notice is that SharePoint Designer loads the Master Page.  Because your site can have multiple Master Pages defined, the attached Master Page URL is displayed in the top-right corner:

    image

    Once the page loads you should see a view that is very similar to your Master Page, again containing purple rectangles signifying content placeholders:

    image

    As you move your mouse over the page you'll notice that several areas of the page are not editable.  These are areas that are defined in the Master Page.  Some areas can be overridden, one example is the PlaceHolderLeftNavBarTop content placeholder:

    image

    It is defined in the Master Page so it displays but it does not have any content associated with it.  By clicking on the image "arrow" (still looking for the name of that..) you are given the option to create custom content:

    image

    If we take a look at the PlaceHolderMain, you'll notice that it is editable (and also, not blank):

    image

    By switching into code view you can see that the placeholder has already been overridden and new content is defined inside of the asp:Content control:

    image

    You'll also notice that the default.aspx page is considerably smaller than the content would suggest.  That is because most of the layout is configured in the .master page which means only the overridden sections need to be defined on the content page.

  • Composite Apps - SPD and Master Pages

    One of the great things about SharePoint 2007 is that it was built as an ASP.NET 2.0 web application which means that it can take advantage of the new features in ASP.NET 2.0, including Master Pages.  Master Pages allow you to define the overall structure for your web site by creating content placeholders inside of an HTML structure.  Those placeholders are then merged with content defined in content pages.  The resulting page is then sent to the browser.  Let's take a look at how this works in SharePoint:

    When you open a Windows SharePoint Services site in SharePoint Designer your folder list view should look similar to this:

    image

    In Windows SharePoint Services, each WSS site has an _catalogs folder which contains a "Master Page Gallery" document library.  This document library stores your Master Pages (which have a .master file extension).  When you open the default.master page you can see it looks very similar to any other html/aspx page opened in SharePoint Designer:

    image

    The main difference in a Master Page is the purple rectangles that represent content placeholders.  When you click inside of the placeholders they highlight and display their id:

    image

    if we switch to code view you can see what makes up a content placeholder:

    image

    This content placeholder does not define any default content, therefore, it will display empty unless it is overridden in a content page.  Some content placeholders contain default content which will be displayed unless overridden in a content page.

    image 

    That covers the basics of Master Pages in SharePoint.  Next we'll take a look at a content page and how it relates to a Master Page.

    For more information on ASP.NET 2.0 Master Pages, take a look at the ASP.NET Master Pages Overview on MSDN:  http://msdn2.microsoft.com/en-us/library/wtxbf3hh.aspx, especially this graphic which shows the relationship between a Master Page and a content page.

Inetium, LLC. Disclaimer