Showing posts with label SharePoint 2010. Show all posts
Showing posts with label SharePoint 2010. Show all posts

Tuesday, September 20, 2011

Hands on Labs for SharePoint and Lync

[Update 7/12/2011: Found two more Lync Labs and added them to the list]

Often when I teach a course students feel overwhelmed by the sheer amount of information bombarding them in just five days. Obviously the best medicine is to go over the books when they have had a chance to breathe and digest all the great new things they have learnt. But the best way to learn is not to read about it but do it! No, I can't give my students copies of the lab servers to play with at home. And no, you should not repeat the exercises on your production SharePoint farms. Luckily there is a simple answer to this dilemma. It is called Virtual Labs.
The boys and girls at Microsoft have put a tremendous amount of effort and resources into creating lab environments which anybody can use to gain invaluable skills with the SharePoint products. The labs are split into two main audience groups. Administrators and Developers. While the administrators will be able to get their juice from Technet the developers can get their labs from MSDN. Below is a compilation of labs which I think you will find quite useful. (Lync labs at the end of the article)


TechNet Virtual Labs for SharePoint 2010 Administrators

  • TechNet Virtual Lab: Backup and Restore in SharePoint Server 2010 - After completing this lab, you will be better able to use farm-level backup and restore features in Microsoft® SharePoint® Server 2010, use granular backup and content recovery tools in SharePoint Server 2010, and use Microsoft Windows® PowerShellTM to restore sites and lists in SharePoint Server 2010
  • TechNet Virtual Lab: Business Connectivity Services - After completing this lab, you will be better able to create an External Content Type based on a back end database and view and manipulate backend data in External Lists
  • TechNet Virtual Lab: Business Continuity Management in SharePoint Server 2010 - After completing this lab, you will be better able to configure and use the versioning features in Microsoft® SharePoint® Server 2010, configure and use the SharePoint Server 2010 Recycle Bins, and use Microsoft Windows® PowerShellTM cmdlets to perform backup and restore operations in the SharePoint 2010 Management Shell
  • TechNet Virtual Lab: Configuring Remote Blob Storage FILESTREAM Provider for SharePoint Server 2010- After completing this lab, you will be better able to enable FILESTREAM on the appropriate SQL Server database, provision the RBS data store, install the Remote Blob Storage (RBS) FILESTREAM Provider, enable the RBS FILESTREAM Provider on the appropriate content database, and configure the RBS FILESTREAM Provider scenario
  • TechNet Virtual Lab: Configuring Tenant Administration on SharePoint Server 2010 - After completing this lab, you will be better able to create a new Tenant Administration site collection, manage site collections through Tenant Administration, and create a partitioned service application
  • TechNet Virtual Lab: Configuring User Profile Synchronization in SharePoint Server 2010 - After completing this lab, you will be better able to configure the User Profile Synchronization Service in Microsoft® SharePoint® Server 2010, start the User Profile Synchronization Service, create a New Profile Synchronization Connection, edit Profile Synchronization Connection Filters, map User Profile Properties, and configure Profile Synchronization Settings
  • TechNet Virtual Lab: Enterprise Search - After completing this lab, you will be better able to create a new content source for SharePoint to crawl, exclude certain results from being crawled by search, create a Search Center, and customize and extend the user interface
  • TechNet Virtual Lab: Introduction to Microsoft SharePoint Server 2010 Upgrade - After completing this lab, you will be better able to verify existing 2007 farm and content upgrade readiness through the use of the 2007 pre-upgrade checker command, verify existing 2010 farm readiness to upgrade specific content databases using the 2010 Test-SPContentDatabase cmdlet, initiate upgrade for individual content databases using the 2010 STSADM -o addcontentdb command, review the upgrade session status using the improved Central Administration web site Upgrade Status page, initiate upgrade for multiple individual content databases using multiple PowerShell sessions to trigger parallel upgrade sessions, troubleshoot an upgrade failure due to missing features, and how to restart upgrade for individual content database, and use Visual Upgrade features to switch sites from the 2007 product look and feel to the new 2010 product user interface
  • TechNet Virtual Lab: New IT Pro Features in SharePoint Server 2010 - After completing this lab, you will be better able to find your way around the Microsoft® SharePoint® Server 2010 Central Administration Web site, use basic site management tools in SharePoint Server 2010, describe the health monitoring and Web analytics capabilities of SharePoint Server 2010, provide and consume SharePoint Server 2010 service applications, and use commands from the Microsoft Windows® PowerShellTM command-line interface in the SharePoint 2010 Management Shell
  • TechNet Virtual Lab: Performance Management - After completing this lab, you will be better able to set limitations on the number of list items returned at a time, understand how large list limits affect users, configure Resource Throttling, and understand how Resource Throttling and HTTP Request Monitoring and Throttling affect SharePoint performance and user experience
  • TechNet Virtual Lab: PowerShell and SharePoint 2010 - After completing this lab, you will be better able to find your way around the SharePoint 2010 Management Shell and interact with SharePoint Web applications, site collections, and sites, use Windows PowerShell scripting techniques such as pipes, filters, wildcards, and enumerations for SharePoint Server 2010 administration. You will also be better able to explain how to create and assign variables and use the SharePoint object model from Windows PowerShell
  • TechNet Virtual Lab: SharePoint Designer for IT Pros - After completing this lab, you will be better able to create and modify lists on the SharePoint site, create and modify workflows, and save SharePoint site as reusable template
  • TechNet Virtual Lab: SharePoint RTM - IT PRO - Business Continuity Management - After completing this lab, you will be better able to navigate through an unattached SharePoint Content Database, export content from an unattached SharePoint Content Database, and import previously exported content
  • TechNet Virtual Lab: SharePoint RTM - IT PRO - Installing and Configuring - After completing this lab, you will be better able to successfully install and configure SharePoint Server 2010, create a Managed Account in Central Administration, create a Web Application in Central Administration, and also create a Site Collection within the Web Application
  • TechNet Virtual Lab: SharePoint RTM - IT PRO - Service Applications - After completing this lab, you will be better able to configure the new Managed Metadata Service Application, associate the Managed Metadata Service Application with a web application, manage the Metadata Service by adding your own custom groups and term sets, import a group into the Enterprise Term Store within the metadata service, utilize the Managed Metadata Service Application within a list, configure My Site settings, and create a My Site
  • TechNet Virtual Lab: SharePoint RTM - IT PRO - Upgrade - After completing this lab, you will be better able to verify existing 2007 farm and content upgrade readiness through the use of the 2007 pre-upgrade checker command, verify existing 2010 farm readiness to upgrade specific content databases using the 2010 Test-SPContentDatabase cmdlet, initiate upgrade for individual content databases using the 2010 STSADM -o addcontentdb command, review the upgrade session status using the improved Central Administration web site Upgrade Status page, initiate upgrade for multiple individual content databases using multiple PowerShell sessions to trigger parallel upgrade sessions, troubleshoot an upgrade failure due to missing features and know how to restart upgrade for individual content database, and use Visual Upgrade features to switch sites from the 2007 product look and feel to the new 2010 product user interface
  • TechNet Virtual Lab: Windows PowerShell in SharePoint Server 2010 - After completing this lab, you will be better able to find your way around the SharePoint 2010 Management Shell and interact with SharePoint Web applications, site collections, and sites, use Windows PowerShell scripting techniques, such as pipes, filters, wildcards, and enumerations, for SharePoint Server 2010 administration, and explain how to create and assign variables and use the SharePoint object model from Windows PowerShell

SharePoint Server 2010 Virtual Labs for Developers

  • MSDN Virtual Lab: Client Object Model - After completing this lab, you will be better able to retrieve lists, print a list, and use ADO.NET data services
  • MSDN Virtual Lab: Customizing MySites - In this lab you will work with some of the new events capabilities in SharePoint Server 2010 as well as the new Visual Studio 2010 SharePoint Tools. You will customize public my site by adding new public page, which can host any additional services exposed for my site end users, create stapled features to customize structures created in personal my site using Visual Studio 2010, and also create delegation control to customize top navigation and web parts, which exists by default in the personal my site
  • MSDN Virtual Lab: Designing Lists and Schemas - In this lab you will work with some of the new events capabilities in Windows SharePoint Services 14 as well as the new Visual Studio 2010 SharePoint Tools. You will create a custom list definition, template and instance using Visual Studio 2010, implement referential integrity between two SharePoint lists so that items in one list cannot be deleted until referenced items in a child list are removed first, and create a synchronous event receiver that is triggered when new task is created
  • MSDN Virtual Lab: Developing a BCS External Content Type with Visual Studio 2010 - After completing this lab, you will be better able to build a BCS External content type, create a Business Data Catalog Model project, configure the External Content Type for offline use, and open the list using Outlook
  • MSDN Virtual Lab: Developing a Sandboxed Solution with Web Parts - In this lab you will construct a basic Web Part that will call into the SharePoint API to retrieve some information. Next it will try and use SPSecurity to try to elevate privileges. The third and last action that is added is an attempt to initiate a HTTP connection to an external site
  • MSDN Virtual Lab: Developing a Visual Web Part in Visual Studio 2010 - After completing this lab, you will be better able to work with existing Web Parts and Linq and also you will be more familiar with connecting two web parts
  • MSDN Virtual Lab: Developing Business Intelligence Applications - After completing this lab, you will be better able to use the Chart Web Part to create graphical representations of data within SharePoint lists, use Microsoft Excel 2010 to examine and data from SQL Server Analysis Services, and publish an Excel workbook with Excel Services to make it accessible to users using a browser. You will also be able to work with a PerformancePoint Services site and the new Dashboard Designer
  • MSDN Virtual Lab: Enterprise Content Management - In this lab you will work with some of the new capabilities added to SharePoint Server 2010 in the area of Enterprise Content Management. You will verify the configuration of an Managed Metadata in a SharePoint Web application, customize the Managed Metadata term store and leverage it within an existing SharePoint site, and implement document sets
  • MSDN Virtual Lab: Getting Started with SharePoint 2010 - In this lab you will begin your work with SharePoint 2010 and become familiar with the Virtual Machine (VM) that you will be using. You will get experience working with the SharePoint 2010 Central Administration site as well as working with a standard team site. This will allow you to experience the new user interface concepts introduced in SharePoint 2010 such as the server-side ribbon and in-place item editing. You will also get a chance to write and test C# code using the SharePoint Foundation 2010 object model
  • MSDN Virtual Lab: LINQ to SharePoint 2010 - In this lab you will create lists for use with LINQ, and create a web part for accessing the list data using LINQ
  • MSDN Virtual Lab: SharePoint 2010 User Interface Advancements - After completing this lab, you will be better able to create and customize SharePoint 2010 lists for storing ideas for new toys, and use various new features of SharePoint, SharePoint Designer and InfoPath
  • MSDN Virtual Lab: Visual Studio SharePoint Tools - In the lab you will become familiar with the standard project structure used by SharePoint Tools, create and test a project that contains a Feature, a Feature Receiver and a Web Part, configure SharePoint Tools deployment options, and debug a SharePoint Tools project by single-stepping through the code in your solution
  • MSDN Virtual Lab: Workflow - After completing this lab, you will be better able to use Visio to create the high level process, export the Visio model to SharePoint Designer 2010, and use SharePoint Designer 2010 to complete the detail. You will also be able to export from SharePoint Designer 2010 to a WSP file and import the WSP file into Visual Studio 2010

Virtual Labs for Lync 2010 Developers


TechNet Virtual Labs for Lync 2010 Administrators


Saturday, June 4, 2011

Introduction to SharePoint Information Architecture

It is my pleasure to announce the newest course offering by Equinox in Wellington:
http://www.equinox.co.nz/training/Pages/CourseDescriptions/sharepoint-information-architecture-introduction.aspx
I've teamed up with Equinox to deliver three SharePoint Information Architecture courses in Wellington. A one day introduction which covers the basics of IA as well as the basics of SharePoint. A two day course which then goes into the depths of creating taxonomies and hierarchies in SharePoint which can withstand the test of time. Finishing off with an advanced course which covers records management, governance, scalability and other advanced concepts over another two days.
I've been spending many hours online and in libraries prepping the contents of the introduction course and while I will be demystifing some SharePoint myths during the course I also am looking forward to the interactive sessions with the students. IA simply is not something you can learn by listening to speeches or watching viedos. It really only sinks in when you do it for real, so expect some fun and enlightening hands on session to drive home the concepts learnt!

We'll be running the course on June 22nd. Places are limited; so make sure you book your place soon to avoid disappointment!
http://www.equinox.co.nz/training/Pages/CourseDescriptions/sharepoint-information-architecture-introduction.aspx

Expired Virtual Machines for 10232

Thank God, Microsoft Learning is fixing the date issue on the 10232 virtual machines. Looks like this time they didn't get away with "it is not broken, it is by design". So if you are planning on teaching Advanced SharePoint Development techniques any time soon, then make sure to get your hands on the newest images. They should be online within the next week or so.
Btw, 10232 is full of theory and "best practice" concepts. Great for solution architects, team leads and senior developers. Not really the stuff junior SharePoint developers are keen on. They just want to get their hands dirty coding WebParts.
Also, encourage the client to send their newbie SharePoint developers onto 10174 first before visiting any of the advanced courses. Although it is an admin focussed course it covers all the essentials which a developer needs to know about.

Thursday, April 21, 2011

MCT Tips and Tricks for 10232

Fellow MCTs,
I am posting this for the benefit of those MCTs who have not figured out that there is a whole wiki page at http://borntolearn.mslearn.net on this course once you log in with your MCT LiveID account.

10232 was built with a trial key for SharePoint that has a fixed expiry date. You must turn the clock back to August 2010 (tested using 10th and 11th/08) to teach this course. Thanks go to Chris Barker for being the first to post a solution to this problem at the MCT forum. The key to getting the course to run is to set the clock of the host back before importing the VM and starting it up. This is due to the host setting the bios date of the vm on initial bootup. So changing the time after the fact in the vm does not help as the SharePoint key has invalidated itself by then.
BUT...
When setting the clock back to a date before the host was built you might have troubles getting any vm to start with a certificate failure. This is due to a certificate HyperV uses when initialising the VM. To solve the problem you need to delete the self-signed cert and reboot the machine. That will force Hyper-V to recreate the cert at the older date and the VMs will start. To do this follow these steps:
1) open MMC and add the Certifcates Snap-in
2) Select the service account option
3) Pick the HyperV Virtual Machine Manager service
4) drill down into the own Certificate folder (first folder)
5) delete the self signed cert with the machine name
6) reboot

Last Tips for a smooth running course:
Configure the machine to use an internal network so you can remote into the box from the host. That will make copy and paste much easier and also allows you to put fiddler on the machines. (my students loved seeing fiddler in action and could not stop fiddling with it)
Change the Integration settings for the vm to not synch the time. That will stop the host from updating the time in the VM. This does not work on initial boot, as the initial time and date on first start of the vm will always be set based on the current host regardless of that setting. But it should prevent the machine to take on a new date while it is running.
Then make a Snapshot!!!
Should the student have changed the time on the host during the course and the time did synch due to some fluke, you can easily revert back to the snapshot which has the correct time settings and a functioning SharePoint instance.

Happy teaching!

Wednesday, April 20, 2011

SharePoint Diagnostics Studio V2.0

This will be one of the most anticipated admin and dev tools released for SharePoint this year. It will come bundled with the updated version of the administrator toolkit for SharePoint 2010.
Ever had to trawl through multiple logs from multiple load balanced servers to figure out what really happened? Wished you could have your perfmon counters ready when analysing problems? The next version of the SPDiag tool will let you do that and much more. Run reports, save report snapshots, find events based on time, CorrelationID and... the login name! So Jo complains his page crashed and he did not make not of the correlation id? No problem. correlate all logs into one place on your desktop with minimal strain on the servers. Then run a search on his logon and the time window when it crashed and you'll have all the surrounding details, processes and counters available at your fingertips.
Also includes database stats, network stats and latency statistics to identify bottlenecks with some of you service app communications.
This tool was developed by the product team at Microsoft to assist them with the SharePoint development process. What's good for them can't be bad for us mere mortals!
Can't wait to get my hands on this gem. Supposedly coming out this month. Which really means sometime this year, probably during Q2 some time.

Monday, March 14, 2011

How to pass 70-576

Totally forgot to post the fourth post in the series. If you want to earn your sharepoint 2010 professional developer credential then you'll also need to pass this exam. Measureup does not have this one on it's books yet, so no legal cheating on this one.
The questions are not quite scenario based as with many of the .Net developer pro exams. But not quite as code driven as the TS exams. Expect simple scenarios with simple seeming answers.
Actually there are quite a few trick answers where there seems to be two valid choices until you spot the error. My best advice on this exam is to eliminate the wrong answers. Quite a few will be obvious bull answers, but there will be the occasional one that will make you doubt. Re-read the question. Often there is a clue or constraint in the mini scenario which will eliminate the second option.
A lot of questions are common sense on development and deployment techniques. Make sure you're up to scratch on best practices for features, solutions, dependencies, upgrading and the new 2010 features.
Warning! Only because it is a new feature in 2010 doesn't mean that it must be the right choice!
Last tip, as with any Microsoft exam, stick to your first gut choice when in doubt. And only move from that when you are 100% sure that the new answer is the correct one.



Tuesday, February 8, 2011

Enabling RBS on additional Databases

You'd think it to be really easy to find good information on enabling RBS for additional content databases out there. But if you landed on this blog post, then you were proven wrong, like so many others.
Actually it is not that hard.
Once you have followed all the instructions to set up RBS for the first time:
http://technet.microsoft.com/en-us/library/ee663474.aspx (SharePoint Foundation 2010)
http://technet.microsoft.com/en-us/library/ee748631.aspx (SharePoint Server 2010)
You then need to follow these steps for each additional ContentDB:
http://technet.microsoft.com/en-us/library/ee748641.aspx (Universal)

The important part in the last link is the different msi script. As you use different ADDLOCAL parameters.
Also keep in mind that if you are relying on the FILESTREAM Provider in SQL 2008 R2 you need not install RBS on the SQL Server itself, as it is supported by default. If you plan on using RBS using a third party Provider, then you will need to run the msi on the SQL Server too:
http://technet.microsoft.com/en-us/library/ff629463.aspx (SharePoint Server 2010 without FILESTREAM)

Happy Remote Blobbing!

Tuesday, February 1, 2011

Keeping Dead Wood out of SharePoint. Or, how to avoid Zombies.

In his article, What NOT to migrate into SharePoint Joel identifies the usual suspects of types of files which are not suited to be stored in SharePoint or any DMS system for that matter.

While Joel covers the what quite exquisitely, he does not cover the why from an IA point of view. I have seen companies throw hundred thousands of dollars at setting up SharePoint farms to store ALL their documents. Including massive investments in infrastructure and likewise projects required to design a stable and usable system with minimal change impact to the end users. But what they all forget to ask is the big WHY? Why migrate the content? Where is the business value? The standard answers you will get most of the time will go along the lines of “because with SharePoint we can manage the files better” “We then have versioning” “One central platform instead of disparate locations”. And that is when the headache begins. Dead documents are brought to life in SharePoint only for the sake of having one single source of truth. These zombie documents devour resources and money the instant they are resurrected and cause major maintenance headaches for all involved.

When the team of BAs and IAs are classifying all the documents they often skip the most important classification. Is this document still active or is it at the end of its life? Will there be any form of collaboration going on or will it only be used as reference material. If you can make that distinction you will easily be able to identify exactly which files need to move into a managed environment and which can stay in an unmanaged location. Many projects shy away from this question simply because it can be a daunting task. There might be millions of documents that need to be classified into active and non active. Also there is the problem of having separate locations for associated documents. This is where third party providers can come in extremely handy. While some offer Web Parts which will display existing file shares in SharePoint in a more integrated manner, they will lack the full functionality support of a SharePoint document library. So if you do not need versioning or SharePoint driven security, then have a look for Network Share Web Parts on http://www.sharepointreviews.com/ There are some web parts listed there.

If you on the other hand want to have versioning, SharePoint driven security, Check-in and out, then more complex solutions will be needed. Such as the File Share Library by bamboo solutions which synchronises a fileshare with a document library. The only downside is that files will start clogging up the database once they move from stale to active use. This way at least the databases will grow gradually over time as more and more documents are activated. The final solution I want to suggest is using the FileShare connector from AvePoint. They have designed a solution based on their popular EBS driven Storage Extender which keeps the file share separate from the database even once files are actively used and versioned in SharePoint. The magic lies in a hidden folder on the fileshare which is used to maintain the new versions of the files, as they progress through the lifecycle.

But beware! Only because the DBA need not worry about 5TB big content databases no more means nobody should. A well planned major and minor versioning strategy and user education is key in keeping the network storage from blowing out of proportions. So do yourself a favour and have a look at some tools on the market before needlessly resurrecting dead documents into SharePoint.

Friday, October 1, 2010

How to Pass 70-668

So today I passed 70-668. The PRO exam of the SharePoint 2010 Administrator series. And I can't tell you how relieved I am.
I was kind of panicking about this one. Mainly because I had no idea what to expect. The planning guides on technet are horrendously theoretical and you get tangled up in links beyond links in no time. The supporting course is not even finished yet and nobody can tell you what the format will be.
Let me assure you, it will not require a BSc in Taxonomy and governance planning to pass the exam.
It is mainly scenario driven and the questions are pretty straight forward. If you have sat  the 10174 SharePoint 2010 Administration and Configuration course you will have a good foundation to build upon.
From there you have to spend some more time configuring the different farm scenarios. No point in practicing how to use the Wizard! Do it manually and configure each component in your farm. Especially Search!

What to focus on? The most important part is knowing the hardware and software requirements for SharePoint 2010, how to upgrade to 2010, and how to build a small, medium and large farm. Especially how to distribute load of all components correctly in the farm, from Excel Calculation to Search crawling, indexing and querying. Know your Database Mirroring, Failover and Disaster recovery scenarios and know your network configurations and setups for IIS, authentication and firewalls. Most importantly it is hands on experience that will help you pass this exam. Not theory. So get stuck in and start building distributed farm environments. A lot of knowledge from building 2007 Farms will be easily translated into 2010 Farms, with the addition of new distribution capabilities due to the new service architecture.

If you are looking for a course that can help you prepare for this exam, I suggest you sit the Mindsharp/Combined Knowledge SharePoint 2010 Administrator Course. That covers the grunt and most important aspects of configuring and maintainting a best practice SharePoint Farm. Even the 2007 version of this course will give you many of the basic skills which can be translated into 2010 by extra studies. The Mindsharp/Combined Knowledge material is top notch and the trainers back it up with real world experience and vast pools of knowledge. You will never sit a Mindsharp/Combined Knowedge course with a trainer who does not know SharePoint inside out.

If you can't get hold of a Mindsharp/Combined Knowledge course in your area, then sit the Microsoft 50047 Advanced SharePoint 2007 Administration course. That covers all the important Enterprise setups that 5060 and 5061 ignore and gives real advice on farm configuration, disaster recovery and performance considerations. 50047 does assume that you have sat 5060 and 5061 or have equivalent real world experience. After sitting the course you then have to start applying the concepts to 2010 and get your hands dirty with how the 2010 service model can be configured and distributed in a farm environment.

One last tip (Probably the most important one).  Read the questions and possible answers before reading the scenario. That will speed up the process and keep you focussed on the task at hand. Most questions can be answered by just reading one single section of the scenario. So identify the section the question relies on, answer the question in your head and then skim the rest of the scenario to make sure there is no other piece of information that could invalidate your chosen answer.

Some lnks to get you started:
70-668 Syllabus:
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-668

SharePoint 2010 Resource Center (good list of the most important technet articles you will require)
http://technet.microsoft.com/en-us/sharepoint/ee263917.aspx


Hands on courses to upskill fast:
3grow combined Knowledge SharePoint 2007 Administrator course taught by your's truly
http://training.3grow.co.nz/nz/courses/1-sharepoint-2007-administrator-track

Microsoft 10174 SharePoint 2010 Administration taught by your's truly:
https://www.auldhouse.co.nz/content/202FCFB2-2BC9-4462-B795-E3E21A2E24BD.html?course=COUR2010070714285507145570

Microsoft 50047 SharePoint 2007 Advanced Administration:
https://www.auldhouse.co.nz/content/202FCFB2-2BC9-4462-B795-E3E21A2E24BD.html?course=COUR2009050111225107640409

More good resources on passing this exam collected by Matt Menezes:
https://spmatt.wordpress.com/2013/02/28/how-i-passed-70-668/#comment-450

Thursday, September 30, 2010

SharePoint 2010 limits

I love Microsoft. No where can you expect a definitive answer.

The one article will tell you that the acceptable limit for site collections per web application is 500'000 (http://technet.microsoft.com/en-us/library/ff758647.aspx) and the next article in the same series will tell you it is 250'000 (http://technet.microsoft.com/en-us/library/cc262787.aspx)

Best of all, they both use the same wording!

"An example of a supported limit is the number of site collections per Web application. The supported limit is 500,000, which is the largest number of site collections per Web application that met performance benchmarks during testing. "

vs

"An example of a supported limit is the number of site collections per Web application. The supported limit is 250,000, which is the largest number of site collections per Web application that met performance benchmarks during testing."

In the end these limits are based on benchmark testing. I.e. when the performance of the farm starts falling below an acceptable level. It is not saying that the farm is running at top speed with 249999 site collections and then drops off. No, it is a curve. So imagine the performance curve starting high at 100%, dropping to 95% at 100'000, dropping to 90% at 250'000 and dropping to 80% at 500'000. The key question is, what is an acceptable level of performance. Looks like the author either changed his mind from one article to another, or two authors differed. In the end both are right, I guess. Because only you can define for yourself what acceptable performance is.

And don't forget, these benchmarks are tested in isolation. so when you store tens of thousands of 50MB documents in a document library hundreds of times per site and thousands of times per site collection, the 500'000 benchmark will never hold up. 50 would sound more realistic.

How to Pass 70-667

So you wanna become SharePoint certified? At least now, with SharePoint 2010, we have the MCITP SharePoint Administrator and SharePoint Developer accreditations.

70-667 is the first of two exams to achieve your MCITP SharePoint 2010 Administrator certification
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-667

And although I can't tell you what the questions will be, let me assure you, they are not trick questions.
I'd say about half of the questions are relevant to 2007 and 2010 alike, some are 2010 specific and others are there to catch you out where something has changed from 2007 to 2010.

The best way of making sure you pass any Microsoft exam on the first go is to use practice tests. Measureup and selftest provide some really good ones for all things techie. Sadly, none of them have gotten round to publishing SharePoint 2010 mock exams yet.

The best way of making sure you fully understand the material is sitting a Microsoft course:  10174 Configuring and Administering Microsoft SharePoint Server 2010
This course contains all the stuff you need to know to feel confident about installing, configuring and running a SharePoint farm. Although officially Microsoft Courses and the exams are not directly related, there are strong overlaps of the material being taught and the questions being asked.

And here is the best news of all! I'm down to teach 10174 at Auldhouse in Wellington the week of 18/10/10.
https://www.auldhouse.co.nz/content/5f8ac4c7-9c13-4a6f-8d51-30762e93882b.html?loc=Wellington
So sign up now to get one step closer to your SharePoint 2010 certificate. I'll even dish out some tips during the course on how to tackle certain types of questions in the exam.

SharePoint 2010 to CAS or not to CAS

Came across a statement by MS which got me thinking

"Untrusted solutions – Deploying custom code in bin folders can cause slow server performance. Every time a page containing untrusted code is requested, SharePoint Server 2010 must perform security checks before the page can be loaded.Unless there is a specific reason to deploy untrusted code, you should install custom assemblies in the GAC to avoid unnecessary security checking."

http://technet.microsoft.com/en-us/library/ff758647.aspx

So now GAC is good and CAS is bad?

Ok folks, let's all stop adhering to a least priviledge concept and start giving our code full trust every time we deploy something. Because if we don't, we'll slow down SharePoint.

I don't think so!

Although I understand the implications of having to check security of the code when Code Access Security Policies are involved, is the overhead of checking the policy when the assembly is loaded really that high? So far I have found no evidence of this causing a noticeable performance degradation other than in theory.

But hey, we have Sandboxed solutions now! So no need for CAS?
Although Sandboxed solutions take away a lot of headache from Server Administrators that previously had to chase down developers to find out why their server just crashed, they are not the golden bullet to all security issues. The question still remains, how much do you trust the code to do what it is supposed to do and not expose loopholes for others to exploit? Especially when installing third party features I personally would think twice about putting the dlls into the GAC of my production machines.

Sadly enough, there are loads of scenarios where you have no other choice but to run the code in the GAC and thus I am very grateful for the Sandbox, where I can run the code in a controlled environment before letting it loose on the whole farm.

For those of you who actually want to know how CAS works in practice, check out this little gem. It is based on .NET 1.1, but is still relevant today.
http://msdn.microsoft.com/en-us/library/ff648663.aspx

oh, and in .NET 4.0 some things have changed in regards to CAS, especially when calling GAC assemblies from partially trusted dlls. check it out here:
http://msdn.microsoft.com/en-us/library/dd984947.aspx

Saturday, May 15, 2010

Send To Email with Attachment

Sending emails with a Sharepoint document as an attachment is a commonly asked for feature in Sharepoint.
Although the mailto: link used to work with the attachment parameter, this has not been supported by Outlook for a long time. Why? because it would be too easy to attach viruses to emails that way. Outlook would have to download a file from the internet and add it to the message. The chance of malicious code injecting into the process is too risky as well as the chance to send infected files to friends and colleagues.

So what is the solution?

If you wish to extend the send to menu in SharePoint, you can create a feature with a custom action to add another link to the ECM (Context Menu) which opens up a custom application page which then allows the user to enter receiver, subject and body. The server then could send the email directly via the configured SMTP server.

But beware!
This should only be done in an intranet scenario where the sending user has been authenticated. Otherwise it could be abused for spamming purposes too easily

Saturday, May 1, 2010

SharePoint Memory Leak

Todd Carter has posted a great article on a nasty little memory leak in SharePoint which has the potential to blow into a huge memory consumption beast for servers which have a lot of traffic and long uptime.
http://todd-carter.com/post/2010/02/08/SharePointe28099s-Sasquatch-Memory-Leak.aspx
In his article he highlights a problem with the HttpApplicatinoException handling of Sharepoint and also posts a very simple and effective solution where he ensures the applicationdomain is treated like a singleton and circumvents tens of thousands of unneeded objects in memory.
Sasquatch-Memory Leak

Monday, March 22, 2010

Adding Rich Text from SharePoint to an Infopath Form

Problem Scenario:
You are trying to add the value from a Rich Text field from SharePoint to an Infopath form. This is a common scenario when trying to create custom Workflows in Visual Studio with Infopath Form support.

Symptoms:
Your Rich Text does not appear in the infopath form. Any text which is not marked up does not appear. Text outside of tags does appear.

Solution:
After some digging I figured that InfoPath requires the xhtml Namespace to be present for any data within a Rich Text field. After a lot of digging into XmlParsers, XMLNameSpaceManagers, XmlNameTables and the likes I found a very simple solution.
When passing the value over to the ExentedProperty in your Workflow, wrap the string with a div tag that has the xmlns='http://www.w3.org/1999/xhtml' attribute on it.

string htmlText = "<div xmlns='http://www.w3.org/1999/xhtml'>"
+ workflowProperties.Item.Title
+ "<br/>"
+ workflowProperties.Item["Body"]
+ "</div>";

TaskProperties.ExtendedProperties["Instructions"] = htmlText ;

Just one thing missing now. Infopath translates your valid xhtml and shows the actual tags. To solve this problem you will need to add some parsing to the load method of the form. Yes, that means that you will need to deploy some code with the form. But it's no biggie. Promise.
A fellow blogger has a great post on how to stop Infopath escaping the html
http://www.chrisbuchanan.ca/Blog/Lists/Posts/Post.aspx?ID=1


UPDATE!
So I thought I nailed it! Well, as long as you do not attempt to open that infopath form using infopath! As that will throw a security exception due to the underlying code. But hey! It's on the server you might say. Being hosted by Infopath Forms Server. Nobody would wanna open it in infopath anyway. Ha. Outlook 2007 does! So when your Outlook 2007 users hit the Edit this Task button, instead of getting a nice RichtText experience, they get a security error complaining about a missing digital signature.

Sorry folks. Back to the basics on this one. I'll just strip out all HTML before passing it to Infopath using Regular expressions. A nice one to achieve this is
string stripped = Regex.Replace(textBox1.Text,@"<(.|\n)*?>",string.Empty);

(found via weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx

Friday, June 5, 2009

Bye Bye Groove, Hello SharePoint Workspaces

In the past many people have asked me what this Groove thing is about. Looks like a miniature version of SharePoint I was told by some. Others called it the Briefcase on Steroids. Most people who were implementing SharePoint though called it surperflous. And they had a point!
With a good Information Architecture and Enterprise Content Management Strategy babsed on SharePoint a tool such as Groove should not be required. Especially as it was not SharePoint compatible and mimicking a file sharing application more than a collaboration tool.
I'm not saying that Groove was a bad idea. Having a desktop tool which makes working on shared documents easier and more intuitive without the need to use a web interface for access is a great idea. That's why making Groove SharePoint savvy and making it more like a SharePoint Workspace tool makes even more sense.

Still in its infant stages, but there is now a new blog for the new project
http://blogs.msdn.com/sharepoint_workspace_development_team/
A good place to keep tabs on to see what kind of SharePoint Integration is coming in the next version of Office and how the bridge between SharePoint ECM and productivity applications is becoming stronger and more seamless.