Atlanta .NET Regular Guys

Community Blog for two guys in Atlanta that focus on Microsoft and Community.

Quick About

This is the community blog for Brendon Schwartz and Matt Ranlett.  If you want to see their technical posts visit http://www.sharepointguys.com

Back To DevCow

Recent Posts

Tags

Email Notifications

    Archives

    Is SharePoint like Crack?

    CMSWire, a multi-author webzine focused on Content Management Systems recently featured an article that I wrote as an alternative perspective to an article written by Mr. Stephen Fishman a friend of mine.  While I have immense respect for Mr. Fishman and his deep expertise, he managed to wander into my area of deep expertise and I felt compelled to correct him.  The text below is a complete repost of the original article, Point Counterpoint: A Rebuttal to SharePoint is Crack.  Please post comments on the CMSWire site.

    CMSWire recently published a disturbing article, one that equates SharePoint to crack cocaine. The crux of the author's argument is that enterprises, which now use SharePoint, are destined to fall victim to the same problems suffered by heavy users of Microsoft Access and Lotus Notes, namely that what “started out as the next generation of sharing and collaboration technology turned into a loathsome mess that has stuck around in large enterprises without enough commitment to sunset it, despite the earnest pleas of a tortured workforce”.

    While the author does make a couple of compelling arguments, he completely misses the point. The point he misses is that no tool, no matter how compelling or feature rich, will fix a broken process. If any organization decides to install Chatter, some fictional future Google Enterprise Suite, or Facebook’s never-going-to-happen SaaS platform without giving thought to the problems of information management, they are doomed to repeat the same exact pattern with ever-evolving user interfaces.

    Setting the SharePoint Record Straight

    Revisiting the original article, the valid arguments advanced by Mr. Fishman are:

    • SharePoint does not solve every problem, despite Microsoft marketing campaigns that seem to indicate the opposite. Microsoft’s product development policy is to create an 80% solution and to leverage its extensive partner network to fill the remaining 20% gap. This means that if you are not a particularly savvy consumer of this type of technology you must either rely on help or accept the risk that you may “do it wrong”. Even with professional assistance, that which is right for today may be wrong for tomorrow. This is true of SharePoint, other Microsoft products, Oracle products, IBM products, Autonomy products and the 1,001 open-source options. Regardless of chosen platform, failure to plan means that you are planning to fail.
    • SharePoint’s out of the box user interface leads users towards isolated information silos with independent security settings. This is actually by design and requires forethought and planning to meld distinct data environments into a seamless whole. SharePoint offers tremendous scalability and integration capabilities but these complex options are hidden from casual users. The intent is one of empowerment, with safety rails.
    • SharePoint can be done well, but is frequently not. The author incorrectly blames a drive for functionality. This is actually a drive towards user empowerment and flexibility. SharePoint offers a dizzying array of options starting with an installation process designed to get users up and running with departmental servers quickly. It should not be surprising that the engine capable powering some of the largest websites in the world may require some specialized skills to configure correctly.
    • SharePoint is not ready for enterprise use because of its reliance on Internet Explorer. While this is patently untrue to begin with, especially for the most recent version of the product, which has been available commercially for the better part of two years. While pointing to the five-year-old version of an application in comparison to modern applications is unfair, I’d say that the five-year-old version of SharePoint works a hell of a lot better than the five-year-old version of Salesforce Chatter (released June 2010) or Google+ (released publically September 2011).
    • Poor design decisions which are annoying or even bad at small sizes get to be really bad at large scale. I agree, although this is not a problem restricted only to SharePoint.

    Unfortunately, immediately after identifying some valid arguments, the author takes a turn into the realm of fantasy with his hopes for solutions by the end of 2012.

    • Google integrates applications like Gmail, Docs, Apps and Google+ into a comprehensive suite. While application integration may occur, it probably will not occur for a LONG time. Again, we’re dealing with a corporate DNA problem.Google builds apps, not platforms by their own admission: Even if the tools were to be packaged as a suite, how is this significantly different than a tool like SharePoint or Oracle Portal? The problem here is that these tools may be great at the 80% solution, yet they do not offer the flexibility of tools like SharePoint for enterprise specific customizations the way SharePoint does. Additionally, he again points to Google as a way to get rid of an IT headache — meaning it will be by nature an unmanaged environment. There is no software system in the world, which is not, at some point managed. Either it is managed by IT (inevitably causing headaches) or is outsourced (causing headaches to someone else’s IT staff while at the same time reducing your flexibility).

    Let’s introduce a dose of reality to the conversation. Is SharePoint an invalid platform selection because it can grow into a siloed, uncontrolled mess like Notes and Access before it? Of course not. That’s not a platform or technology problem, it’s a governance and user behavior problem. Millions of users like Gmail, but the measured audience is only 20% of the total internet audience (among users of Yahoo Mail, Hotmail and Gmail).

    comscore-email.jpeg

    Google offers no innovation in its messaging and collaboration services with respect to the control of sprawl that Microsoft hasn’t been offering for the better part of a decade. Google Docs as a file repository is exactly the same as a My Site (available in SharePoint since the 2003 product version). There is no enterprise content management capability here.

    Salesforce Chatter? That’s basically enterprise content management by Facebook and Twitter. How can something which relies on an activity stream as the main interaction point be a viable solution for a large enterprise?  (An in-depth comparison of Chatter v SharePoint is available). My favorite observations include: Chatter users MUST be Salesforce CRM users, no single sign-on, ONLY available in a hosted model, and HOW DO YOU GET YOUR DATA BACK OUT? Oh, and Chatter’s license model starts at$180/year/user for a feature set which minimally competes with SharePoint yet is three times as expensive as Microsoft’s most premium SharePoint offering. SharePoint has a server fee and a per user fee, but the feature set which competes with Chatter is available from Microsoft for free (SharePoint Foundation).

    Just Say No?

    Is SharePoint like crack? Yes. Is that actually a bad thing? Ignoring the fact that almost every large enterprise and most small to mid-sized enterprises already own SharePoint even if they’re not using it, the author’s biggest complaint about SharePoint is that users like it, that it spreads through an enterprise organically.

    Instead of bemoaning that a tool may or has become unmanageable due to popularity, understand that SharePoint is a multipurpose tool which must be correctly configured for the scenario in which you plan to use it. A corporate communications portal does not and should not behave the same way a collaboration environment or Enterprise Content Management environment does.

    Define and architect for the scenario and then invest in the guiderails known as governance. Create a plan and make it actionable. If you don’t have the staff or the expertise to make it actionable, invest in a tool to do that for you, such as AvePoint’s forthcoming Governance Automation toolkit.

    The author of the SharePoint is crack article does make some valid points, but they should serve as object lessons for organizations seeking to implement any portal technology platform. Treat the corporate intranet as a core business system by investing in data protection, governance and expertise. Educate yourselves about the great applications and capabilities available to SharePoint. As the article [almost] mentions, the power of SharePoint is that it makes a tremendous amount of functionality available to the end user without requiring IT intervention. Any system handled casually will yield less than optimal results.

    WebVisions: Atlanta Web and User Experience conference–Nov 17-18

     

    map_atlantaWebvisions is bringing its three city US conference to Atlanta on November 17th and 18th at the GA Tech hotel and conference center.  Costs under $450 to attend with several pricing options available.

    Web & Mobile Design, Technology and UX Conference - WebVisions

    Stay tuned to this one folks – seems like a great conference with some really interesting presenters.

    Consultant ready kit

    I’m a consultant which means my entire (work) life has to fit into a bag (the smaller the better) and be ready to move in an instant.  Currently I’m toting around a slimline Victronix similar to but older than this Louvre 17.  I received this bag from the Microsoft MVP program a few years ago and it’s easily the best (physical) gift they gave me.  This thing easily holds my laptop, power cord, and the rest of the stuff in my consultant ready kit.  It’s the “rest of the stuff” I’m thinking of now.  What do you carry with you at all times?

    That and a few business cards are pretty much all I carry.  Anything I’m missing which would make my mobile life complete?

    Posted: 09-28-2011 10:29 AM by Matt Ranlett | with no comments
    Filed under:
    SharePoint 2010 Training Resources

    SharePoint 2010

    Training Overview

    SharePoint 2010 is a large and complex system which offers a combination of intuitive end user experiences, rich customization options, and deep APIs for completely custom extensions. Despite the fact that the user interface is intuitive for most basic end user tasks, some training will help to round out the experience and open everyone’s eyes to the possibilities provided by SharePoint 2010.

    Start Here

    End User Training Resources

    Online

    Books/Magazines

    IT Professional Training Resources

    Online

    Books/Magazines

    Developer Training Resources

    Online

    Books/Magazines

    In Person Training Class Providers

    Premium / Custom classes

    Microsoft Official Curriculum

    Self Paced (DVD) classes

    Using SharePoint 2010 to host video files? Be Permissive!

    screaming-at-computerIf you’re using SharePoint 2010 document libraries to host wmv video files and you’re NOT using the native SharePoint Silverlight video player to display them, or if you’re placing flash .SWF files in document libraries, pay attention.  SharePoint 2010 will  natively block HTML, PDF, SWF and other Mime types due to the Browser Handling settings.

     

    The easy fix:

    1. Central Admin\Application Management\Manage Web Applications.
    2. Select General Settings for the specified web application
    3. For Browser file handling, select permissive. The default is strict​.

    Be aware however, that there is a certain security risk involved here as the Browser Handling setting either blocks or allows files which execute scripts in the browser.  Symptoms of blocked files are basically that files simply don’t show up in player webparts, give errors about not playlists not being loaded, and that if you navigate directly to the file you will be prompted to download the file rather than just opening it in the browser (which is what happens AFTER you download it).

    Dmitry of PDF SharePoint offers a great write-up here: SharePoint 2010 and Pdf Integration (part 1)

    Searching for this solution was pretty frustrating because I was specifically having the problem with SWF files and when you search Bing/TheOtherGuys for “SharePoint download swf host document library…” you end up with 9,000,000 hits for how to save SWF files from places like YouTube.  It was hard to find the negative of I DON’T want SharePoint to download SWF files, I want it to host them and play them in webparts and on pages. 

    The above paragraph was specifically so that I could search for this solution myself later, knowing full well that I am again going to use the phrase “SharePoint download SWF…”.  Go go Google Juice.  And Bing juice…

    TechEd2011 - GeekGive is cleaning up!

    Join me on Saturday, May 14th to help GeekGive make a difference in our local Atlanta community.  We’re going to be picking up trash on streets and cleaning up a park.  Not just any park, we’re going to be helping the Peopletown Revitalization Corporation to clean Atlanta’s first public beltline park on the day of its dedication ceremony!

    Registration for volunteers is now open and we badly need volunteers!

    teched2011 - GeekGive

    Help beat spam

    Microsoft has made the news lately with some incredible anti-spam efforts, bringing down the botnet Rustock which is responsible for 80% of global spam and able to send more than a billion spam messages a day.

    What is a botnet and how does a computer become part of a botnet?  A botnet is basically a bunch of computer programs working together automatically to accomplish a single task.  While originally not a problem, recently we’ve seen a lot of organized crime types put botnets to use for the delivery of spam messages, theft of financial data, and attacks against companies’ websites.  A computer usually joins a botnet as a result of a virus infection.

    Your computer could be infected and be part of a botnet right now!

    Antivirus programs are a great first line of defense against botnets.  Pick a good one like F-Secure or a free one like Microsoft’s Security Essentials but pick one, keep it updated, and run it.  You can even use the free online OneCare scanner from Microsoft if you don’t have one installed yet.

    Occasionally (monthly) it is important to go that extra step, download and run Microsoft’s malicious software removal tool (full scan).  This single purpose tool runs once and clears a host of bad stuff off your computer.

    Malicious Software Removal Tool | Protect Your Computer

    Kill botnets.  End spam.  Run the removal tools to clean up your system.

    Put your calendar in the cloud and take it everywhere

    [This post was inspired by PC World republish of a Mac World article, “How to Switch to Google Calendar”]

    Hotmail is the largest email service in the world (unless you count Facebook), but you never hear people talking about it or it’s calendar the way you hear about Gmail and Google Calendar.  A brief list of great features:

    • it has always been free (since it was founded in 1996)
    • unlimited storage space
    • seamless and effortless integrations to Outlook and Windows Phone 7
    • Integrations to Facebook, LinkedIn, and other social networking sites
    • Integrations to Office Web Apps which enables in-browser viewing and editing of Office documents a snap

    There are a ton of other reasons why I like the Windows Live Hotmail service offering, but this post concentrates on the calendar…

    Create a calendar

    Creating a Hotmail calendar is as simple as signing into your existing Windows Live account or creating a new account.

    Once you’ve signed into your Hotmail account, use either the left pane navigation or the dropdown menu at the top of the screen to change views to your calendar.  From here you can either interact with the default calendar or create a new calendar

    Dropdown navigation:

    Hotmail dropdown navigation

    New calendar:

    Create a new Hotmail calendar

    Access your calendar how you want

    Web

    If you’re at a computer, you can obviously visit your Windows Live site and interact with the calendar via your browser.  The Windows Live Hotmail calendar site works well with every browser – check out these comparative views of the same calendar page in Chrome and IE9.

    Hotmail Calendar in Chrome  Hotmail Calendar in IE9

    I am a big fan of the Chrome browser, but IE9 is winning me back with a few of the great new features.  My favorite new usability feature is that you can pin a website to your Windows 7 taskbar and use the custom Windows 7 jump lists to interact with the website before you even open the site by right-clicking on the taskbar icon.  Check out how pinning LinkedIn, Facebook, and HotMail to the Windows 7 taskbar behaves:

    Custom IE9 jump lists in Windows 7

    When you click one of these icons you get a customized version of the browser, themed for that specific site.  Notice how the back and forward buttons are colored differently and the addition of the site icon in the top left.  This site icon acts like a home button, bringing you back to the home page of that custom pinned site (Hotmail in this case).  Contrast this screenshot of the subtly customized IE9 browser to the default IE9 experience of the same page above.

    Custom IE9 hotmail browser

    Outlook

    If you’re anything like me, Outlook has become the hub around which your life revolves.  I’ve got three accounts in Outlook today – my corporate account, my client-provided account, and my Hotmail account.  Installing the Outlook Connector, part of the Windows Live Essentials pack is an effortless way of pulling your email, calendar, and contacts into Outlook.  Outlook 2010 offers a seamless way of interacting of multiple calendars, including side by side and my favorite, the overlaid view as seen in the screenshot below:

    Outlook Hotmail

    Mobile

    Hotmail supports the same ActiveSync protocol that corporate Exchange servers and GMail use.  This means that you can get your calendar on your favorite mobile device.  Here are a couple of links which might interest you. 

    Of course, I’m a Windows Phone 7 enthusiast and I’m happy to say that the integration experience on any Windows Phone 7 device is entirely effortless.  Among the very first questions asked by a Windows Phone 7 device after being started for the first time (including after a reset) is whether or not you’d like to connect your device to your Windows Live ID.  Once you do that, you’re done!  Hotmail shows up, as do your contacts and your calendar.  The following image was borrowed from MSCerts.net.

    Working with the Windows Phone 7 Calendar

    Read more about the pros and cons of the Windows Phone 7 calendar on Paul Thurrott’s WindowsPhoneSecrets.com calendar blog post.

    Share your calendar

    Sharing a Windows Live Hotmail calendar is almost entirely effortless. First you simply enable the sharing of the calendar according to your desired level of public interactivity.

    Step 1 – select the calendar to share:

    Sharing a calendar - step 1

    Step 2 – set up the sharing rules:

    Sharing a calendar - step 2

    You can share a calendar with specific named individuals (I’m sharing my calendar with my lovely wife Kim) and you can grant each of those named individuals distinct view and edit permissions according to this list (view details, view only times and titles, view only busy/free status, edit, and co-owner):

    sharing a calendar - security options

    Beyond sharing with named users, it is possible to create calendars which are entirely public (view only) and even calendars which are exposed to search engines.

    Here is what Kim sees on her calendar.  Notice first that she’s using Firefox (browser test #3).  On the left side of the screen you can see the calendars she’s viewing, including mine.  You can see my shared event at the bottom of the screen, complete with the ability for Kim to edit my event details.

    Kim viewing shared calendar events

    Summary

    This was my attempt to help you use freely available digital tools to simplify your life.  I live and die by my calendar and I tell everyone I work with that if it isn’t on my calendar, it doesn’t exist.  The ability to pull all of my calendars together in Outlook and on my mobile devices is crucial to my professional survival.

    This doesn’t stop my wife from keeping a paper calendar on her desk.  Despite my protestations, we frequently spend time in the kitchen comparing calendars.  Whenever I mention that sending me calendar invitations would greatly simplify things, she gently reminds me that she isn’t my secretary.  Oh well!  One day I’ll convince her that a jointly digital life is a simpler life!

    In the meantime, I hope this has been helpful to those of you reading this!

    Prepare for the first Windows Phone 7 update

    Microsoft has just released a Zune (PC client) update which upgrades the Windows Mobile Device Updater component.  This is in anticipation of the soon (we hope) to arrive Windows Phone 7 update code named “NoDo”

    MSFT Social Forums post announcing the release of the Zune software update

    MSFT KB article describing the update

    NoDo described by Engadget

    SoCon11 – 5th annual Atlanta Social Computing Conference

    Last weekend (Saturday, February 5th) saw an annual gathering of social computing experts, segmented into several uniquely interesting groups at Socon11.  We saw the usual self-proclaimed independent social networking / social marketing gurus, some fantastic strategic business thinkers approaching social computing as an element of a wider business strategy, and a large number of people just trying to figure out how social fits into their business.

    The overall focus of the conference this year was on how social computing can be used by an organization to improve market reach and sales.  Less emphasis was placed on the social journalism aspects of modern social computing.

    The keynote address was followed by a fascinating panel discussion featuring speakers from companies such as CNN, AT&T, and Ford.  Here are my stream of consciousness notes from that keynote and panel discussion.  I apologize if they don’t make a lot of sense.

    Augmented Reality combines social and mobile

    . Engagement for customers such as Ben and Jerry ice cream

    . Utility function (ex where is the nearest bar)

    Whiz bang and fun are viral but hard to explain where utility is easy to define value. Give utility sex appeal to make it sticky

    Be timely and relevant (location context as well).

    Experiments might be failures and you have to be careful about stepping out of bounds, but you can't learn and evolve without failures.

    Look for proven successes outside of the company and industry.

    Great panel conversation backdrop - browser with searches of key terms as they are brought up.

    At&t doesn't need to invest in listening technology b/c the top of the house (chairman) monitors all tweets about the company b/c he sees it at his house

    Look at engagement as a metric. HBR 2 months ago focused on social in research and intent segment of buying lifestyle.

    Customer segmentation. Don't treat everyone the same. Your mom is on social media but is not the same as your customer.

    People want to talk to someone AT the company. That interaction is disarming but the inability to deliver is something which really annoys and amps people up.

    Start with the Facebook logo site which rebroadcasts PR and then funnel to segmented 1:1 conversations.

     


    Following the panel discussion and lunch were a pair of break out sessions.  The first session I chose to attend was titled The ROI of Social Marketing hosted by Guy Powell.  I feel like I learned a lot in this session as the material was extremely well laid out and helped to crystalize my thoughts on the topic.  Here are my stream of consciousness notes from that session.  Again, I apologize if you are unable to make sense of them.  Here is a link to the Social Marketing presentation on SlideShare

     

    ROI of Social Marketing - http://www.amazon.com/ROI-Social-Media-Marketing-Investment/dp/0470827416/ref=sr_1_6?ie=UTF8&qid=1297007299&sr=8-6

    Guy Powell

    What's the difference between the marketing strategy and the social marketing strategy?

    The chief difference between one to one conversation strategy and social media strategy is reach

    One ROI metric is call deflection

    messages are a lot faster and a lot more async

    Social media breaks down into either customer service or marketing engagement

    How do customers make decisions?

    • purchase funnel
      • awareness of the brand / product
      • purchase intent
    • relevance
      • brand attributes such as image, quality, affordability, etc.
    • market utility
      • the emotional connection to the utility in the store. Reviews are important here. This relates to reputation & references
    • price

    Social media <--> engagement

    pre/post sale engagement = customer service (post purchase experience & comments read by all (reviews)

    The goal of social media campaigns & activities is to increase purchases (on and off line)

    measuring ROI must be inclusive of traditional media campaigns, external factors (exogenous, channel, partner, news, endorsement) and social media activities

    how do we compete against other alternatives for how to spend time? How do we segment our individuals to target the right personas?

    Community engagement funnel: Awareness leads to engagement (subscription / conversation / consumption) leads to invitation

    LinkedIn style subscriptions (groups) are a great example of subscriptions

    profile information is a component of subscription - enables more targeted marketing

    Influencer funnel: find the influencers in the category

    Reputation = reach (follow count), frequency/timing, and quality of content

    Influencer stratification

    consumer related: those speaking primarily to consumers (ex Clark Howard)

    category related: those who focus on a specific category (ex Forrester)

    brand related: a schill for a product (ex Ashton Kutcher Nikon Coolpix)

    channel related: driven volume in a particular class of trade (Elevenmoms)

    External factors: affect the category volume - Bill O'Reilly and french wine boycott

    The above are where to set your Radian 6 listening station

    *** Reach out inside of Slalom to find out how the Walmart.com ElevenMoms ambassador program is doing

    Consumer purchase funnel: awareness intent desire action (AIDA)

    also awareness, consideration, purchase, intent, purchase, loyalty

    Facebook - Share rather than like or comment on stuff

    Example of what not to do - Dove facebook page (315k fans)

    Example of what to do - Olay facebook page (245k fans yet Olay gets 6-8x what Dove gets for interaction)

    another good example – Heinekin

     


    The final breakout session I attended was hosted by Barbara Giamanco and was titled Sales Meets Social Media.  My impression of this presentation was that the material was interesting but less valuable to me as I felt that I already had a good handle on the content.  I did pick up some great tips and insights from a veteran salesperson and I recommend looking through her presentation on SlideShare and my stream of consciousness notes below.

     

    Barbara G

    http://www.thenewhandshake.com/social-media-consultants/

    Social media helps you keep existing customers. Why spend more money to get a new customer than to keep a customer you already have a relationship with.

    Buyers don't trust advertisers.

    Marketing = build awareness and expose product but selling is the close the deal part.

    Reexamine hootsuite and gist as social monitors. Also look at netvibes

    Don't let a lot of time go by - follow up after a contact within 24 hours.

    LinkedIn supports saved searches against people and companies

    LinkedIn group sales playbook contains lots of tips and may lead to business.

    Security Vulnerability with all version of ASP.NET

    Today it was announced that there was a way to exploit an issue with ASP.NET and the way it returns errors.  There is no patch currently, but I am sure something will come out shortly. 

    In short the workaround to the issue is to have a customerror page set and customerrors=on

    Read about the issue and workaround directly from Scottgu

    http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx

    Microsoft Project 2010 fails to install if SharePoint Designer 2007 is installed

    What the heck?  I just got an error message telling me that I am unable to install the 64 bit version of Office 2010 b/c I have a 32 bit Office product installed.  The odd thing is that I have a 64 bit version of Office 2010 installed already!  I’m trying to install Microsoft Project 2010!  This must be an order of operations issue.

    Capture

    A threefer at the Atlanta MS Pros User Group meeting tonight

    Logan Gray (@intensetech) of Intense Tech Inc (www.intensetech.com) gave the first of three presentations tonight.  Focusing on Windows Home Server, Logan tried really hard to convince everyone that this is the next technology purchase they need to make.  Find an example ready-built HP EX487 hardware chassis for under $500 on Amazon.com.  The entire point is to backup and protect your important data files, photographs, and music.

    Abbey Gwayambadde (@ophedian) talked about home automation and about how much things have changed since the X10 home automation presentations we saw a few years ago.   Common targets for automation include lighting, audio and video distribution, HVAC, irrigation, security, and even automobiles!  Companies such as Insteon and Zigbee have begun producing reliable and high quality components.  Check out the components and software from mControl at http://www.embeddedautomation.com/ for a complete picture of how cool this can be.

    Jim Wooley (@LinqKinq) from http://www.thinqlinq.com/ was the third batter in the lineup, presenting about the scalability considerations of Linq.  Revealing coding techniques such as proper ordering of a simple Linq query to improve performance by orders of magnitude.  For example:

    Dim Ordered1 = (from num in randnums
                    order by num
                    where num <10).ToList
    Total time: > 6,000,000 ticks

    Dim Ordered1 = (from num in randnums
                    where num <10
                    order by num).ToList
    Total time: > 188,000 ticks

    Additional scalability and performance considerations include multi-threaded and even multi-cluster server processing centric programming with AsParallel and DryadLinq.

    Debugging a WCF Data Services problem

    I was asked to help out with a problem with the deployment of a multi-tiered application from the development environment (where everything works) to the QA environment.  The basic issue is that where everything works in the development environment, the QA environment is rejecting connection requests to the WCF Data Service.  The exception returned is a “401-Unauthorized: Access is denied due to invalid credentials”

    Debugging steps we took:

    Step 1: from the client machine, try to ping the remote server.  Expected result – successful return of ping test

    Step 2: validate via simple console application that the issue is reproducible as working in dev and broken in QA

    Step 3: check the QA server’s logs (application, security, and IIS logs) to find the exact error codes.  FYI, some development machines don’t have the IIS logging feature turned on. Follow these instructions to do so.

    Step 4: Find nothing especially useful so turn to Bing and Google, where the most relevant page is this totally useless forums post: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/4065e321-d605-4cd7-8399-c5ebf2e0021c/

    Step 5: Casting about in the dark, try creating a new test function in the service itself so that the GET service attempts to do the update for us – thereby eliminating the SQL connection as the potential problem.

    Step 6: Last ditch effort – validate that the Services folder allows EVERYONE full control and retest.  SUCCESS!  Back out the EVERYONE user and put in the AppPool user so that we’re running in more of a Least Privileges manner (slightly…who can identify the security hole here?).  SUCCESS continues.

    In this particular case, the issue turns out to be that the AppPool user requires Modify permissions to the .svc file on the file system.  Why?  No idea!  We simply found that the Domain Users with Read & Execute permissions was an insufficient setting.

    Darrin Bishop intros P&P Guidance for SharePoint Development

    At tonight’s Atlanta SharePoint User Group (#atlspug), Darrin Bishop (@bishopd) introduced us to the Microsoft developer guidance for SharePoint 2010 developers developed by the Patterns and Practices group.  For the uninitiated, this is a fantastic set of guidance and reference applications such as guidance around data storage and a reference logging application.

    Darrin started out with an explanation of how to appropriately create executable code by understanding SharePoint’s execution models.  For example, we discussed how to create a sandbox solution which executes a workflow, something which is not normally allowed in a sandbox solution.

    After understanding a bit more about execution models, Darrin turned to data models and tried to impart some guidance around data storage, classification, and access.  The example we investigated was how list relationships worked, including lookup columns, projected columns and the referential integrity considerations.

    After a quick tour through data model approaches, Darrin covered the client side object model and the different considerations for application development.  Topics covered included batching of communications and call-back methods, building locally executing web parts which use client side OM approaches to asynchronously retrieve data.

    The application foundations section of the presentation covered unit testing, service locator, logging, and application settings management.  Unit testing specifically introduced the Microsoft Research project Pex and Moles.  While Darrin only spent a small amount of time talking about the service locator pattern and the architectural implications of dependency injection, I personally went off on a tangent researching it in a bit more detail and as a result I completely missed his coverage of application settings management.

    All of the above covered the slide deck, which will eventually be available on the Atlanta SharePoint User Group site for download.  We spent the second half of the meeting buried in code, demonstrating all of the aforementioned practices and application blocks.

    More Posts Next page »