Archives / 2007 / October
  • Creating and Deploying a Simple Feature

    I found this a week or so ago, lost it and then found it again. At only 29 minutes, its an ideal starter for a develper with my background to create, deploy and activate a feature for a site or site collection. Well spoken and concise with a lot of bits and pieces described in just enough detail to get you working.

    Creating and Deploying a Feature for Windows SharePoint Services V3 - Ted Pattison

    I'm currently working on getting a new page layout into the "12 Hive" via a feature. When I have it nailed, I'll post a how-to. 



  • Reporting Services and SharePoint MOSS Configuration Woes

    In my current position, it always helps to take a small step back and do something else for a little while. I'm working on a simple problem involving building a reporting services report (SSRS) from a SharePoint task list. It will involve building the report against a dataset that was created programmatically. I've looked and can find no secure way of reporting directly against a list of data within the current user's context. Once complete I'll post how I did it. That's not the problem.

    The problem is that I could not see the reporting services web sites after setting them up using the SSRS configuration manager UI. It said they were there but I couldn't get to them. So, since I'm doing a brief 15 minute intro to data abstraction next month at a local user group, I figured I'd fire up the latest Beta of the VS 08 VPC and dink with EDM for a while. I only got as far as extracting the VHD's before I fell asleep so more on that later too.

    So, firing back up my MOSS dev VHD this morning I looked back at IIS and realized that the "normal" installation of MOSS involves stopping the default web site. Looking into the default web site I find the ReportServer and Reports web apps. Duh!

    So I went back to SSRS Config and put them under the Portal web site. Then I get this:
    - Parser Error Message: Cannot use 'partitionResolver' unless the mode is 'StateServer' or 'SQLServer'.

    Whoops. A quick Google and a this forum post led me to believe there was a conflict with MOSS.

    So, I'd recommend doing the following when you're firing up SSRS on a MOSS box, at least in a development environment. (Caveat Emptor)

    1. Create a new virtual directory off \inetpub\wwwroot\
      • Give it a specific port number
      • I used RS / 8090
    2. Configure (in SSRS) a new "Report Server Virtual Directory"
    3. Configure (in SSRS) a new "Report Manager Virtual Directory"
    4. Go wo Web Service Identity and click the New button next to Report Server
    5. Create a new App Pool for RS to run within
      • I used ReportingServicesAppPool
    6. Set the authenticated user for the new app pool to the SQL Server Service account you used to set up MOSS.
      • This should have all the SQL permissions you need to run SSRS (I hope...)
    7. Set Report Server and Report Manager to the new app pool and click Apply

    After making these changes I can go to the following URL's and get big love:


    Now I can continue to configuring everything to actually use the Report Web Part. Hope this helps some.

    Incidentally, what I'm hearing from the business community (faintly and very far away) is that BI, Agile Reporting and Custom Workflows are the pieces that really draw in the clients around here for SharePoint consulting engagements. Reporting seems easiest to me so off I go...



  • Blood Sweat and Tears... Almost

    So this is an inappropriate venue for this but its been on my mind a lot since my trip to China to adopt my second daughter.

    You've heard that we make things happen with blood, sweat and tears. Historic projects like the continental railroad come to mind. I believe that this is a) in the wrong order and; b) incomplete.

    I contend that the fortune we experience in our lives is based on four methods of working through problems, not only these three. I submit that we are blessed based on how high up the following chain things happen for us:

    • Kindness
    • Sweat
    • Blood
    • Tears

    Kindess: When we receive some help that we either did not deserve and/or did not expect. I had two people arrive literally out of nowhere in China to help guide my family through some of the most significant and hellish hours of my life and that of my eldest daughter. My wife insists that the first was an angel. I don't know about that but I can say with absolute certainty that he did what he did with no hope of ever being repaid for his kindness. I'm thankful to both of these wise men as long as I live.

    Sweat: Work hard and you'll get there. Not 100% true but true most of the time in the USA. If you work harder and smarter than everyone else and apply your complete efforts to the problem at hand, chances are good that you will resolve it.

    Blood: If you are less lucky, you will pay for the things you attain in your life through sacrifice of things that you must have to keep your life on its even keel. The blood I refer to is that of the person doing the sacrificing. There are times in the course of life's events when the only way to get where you must go is through the fire. This is the lesson of all the fighting Marines in this nation's history and I thank them.

    Tears: The worst of all possible fortunes lies through the misfortune of others. If life frowns upon you, you may not get what you want or need. But there is a worse fate: you may get it at the expense of those people who are most important to you. I pity those who sacrifice others to get what they want and then realize what they have done. Its a price too high.



  • Starting Out References

    Here is the book that was recommended to me. The Microsoft Office SharePoint Server 2007 Administrator's Companion. Its very well written when compared to some of the books I've read recently (see my old blog). It also has a companion CD with the complete searchable PDF which is also nice. It does, however, read like an administrators book. This is good for when you want to accomplish something but bad when you want to just read it for knowledge.

    For the blogs, the ones listed here (besides Sahil Malik) were found when I went looking for an answer to a specific question. I found their writing and/or information helpful.

    SharePoint Blogs I Subscribe To:

    Arpan Shah
    Nick Swan - From his posts, I think he's on the SharePoint team.
    Sahil Malik - He's local and I've seen him present at a few events. Good writer and easy to follow.
    SharePoint Team Blog
    Stefan Gossner

    Hope that gives folks a good start. There is lots more out there, it just doesn't seem to be coalesced into a manageable whole (yet).



  • Learning SharePoint MOSS at 2.5 Weeks - Perspective of an ASP.Net guy

    Some observations about SharePoint and MOSS after working to master it for 2 1/2 weeks. By the way, I have as yet, not mastered it.

    1. Find the blogs and forums for SharePoint and MOSS.
      • You will get more information quicker here than any other method.
    2. Consider yourself a network administrator, not just an ASP.Net developer.
      • A lot of your previous experience will come through but there is a lot of pointing and clicking to configure and review bits and pieces of the application.
      • Further on this point, I have found more TechNet articles that actually helped me than MSDN articles.
    3. Be selective in the books you purchase
      • I was recommended by a colleague to look into the admin side first, not the programming side.
      • Another colleague recommended the SharePoint 2007 Administrators Companion for that purpose and this is going well but slowly.
    4. Slow and steady wins the race
      • This technology is huge. According to the book, there are 27 separate technologies wrapped in this package so expect that you'll only learn a few of them at the outset.
      • Along this same line, don't expect to even understand exactly how all these technologies play nice together for a while. The changes in terminology between the 2003 and 2007 products have not been applied across the board.
        • For instance, there is still a lot of info out there about "Virtual Servers" in SharePoint. It took me days to realize that a these are the same thing as "Applications" in 2007.
    5. Consider using real-world examples to learn.
      • These are far more helpful than walking the tutorials since they involve a bit more thought than the typical hello world style versions. You'll find some good example problems in the forums.
    6. MSDN failed MOSS
      • I'm a fan of SandCastle and documentation in general and I believe that developers are responsible for it usually. So why are there so many MSDN items in the SharePoint object model that have only the inheritance tree and data types? I don't understand why there would be so little real documentation about this flagship product online. Even Google comes up short more often than not.
      • If you really want to see where MSDN comes up short, try looking up the web services in MSDN. According to the 'page not found' message, they are available in Brazil, Japan and Spain but not here. Right.
      • Keep in mind that I've only been on this path for 2.5 weeks so it could also be that I'm not asking the right questions...

    Wish me luck, I'm going back in...


  • SharePoint Server Deployment Plan MPP

    Joel Oleson, on the SharePoint Team Blog has posted a sample deployment plan for a MOSS installation. Looks pretty comprehensive.

    At a glance:

    - 6 Months
    - Resources:
       - Database Administrator
       - Desktop Administrator
       - Education/Training Lead
       - End Users
       - Intranet/Internet Administrator
       - Project Manager
       - Test/QA Lead
       - Workspace Coordinators
    - Overall methodology seems to be MSF-esque with phases:
       - Envisioning
       - Planning
       - Deployment, Implementation and Configuration Management
       - Post-Implementation Operations, Optimization and Business Review

    They have clearly tried to make this all things to all deployments which is nice. I expect my shop will probably start out with this and whittle it down a little into something that looks like what we actually do. I think that we'll also set up some task notes or links within tasks to point to specifications and guidance.

    Additionally, this does not cover anything related to significant custom feature deployments. I wouldn't really expect that though.

    Overall, good stuff.


  • Screen-Based Reading PlaceHolder

    So what I find is that as I dive into SharePoint Services and MOSS, I need help reading all the online content more than ever before. I have a minor astigmatism that glasses help with. Still, even with glasses it gets really old trying to scan back and forth across the screen. I downloaded a free designer's ruler that I could drag around the screen but it wasn't good enough.

    I wanted something I could either make into a "T" or switch to a highlighter-style reader similar to podium reading devices. This would allow me to have the MOSS VPC open on one screen and follow along easily on the second screen. So I wrote my own placeholder.

    Double click anywhere on the main form to start the drag action and click once to drop it. You can also click once on the "H" handle to start the drag and "X" will kill it. It has no tray or task bar icon so if you set the opacity to 0% good luck finding it again. Showing the T will make the background transparent and hiding it will give you a highlighter-style place holder. This is quick and dirty but the only real bugs seem to be the lack of ability to keep up with really fast mouse movements and the opacity staying at 100% when you roll off the buttons. The total code (outside the designer-generated stuff) is under 200 lines.

    I hope that some time in the near future I'll be able to write a nice version of this in WPF. If you know of anyone who's already done this please let me know.




  • Sharepoint Recycle Bin Administration

    It seems that with Sharepoint and MOSS, Microsoft has either gone in a new direction with their documentation, they are just behind the power curve on getting documentation out there OR there is just so much to this product that they decided to let the community figure it out. So, in the interest of helping out, I will post tidbits that I'm learning about this product as I figure it out.

    We just had a client ask to give a 10 minute overview of the recycle bin functionality of Sharepoint. Try as I might, Google came up short. I found bits and pieces in the forums but nothing so far has been a brief drive-by of the recycle bin functionality and how to actually use it. So here goes:

    The recycle bin in Sharepoint is a 2-stage operation where the user can delete content and get it back for a configurable amount of time and then an administrator can get it back for a configurable frame after that. This you can find in all the help documentation. But how do you DO anything with it?

    Use Level Recycle Bin

    The first and most simple operation is just to click on the recycle bin link in the corner. Go to the list or content area where you deleted the item and click on the link. You should see the item if it hasn't exceeded its retention expiration date.

    Administrative Level Recycle Bin (Site Collection Level)

    If your item is not in the recycle bin or you can't find it in your content, ask an administrator to pull it from the site collection recycle bin.

    To do this, click on Site Actions in the top right corner of the site and select Site Settings --> Modify All Site Settings.


    On the next page, select the Recycle Bin link.


    You can now select either all user's recycle bin items or the items that have been deleted from the user recycle bin.


    Administering the Recycle Bin Retention Policies

    So all the documentation talks about how an adminsitrator can change the retention policy for both the entire server and all users so lets look at how to do that.

    Start by going to Administrative Tools in Windows. Select SharePoint 3.0 Central Administration. This opens the admin web site.

    Select the Application Management tab.


    Now, in the SharePoint Web Application Management section, click on Web application general settings.

    Scroll all the way to the bottom of the next page and find the place to edit your Recycle Bin settings for the server.


    You can turn off the recycle bins (not recommended), change the user level or the admin level recycle bin settings and then save your new values. What I'm not sure about is the quota in a multi-server setting primarily because I don't know where the recycle bin items are saved. If anyone knows, please post a comments. Thanks!