MVP predictions for SharePoint in 2011

06/01/2011

In the recent article of Dan Holme, I found a very interesting selection of various MVPs (Most Valuable Professionals) predictions for SharePoint in 2011. Here are the ones I selected:

  •  “Choosing a partner that understands how to properly architect cloud based SharePoint applications will make all the difference when it comes to properly securing data while also creating extensible and supportable systems.”  Todd Baginski
  • “As everyone starts to do their 2010 migrations with their freshly minted 2011 budgets demand for the best talent will be tight. “ Rob Bogue
  • “It’s also good that the training resources are better than they’ve ever been so it will be easier to educate internal staff – if you remembered that budget line. “ Rob Bogue
  • “2011 is going to be the year we point to for when SharePoint in the cloud really got its start. Office 365 (currently in beta) is amazing and it is going to spread like wildfire in 2011. “ David Mann
  • “I predict that companies will begin to take stock of their software expenses and decide to start their migrations based on business value and not on “new and shiny” like they did for the 2003 to 2007 upgrade. I predict that one driving factor in these decisions will be a focus on search (or, more correctly, findability).” Matt McDermott
  • “Companies will quickly realize that SharePoint is at the heart of all things Microsoft these days and SharePoint 2010 adoption will take off! Therefore, there will be a great need for SharePoint training and consulting.” Asif Rehmani
  • “2011 is the year we see Office365.” Darrin Bishop

But I strongly invite you to read the whole article (7-8 minutes reading): 

http://www.sharepointproconnections.com/article/sharepoint/SharePoint-in-2011-MVP-Predictions.aspx


Managed Accounts vs unmanaged accounts in SharePoint 2010

04/10/2010

A Managed Account is effectively an Active Directory user account whose credentials are managed by and contained within SharePoint. This scenario is what enables farm administrators to join machines to the farm without specifying the credentials as had to be done in previous versions of the product: http://blogs.technet.com/b/wbaer/archive/2010/04/11/managed-accounts.aspx

Attention: Some SharePoint 2010 services will break, because they are default configured with managed accounts (search, usersync). SharePoint 2010 default behavior cross-pollinates unfortunately managed accounts (Search Service app) with unmanaged accounts (default cralwer).



Developing Windows Phone 7 Applications for SharePoint 2010 (MDV08)- mynotes

01/10/2010

SharePoint Connections 2010, Den Haag, 29 September 2010

Session: MDV08: Developing Windows Phone 7 Applications for SharePoint 2010 (MDV08)

Speaker: PAUL STUBBS (http://blogs.msdn.com/b/pstubbs/)

  • Globally Web parts are not rendered but only content is rendered on the mobile from a SharePoint site.
  • If you wish to render web parts content, use Mobile web part adapters:
    • Renders alternate view
    • Lookup in browser.compat config file
    • Supported in SharePoint Foundation
    • Use Microsoft.SharePoin.WebpartPages.MobileAdapter
    • Override CreateControlForDetailView()
  • Applications supported on Windows Phone:
    • Silverlight (business applications)
      • Modern XAML/event driven application UI framework
    • XNA (games)
  • Capabilities of the Phone (features writable against SharePoin)
    • Input
      • Touch
      • Hardware buttons
    • Media
      • Digital media capture&playback
      • Media Library access
    • Data
      • Isolated Storage
      • LINQ
    • .NET
      • Superset of Silverlight 3.0
      • WCF (SOAP and REST services)
    • Phone Access
      • Integrated access to phone UI
      • Sensors, camera, microphone
      • Picker for contact and photos
    • Integrated with could Services
      • App deployment & updates
      • Notifications (very important for mobile services)
      • Location
      • XBOX live
  • Authentication to SharePoint is an issue for development on mobile phones
    • The phone DOES NOT SUPPORT windows authentication yet but only Forms based authentication
    • Forms based authentication
      • Supported very easily through claims provider in SharePoint 2010
      • Provider neutral: SQL, LDAP
      • Solution: forms authentication provider can be set to LDAP and so the users will be still use the same username and password as the one in active directory
  • Windows Phone tips for SharePoint
    • Only supports Forms Based Authentication sites in SharePoint
    • FedAuth Cookie is HTTPOnly
    • Pass along in a CookieContainer: set enableHttpCookieContainer on binding. One you have it (after authentication) always pass your CookieContainer with any list call you initiate.
    • Authentication.asmx not compatible with Service Reference in Visual Studio: use instead HttpWebRequest
    • Access to list web services works fine.
  • Phone tools are working for Windows 7 only – phone development machine needs to be on Windows 7 (if you start the phone emulator in a server it will reboot L )
  • Check slides for a development environment schema
  • Tooling
    • http://Developer.windowsphone.com download all tools and emulators
    • Download SharePoint 2010 Developer VHD (Windows Server 2008 R2 Standard, SharePoint Enterprise with Fast, etc)
  • Run your App on a Phone for tests: Matthijs Hoekstra (matthijs.hoekstra@microsoft.com )


Architecting and Managing Virtual- ized SharePoint 2010 Farms (MIT09) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 29 September 2010

Session: Architecting and Managing Virtual- ized SharePoint 2010 Farms (MIT09)

Speaker: MICHAEL NOEL (http://www.cco.com )

  • Dynamically expandable disks a penalize performance so for PROD try to define a disk size
  • Recommendations for Database Roles
    • If possible try not to virtualize the database servers
    • Mirroring and clustering are now supported in virtualization (KB 956893)
    • Use best practices for tempDB (put it on fast disk, resize it – there is a guidance on how to configure tempDB for SharePoint)
  • Sample specifications presented for various farm types (check slides)
    • Cost effective Farm would be 1 Host with 2 quad core supporting:
      • 1 vm (10Gb, 4 proc) for SQL
      • 1 vm (10GB, 4 proc) for web applications
    • High available Farm with only two servers hosts
    • Best Practice Virtual/Physical with High availability
      • High transaction servers are physical (DB). Multiple farm support with DBs for all farms on the SQL cluster
      • 2 server hosts quad core supporting each
        • 4 vm: 2 vm for web applications for PROD environment, 1 vm for web applications for TEST environment & 1 vm for web applications for DEV environment
        • VMs are load balanced for PROD, TEST and DEV environments
    • Large virtual Farms:
      • 3 server hosts quad core supporting each:
        • 1 vm for DB
        • 1 vm for web applications
        • 1 vm for search server
        • 1 vm for central admin
        • 1 vm for service applications
    • NUMA (non uniform memory access) memory Limitations and Guidelines
      • It exists at the hardware level
      • You can end up with swaps if you allocate more memory to sessions than the NUMA boundary -> instead of increasing performances you end up with decreasing performance
      • Don’t get cheap on memory if you bought a server with many CPU’s
    • Monitoring:
      • Configure Counters and Thresholds on Hosts & on Guests Very interesting slide (check photo)
        • Monitoring processor on guests is useless…you have to measure this on the host
        • Memory…over 50% free is good
    • Support from Microsoft is conditioned by:
      • The hardware used for virtualization (Intel VT or AMD-v)
      • Hardware-enforced Data Execution Prevention (DEP) is available and enabled
      • Deployed on Microsoft Hyper-V (RTM or R2) or on a validated third party hypervisor (SVVP program –> ok for VMware ESX/ESXi)
    • Tooling: System Center Virtual Machine Manager (VMM 2008 R2)
      •  SCOM 2007 is aware of SharePoint features
      • Quick provisioning: Allows creation of SharePoint template servers which can be quickly provisioned on TEST or DEV environments
    • Licensing:
      • Very important to know that licensing rules related to virtual guest licensing are applicable to all SVVP program vendors: e.g. you can run VMWare ESX/ESXi on a 1 processor host and have only one windows datacenter license for all guests (Windows Datacenter license is per host processor: 4 processors on the hosts = 4 Windows datacenter licenses; it might nevertheless be more interesting to use the Windows Enterprise virtual licensing facilities)

Creating Content-Centric Sites with SharePoint 2010 Web Content Management (MNC04) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 29 September 2010

Session: Creating Content-Centric Sites with SharePoint 2010 Web Content Management (MNC04)

Speaker: ANDREW CONNELL (http://www.andrewconnell.com)

  • Planning a SharePoint 2010 WCM Site
    • Define major areas of the site
    • Define the types of content
    • Define different rendering options on the site
    • Define major actors for different sections
    • Define content review & approval process
    • Define content management plan
  • Tooling small nice application from CriticalPath Training company (check on the Members area of the web site for it: AC’s SharePoint 2010 Site Collection Keep Alive Job Utility (v1.1 – Updated June 7, 2010) for site warm-up : to be used before demos and presentations or for testing purposes.

Windows PowerShell Crash Course for SharePoint Administrators (MIT07) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Windows PowerShell Crash Course for SharePoint Administrators  (MIT07)

Speaker: DON JONES (http://concentratedtech.com/)

  • Most of DOS and UNIX well known commands work in Powershell  (PS) (including the good old functionality of using TAB to complete partially typed commands)
  • Powershell drives – adapts all forms of storage into a powershell drive get –psdrive
  • Extending the commands available in Powershell by default (400 commands by default out of the box): PSSnapin (Old way) vs. Modules (new Way
  • IMPORTANT: there is only one Powershell environment. The modules or the snapins are not different environments of Powershell but just predefined command set extensions.
  • Almost every Microsoft product will come with it’s own Powershell predefined Module (or Snapin) (e.g. event Active Directory has it’s own PS module)
  • PSSnapin to add snap-ins in PS and use various commands of a particular environment (e.g. a powershell snapin for SQL server will let you type SQL commands in powershell)
  • PS is build around the idea of piping = like DIR | more
  • Each time a command is run, there is an invisible table, which is generated into memory. Using an XML configuration file, PS knows how to choose what to show on the screen (obviously not all the information would fit on the screen and a choice has to be made)
  • ALL PS commands start with a verb: get, set, new, move, remove (-service, -process, -comand, etc)
  • For SharePoint, PS commands start with ‘sp’.  For SQL, PS commands start with ‘sql’; Exception is Exchange as it was the first product out on PS…well done Exchange guys 🙂
  • HELP on Powershell
    • ‘-full’ provides full help including usage examples for all commands.
    • “help * event *” will list all powershell commands or help files containing events
    • If there is a space in one parameter value you can use either ‘ or “ to include the value. Both work.
    • what if” parameter simulates the command and displays you the result without actually doing it
    • “-confirm” parameter ask you for a confirmation for each action needed for the command to complete
    • Unlike in UNIX, Powershell user does not have to process the output text of the command. Instead the user can ‘tell’ powershell how and what you want to look like (e.g. sorting a column..you only have to know the name of the column and PS will display for you the results sorted on that column)
    • Pipeline input parameters (fastest way to make things happen): get –service –name bits | stop-service  (this will return the service which will be fed as parameter for stop –service command)
      • Another example: import-csv  ./users.csv |new –user (given the csv has the column names maching the command parameters names)
  • Remote Control
    • Requires PSH v2
    • ‘enter –pssession – computer server-r2’ will get us on the remote server-r2 (given we have access); “exit-pssession” to get out of it
    • You can import a remote set of commands not available on the local session (what happens is not a real import of commands but rather like a shortcut to the commands – if used such an ‘imported’ column it actually runs on the remote computer
    • 1:1 or 1:N remoting:
      • Enter-PSSession –computername X
      • Exit-PSSession
      • Invoke Comand – scriptblock {commands}
      • For SharePoint make sure you have granted shell administrator rights!
  • Tooling & resources:

Creating Search-Based Solutions with SharePoint 2010 (MDV03) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Creating Search-Based Solutions with SharePoint 2010 (MDV03)

Speaker: SCOT HILLIER

  • Great slide on the Search Architecture (get the slides)
  • Content source->iFilters->.NET Assembly Connector-> Index Engine
    • The big news is that the indexer uses a .NET assembly connector to access exernal data (a new .NET assembly connector can be easily written by a developer)
    • There is now an architecture support for search federation
    • Relevancy:
      • Ranking vs Sorting
      • Authoritative Pages is a primary way to affect ranking
      • In SharePoint 2010 we can create a specific Custom Ranking Model
      • Using Custom Ranking Models
        • Define Weights & Normalizations through an XML file specifying:
          • Query independent elements (e.g. all documents ending with .docx be pushed at the top of search results)
          • Query dependent elements (e.g. all queries beginning with ‘a’)
  • Define Managed properties and explicitly activate it for use.
  • Install the ranking Model
  • Update the Core Results Web part to use this Ranking model (you have to define the ranking model ID in this web part…if no ID specified, the one of SharePoint by default).
  • SharePoint 2010 has 5 ranking models defined. The one by default is general for all searches and the rest of the models apply especially to people search. The IDs of these ranking models are not visible through the UI – you have to export them and check the GUIDs in XML.
  • When SharePoint query does not contain any text but only a managed property, the Search skips the ranking of search results  (the ranking model is not used) and the search results are simply displayed but not sorted using the ranking model. (e.g. put in the search box “Rating>0”, given that AverageRating is a manged property) As soon as a text is included in the query, the ranking model is taken into consideration before displaying the search results (e.g. search for “a* Rating>0”)
  • In SharePoint 2010 we can inherit the CoreResultsWebPart class!!! And build our own custom CoreResultsWebPart class
  • In order to help user you might wish to use separate pages by scope (tabs on top of the search box)
  • INTERESTING use case: a unique place on your SharePoint site where the user can check all tasks he’s assigned to. Instead of building a CAML complicated web part/solution, you could use the search engine and query for all “AssignedTo” properties across your farm (check code in demo).  You can use FullTextQuery Class to process SQL queries. (e.g. show all the latest documents on the portal)
  • Keyword query syntax examples:
    • Lastname:A
    • AverageRating>0
    • Training+isDocument:1
    • Client AND Server
  • A demo of using the keyword query syntax : AZIndex of employees in the directory
  • .NET Assembly connectors
    • It is the WAY we allow the index engine access an external system
    • The fact that anyone can write a .NET assembly connector (choose Business Data Connectivity Model in Visual Studio) gives the opportunity to index practically any existing external system
    • It’s the same ‘piece’ used by the BCS (Business Connectivity Services) to search and access data from external systems
    • Security: Search results trimming vs query time trimming
  • Search queries stay entirely compatible with OpenSearch standard

Designing Governance: How Information Management and Security Must Drive Your Design (MIT02) – my notes

30/09/2010

SharePoint Connections 2010, Den Haag, 28 September 2010

Session: Designing Governance: How Information Management and Security Must Drive Your Design (MIT02)

Speaker: DAN HOLME

  • Always keep in mind the scope and the goal: what you try to achieve with the solution
  • Understand the business
  • Understand SharePoint and especially its limitations
  • Identify Information Management (IM) requirements:
    • Ownership of information
    • How long the content is online and who consumes it?
    • What kind of content do you have
  • Identify SharePoint management controls and scopes
    • Requirements on authentication imply a certain choice of the Web APP.
    • Authentication providers: In SharePoint 2007 if you have two authentication providers you had to extend the web app and thou have two links for access to the same web app (disadvantage is that users could not send links between them as they were not similar) – in SharePoint 2010 you can have two authentication providers for the same web app
    • Only one-way to manage ownership and quotas: site collection. Site collections is thou directly linked to the ownership of information (who needs to have full access to content)
    • Storage, quotas, locks influence also the site collection planning (on or more content databases in regard of backup and restore time and efficiency)
    • Navigation and content types are also influencing the topology at the site collection level
    • Users are also ‘scoped’ at the Site Collection level: you might have to plan it at this level if you need to give access to users who do not have to see each other: a possible solution: create a site collection for each client?
  • Align controls and scopes with requirement
    • Recommendation: have a web app for the Intranet, another one for collaboration where people can be empowered to have self-site provisioning (http://intranet vs http://team ) and another one or more for clients (http://clients )
    • Content Promotion
      • Is extremely important: e.g. take the content from the collaboration site and publish it to the intranet once it’s finished.
      • Consider document life-time and expiration policies in order not to find yourself with another garbage place like on the old file shares;
      • Consider also exposing content from one site to another site especially using RSS or third party tools for roll-ups or content query web parts (Avepoint has a tool to share a file share as it was a document library)
    • Farm level scope:
      • GEO performance: Farm geographical location is important – it should be as close as possible to the users – performance for collaboration might be an issue
      • Isolation – dedication for a specific service might be interesting (Application services specific servers)
    • Consider Premium farms(s) for custom applications vs out of the box SharePoint farms for standard features use. Standard Farms will be a lot easier to upgrade and maintain = mitigate risks & costs
  • Overlay information architecture and administration
    • Lay Navigation (usage of top link bars and custom link lists are security trimmed), content roll/up & search on top of a manageable structure end not vice-versa!
    • Use administration tools (third parties)
  • SharePoint 2010 has now built in Resource Throttling (max 5000 items returned in a list for example) and it is scoped at the web application level
  • What users can or can not modify in their sites using SharePoint Designer it is scoped at the web app level
  • Use Powershell to create a site collection and specify a specific database (which is not possible through the UI) – for SharePoint 2007 there is a similar stsadm command.
  • TIP: in SharePoint 2010 there is a Content Organizer (allows pulling documents from a drop-off library and dispatching elsewhere) and it can be activated as a site feature.