Sunday, November 1, 2009

Solve SharePoint Performance Problems in SQL Server

Most poorly performing SharePoint sites are caused by underlying SQL server configuration, or lack there off, settings.
One of the big impacts of using SharePoint Central Admin to create content databases is that they will be based on the Model DB template.
This results in the following:
Data File = 10Mb with auto grow = 1Mb
Log File = 1Mg with auto grow = 10%
This means that almost every time a user saves an office document, SQL will have to "auto grow" the database files and there is an overhead to this operation. The SQL Disk Usage report will give you an indication of this impact on existing content databases that started with the default size.


This is a relatively small content database but has already been extended many hundreds of times with 45ms per second in this case.
Extending the Database (data and log files) manually to a size that would provide for 6/12 months projected storage requirements results in a noticeable improvement in end user response times not only for saving documents but in overall responsiveness of all sites in the database.
There is much more to designing a good SQL platform for SharePoint, this is just some evidence in case you didn't believe it...

New SharePoint 2010 content for download

SharePoint 2010: Developer Platform White Paper

This white paper provides an overview of the SharePoint 2010 Developer Platform for ASP.NET developers.

SharePoint 2010: SharePoint Developer Platform Wall Poster

The SharePoint 2010 Developer Platform wall poster (PDF format) shows a view of the SharePoint 2010 developer tools, community ecosystem, execution environment, Sharepoint Server 2010 workloads, and target application types. The poster is intended to be printed at 24 inches x 36 inches (61 centimeters x 91 centimeters).

SharePoint 2010: Getting Started with Development on SharePoint 2010: Hands on Labs in C# and Visual Basic

Use these 10 hands-on lab manuals for SharePoint 2010 to get started learning SharePoint 2010 development.

SharePoint 2010: Developer and IT Professional Learning This document provides information to help developers and IT professionals learn Microsoft SharePoint 2010.

SharePoint 2010: Professional Developer Evaluation Guide and Walkthroughs

The SharePoint 2010 developer evaluation guide describes the SharePoint 2010 developer platform, including walkthroughs of some of the new capabilities for developers.

Enterprise Search Planning for SharePoint Server 2010

This model describes primary architecture design decisions for search environments.

Design Search for SharePoint Server This model describes the steps to determine a basic design for a SharePoint Server 2010 search architecture.

SharePoint Server 2010 Search Architecture


This model describes the physical and logical architecture components of the search system.

Getting started with BI in SharePoint Server 2010

Discusses the business intelligence tools available in SharePoint Server 2010

SharePoint Server 2010 Evaluation Guide

Introduction and overview of SharePoint Server 2010 for IT pros.

SharePoint Enterprise Search

Compares and contrasts search technologies in SharePoint 2010 Products

Topologies for SharePoint Server 2010

Describes common ways to build and scale farm topologies, including planning which servers to start services on.

Hosting Environments for SharePoint 2010 Products

Summarizes the support for hosting environments and illustrates common hosting architectures.

Services in SharePoint Products 2010


Describes and illustrates the services architecture, including and common ways to deploy services in your overall solution design.

Cross-farm Services in SharePoint 2010 Products

Illustrates how to deploy services across farms to provide centralized administration of services.

Business Connectivity Services poster

Microsoft Business Connectivity Services enable users to interact with external data by using SharePoint lists and Microsoft Office 2010.

Upgrade planning poster

Describes requirements and considerations for planning to upgrade to SharePoint Server 2010

Upgrading services poster

You need to give special consideration to the issues involved when you upgrade services from the previous version of SharePoint Server.

Upgrade testing poster

To help ensure a smooth transition to SharePoint Server 2010, perform a trial upgrade to find issues likely to surface during the actual process.

Upgrade approaches poster This model describes the three basic approaches to upgrading to SharePoint Server 2010: in-place, database attach, or a hybrid of the two.

Forefront Protection 2010 for SharePoint Beta 2 Microsoft Forefront Protection 2010 for SharePoint prevents users from uploading or downloading documents containing malware, out-policy content, or sensitive information to SharePoint libraries.

Microsoft Forefront Server Security 2010 Privacy Statement This document describes the privacy policy for Microsoft Forefront Security 2010 for Exchange and Microsoft Forefront Security 2010 for SharePoint.

Microsoft Online Services 2010 CTP Help Microsoft Online Services 2010 CTP Help is a small set of documents that provide basic "Get Started" information for the July 2009 Community Technology Preview of Microsoft Online Services 2010.

SharePoint Products and Technologies: 2010 (Technical Preview) Developer Documentation This download provides an early technical preview of the SharePoint Products and Technologies: 2010 developer documentation.

Monday, October 26, 2009

Book Review: Professional SharePoint Designer 2007

Finally, a book (and a great one in that) covering SharePoint Designer! I recently finished reading Professional Microsoft Office SharePoint Designer 2007, authored by MVPs Woodrow Windischman, Bryan Phillips, and Asif Rehmani. With Microsoft making SPD 2007 available as a free download, it’s important that users of the product understand how to use it properly.

The authors did an incredible job covering the aspects of SPD from multiple perspectives. I enjoyed how they even included sections on developing solutions with Visual Studio. It was apparent those sections were added with the intent on getting readers familiar with the various options and methods they have available for developing extended functionality outside SPD, so don’t be disappointed if you don’t feel it’s advanced enough – remember that this isn’t a core development book.

The one thing I loved the most about the book was the style of writing; the authors did a great job simplifying walking through the features of SPD without losing my attention. The level of detail and simplicity was balanced very well throughout the book. I learned a lot of things reading this book and I believe any user, no matter how good he/she is with SPD, can learn a new thing or two from reading this book as well.

SharePoint Designer 2007 is a tremendous and powerful software. With Microsoft making it available to download for free, users need to have a strong understanding of how to work with it, and more importantly, how to avoid running into problems with it.

Tip: How to delete the default Shared Services Provider (SSP)

Here’s a quick tip for anyone new at administrating MOSS 2007.

When attempting to delete the default SSP through Central Administration, the “Delete” option is grayed out. To work around this, run the below command using STSADM.

stsadm –o deletessp –deletedatabases -force
The “–deletedatabases” parameter is optional. The “–force” parameter is required when deleting the default SSP. It’s optional when deleting any other SSP, and is used to force the timer job to complete the deletion.

Sunday, October 4, 2009

Business Data Catalog in MOSS 2007

Overview
As per Microsoft, Business Data Catalog (BDC) is a “new business integration feature available in Microsoft Office Sharepoint Server 2007. It is a shared service and it enables MOSS 2007 to surface business data from back-end server applications without any coding.”
Why BDC?
All the data entered into the Sharepoint system gets stored in the content database of that particular Sharepoint application. So by default, a Sharepoint site will get information from its content database. But it is quite natural for an organization to have information stored in multiple databases by numerous applications throughout the organization. For example, inventory software stores its data in a database that is different from a CRM software storing data in a database. But people will find is extremely useful if provided with a space where they can have every bit of information from each and every department in the organization ranging from the up-to-minute logistics information to the up-to-date sales analysis. The BDC feature of Microsoft Office Sharepoint Server 2007 provides the needed business integration for integrating the line of business (LOB) applications with the Sharepoint.
What is BDC?
Business Data Catalog provides built in support for displaying data from two data sources.
· Databases
· Web Services
Microsoft promises a “no coding” approach for integrating LOB applications with Sharepoint. Business Data Catalog provides access to the data sources through a metadata model that provides a consistent and simplified client object model. So it is the metadata authors who describe the API of the business applications in xml. After this, the administrators will associate this metadata with the Sharepoint application after which the LOB data is available in the Sharepoint system.

Creating Lists using Sharepoint Object Model

before starting with the article first go through http://dotnetdreamer.com/2009/05/24/creating-sites-using-sharepoint-object-model/

Listed below are the Sharepoint site components and their corresponding object in the sharepoint object model.

Sharepoint Site Architecture Component Object in Sharepoint Object Model
Site Collection SPSite
Site SPWeb
List Collection SPListCollection
List SPList
List Field Collection SPFieldCollection
List Field SPField
List Item Collection SPListItemCollection
List Item SPListItem
Steps to create a new Sharepoint List:

Open Visual Studio. Create a new Windows Forms project.
Add a textboxes, one to accept the name of the site collection and another to accept the name of the new site to be created under the site collection.
Add a button that creates the new site.
Add reference to Microsoft.Sharepoint dll. This dll is represented by the name Windows Sharepoint Services in the Add Reference dialog box.
Add the namespace of Microsoft.Sharepoint dll like this.
using Microsoft.Sharepoint;
In the button click event, open the site collection.
SPSite siteCollection = new SPSite(txtSiteCollectionUrl.Text);
Now open the top level site of the site collection.
SPWeb site = siteCollection.OpenWeb();
If you want to open a different site under the site collection other than the top level site, you can use the overloaded methods of the OpenWeb() method that accepts the name of the site as argument.
The Lists property present in the SPWeb object will return all the lists that are present in that site as an SPListCollection object
SPListCollection listCollection = site.Lists;
In order to add a new list, use the add method of the SPListCollection object.
listCollection.Add(”listname”, “list description”, SPListTemplateType.GenericList);
Note that the third argument accepts the template in which the list should be created. GenericTemplate represents the custom list. We can choose the template we need from the SPListTemplateType enum.
Close and dispose and the site and site collection
site.dispose();
siteCollection.close();
The complete code can be found below..

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.SharePoint;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

SPSite siteCollection;
SPWeb site;

private void btnCreateSite_Click(object sender, EventArgs e)
{

try
{
siteCollection = new SPSite(txtSiteCollection.Text);
site = siteCollection.OpenWeb();
SPListCollection listCollection = site.Lists;

listCollection.Add(txtListName.Text, “list description”, SPListTemplateType.GenericList);
}
catch (Exception)
{ }
finally
{
site.Dispose();
siteCollection.Close();
}
}

}
}

Hope this is useful.

Friday, September 18, 2009

jQuery and jCarousel in SharePoint

I recently had to integrate jCarousel into a SharePoint web part. Since jCarousel is a plugin for jQuery, it means I also had to get jQuery integrated with SharePoint. In order to accomplish this, I followed some good feature packaging instructions found from a few different blog posts:
SharePoint jQuery Deployment Feature
SharePoint + jQuery = Stay Here Feature
SharePoint Slideshow Web Part
After figuring out how to package jCarousel and jQuery using SharePoint delegate controls, I was ready for business with the implementation of the web part.
The web part itself was nothing fancy. I used a Repeater control to generate the list item (LI) elements with the content I needed in the carousel. I wrapped the Repeater in an unordered list (UL) which was wrapped in a DIV tag that had the runat attribute set to server. So basically, I just followed the mark up instructions provided in the jCarousel documentation.
The wrapping DIV tag was used in my webpart code to initialize jCarousel. The code snippet below shows how I implemented it:

protected override void OnLoad(EventArgs e)
{
if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), this.ClientID))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, @"

");
}
}