Wednesday, July 24, 2013

Host-named site collections in SharePoint 2013

 

One of the recommendations in SharePoint 2013 is the usage of Host Named Site Collections (HNSCs) over using multiple web applications when you want to use vanity urls for specific SharePoint sites. Host-named site collections each have a unique DNS host name and therefore its own top-level URL.  SharePoint 2013 allows you to add multiple URLs by using the Set-SPSiteURL Powershell command. An interesting quote around this is found in a new article Host-named site collection architecture and deployment (SharePoint 2013) :

Because the Office 365 environment uses host-named site collections, new features are optimized for these site collections and they are expected to be more reliable. Learn how to plan for and implement host-named site collections, design URLs, and manage URLs.

The same information is found in SharePoint 2013 design samples – corporate portals and extranet sites :

The recommended configuration for deploying sites is using host-named site collections with all sites located within a single web application. This configuration is recommended to deploy sites because it is the same architecture that the Office 365 environment uses. Consequently this is the most heavily tested configuration. New features, including the App model and Request Management, are optimized for this configuration, and it is the most reliable configuration going forward.

Some of the reasons why host-named site collections are also considered to be the better solution because:

  • Create less overhead on web servers, because no additional IIS web site is required
  • Provide more flexibility because you provide alternative access to individual site collections instead of entire web applications. There is a limit of 20 web applications per farm (with 5 predefined zones), but you can create thousands of site collections (each with their own vanity url)
  • Reduced resource consumption since there are less web applications required (ant thus also less application pools)
  • Mitigates cross-site scripting risks

    Other references:

  • Sunday, June 23, 2013

    SharePoint Server 2013, Active Directory Groups and the access denied problem caused by token lifetime.

    A while ago we experienced some issues when using Active Directory groups and SharePoint Server 2013. We added users to Active Directory groups which were added to SharePoint groups, but the users who got access using this method, still got access denied. After some investigation we found the problem.

    In SharePoint 2013 all authentication is being handled through claims which are managed by the Security Token Service (STS). The STS is responsible for issuing security tokens to users. A user which has logged on to SharePoint will be authenticated and granted a token with his group membership. These tokens have a certain lifetime and will not be updated until they expire. The property which controls this is the WindowsTokenLifetime property – according to the documentation is it normally set to 1380 minutes or 23 hours -  see Set-SPSecurityTokenServiceConfig for more details. (On one of my SharePoint 2013 it seemed to be 10 hours).

    Therefore users who had already logged on to the SharePoint Server did not get the required tokens for their new AD group membership until the token expired. You can however change the token expiration in the following way:

    $sts = Get-SPSecurityTokenServiceConfig
    $sts.WindowsTokenLifetime = (New-TimeSpan -Minutes 15)
    $sts.LogonTokenCacheExpirationWindow = (New-TimeSpan -Minutes 15)
    $sts.Update()

    Changing the WindowsTokenLifeTime will probably have a performance impact since there will be a lot more requests going from the STS to your Active Directory domain controllers. I haven’t found clear guidance or best practices about this, so feel free to leave a comment.

    Tuesday, June 11, 2013

    Quick tip - copying files from your host to Hyper-V guest

    I have been working with VMWare for quite a while but recently switched to Hyper-V on my Windows 8 portable. One thing I’m still struggling with is the ability to easily copy files from my host OS (Windows 8) to my guest OS which is running in Hyper-V. Currently I’m using Folder2Iso to quickly create ISO files which I then mount in my Hyper-V environment. If anyone knows of a better way of doing this – please leave a comment.

    SharePoint Service Applications: SharePoint 2013 versus 2010

    Service Applications Description SPS 2010 Std SPS
    2010 Ent
    SPS
    2013 Std
    SPS 2013 Ent
    Access Services Let’s user view, edit and interact with Access 2010 databases which are published to SharePoint in a web browser

    X

    X

    App Management service Provides administrators the ability to manage new SharePoint apps. Apps can be purchased from an external vendor or developed internally. It checks user access permissions and licensing for app usage.    

    X

    X

    Application Discovery and Load Balancer service A.k.a. Topology web service. SharePoint has a built in basic load balancer  that provides administrator with fault-tolerant out of the box SharePoint service applications. See SharePoint 2010 Service Application Load Balancer for more details.

    X

    X

    X

    X

    Business Data Connectivity service Gives access to line-of-business data systems – also check out the Business Connectivity Services code samples for SharePoint 2013

    X

    X

    X

    X

    Excel Services Application Let’s users view and interact with Excel files in a web browser

    X

     

    X

    Machine Translation service Provides automatic translation of sites and files (See Machine Translation Services in SharePoint 2013 for more details)    

    X

    X

    Managed Metadata service Manages taxonomy hierarchies,keywords and social tagging infrastructure, and publish content types across site collections

    X

    X

    X

    X

    Office Web Apps Service Office Web Apps is now a separate product, rather than a SharePoint Service Application. See Use Office Web Apps with SharePoint Server 2013 for more details.        
    PerformancePoint Service Application Let’s users create dashboards and balanced scorecards  

    X

    X

    PowerPoint Automation service Performs automated bulk PowerPoint conversions to other formats (pptx,pdf,xps,jpg,png) (See PowerPoint Automation Services in SharePoint  2013 for more details)    

    X

    X

    Search service Crawls content, produces index partitions and serves search queries

    X

    X

    X

    X

    Secure Store service Provides single sign on authentication to access multiple applications or services

    X

    X

    X

    X

    State service Provide temporary storage of user session data for SharePoint Server components

    X

    X

    X

    X

    Usage and Health Data Collection service Collects farm wide usage and health data and provides the ability to view various usage and health reports

    X

    X

    X

    X

    User Profile service Adds support for My Site sites, profile pages, social tagging and other social computing features

    X

    X

    X

    X

    Visio Graphics service Let’s users view and refresh published Visio diagrams in a web browser  

    X

     

    X

    Web Analytics service Collect, reports, and analyzes the usage of SharePoint Server sites. The functionality of the Web Analytics service has been incorporated into the Search service

    X

    X

       
    Work Management service Enables users to synchronize and aggregate tasks between different Microsoft products such as Exchange, SharePoint and Project Server. See Configure Exchange task synchronization in SharePoint Server 2013 for practical details or the My Tasks aggregation in SharePoint Server and Exchange Task integration white paper    

    X

    X

    Word Automation service Performs automated bulk document conversions.

    X

    X

    X

    X

    Subscription Settings Service Provides multi-tenant functionality for service applications. Tracks subscription IDs and settings for services that are deployed in partitioned mode. Deployed through Powershell only.

    X

    X

    X

    X

    For more information about the SharePoint 2013 service applications check out the Services in SharePoint Server 2013 Visio diagram on Technical diagrams for SharePoint 2013 (Technet)

    Wednesday, May 29, 2013

    Resolving XMind can’t open after updating to JRE7

     

    I recently noticed that XMind stopped working after updating to Java Runtime Environment (JRE). It gave an error stating

    A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run XMind. No Java virtual machine was found after searching the following locations: C:\Program Files (x86)\Java\jre6\bin\javaw.exe

    I solved it by simply making a copy of the JRE7 folder (default installed underneath C:\Program Files (x86)\Java ) and renaming that copy to JRE6.  Worked like a charm.

     

    Technorati Tags: ,,

    Thursday, May 23, 2013

    Some quotes from actual performance appraisals

    "Since my last report, this employee has reached rock bottom and has started to dig."
    "His men would follow him anywhere, but only out of morbid curiosity"
    "I would not allow this employee to breed"
    "This employee is really not so much of a has-been, but more of a definite won't be"
    "Works well when under constant supervision and cornered like a rat in a trap"
    "When she opens her mouth, it seems that it is only to change feet"
    "He would be out of his depth in a parking lot puddle"
    "This employee is depriving a village somewhere of an idiot"
    "This employee should go far, and the sooner the better"
    "Got a full 6-pack, but lacks the plastic thing to hold it all together"
    "A gross ignoramus - 144 times worse than an ordinary ignoramus"
    "He certainly takes a long time to make his pointless"
    "He doesn't have ulcers, but he's a carrier"
    "I would like to go hunting with him sometime"
    "He's been working with glue too much"
    "He would argue with a signpost"
    "He has a knack for making strangers immediately"
    "He brings a lot of joy whenever he leaves the room"
    "When his IQ reaches 50, he should sell"
    "If you see 2 people talking and one looks bored, he's the other one"
    "A photographic memory but with the lens over the cap"
    "A prime candidate for natural deselection"
    "Donated his brain to science before he was done using it"
    "Gates are down, the lights are flashing, but the train isn't coming"
    "Has 2 brains, one is lost, the other is out looking for it"
    "If he were any more stupid, he'd have to be watered twice a week"
    "If you give him a penny for his thoughts, you'd get change"
    "If you stand close enough to him, you can hear the ocean"
    "It's hard to believe that he beat out 1,000 other sperm"
    "One neuron short of a synapse"
    "Some drink from the fountain of knowledge, he only gargled"
    "Takes him 1 1/2 hours to watch 60 Minutes"
    "The wheel is turning, but the hamster is dead"

    Technorati Tags: ,,

    Monday, May 20, 2013

    Belgian Windows 8 contest : App race

     
    Only 31 days left for the Belgian Windows 8 contest: App race. For more info check out
    
     

    Mental note: Windows Phone 7 backup location

    By default, Zune makes a backup of your Windows Phone 7, prior to the update procedure. This is so that, in case of failures, it can revert back the phone to its previous state. The backups are automatically stored on the rive where Windows is installed, in the folder Users\Your User Name\AppData\Local\Microsoft\Windows Phone Update.

    Technorati Tags: ,,

    Saturday, May 18, 2013

    Functional stupidity and the corporate rebel

    The prestigious Journal of Management published an article in November 2012 called “A stupidity-based theory of organizations” which defined a new interesting term: functional stupidity. Functional stupidity can be defined as follows:

    Functional stupidity is organizationally-supported lack of reflexivity, substantive reasoning and justification by hierarchically structured organizations to avoid disintegration (or at least avoid internal friction) and it refers to an absence of reflection and refusal to justify certain decisions, forms of stupidity management repress or marginalize doubt and block communicative action. Members of these organizations are only allowed to work within well defined boundaries and are encouraged only to focus on specific tasks without questioning why.

    This seems to be quite contradictory with the contemporary view upon organizations which claims that modern organizations are knowledge intensive and that organizations can only survive when they get the best out of their key asset, their employees.

    Short-term use of intellectual resources, consensus and an absence of disquieting questions about decisions and structures may oil the organizational machinery and contribute to harmony and increased productivity in a company,” Mats Alvesson, professor of organization studies, and one of the co-authors, writes. “However, it may also be its downfall.” One of the consequences of functional stupidity is killing innovation and evolution through learning.

    The articles also outlines a number of behaviors which are typical of functional stupidity. It also seems that larger organizations are more prone to it. I think this has to do with the fact that they typically boil down their objectives into specific targets which should be attained without question. These objectives and they way of working is often backed by hierarchies, bureaucratic rules and a extremely well documented processes.

    I think that at times it is a good thing to question the obvious, be a corporate rebel (Check out www.rebelsatwork.com for some interesting insights and thoughts or read the Rebels at work: motivated to make a difference e-book) and stir up new ideas that often are uncomfortable for the powers that be. Rebel for the ideas that you believe will make a difference because it is all to easy to find a reason not to change.

    To finish of, a quote from Marc Buelens, professor at Vlerick Business School, which he added to his article in Trends magazine (Functioneel onwetend, de aantrekkingskracht van veilige paden, 21 maart 2013):

    Functional stupidity provides a lot of comfort to management, but together these useful idiots can do quite a lot of stupid things.

    Wednesday, May 08, 2013

    Community Day 2013 – Building search driven Windows 8 and Windows Phone 8 apps with SharePoint Server 2013

    I will be delivering a session at Community Day Belgium – registrations will open up next week – there is a great lineup of sessions – so don’t hesitate.

    Session abstract: Combine the power of Windows 8 with the flexibility and interoperability of SharePoint 2013 search. This session will walk through building Windows 8 applications using SharePoint 2013's REST-based search API to build rich, compelling user experiences. We will leverage the new people and social search capabilities in SharePoint 2013 to build both a Windows 8 client and Windows Phone 8 client.

    If you have a specific scenario that you want to see in this session, don’t hesitate to leave a comment.

    Thursday, April 11, 2013

    SharePoint 2013 : the Big Five

    Trends impacting collaborative tools and platforms

    I have been working for quite some years now consulting companies mostly on the technical side of building and designing collaborative environments but when preparing for a presentation about why people should upgrade their current environment to the latest (and off course greatest) version I tried to summarize some trends which significantly impact the way that we should think about these environments.
    • It’s a multi-device & mobile world.  90% of people use multiple screens sequentially to accomplish their goals with search being the most common ways consumers continue from one device to another (Source Google: The New multi-screen world study )
    • Social collaboration is the new norm. 82% of the world’s online population engages in social networks. The usage of social tools has changed the mindset of people and is blurring the division between private and work life. People are expecting to same ease of connecting with co-workers and keeping up to date  within the enterprise as they are used to connect and follow their social network outside  outside of it. The fact that a new digital generation ( a.k.a Generation Y) is entering the workforce will put even more pressure on companies to embrace social tools.
    • Businesses are faced with an increased pace of change. Most people seem to think that the accelerating change is typical for technology but this accelerated pace of change also applies to business in general. According to research the average lifespan of a S&P 500 company is 18 years today (compared with 68 years in 1950). At this rate 75% of the S&P 500 will be replaced by 2027 (Source Innosight.com, 2012: Creative destruction whips through corporate America). Extrapolating from past patterns by the end of the year 2020, the average lifespan will have been shortened to about 10 years (See Survival and performance in the era of discontinuity). The only corporate survivors will be those that can increase the rate of creative destruction without losing control of present operations.
    • No man is an island – collaboration is required for value creation. 66% of CIOs from top-performing organizations see collaboration as key to innovation. (Source: IBM CIO study, 2001). Most tasks performed by knowledge workers have become so complex that they require people with diverse skill sets and from multiple disciplines to collaborate. Unfortunately organization are still quite hierarchical organized which impedes efficient collaboration. Definitely read – Enterprise Social Networks what has changed and the changing role of middle management
    • Renewed focus on people as the core asset in the battle for companies survival.  Although the next quote was made by Andrew Carnegie at the end of the 19th century it holds more true then ever.
    • The only irreplaceable capital an organization possesses is the knowledge and ability of its people. The productivity of that capital depends on how effectively people share their competence with those who can use it.
      If you look at information workers (the typically users of your platform) you will notice a shift in structure based work (Processes, routines,controls,…) to more knowledge based work (research, problem-solving, relationship driven,…) But knowledge workers are more likely to excel when they are engaged. Gallup estimates that engaged employees are 18% more productive and that attrition decreases with 51%. At the same time employees are expecting more from their employers. They don’t just go to work to get paid, they want to be motivated, challenged and have a clear purpose( definitely check out the video What motivates us?)
      Related posts:
    • Enterprise 2.0 and organizational culture
    • Knowledge and talent in a people ready business
    • Knowledge is power! So why share your knowledge?
    • The value in social networks
    • Colleagues, Social Distance & Relevance in People Search, and other Social Networking tools in SharePoint
    •  

    Thursday, April 04, 2013

    SharePoint Saturday Belgium 2013 – Building the “Hot or Not” app on SharePoint 2013 … or how not to sell social to your client or boss

    I’m presenting a SharePoint development session on social at SharePoint Saturday Belgium 2013  end of April. I’m still in the brainstorming phase but below is the abstract – so if you have something specific you want to see in the session – leave a comment;

    Session abstract: ​Enterprise social networks allow you share best practices within organizations, identify co-workers with particular expertise, exchange knowledge and work more efficiently together on projects , but they can also be a lot of fun. Microsoft has made some significant investments in social capabilities with SharePoint Server 2013. In this session we will explore the different social capabilities in SharePoint 2013 and show how to build a SharePoint app which leverages social and search features to build your own "Hot or Not" app. Technologies covered in this session include the new Social and Search REST APIs in SharePoint 2013, the SharePoint app framework, Azure , Windows 8 and Windows Phone 8 ... but it is mostly about having some fun to build a social app. Warning: session is heavy on code ... and pretty girls.

    Wednesday, April 03, 2013

    Presenting at Be the Change Hero for better information collaboration in your organization

     

    I’m presenting the keynote next week at “Be the Change Hero for better information collaboration in your organisation” in Brussels – if you are interested check out Be the Change Hero roadshow event site.  Focus of the sessions is on getting more value out of yor SharePoint investement. For those of you who can not attend – I will share the slidedeck afterwards.

    Technorati Tags: ,

    Monday, April 01, 2013

    Building a Windows 8 app for SharePoint 2013 Part 1: using Javascript and CSOM

    I followed two sessions about building a Windows 8 app for SharePoint 2013 during the SharePoint conference in Vegas. The two sessions used a different approach for building such an app. In the next couple of blog posts I will outline the different approaches and provide some feedback around it. Let’s start with the CSOM approach.

    The SharePoint CSOM and Javascript approach to build Windows 8 apps
    During the session Fun with SharePoint Social, CSOM and Windows 8 delivered by Mark Rackley and Eric Harlan (Slideshare for a local BIWUG redelivery available here) at SharePoint Conference Las Vegas a solution depicted by the image below was built. For a complete walkthrough check out Creating your First Windows 8 Application using the Client Object Model (CSOM) and JavaScript
    from Mark.

    For those of you unfamiliar with CSOM – this is an abbreviation of the  SharePoint Client Side Object Model. So the basic setup was actually a Visual Studio solution which combines a JavaScript WinRT project and a Windows Runtime compontent.  Listed below is  a download link with a  very simple example to get you started.  This is how the code of the Windows Runtime Component looks like – it is basic CSOM code.  Some things you should think about:
    • Add a reference to the required Microsoft SharePoint Client Runtime components
    • Make sure that you pass in the required credentials – the code below assumes that the Windows 8 machine is in the same domain as your SharePoint Server and that you can log in with integrated security
    • The SocialFollowingManager is the most important class – for background info on follows in SharePoint 2013 – check out Common programming tasks for following content in SharePoint 2013
    • You will need to use a separate object to pass the information from the SocialFollowingManager back to the Javascript Windows Store App. By default the SocialFollowingManager returns a ClientResult of type SocialActor which is not a valid Windows Runtime Parameter type and which can’t be returned in a public method
    • You can’t use nested classes – that’s whyFollowedContent is a separate class.
    • If you receive “Unable to connect to the remote server” when connecting to SharePoint you probably still need to make sure that your application has the correct capabilities enabled.  Open up your Application Manifest and make sure that you have “Enterprise Authentication” and  “Private Networks (Client and Server) checked



      1: using System;
      2: using System.Collections.Generic;
      3: using System.Linq;
      4: using System.Text;
      5: using System.Threading.Tasks;
      6: using System.Net;
      7: using Microsoft.SharePoint.Client;
      8: using Microsoft.SharePoint.Client.Social;
      9: 
     10: namespace CSOM
     11: {
     12:     public sealed class FollowedContent
     13:     {
     14:         public string ID { get; set; }
     15:         public string Type { get; set; }
     16:         public string Name { get; set; }
     17:         public string Uri { get; set; }
     18:     }
     19:     
     20:     public sealed class Social
     21:     {
     22: 
     23:         public static FollowedContent[] GetFollowedContent()
     24:         {
     25:             
     26:             ClientContext ctx = new ClientContext("http://sp2013");
     27:             ctx.Credentials = System.Net.CredentialCache.DefaultCredentials;
     28:             
     29:             SocialFollowingManager sfmgr = new SocialFollowingManager(ctx);
     30:             ClientResult<SocialActor[]> actors = sfmgr.GetFollowed(SocialActorTypes.All);
     31: 
     32:             sfmgr.Context.ExecuteQuery();
     33: 
     34:             FollowedContent[] followedContent = new FollowedContent[actors.Value.Length];
     35: 
     36:             int index = 0;
     37: 
     38:             foreach (SocialActor actor in actors.Value)
     39:             {
     40:                 FollowedContent content = new FollowedContent();
     41:                 content.ID = actor.Id;
     42:                 content.Type = actor.ActorType.ToString();
     43:                 content.Name = actor.Name;
     44:                 content.Uri = actor.Uri;
     45:                 followedContent[index++] = content;
     46: 
     47:             }
     48: 
     49:             return followedContent;
     50:         }
     51:     }
     52: }
     53: 


    I like this approach of building Windows 8 apps since it allows for a clean separation of the SharePoint codebase from the UI part. At the same time SharePoint developers can leverage the SharePoint object model using CSOM.  It is possible to leverage numerous Javascript libraries (such as JQuery UI) to build a compelling user experience.


    Code samples – download BIWUGApp1.rar

    Tuesday, March 26, 2013

    SharePoint 2010 Productivity Hub – Direct download links

    The Productivity Hub is a Microsoft SharePoint Server 2010 site collection that offers training material for end-users. It is fully customizable and Microsoft provides content packs with training materials that you can add to the Productivity Hub. You first need to install the Core before installing the different Content packs.
    SharePoint 2010 Productivity Hub

    Listed below are the different direct download links:
    Quick steps to get started:
    1. Make sure that your SharePoint Server has the correct patching level – you will need to have SharePoint Server 2010 SP1 installed and SharePoint Server 2010 August 2011 Cumulative updates or later (KB2553050)
    2. Create a separate site collection for the Productivity hub
    3. Extract the core install file
    4. Unpack the content packs that you want to include and copy the different extracted folders underneath the core install directory. Remark: if the content packs are not imported you can still import them afterwards – check out the Microsoft Productivity Hub 2010 SP1 Installation Guide which is included in the Core install
    5. Install the Productivity Hub using a Powershell command which is included.
    The code for the Productivity Hub Silverlight components and other add-ons are also available on Codeplex - http://productivityhub.codeplex.com/

    Thursday, March 21, 2013

    Drag and drop files into a SharePoint 2013 document library depends on installed browser and Office version

     

    Drag and drop in SharePoint 2013 is supported by the drag and drop feature in HTML 5 (for an interesting overview of browser support for HTML5 check out http://html5test.com/ ). Unfortunately this is not supported in Internet Explorer 8.x and Internet Explorer 9.x but when you install Office 2013 it will add an extra ActiveX control which will support drag and drop. So if you don’t have Office 2013 installed you will not be able to use this nice feature (An interesting hack around this is installing SharePoint Designer 2013 but this is something you probably don’t want to do for your end users).  Mozilla Firefox 3.5 (or later), Google Chrome and Safari 5.x (or later) seem to support this out of the box.

     Other references:

    Technorati Tags: ,

    Repairing missing My Site link in the welcome menu

    A while ago - the My Site link went missing on my SharePoint 2010 development machine. This posting - Repairing missing My Site and My Profile links in SharePoint 2010 put me on the correct track. In my case I had deactivated the Social Tags and Note Board Ribbon Controls Farm Feature, which also made the My Site and My Profile links disappear - after reactivating it again - the links reappeared.