Wednesday 28 September 2011

Creating a shared logging block

Overview:  A client host multiple applications on there SharePoint on premise farm and these need to be logged consistanly.

Hypothesis:  SP2010 provide easy logging ability to the ULS, Microsoft have the SharePoint Best Practices that includes the assemblies for logging, these can be extended to create a easy re-useable set of logging functions.  Key areas to cover are where are you logging to: ULS, Event Viewer.  Sandbox solution can be logged to ULS and the event viewer using a full trust proxy solution.  SharEPoint Online will need to log to a list on the hosted farm.

Microsofts Patterns and Practices code library for SharePoint 2010, is useful for providing the core logging functionality.  The Parrerns and Practices can be extended so the custom method for all application on the farm would call the logging code block that is hosted in the GAC.

More Info:
http://technet.microsoft.com/en-us/library/ee748656.aspx
http://blog.mastykarz.nl/logging-uls-sharepoint-2010/
http://www.alexangas.com/blog/2011/09/intro-to-sharepoint-2010-patterns-practices-logging/
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23919

Updated 28 May 2020:
For C#, Power Platform, React, .... I advise to use: App Insights or https://serilog.net/
Log4Net is still very common

SharePoint 2010 Language Packs MUI & Variations

Language Packs, MUI & Variations


Multi-lingual User Interfaces (MUI) differ from Multi-lingual Sites (Variations). I.e. application may need labels change but content is not translated. I think of MUI as chrome language resource switching whereas variations are used for translating content.

Language packs I would load :
  • en-US (default & in place)
  • fr-FR
  • es-ES
  • zh-CH (Chinese)
  • Japanese?  But it really comes down to your situation. 
Note: If you do not run the SharePoint Products and Technologies Configuration Wizard after you install a language pack, the language pack will not be installed properly. From MS but I believe this can be done using Powershell. There will be down time on the production farm.

  • MUI can be added at any time and allow the site/application to display multiple languages.
  • MUI can be enabled at site collection or web level.
  • Not all site definitions and templates support MUI so we should apply it only at the web level, is my current thinking.
  • Language packs cannot be uninstalled.
  • Variations may be needed either for translating content in SP2010 or for delivering to specific devices such as Smart Phones and tablets. Having the language packs is the easy part, implementing variations needs design/is complex.
  • Install language packs on all WFE and app servers in the farm
  • Language packs are a good idea to install even if you are not using MUI or Variations as it helps index documents in search when the documents are run in another language.
Update 8 July 2015: Regional browser setting dictate which language is used in SharePoint 2013 and SP2013 does not allow you to change between languages via the UI as it did in SP2010 on the Welcome Menu. 

More Info:
References:
MSDN

Monday 12 September 2011

CBA for Developement

Problem: Claims Base Authentication (CBA) requires swapping certificates with each machine that will use CBA on a development domain, if you have 20 dev machines you will need to swap certs with ADFS and 20 developer machines. 

Note: This post assumes all dev machines are on a single domain however several approaches will work on a standalone machine however.  If ADFS is present on the local dev use it for CBA in your development environment.

Initial Hypothesis:
If your VM's are all on the same domain you can always use classic mode authentication and test the CBA on a build server.  This does not make the dev env mimic the test, QA & production servers that are using claims for authentication.
 
Resolution:You could setup your own STS server/Service (feeding off SQL or LDAP) or use the WIF toolkit to create a claims service.
Or use SelfSTS tool to generate claims that SharePoint can consume.

More info:
Setting up and testing your own STS Service
http://msdn.microsoft.com/en-us/library/ff955607.aspx
http://blogs.msdn.com/b/sharepointdev/archive/2011/09/12/claims-architecture-for-sharepoint-2010-developers.aspx
http://archive.msdn.microsoft.com/SelfSTS/
Simple channel 9 Video explain CBA & WIF

Thursday 18 August 2011

Building Development Machines

There are 3 schools of thought regardsing development build approaches:
  • Physical (Windows 7 or Windows 2008);
  • VM server hosts i.e. ESXi where the server has multiple VM's and the dev use remote desktop; and
  • VMWare workstation.
VMWare/HyperV are interchangable.
Base physical machine OS will be Windows 7 and run VMWare Workstation
VM needs:
  1. Windows 2008 R2 Std edition x64 – fully patched/updated and include SP1
  2. Add the Active Directory role (ensure ADFS2.0 is installed)
  3. Install Microsoft SQL Server 2008 R2 developer edition x64, install SP1 check using SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') should be at least 10.50.2500.0
  4. Install SharePoint 2010 enterprise edition, I’d suggest using AutoSPInstaller (with 1 service account as provided by the AD such as demo\administrator), the pre-requistes will enable the appropriate IIS and application server roles for you.
  5. Patch SP2010 to SP1 and also ensure you have the June 2011 CU.
  6. Check SP2010 that a site works using IE.
  7. Install Visual Studio 2010 (appropriate edition – pref ultimate).
  8. Add developer tools such as Office 2010, Fiddler, SPD2010, InfoPath2010, Firefox, CKSDev(VSIX extension)2.1, SharePoint Power tool(vsix extension), U2U, ULSViewer, Beyond Compare, resharper. A comprehensive list is here.
  9. Check source control (TFS2010) works.
  10. Check deployment of code works.
Tip:
Useful to run http://blog.sharepointsite.co.uk/2012/03/turning-on-windows-2008-r2-desktop.html

Sunday 14 August 2011

Lotus Notes to SharePoint 2010 Migration Notes

Overview:
Lotus Notes application migration to SharePoint 2010 can be done using various tools such as:
Quest - Notes Migrator for SharePoint comes highly recommended. Has some real top guys working at Quest.
Binary Tree - Comprehensive tools for migrations specifically a tool to migrated from Lotus Notes to SharePoint.
AvePoint - Migrate Lotus Notes/QuickPlace/QuickR to SP2010.  AvePoint have various migration to SP2010 modules such as for Lotus Notes, Documentum, LiveLink, File System, Stellent, Vignette.
BAInsight offer connectors in this space and can migrate Lotus Note application database data into SP2010 list.
Tzunnami
Metalogix - is a good migration tool but it does not allow for Lotus Note migration.  I have used this on 2 client projects and have been happy with the product.
PCVite - Express migrator for SharePoint
VisiMigrate
CASAHL

More Info:
http://notes2sharepoint.org/ Blog on Notes to SP migration mainly focusing on Quest's Notes Migrator for SharePoint.
Blog post on migrating lotus Notes to SharePoint 2010 - http://sptechpoint.wordpress.com/2011/07/01/lotus-notes-to-sharepoint-2010-migration/

TFS2010 & Continious Integration

LINQPAD & a great blog

I was doing some research and came across this blog, every post has value.
http://sptechpoint.wordpress.com
Check it out

LINQPaD looks like a great tool for LINQ
http://sptechpoint.wordpress.com/2009/12/30/create-linq-expressions-with-linqpad/