SharePoint Development Blog

Nick Boumans
View my LinkedIn Profile Follow me on Twitter View my Profile on FaceBook View my projects on CodePlex View my presentations on SlideShare



Recent posts

Tags

Categories

Navigation

Pages

Archive

Blogroll

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

New Ferrari Site is build in MOSS 2007

The Formule 1 season started last Sunday with the GP of Australia. Both Formule 1 drivers of Ferrari (Massa and Raikkonen) didn't passed the race Frown

Today I read on the site of Muhanad Omar that the new Ferrari site is based on MOSS 2007. You can read his article here: http://geeksconnected.com/muhanad/Lists/Posts/Post.aspx?ID=90

 

Posted: Mar 31 2009, 16:10 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Upgrade SQL Express to Standard or Enterprise

"Microsoft so very graciously provides a free version of SQL 2005, SQL Express, with MOSS. If you install MOSS using the Basic option or Single Server under Advanced you get SQL Express automatically. So what if as a budding newbie SharePoint admin you chose the Basic option, but now as a wise aged SharePoint admin you've seen the error of your ways and want to use a more respectable version of SQL for your SharePoint backend?"

 Todd Klindt made a post to upgrade SQL Express: http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=55

 


If you want to upgrade SQL Server 2005 express to SQL server 2008 Enterprise (or higher then express) you have first upgrade SQL Server 2005 Express to SQL server 2008 Express. You can use the following commands:

//First extract the contents of the SQL Express download into a directory.

en_sql_server_2008_express_with_advanced_services_x86 /EXTRACT

//Install Windows Installer 4.5 and Windows Powershell.

//Then remove SQL Tools 2005

msiexec /quiet /Uninstall {58D379F7-62BC-4748-8237-FE071ECE797C}

//Remove Management Studio

msiexec /quiet /Uninstall {20608BFA-6068-48FE-A410-400F2A124c27}

Make sure you activated the powershell feature in Windows 2008 enterprise (in earlier versions you have to download powershell): Administrative Tools --> Server Manager --> Features

Posted: Mar 26 2009, 13:26 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SQL Server

Installing a MOSS 2007 VPC Local Development Environment on Windows 2008 Server Enterprise

Installing Operation System
1) Download and Install Microsoft VPC 2007 SP1
   http://www.microsoft.com/downloads/details.aspx?FamilyID=28C97D22-6EB8-4A09-A7F7-F6C7A1F000B5&displaylang=en
   (Service Pack Update for Virtual PC 2007 qualifying Windows Server 2008, Vista SP1 and XP SP3).
2) Start Virtual PC Console and choose new
3) A New Virtual Machine Wizard starts
   - Choose create a virtual machine
   - Give it a name and location
   - Create a new virtual harddisk
   - Optional you can increase the RAM memory of the VPC
   Note: For the best performance choose installation on an external harddrive (Best a 7200 RPM drive, mostly with external power wich are faster than the small 2,5 inch laptop drives without external power supply)
4) Try to boot your Virtual PC (of course it will not because it is empty)
5) Select CD-> Capture ISO image
6) Mount your Windows Server 2008 Enterprise ISO
7) Follow the installation Wizard and install the Window Server 2008 Enterprise Operation System

Configuring Operation System
1) Windows needs to reset the Administrator password at the first boot
2) The Initial Configuration Tasks screen starts at the startup
3) Add a server role --> Web Server (IIS)
4) Add the requirend features (proces activation service, process model and configuration APIs)
5) Add the Application Development Role services
6) Also add the features required for Application Development (.NET environment)
7) Follow the wizard and finish the Add Roles Wizard
8) Close the wizard

Give your VPC Network Access
1) Select Edit -> Settings -> Networking
2) Select your network adapter

Install or update Virtual Machine additions
1) Select Action -> Install or Update Virtual Machine Additions
2) Follow the Setup instructions

Update your Windows Server 2008 Image
1) Start -> Windows Update

Note: you can install a specific version of SQL-server. This is not necessary since a version of SQL Server 2005 Express is shipped into the slip streamed version of ffice SharePoint Server 2007 Standard and Enterprise Editions with Service Pack 1. You can later do an upgrade to standard or enterprise edition of SQL Server. For more information about upgrading SQL Server Express please visit: http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=55

Installing Office SharePoint Server 2007 Standard and Enterprise Editions with Service Pack 1 (Slipstream)
1) Mount your image of Office SharePoint Server 2007 Standard and Enterprise Editions with Service Pack 1 (slipstream)
2) Select: Basic - Install single server standalone using default settings
3) Run the SharePoint Products and Technologies Configuration Wizard
4) Install the Microsoft Office SharePoint Server 2007 SP1 with December 2008 Cumulative Updates
   - December Cumulative Update for Windows SharePoint Services 3.0
   http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=960010&kbln=en-us
   - December Cumulative Update for Microsoft Office Servers
   http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=960011&kbln=en-us

Final steps: Microsoft Office 2007 and Visual Studio 2008
1) Install Microsoft Office 2007 Enterprise
2) Install your favourite version of Visual Studio 2008 (Professional, Team system etc.)
3) Install Microsoft SharePoint Designer 2007 and other programs IEDevToolbar, Infopath 2007 etc

Happy Developing

Posted: Mar 26 2009, 11:34 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: OS | SharePoint General

Microsoft SharePoint Products and Technologies Protocol Documentation

"The Microsoft SharePoint Products and Technologies protocol documentation provides detailed technical specifications for Microsoft proprietary protocols (including extensions to industry-standard or other published protocols) that are implemented and used in SharePoint Products and Technologies to interoperate or communicate with Microsoft products.

The documentation includes a set of companion overview and reference documents that supplement the technical specifications with conceptual background, overviews of inter-protocol relationships and interactions, and technical reference information."
Posted: Mar 25 2009, 16:56 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Tutorial RFID to SharePoint part 1

Phidget USB RFID Reader Kit

There are several RFID-Readers/Writers on the market. One of this is the Phidget USB-RFID-Reader Kit. After downloading several libraries we can “talk” to this USB-RFID-Reader using .NET code. Because this kit, contains a USB RFID-Reader and several RFID-tags, relative cheap and the posibility of using .NET-code, this kit is really good for this proof of concept. I buyed it on TrossenRobotics. You can get the API on Phidgets. Of course you can use another RFID-Reader. I like the use of the .NET code by this Phidgets products. In this tutorial I will use the code for the Phidget USB-RFID-Reader Kit. I will also try to make the code more general for other readers by using more general code snippets like interfaces.

Make a connection with the RFID Reader

Before we can make a connection from Visual Studio (2005/2008) we have to add the Phidget21.NET.dll, which is downloadable from Phidgets.com. After downloading we have to add a reference to this dll in our project. To show data on the screen we will use a Windows Form Application. (Note: in a real world scenario we don’t make a Windows Form Application on a server, but for Proof of Concept purposes, this will be a good idea).
After adding a reference to the Phidget21.NET.dll and the namespacing (using Phidgets;) we have acces to e.g. the RFID class.


Note: if you use another RFID Reader you have to read the manual and dive into the API (=Application Programmer Interface).

private RFID rfid;

public MainForm()
{
  InitializeComponent();
}

private void MainForm_Load(object sender, EventArgs e)
{
  // Label containing tag number (if available)
  lblTagNumber.Text = "not available";

  // The RFID class represents a Phidget RFID Reader. All methods to read tags and set outputs on // the RFID reader are implemented in this class.
  rfid = new RFID();
 
  // Some EventHandlers in the RFID Class
  rfid.Attach  += new AttachEventHandler(rfid_Attach);
  rfid.Detach  += new DetachEventHandler(rfid_Detach);

  rfid.Tag     += new TagEventHandler(rfid_Tag);
  rfid.TagLost += new TagEventHandler(rfid_TagLost);

  // Open a Phidget without a serial number
  rfid.open();
}

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
  rfid.Attach  -= new AttachEventHandler(rfid_Attach);
  rfid.Detach  -= new DetachEventHandler(rfid_Detach);           

  rfid.Tag     -= new TagEventHandler(rfid_Tag);
  rfid.TagLost -= new TagEventHandler(rfid_TagLost);

  rfid.close();

  rfid = null;
}

void rfid_Attach(object sender, AttachEventArgs e)
{
  lblTagNumber.Text = "not available";
  // True turns the antenna on, False turns it off. The antenna if by default turned off, and
  // needs to be explicitely activated before tags can be read. Control over the antenna allows // multiple readers to be used in close proximity, as multiple readers will interfere with each // other if their antenna's are activated simultaneously.
  rfid.Antenna = true;
  // True turns the LED on, False turns it off. The LED is by default turned off.
  rfid.LED = true;
}

void rfid_Detach(object sender, DetachEventArgs e)
{
  lblTagNumber.Text = "not available";
  rfid.Antenna = false;
  rfid.LED = false;
}

[/code]

 

To make it possible to validate or a tag is known in the system (and we have to gain access to the system or door) we first have to read the RFID-Tag. This could be done by using the “Tag” and “TagLost” event of the RFID-class.  The “Tag-event” will be fired if a tag is in the zone of the reader. Of course it is a requirement that the RFID-reader is turned on and connected (“attached”). If a tag went out of the zone from te reader (after the Tag event is fired), the “TagLost-event” will be fired. The next code is an example implementation of the events.

[code:c#]
// The Tag Gained Event Handler delegate
void rfid_Tag(object sender, TagEventArgs e)
{
  lblTagNumber.Text = e.Tag;
  rfid.LED = true;
}

// The Tag Lost Event Handler delegate.
void rfid_TagLost(object sender, TagEventArgs e)
{
  lblTagNumber.Text = "not available";
  rfid.LED = false;           
}
[/code]

Using interfaces to make our code more general (reusable)

"Interfaces, also known as contracts, define a common set of members that all classes that implement the interface must provide.
You can create your own interfaces. This is useful if you need to create multiple custom classes that behave similarly and can be used interchangeably.

To make some code more general we can make an interface IRFID. All specific classes (all specific RFID readers) will implement this interface.

[code:c#]
public interface IRFID
{
  event EventHandler RFIDAttach
  event EventHandler RFIDDetach
  event EventHandler RFIDTag
  event EventHandler RFIDTagLost
}

[/code]

 

In the next tutorial we will validate the data in SharePoint (the use of SharePoint and RFID integration). Hope you read it too!

Posted: Mar 25 2009, 12:07 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Launching Tutorial RFID to SharePoint part 0

In the next weeks I will post a couple of tutorials how you can integrate RFID with SharePoint. Radio-frequency identification (RFID) is the use of an object (typically referred to as an RFID tag) applied to or incorporated into a product, animal, or person for the purpose of identification and tracking using radio waves. In the Netherlands RFID has come often into the news since this technique is used in the OV - ChipCard (OV = Public Transport in the Netherlands). Some hackers hack the OV chip-card before it was introduced. The idea of the OV-chipcard (smartcard with RFID tag) is quite easy. You can put money on the card by charging it. After that you can use it for public transport (train, metro etc.).

In this tutorials I will explain the use of a RFID smartcard for an access system. E.g. you have a company batch, if you want to open a door you have to hold the batch against the door. The data on the batch will be validated with data in SharePoint. If validation succeeds, the door will be open, if it fails you have to wait outside Laughing 

To give you an expression about the concept I will discuss in the next couple of weeks (and tutorials) you can look to the next picture:

 

In the first Tutorial I will start explaining: How to Make a connection witch the RFID Kit.

Hope you will follow and enjoy my tutorials!

Go to: Tutorial RFID to SharePoint Part 1

Posted: Mar 24 2009, 16:06 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Ten Themes for SharePoint in VSeWSS Projects

Microsoft released a set of ten Visual Studio 2008 extensions for SharePoint projects containing designed themes for SharePoint.

You can download them here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0a87658f-20b8-4dcc-ad7a-09ad22641f3a

Update 21-3-2009:

Daniel Brown has a downloadable package on his website to install a single wsp (with each theme as a feature). You can download it from: http://www.danielbrown.id.au/Lists/Posts/Post.aspx?ID=256 

Posted: Mar 19 2009, 18:00 by Nick Boumans | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Skype presence integration into SharePoint

Some people started working on Skype integration into SharePoint. The first thing they released and you can download and test it today, is the Skype status field. It allows you to store the account name in the field, and it's rendered as the nice status (green / grey) picture in the list and item view.
Also, clicking on the icon will bring you the chat window to that person if you have Skype installed locally.

You can download the project from CodePlex: http://skypestatusfield.codeplex.com/

Posted: Mar 06 2009, 16:30 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General

Windows 7 Resources

Windows 7 (formerly codenamed Blackcomb and Vienna) is the next release of Microsoft Windows. Microsoft stated in 2007 they were planning Windows 7 development for a three-year time frame starting after the release of its predecessor, Windows Vista. Microsoft has stated that the final release date would be determined by product quality.

Unlike its predecessor, Windows 7 is intended to be an incremental upgrade from Vista, with the goal of being fully compatible with device drivers, applications, and hardware with which Windows Vista is already compatible.

Recources:
Windows 7 Blog
Windows 7 Preview Video
Product Keys
Windows Optimized Desktop Roadmap
Windows 7 Forum
Posted: Mar 05 2009, 18:00 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: OS

Requesting SharePoint User Profiles by Code

Often you have to get the SharePoint User Profiles by Code (e.g. for using the SP User Profile Properties in a WebPart). You can do this by using the next code (remember the use of a delegate, Elevated privileges, as not everyone can call another user's profile):

[code:c#]
using System.Web;
using Microsoft.SharePoint;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.Office.Server;

SPSecurity.RunWithElevatedPrivileges(delegate()
  {
    using (SPSite siteCollection = new SPSite("http://www.sharepointdevelopment.nl"))
      {
        using (SPWeb site = siteCollection .OpenWeb())
        {
          ServerContext context = ServerContext.GetContext(site.Site);
          UserProfileManager userProfileManager = new UserProfileManager(context);

          UserProfile profile = userProfileManager.GetUserProfile("accoutName");
        }
      }
  });
[/code]

Posted: Mar 03 2009, 15:33 by Nick Boumans | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: SharePoint General