Archive for March, 2010
SP 2010: Site Collection Keep-Alive Job now available by AC
March 29th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Introduction
Normally I don’t make link-posts like this one, but it is too good to miss out on. My main man and friend Andrew Connell (AC) have created a new utility for SharePoint 2010 which is essentially a "warmup" job for your Site Collecions.
This job is easy to configure and will keep your demos, presentations and dev-machines fresh all the time by making repeated HTTP requests on the sites.
Awesomeness, AC. Good work!
Get the info, get the goods – SharePoint Site Collection Keep Alive Job
Head on over to http://www.andrewconnell.com/blog/archive/2010/03/27/introducing-the-sharepoint-site-collection-keep-alive-job.aspx to get the latest details and download this fantastic keep-alive job.
Enjoy this piece of awesomeness from AC.
Cheers
- Posted in Technical
- No Comments
- Tags: SharePoint, SharePoint 2010
SP 2010: Certification exam details for SharePoint 2010 published
March 28th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Introduction
Microsoft has published the two developer-oriented certifications for SharePoint 2010 on Microsoft Learning.
Personally, I think there is a huge improvement now as we’re not only getting the MCTS-credit but can now also become an MCPD (Microsoft Certified Professional Developer) on the SharePoint platform. Something I’ve been waiting for a long time
SharePoint 2010 exams
For us developers/solution architects there are two certifications of interest (of course you should do the IT-pro tracks as well, but let’s start here with the developer ones):
- 70-573: TS: Microsoft SharePoint 2010, Application Development
- 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications
SharePoint 2007 Exams
Way back in 2007 I wrote about passing all 4 certifications for SharePoint 2007 (link here). For SharePoint 2007 there is four certifications for the 2007 product-line:
- 70-541 – TS: Microsoft Windows SharePoint Services 3.0 – Application Development
- 70-542 – TS: Microsoft Office SharePoint Server 2007 – Application Development
- 70-630 – TS: Microsoft Office SharePoint Server 2007, Configuring
- 70-631 – TS: Microsoft Windows SharePoint Services 3.0, Configuring
Summary
So, keep an eye out on those two new certifications and be well prepared when they arrive – should be a fun ride
- Posted in Technical
- 3 Comments
- Tags: Certification, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Validate Sandboxed Solutions using SPSolutionValidator
March 20th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Introduction
If you’ve been playing around with SharePoint 2010 lately, you’ve most likely noticed a new concept introduced as "Sandbox Solutions".
With sandboxed solutions (read more about them here: http://msdn.microsoft.com/en-us/library/ee536577(office.14).aspx) comes the possibility to scope your solutions to Site Collection (into the new Solution gallery).
A question I often get is how you can validate those solutions automatically, and therefore I’ll lay out the basic principles of creating a Sandbox Solution Validator which now is part of the SharePoint object model.
What will happen?
If you have a custom Solution Validator hooked up with your farm, a custom error page will be displayed, and the solution will not be activated.
If you try to activate the solution:
Our custom Solution Validator kicks in and in this case disallows the solution and displays the following custom error page:
So, let’s get down to business!
Building a Solution Validator
What we need:
- A Solution Validator
- A feature to install/uninstall the validator in our Farm
1. Let’s begin by creating our custom Solution Validator class
Essentially this is just a simple class, inheriting from SPSolutionValidator which gives us some methods we can override. Check this example out:
using System.Runtime.InteropServices;
using Microsoft.SharePoint.UserCode;
using Microsoft.SharePoint.Administration; namespaceZimmergren._2010.SolutionValidation
{
[Guid("29e3702d-5d8c-45ad-b1aa-a2087b9e8585")]
public class ZimmergrenSolutionValidator : SPSolutionValidator
{
private const string myAwesomeValidator = "ZimmergrenSolutionValidator";
// Not used, but needed for deployment and compilation
public ZimmergrenSolutionValidator(){}public ZimmergrenSolutionValidator(SPUserCodeService sandboxService) :
base(myAwesomeValidator, sandboxService)
{
// Use this to define a unique identification number
// You may need this when updating/modifying the validator
Signature = 666;
}public override void ValidateSolution(SPSolutionValidationProperties properties)
{
base.ValidateSolution(properties);// Set to false if you want invalidate the solution
// Set to true (default) if you want to validate
properties.Valid = false; // Being evil and invalidates all solutions for test!// Then specify an errorpage to display
// Tip: Create a nice application page for this..
properties.ValidationErrorUrl =
"/_layouts/Zimmergren.2010.SolutionValidation/InvalidSolution.aspx";
}
}
}
In my sample I used an override of the ValidateSolution method and invalidated the solution to show you that it actually works.
The two most suitable methods for overriding are:
2. We need to make easy installable (Read: Feature)
In order for our awesome solution validator (which in this case is very slim and don’t really do any real validation, rather invalidates all solutions) – we need to let the SPUserCode service (Sandboxed Solution Service in layman terms) know that we want to hook it up.
This can easily be done using a Farm feature, using PowerShell or just plain’ol Object Model code in any application.
My approach is of course to make it as easy as possible for the end-user and administrator, so I’ll create a Farm Feature with the following snippets of code:
[Guid("d0d086ec-2bef-45e8-be8b-a67895c1bd3b")]
public class ZimmergrenSolutionValidatorEventReceiver : SPFeatureReceiver
{
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPUserCodeService sandboxService = SPUserCodeService.Local;
SPSolutionValidator zimmerValidator =
new ZimmergrenSolutionValidator(sandboxService);
sandboxService.SolutionValidators.Add(zimmerValidator);
}public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPUserCodeService sandboxService = SPUserCodeService.Local;
Guid zimmerValidatorId =
sandboxService.SolutionValidators["ZimmergrenSolutionValidator"].Id;
sandboxService.SolutionValidators.Remove(zimmerValidatorId);
}
}
Summary and reflections
If you want to create some kind of check to automatically validate solution that are uploaded by end-users in their Solution Galleries, this is the way to do it.
Solution validators are very easy to write, and they can be installed using a few different approaches. My take is to create a farm feature, while you could still do it using powershell or in any way you want through the object model.
Good resources on Sandboxed Solutions:
Enjoy!
- Posted in Technical
- 4 Comments
- Tags: Sandbox, SharePoint, SharePoint 2010, SPSolutionValidator
SP 2010: Dynamically displaying messages to your users with the Notification and Status bar areas in SharePoint 2010
March 17th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Introduction
With the new version of SharePoint comes a full set of new and awesome features that you’ll have to indulge and learn. One of the small things that makes my day much more fun is to display messages to your users in the Status- and Notification areas.
Example of a message in the Status bar area:
Example of a message in the Notification area:
How do we make this magic happen?
In order to display these messages, you really (really) don’t need a lot of code. I’ll lay out the simple code I used to display the messages you saw in my screenshots.
It’s all JavaScript based, so get ready to dig out those old JS skills you know you’ve got lying around somewhere
Oh wait, you don’t need skills to do this, it’s just that easy!
Show me a Status bar!
JavaScript:
function ShowStatusBarMessage(title, message)
{
var statusId = SP.UI.Status.addStatus(title, message, true);
SP.UI.Status.setStatusPriColor(statusId, ‘yellow’); /* Set a status-color */
}HTML, call the JS method:
<a onclick="ShowStatusBarMessage(‘Title’!',’Awesome message!’)">
Display Status Bar message!
</a>
Show me a Notification popup!
JavaScript:
function ShowNotificationMessage(tooltip, message, sticky)
{
SP.UI.Notify.addNotification(message, sticky, tooltip, null);
}HTML, call the JS method:
<a onclick="ShowNotificationMessage(‘I am cool!’,'This is a cool message’,false)">
Display Notification!
</a>
Summary
Actually, there’s no need for a summary. It’s way too easy.
Enjoy!
- Posted in Technical
- 6 Comments
- Tags: SharePoint, SharePoint 2010, SPF, SPS, UI
You will find me at these coming SharePoint events in the near future!
March 17th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Introduction
Some of my friends, students, clients and fellow Sweden SharePoint User Group members have been asking when and where I will show up for some interesting discussions in Q1/Q2 this year. So I thought I’d lay it out simple and easy, with focus on the big things happening in the coming few months!
Sweden: Sweden SharePoint User Group
As usual you will find me at our awesome Sweden SharePoint User Group meetings. I have a plan to put some of these meetings in Göteborg and Malmö during Q2/Q3 as well, if there is an explicit interest in doing so. Let me know by emailing me (tobias (boink) zimmergren.net) and we’ll get something sorted in Göteborg and Malmö.
Sweden: TechDays 2010, Örebro
I will be representing the Sweden SharePoint User Group at TechDays Sweden in Örebro. Come meet me there to discuss opportunities, events and beer – all things related to SharePoint.
I will also be throwing 100 t-shirts at people who walk by – so make sure you pop over before they run out!
Link to event: http://www.microsoft.com/sverige/techdays/
England: SharePoint Evolution Conference 2010, London
I will be attending and running around at the SharePoint Evolution Conference in London in mid-april. Meet me and a lot of other awesome SharePoint folks to discuss anything related to SharePoint, beer or golf.
Link to event: http://www.sharepointevolutionconference.com
New Zealand: SharePoint Community Conference 2010
I will be speaking at the New Zealand SharePoint Conference in June this year, so if you are in the neighborhood – pop by New Zealand and say hi
[This section will be updated as more details become available]
Australia: SharePoint Community Conference 2010
I will be speaking at the Australia SharePoint Conference in June this year, so if you are in the neighborhood – pop by Australia and say hi
[This section will be updated as more details become available]
Summary
These are just a few of the most awesome things I’ll be doing this first half of 2010. There’s a whole bunch of other cool things going on, but these are the main public events going down – so don’t hesitate to pop me an e-mail if you’re going to attend any of them and we’ll grab a few beers!
- Posted in Misc
- No Comments
- Tags: Conference, SharePoint, SSUG
This is my current development rig
March 15th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | www.tozit.com | @zimmergren
Introduction
A lot of my clients, students and SharePoint friends have been asking me about details on my latest development rig – so here you go, a full disclosure of the machine and it’s peripherals that I’m currently using for my primary SP 2010 development.
Notes: I’ve been running with HP for my laptops the last couple of years – and all I can say is that they’re amazingly stable and versatile and my next laptop will probably be HP as well!
Hardware configuration
In this section I’ll talk about the hardware configuration of my development rig, along with the peripherals I use on a daily basis to make my SharePoint and .NET world rock!
Laptop details
Learn more about the actual laptop models:
HP Compaq EliteBook 8530w (Mobile Workstation, EliteBook)
Accessories
I use this docking station on a daily basis to enable quick docking of my laptop at home and at the office. Definitely worth the cash!
CPU
Intel(R) Core(TM)2 Duo CPU, T9400 @ 2.53GHz
RAM memory
8 GB 800 MHz DDR2 SDRAM
Disks
For my internal disks (that is, not external) I’m using two of these:
Corsair 128 GB Performance Series Internal Solid State Drive (SSD)
For my external disks, I’m using the following:
+ 500GB eSATA 7200rpm disks connectable to the eSATA port on the laptop, for storage
Software configuration
This is my current software configuration (related to my daily-basis work):
- Windows 7 Ultimate
- VMWare Workstation 7
- Office 2010 (Beta)
Summary
To sum it up really quick – I’m using a normal EliteBook laptop.
I’ve simply replaced the optical (DVD/CD) drive with a second SSD disk. This makes for a super-fast experience in your computer no matter if you’re doing things virtually in VMWare or if you’re doing it on the host operating system, as I’m placing my VM’s on the secondary drive.
It’s definitely worth spending a few extra bucks on those SSD drives, I would do it without a blink of an eye.
Since there isn’t any alternative for running a client-based virtualization engine in 64-bit from Microsoft, I’ll stick with VMWare Workstation for now – which has done the job very (very!) well!
Sidenote: I’m looking at the HP Envy for an upgrade to a newer model later. Support for +16GB RAM is going to have a huge impact on my decision for my next laptop.
- Posted in Misc
- No Comments
- Tags: Blogging, Hardware





