Friday, December 10, 2010

Enable your SharePoint Mobile short /m/ URL

By default you have Mobile pages for your SharePoint sites by using /_layouts/mobile/default.aspx at the end of your site URL. If you want to use the shorter /m/ path from a mobile device, you need to run the following STSADM command to activate it on each Site Collection.

stsadm -o activatefeature -name MobilityRedirect -URL http://URL

Referenced Material: http://support.microsoft.com/kb/930147

For Lists or Libraries create a simple View, and when modifying the View scroll to the very bottom of the page is Mobile, expand that and ensure both checkboxes.

For developing mobile pages you should start at the MSDN Mobile site, then there is a tool you can use to emulate the Windows CE hardware behavior here: Emulator (it is the last link on that page).

Additional pages that help with the development are:

Mobile Development with SharePoint Foundation

Technorati Tags:
del.icio.us Tags:

Digg This

Sunday, October 31, 2010

SharePoint 2010 and RBS Remote BLOB Storage

Well I probably won’t be able to evaluate or use either of these products anytime soon, but I am quite impressed by what I am reading on Remote BLOB Storage products for SharePoint 2010.

MetaLogix’s StoragePoint in particular, and AvePoint’s product.

They allow you to define different levels/tiers of storage. This allows you to allocate the most actively used content to the fastest most expensive storage. While allocating the less frequently used or archived content to the slower less expensive storage.

All seamless to the users, you can now distribute your terabytes of SharePoint BLOB content across SQL, SAN, NAS, or even the Cloud. Planning this right could produce a substantial ROI for either product to show management.

Monday, October 18, 2010

SharePoint - How to change width of rich text columns on forms?

If you want to change the width of any of the columns on the data entry forms (NewForm.aspx, EditForm.aspx, DispForm.aspx) you need to know the name of their associated style in the core.css. You can do this several ways, use IE8 Developer Toolbar (F12), I prefer to use SharePoint Designer and look at the Apply Styles – Show Styles Based On Selection.

Then you again have a few ways you can change that. If you want the change global then you could create an Alternate CSS adding something similar to below in it.

When I need to change them it is usually just for the one page for one site, so I just add a style reference in the page.

The most bothersome one for me is always the rich text field. Here is the entry to widen the rich text field.

<style>

.ms-formbody span span div iframe, .ms-formbody span span table.ms-long{
width:600px; text-align:left;
}

#onetIDListForm, #onetIDListForm .ms-formbody, #onetIDListForm iframe[title="Rich Text Editor"]{
width:600px !important;
}
</style>

Of course you could use JavaScript, but I prefer to use CSS when possible.

del.icio.us Tags: ,,

Digg This

Wednesday, September 29, 2010

How to add a web part to DispForm.aspx

I saw a post today of someone explaining how you have to use SharePoint Designer to edit a DispForm.aspx page just to add a web part to the page. Hmmm, no you don’t.

You can add an existing web part to a DispForm.aspx page by adding this to the edit of your page URL in your browser:  &toolpaneview=2%20&PageView=Shared

http://LindaChapman.BlogSpot.com/sites/5/MySite/Lists/Projects/DispForm.aspx?ID=1&toolpaneview=2%20&PageView=Shared

Digg This

Thursday, September 9, 2010

Shane Young presenting at U-SPUG.com

A big thank you to Shane Young, SharePoint MVP for a great presentation on SharePoint 2010 Upgrade Process! It was an excellent presentation, I would recommend it to anyone. We have a very quiet user group, need to find a way to liven things up I guess ;)  But they enjoyed it.

Digg This

Wednesday, September 1, 2010

U-SPUG meeting 9/9/10 3-5pm MT at ExecuTrain of Utah. Speaker is Shane Young, MVP

Join us Thursday September 9, 2010 from 3-5pm MT for our U-SPUG meeting at ExecuTrain of Utah. Location:  ExecuTrain of Utah - 1455 West 2200 South, West Valley City, UT  84119 (801)561-8511 --Directions: http://www.UtahExecuTrain.com/directions.php

Shane Young, SharePoint MVP, will be presenting remotely via Live Meeting. Shane is going to take you on a dive through the upgrade process and the key considerations along the way. This session will be mostly demo focused and topics will include:

  • The different upgrade methods, including a hybrid method
  • Downtime mitigation ideas
  • Demo
    o Database attach test and upgrade
    o Visual upgrade with the UI
    o Visual upgrade with PowerShell
    o Core upgrade improvements

We will also have Kristen McCormick from AvePoint in person that will present an overview of all of their products, and a give-a-way from AvePoint. There will also be give-a-ways from TechSmith and InformIT.com

Sponsors for this event are: ExecuTrain of Utah, AvePoint, C7 DataCenters, TechSmith, InformIT.com

Register Here: http://www.ClickToAttend.com/?id=150609

Digg This

Thursday, August 26, 2010

How to create a Gantt chart in SharePoint

Misleading title, as there isn’t a way to create a Gantt chart in SharePoint out of the box. Not a true Gantt chart. Could you create one using Silverlight or Visual Studio, sure. But that is not what I needed. So below is the closest thing I have gotten to a Gantt chart only using SharePoint Designer.
User requirements for this Gantt chart made it even more challenging; have the bars be color coded by project name, have grouping, sorting and filtering by all fields, have as many fields as needed to the left of the Gantt.
Now before you say “oh there are third party products that create Gantts” …yes there are, I evaluated them and none of them met all my user requirements.
image 
To save time, I will assume you already know how to take a List View and convert it to a Data View and that you know how to use SharePoint Designer. If you don’t know these things, just comment to this post and I will email you.
Now once you do this you will realize there are other ways to accomplish this but using the same techniques.
  1. Create your list. I created mine from the Project Tasks built in list so that I have that functionality.
  2. Add your columns
  3. Create your Gantt columns.
    1. Color – Calculated Field – Single Line of Text
      1. ="<SPAN style='width:100%;background-color:"&IF([Status]="","Black",IF([Status]="Not Started","Blue",IF([Status]="In Progress","Chartreuse",IF([Status]="Completed","Green",IF([Status]="Deferred","Darkorange",IF([Status]="Waiting on someone else","Gold",IF([Status]="","Aqua","")))))))&";'> </SPAN>"
      2. This field could also reference a Project Name field or any other choice field.
    2. Jan – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    3. Feb – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    4. Mar – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    5. Apr – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    6. May – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    7. Jun – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    8. Jul – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    9. Aug – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    10. Sep – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    11. Oct – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    12. Nov – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    13. Dec – Calculated Field – Single Line of Text
      1. ="<DIV style='background-color:"&Color&"; width:100%;'> </DIV>"
    14. Optional fields – you can use these fields to automatically change the Year or Month Headers – however, I suggest for your first Gantt you just manually type in the headers.
      1. StartMonth - Calculated Field – Number
        1. =IF([Start Date]="",0,MONTH([Start Date]))
      2. CompleteMonth - Calculated Field – Number
        1. =IF([Complete Date]="",0,MONTH([Complete Date]))
      3. StartYear - Calculated Field – Number
        1. =IF([Start Date]="",0,YEAR([Start Date]))
      4. EndYear - Calculated Field – Number
        1. =IF([Complete Date]="",0,YEAR([Complete Date]))
  4. Organize your columns in your view how you want them to appear, make sure you have the Jan-Dec month fields there.
  5. Then add a Content Editor Web Part to the end of the page. This web part must remain under the list view.
  6. Edit the CEWP in the Source Code button to add JavaScript that will render the HTML as HTML rather than text. I use to create my own but recently I started using the one supplied by “PathToSharePoint” site because Christopher’s is better.

        <script type="text/javascript">

        function TextToHTML(NodeSet, HTMLregexp) {
        var CellContent = "";
        var i=0;
        while (i < NodeSet.length){
        try {
        CellContent = NodeSet[i].innerText || NodeSet[i].textContent;
        if (HTMLregexp.test(CellContent)) {NodeSet[i].innerHTML = CellContent;}
        }
        catch(err){}
        i=i+1;
        }
        }

        // Calendar views
        var regexpA = new RegExp("\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*");
        TextToHTML(document.getElementsByTagName("a"),regexpA);

        // List views
        var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$");
        TextToHTML(document.getElementsByTagName("TD"),regexpTD);

        // Grouped list views
        ExpGroupRenderData = (function (old) {
            return function (htmlToRender, groupName, isLoaded) {
            var result = old(htmlToRender, groupName, isLoaded);
            var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$");
            TextToHTML(document.getElementsByTagName("TD"),regexpTD);
            };
        })(ExpGroupRenderData);

        // Preview pane views
        if (typeof(showpreview1)=="function") {
        showpreview1 = (function (old) {
            return function (o) {
            var result = old(o);
            var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$");
            TextToHTML(document.getElementsByTagName("TD"),regexpTD);
            };
        })(showpreview1);
        }

        </script>

  7. In SharePoint Designer convert the List View to a Data View.
  8. Now you will notice that your month fields are displaying the HTML. Don’t worry about that as the JavaScript won’t render it as HTML in this data view mode, but it will in the resulting page.
  9. Here I prefer to change each cell to a fixed width, especially the month fields.
  10. Now click on the Jan column, and click on its chevron button, and change the “Format as:” to Rich Text. You should notice the text change to <DIV style=….</DIV> . Sometimes it doesn’t change for some reason. In those case I have to change the Format as: to Label, then save it, then change it back to Rich Text.
    1. image
  11. Then repeat step 9 for each month field.
  12. Then save it.
  13. Then you will create a Conditional Formatting statement for each month field.
    1. Click on the Jan cell.
    2. Click Data View – Conditional Formatting (from the menu).
    3. On the right pane, click Create – Show Content
    4. In the Field Name enter Start Date
    5. In Comparison enter “Less Than”
    6. In value = 2/1/20111
    7. AND
    8. Complete Date “Greater Than” 12/31/2010
    9. Click OK
    10. image
  14. Then repeat step 12 for each month field.
  15. Save your changes to your page.
  16. View page in browser.
  17. To remove the spaces in between the colored bars you need to click on the Jan-Dec columns in Split mode so that you can see their code, then in their code change all “padding=” or “spacing=” to equal 0.  You will also have to set the entire table and each column to are set widths, otherwise as the monitor resolutions change they can space out again.

Now your Gantt should look like the one above.  This is just the beginning. Now you can do the same thing for week views, quarter views, or yearly views, using the same basic concepts of creating calculated fields and showing them with conditional formatting in SPD.
I know I usually would explain things step by step, but I promised to get this posted for someone quickly tonight that needed it. Let me know if you need more instructions.
Also note that since we are using background colors you could not use the right click Print function. If you need to print this Gantt you should change your formula from using a background color to displaying a repeating graphic instead. That is what I did in my second version of it, which then also gave it more of the traditional 3 dimensional graph look.

In my next article I will explain how to add scroll bars to this.  The scroll bars I did strictly through code. So I might work on a generic STP to upload here.

Technorati Tags:

del.icio.us Tags:

Digg This

Chris O'Brien: Using the SharePoint Content Deployment Wizard

I was about to write a long article on how to use SharePoint Content Deployment Wizard found in Central Administration, for someone I am working with. But then I found this great article from Chris O'Brien where he provided a better overview than I probably would have. Good reading... Chris O'Brien: Using the SharePoint Content Deployment Wizard http://sharepointnutsandbolts.blogspot.com/2007/12/introducing-sharepoint-content.html http://sharepointnutsandbolts.blogspot.com/2007/12/when-to-use-sharepoint-content.html

Friday, August 13, 2010

Scrolling News Line – Just one of MANY ways to do

There are many ways you can implement a scrolling news line on your site. This is just an example of one, but not the only way to do it. This is a good easy one to start with. Disclaimer: This is not my script but one I parsed together from 2 others I found.
  1. Add a Content Editor Web Part onto your page
  2. Modify the CEWP
  3. Edit the code below with your labels and URLs
  4. Copy and paste the code below into the CEWP Source Code Button.
  5. Click OK to save.
  6. Click OK to commit your changes to the page.
<DIV align=center>
<TABLE style="WIDTH: 90%" align=center summary="">
<TBODY>
<TR>
<TD><FONT color=#ff7200 size=2>&nbsp;</FONT>

<style type="text/css">
#memoryticker{
font: bold 12px Verdana;
color: ff7400;
background-color: white;
width: 600px;

height: 10px;
font: bold 12px Verdana;
color: ff7400;
text-align: center;
border: 0px solid orange;
padding: 1px;
/*0.9=0.9 seconds*/
filter: progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)
}

</style>
<script type="text/javascript">
//configure tickercontents[] to set the messages you to display 
var tickercontents=new Array()

tickercontents[0]=' <a href=http://LindaChapman.BlogSpot.com/Lists/News/DispForm.aspx?ID=3>SharePoint News: </a>SharePoint Pro Connections</a>'
tickercontents[1]=' <a href=http://LindaChapman.BlogSPot.com/Lists/News/DispForm.aspx?ID=1>My News: </a>Nothing New</a>'
var persistlastviewedmsg=1 //should messages' order persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".

//delay between messages (in miliseconds):
var tickdelay=3000

////Do not edit below////
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
var currentmessage=0

function changetickercontent(){
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Apply()
crosstick.innerHTML=tickercontents[currentmessage]
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Play()
currentmessage=(currentmessage==tickercontents.length-1)? currentmessage=0 : currentmessage+1
var filterduration=(crosstick.filters&&crosstick.filters.length>0)? crosstick.filters[0].duration*1000 : 0
setTimeout("changetickercontent()",tickdelay+filterduration)
}

function beginticker(){
if (persistlastviewedmsg && get_cookie("lastmsgnum")!="")
revivelastmsg()
crosstick=document.getElementById? document.getElementById("memoryticker") : document.all.memoryticker
changetickercontent()
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function savelastmsg(){
document.cookie="lastmsgnum="+currentmessage
}

function revivelastmsg(){
currentmessage=parseInt(get_cookie("lastmsgnum"))
currentmessage=(currentmessage==0)? tickercontents.length-1 : currentmessage-1
}

if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg

if (document.all||document.getElementById)
document.write('<div id="memoryticker" '+divonclick+'></div>')
if (window.addEventListener)
window.addEventListener("load", beginticker, false)
else if (window.attachEvent)
window.attachEvent("onload", beginticker)
else if (document.all || document.getElementById)
window.onload=beginticker

</script>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>

Wednesday, August 11, 2010

SusQtech has new virtual seminars for only $99

Check out the new virtual seminars SusQtech has started for only about $99 per seminar. 

http://www.susqtech.com/training/Pages/sharepoint-training.aspx

SharePoint Designer Data View with scrolling area

I have a fairly complex SharePoint Designer 2007 Data View that I created and the users have added two more requirements.

1. Have the columns on the right side be able to scroll left to right as there is a large number of columns, while the first 3 columns on the left side stay locked in place. This is only one list not two, and because of some other requirements I have it must remain to be just one list.

2. Then they also need to have scrolling up and down of the entire list with the headers locked in place.

The first requirement is more important than the second, but preferrably I need to do both.


Monday, July 19, 2010

Event ID 12317 logged every hour when using FRM

Problem:

When running File Resource Manager you get event ID 12317 logged every hour.

Cause:

Refer to article: http://blogs.technet.com/b/filecab/archive/2006/09/29/459430.aspx

This is due to the PDC Emulator (domain controller) not having the NT Authority\Authenticated Users group in the built in Users group, which is the default. You will get this error logged every hour, however the FRM alerts will still work.

Resolution:

Steps to resolve this problem here...

  1. Add NT Authority\Authenticated Users back in your built in Users group on PDC Emulator.

Technorati Tags:
  

del.icio.us Tags:

Wednesday, July 14, 2010

Chrome Type equals none , changes not saved

Say you modify your web part to have the Chrome Type include the Title or Title and Border…you click OK and save. However you changes are not saved and Chrome Type still shows its previous setting.

This is either because the aspx page has the frame type hard coded in. This can happen if you have a custom web part, or you have a web part that you exported and then imported back in.

To fix this you can change the aspx page’s frame type line entry below.

<FrameType>TitleBarOnly</FrameType>

Or it can be if you are on a List View. The chrome type is off or none on these since they assume the web parts are the list you are on. In those cases you need to create a web part page to use instead.

Friday, July 9, 2010

SharePoint how to redirect one page

There are many ways to redirect a page in SharePoint. If you have a Publishing Site then you have a built in feature using Create Page – Redirect Page page layouts.

If you don’t you can still add a Content Editor Web Part to your page and in the Source button add:

<meta http-equiv="refresh" content="1;url=http://LindaChapman.BlogSpot.com/NewPage.aspx">

If you want to display a message for them to see then add that text first and change the value of content=”1  to a higher number of seconds to wait before redirecting.

I usually just change the Title of my content editor web part to have the message I want and keep it at 1 second.

Tuesday, June 15, 2010

Looking for a SharePoint MVP or Microsoft employee to speak at user group 6/24

We are in need of a SharePoint MVP or Microsoft employee to speak at our Utah SharePoint Users Group (www.U-SPUG.com) this Thursday 6/24 from 3-4pm MT.  A remote speaker would be great too. Please email me if you are interested and can speak remotely to our group. LindaChapman @ Live.com

Tuesday, May 25, 2010

Need a technical speaker for U-SPUG.com June meeting

We need a technical SharePoint speaker for our Utah SharePoint Users Group meeting local or remote speaker on Thursday June 24 3-5pm. Please email me if you can be a speaker. LindaChapman  @  Live.com

Sunday, May 16, 2010

SharePoint Designer – how to redirect the OK button on NewForm.aspx

If you have created your own custom Item New form or NewForm.aspx page and want to redirect the page you go to after clicking the OK button…you can accomplish this by adding ?source= then the URL you want it to redirect to.

For example if your custom New Item page is:

http://LindaLeeChapman.spaces.live.com/NewForm.aspx

Change it to:

http://LindaLeeChapman.space.live.com/NewForm.aspx?source=http://LindaLeeChapman.space.live.com/Confirmation.aspx

Technorati Tags: sharepoint designer,redirect OK

del.icio.us Tags: sharepoint designer,redirect OK

SharePoint how to hide view all site content and other page elements

This is one example of hiding several page elements by using the following style code in the Source Code of the CEWP

This is good to apply when you want to create report pages where they simply right click and select Print Preview, then remove Headers and Footers, then print.

  1. Add a Content Editor Web Part to the page you want to hide the elements on,
  2. then Modify the CEWP as you want it (Title, Border, visibility, etc)
  3. then click on the Source Code button and paste to the very top of the code the elements below you want to hide.

<style>
#ct100_PlaceHolderLeftNavBar_idNavLinkViewAll
{
   Visibility:hidden;
}
#ctl00_PlaceHolderLeftNavBar_idNavLinkRecycleBin
{
       Visibility:hidden;
}
.ms-searchform
{
    display: none
}
.ms-bannerContainer
{
    Display:none
}
.ms-bannerframe
{
    Display:none
}
.ms-bodyareaframe
{
    Border:0
}
.ms-bodyareapagemargin
{
    Display:none
}
.ms-globalbreadcrumb
{
    Display:none
}
.ms-globalleft
{
    Display:none
}
.ms-globallinks
{
    Display:none
}
.ms-globalright
{
    Display:none
}
.ms-globalTitleArea
{
    Display:none
}
.ms-navframe
{
    Display:none
}

.ms-pagetitle
{
    Display:none
}
</style>

Sunday, May 9, 2010

SharePoint File Not Found error after creating new site

Occasionally I will create a new site based off a custom site template and when it is completed I get the following error.

          File Not Found

It drives me crazy because I always forget what my fix was! Anyways, at least for me, my problem is always that I am creating a new site off of a custom template that was originally created on a different site collection then the one I am creating this site in.

Thus my problem is always that it cannot find one of the following items that are unique to each Site Collection.

    • Master Page
    • Feature Activated
    • Web Part
    • List Template
    • Custom Column or Content Types

Now you might think, I copied or uploaded the same Master Page, or List Template etc. to this site collection before creating the site. Well, that may be so but it can still cause this error.

First you need to get to your Site Actions Site Settings by adding /_layouts/settings.aspx to your URL. Then I usually start with my Master Page and even if it already says Default.aspx is selected, I re-select the default master page again and click OK and that usually solves my problem.

Then I make sure all the same Features are selected, and Content Types, etc. The hardest is if I do all the above and it is still there, then it is usually a custom List. In that case I go to View All Site Content /_layouts/viewlsts.aspx  and delete the list and create another one.

Technorati Tags: file not found,sharepoint

del.icio.us Tags: file not found,sharepoint

SharePoint Server STSadm.exe error

Sometimes I get the following error when trying to run different STSadm.exe commands on SharePoint Server 2007.

The server administration programs and the Windows SharePoint Services Web applications on this Web server are not compatible. Ensure that the administration program is the same version as the Web application.

Where as this error could truly mean what it says…you could be running a 32bit STSadm.exe command on a 64bit deployment, or vise versa.

More commonly, with me, the problem is that the –url path I am entering does not match up exactly with what is defined in the Central Administration – Application Management – Web Application List URL or meaning the Default Managed Path defined in the Operations tab.  These must match exactly.

Example:  If my Web Application is "Chapman” over port 6000 and my Operations – Managed Path – Default = http://Chapman-SSP:6000/

Then I must enter that exact Default Managed Path in all STSadm.exe  -URL commands.

WRONG -url  http://Chapman-SSP

RIGHT  -url http://Chapman-SSP:6000

del.icio.us Tags: SharePoint Server STSadm error not compatible

Technorati Tags: SharePoint Server STSadm error not compatible

How to add a Link to a Document external to SharePoint

You can add links to external file shares or/and file server documents to your document library very easily. Why would you want to do this? Primarily so all your MetaData to all your documents are searchable in the same place.

First a Farm Administrator will need to modify a core file on the front end server.  Then you must create a custom Content Type. If you use the built in content type you will not be able to link to a Folder directly.
Edit the NewLink.aspx page to allow the Document Library to accept a File:// entry.
  1. Go to the Front End Web Server \12\template\layouts directory.
  2. Open the file NewLink.aspx using NotePad. If I have to tell you to take a backup of this file first then you have no business editing this file (really).
  3. Go to the end of the script section near top of page and add:
    function HasValidUrlPrefix_UNC(url)
    {
    var urlLower=url.toLowerCase();
    if (-1==urlLower.search(”^http://”) &&
    -1==urlLower.search(”^https://”) && -1==urlLower.search(”^file://”))
    return false;
    return true;
    }
  4. Use Edit Find to search for HasValidURLPrefix and replace it with HasValidURLPrefix_UNC (you should find it two times).
  5. File – Save.
  6. Open command prompt and enter IISreset /noforce.
Important: To link to Folders correctly you must create your own content type exactly as below and not use the built in URL or Link to Document at all.

Create custom Content Type
  1. Go to your Site Collection logged in as a Site Collection Administrator.
  2. Site actions – Site Settings – Modify All Site Settings.
  3. Content Types
  4. Create
  5. Name = URL or UNC
  6. Description = Use this content type to add a Link column that allows you to put a hyperlink or UNC path to external files, pages or folders. Format is File://\\ServerName\Folder , or http://
  7. Parent Content Type,
    1. Select parent content type from = Document Content Types
    2. Parent Content Type = Link to a Document
  8. Put this site content type into = Existing Group:  Company Custom
    1. image
  9. OK
  10. At the Site Content Type: URL or UNC page click on the URL hyperlink column and change it to Optional so that multiple documents being uploaded will not remain checked out.
  11. OK
    1. image
Add Custom Content Type to Document Library
  1. Go to a Document Library
  2. Settings – Library Settings
  3. Advanced Settings
  4. Allow Management Content Types = Yes
  5. OK
  6. Content Types – Add from existing site content types
  7. Select site content types from: Company Custom
  8. URL or UNC – Add – OK
  9. Click on URL or UNC hyperlink
  10. Click on Add from existing site
  11. Add all your Available Columns – OK
  12. Column Order – change the order to be consistant with the Document content type orders.
  13. Click on your Document Library breadcrumb to test.
  14. View – Modify your view to add the new URL or UNC column to your view next to your Name column.
Create Link to Document
  1. Go to the Document Library
  2. New – URL or UNC
  3. Document Name: This must equal the exact file or folder name less the extension.
    1. Example: My Resume 
    2. Example: Folder2
    3. Example: Doc1
  4. Document URL: This must be the UNC path to the folder or file.
    1. Example: http://LindaChapman.BlogSpot.com/Folder1/Folder2/My Resume.doc
    2. Example: http://LindaChapman.BlogSpot.com/Folder1/Folder2
    3. Example: File://\\ServerName\FolderName\FolderName2\Doc1.doc
You might see other blogs that say you can't connect to a folder and must create a shortcut first. They are wrong. You can by the method above.

The biggest mistakes I see are:
  1. People click on the NAME field instead of the URL field. They are not the same. You MUST click on the URL field to access the Folder properly.
  2. People use the built in Link to Document content type thinking it is the same or will save them a step. It is not the same.
  3. People type the document extension in the Name field. You can not type the extension in the name field. It will see it is a UNC path and ignore the .aspx extension.
  4. People enter their slashes the wrong direction for UNC paths.

Saturday, May 8, 2010

TechNet vs. MSDN

Stumbled across this Microsoft link that has a nice table explaining the differences of when you can use TechNet subscriptions vs. when you should be using MSDN. I thought I knew, but I had a few of them wrong.
You should review them to ensure you are using the correct software.
http://msdn.microsoft.com/en-us/subscriptions/dd362338.aspx

HTTP Error 503. The service is unavailable. after deploying a SharePoint solution

Well this one threw me off, for a few minutes.


I deployed a custom .wsp solution.

Normal…local deployment, not a GAC deployment…

stsadm.exe –o addsolution –filename CustomSolutionFile.wsp

stsadm.exe –o deploysolutions –name CustomSolutionFile.wsp –local –url http://WebApplicationName


IISreset /noforce

Then the web application browser gave me the following error:

HTTP Error 503. The service is unavailable.

It seems every time I deploy this custom solution (I did not write it), I get this error because the Application Pool to the Web Application I deployed it to is not starting back up. So far all I have had to do it start the application pool and all is well.

Technorati Tags: SharePoint http error 503del.icio.us Tags: SharePoint http error 503

SharePoint in the Cloud?

For a SharePoint Cloud solution, a requirement is the ability to host multiple clients and departments in an isolated way, providing isolation to their workloads and administration while still providing all the platform features required. Some clients will need their own work areas, and the ability to host applications which will not hinder other sites deployed within the same farm.

This principal of isolation is referred to as Multi-tenancy. This is referring to the isolation of data, operation services, and management. In our current version, 2007, you can obtain this type of isolation at the Site Collection Level or the Web Application Level.  Each has their pros and cons and have to be planned very carefully to be scalable.  Many Site Collections are much more scalable and manageable than several Web Applications. However, Site Collections currently only provide limited isolation, while several Web Applications can be an administrative nightmare.

SharePoint 2010

SharePoint 2010 is already providing great improvements to Multi-tenancy.  A new feature has been introduced called Site Subscriptions.  They are a way to group sets of Site Collections based on their clients (or tenants) requirements of data, features, security and administration.  

It allows you to partition data based on their subscription, and also allows you to divvy out administration based on their subscription. To go even further, there is another new feature called Feature Packs, that group together site features that you then can associate to subscriptions.  This allows you to take Site Collections and manage them in an even more granular isolated way as currently.  You can define these Feature Packs and Subscriptions to match clients Service Levels, or security requirements, organizational structure, etc.

So picture this, you have one SharePoint web page, where your client (tenant) goes to subscribe to the SharePoint services they need to meet their needs.  Based on what the client selects for their requirements through that page (service levels, security, organizational, features) it then auto subscribes them to an existing subscription and feature pack, or builds them a new subscription and feature pack and they are within minutes taken to their new area. 

Thinking, ya right, that would be heaven...well close...just SharePoint 2010 in the Cloud :)

Want to read more?  Here you go...these are great articles!

  1. http://blogs.technet.com/speschka/archive/2009/11/30/enabling-multi-tenant-support-in-sharepoint-2010.aspx

  2. http://blogs.technet.com/speschka/archive/2009/12/30/multi-tenancy-in-sharepoint-2010-part-2.aspx

  3. http://blogs.technet.com/speschka/archive/2010/01/16/multi-tenancy-in-sharepoint-2010-part-3.aspx

Embed a video in a SharePoint Blog Post

So we all know we can embed Widgets, Gadgets, Videos, and other content by adding our HTML code into a Content Editor Web Part’s Source Code button on any SharePoint web page.

Well today I needed to embed a YouTube video for someone into a SharePoint Blog Post.

I usually use Microsoft Windows Live Writer to write all of my posts, so this isn’t an issue.  However this user did not use WLW.

So in researching why you can’t copy the same HTML code in a blog post like you can a CEWP, I found this published work around.  I will not take the time to explain how to implement it or how it works as the links below go into that detail.  But I implemented it quickly to all Site Collections with no problems so far.

Thanks to the people that wrote this work around!

http://erte.codeplex.com/

http://boris.gomiunik.net/erte/

Technorati Tags: embed video in SharePoint blog post

del.icio.us Tags: embed video in SharePoint blog post

How to create a custom Folder Content Type

Why would you want to create a custom Folder Content Type? If you need to have the same data entry fields (columns) that you have for your Documents or Items attached to the Folder and available during New and Edit Forms.

  1. Go to your Site – Site Settings – Modify Settings
  2. Under Galleries click Site content types
  3. Click Create
  4. I like to keep my Names short,
    1. so this example is FolderWithMetaData – you could use spaces I prefer not to, to remind users to keep names short.
  5. Under Description this is what will appear in the NEW area under the Folder Icon so keep it short
    1. Add a new Folder to this Document Library that includes a TITLE field in the data entry form."
  6. Under Parent Content Type select Folder Content Types
  7. At Parent Content Types select Folder if this is for a Document Library.
  8. At “Put this site content type into:”
    1. I prefer to create one custom group called “Company Name Custom Content Types” and put all custom ones I create there.
  9. Then select OK
  10. At the List Content Type: FolderWithMetaData page, go to the Columns and click on the columns such as Title that you want to appear in the data entry page and select Required or at least not hidden.
  11. Select Update all content types inheriting from this type and OK
  12. Go to your List or Library – Settings – Advanced Settings
  13. Select Allow management of content type = Yes and OK
  14. Under Content Type section click on the Add From Existing Content Types.
  15. Select your new Custom Content Type Group you created
  16. Then click your new Folder content type you created and click Add
  17. Then OK
  18. Then under the Content Types section again, select Change new button order and default content type
  19. Reorder if you want, I prefer to have all new custom content types appear on top or first.
  20. Then if you go to your List or Library under the NEW option you will now see your new Folder type and when they click New FolderWithMetaData the data entry form with have the

Now some will say, but if you put it in DataSheet Mode you can edit the Title. True, but you can not always edit all fields to a Folder in Datasheet Mode depending on the settings. Thus a custom content type can be a good easy solution.

And as you know, you can create Workflows to Content Types that may alert users when a new folder is created or some other type of workflow.

del.icio.us Tags: SharePoint custom Folder Content Type

Technorati Tags: SharePoint custom Folder Content Type

What is the admin page for Save Site As Template

If you are trying to save your site as a template but you are not seeing the option under Look and Feel, and you are sure permissions is not the issue, then you can simply append the following to the end of your site URL to access the page.

          _layouts/savetmpl.aspx

Example: http://YourWebApplication.com/sites/SiteName/_layouts/savetmpl.aspx

Technorati Tags: SharePoint admin page for

Cannot see saved Site Template that is in the Gallery

Problem:

You save a site as a Site Template, and you see it listed in the Site Collection Gallery but you cannot see it as an option in a site under the Site Collection.

Cause:

If you create a Site off a built-in or custom template, then you create a sub-site based off a different built-in or custom template, then save that sub-site as a Site Template, you will not see this new Site Template as an option to create from under any sub-sites that are not built off the same template as the saved template site was.

Resolution:

Basically there is no workaround for this issue. You must create both sites from the same template to be able to see the Custom-CustomSiteTemplateName . You will either need to re-create a new top site based of the same original template the saved sub-site was…or re-create your sub-site to be based off the same original template the top site was, then re-customize it and re-save it back up to the Gallery again.

I did NOT find a Microsoft KB article on this exact problem, but did find a similar one on this same issue with a saved List Template, then tested this and found Site Templates have the same problem.

del.icio.us Tags: SharePoint site template in gallery not seen

Technorati Tags: SharePoint site template in gallery not seen

Export List Data To Excel and keep it in sync with List changes

There is built-in functionality in SharePoint that allows you to export your Site List data into an Excel Spreadsheet.  There is also a built-in Data Connection and Refresh option in Excel that allows you to keep your offline spreadsheet in sync with the Site List changes.

Please note this is a one way synchronization only from Site List data to Excel. Any changes that are made to your Excel file are overwritten the next time you select to Refresh your data.

Many use this feature in three main ways;

  1. To view their List data while offline.

  2. To produce Excel Charting or PivotChart reports in Excel.

  3. To use Excel Services to display charts and graphs that are actually created in the Excel Spreadsheet they are exporting data to. In this way you would upload your Excel Spreadsheet to your Reports Library and Convert it. So both the List data and Excel spreadsheet are stored in your SharePoint site, but users are not accessing or updating that Excel spreadsheet. It is only being used as the graphing mechanism.

Instructions how:

  1. Go to the SharePoint Site Directory.

  2. Select your Site.

  3. Go to the List you want to export data from.

  4. Go to the Actions toolbar

  5. Select Actions - Export to Spreadsheet

  6. Select Open

  7. In Excel Save As Office 2003 format (required)

  8. It will create two extra columns; Item Type and Path, this is for sorting purposes primarily.

When you want to update the Excel spreadsheet with the Site's List data again:

  1. Open the Excel Spreadsheet.

  2. Click in the table area of the data.

  3. Go to the Design tab.

  4. In the External Table Data group click Refresh.

For small lists this will update very fast and you may not even notice it. Remember, when you click Refresh it will replace all Excel table contents with your current Site List data. And this is not a two way synchronization solution. Try Microsoft Access or VBA if you need some form of two way synchronization.

Technorati Tags: SharePoint export list data to excel,Excel data connection file

del.icio.us Tags: SharePoint export list data to excel,Excel data connection file

How to earn Medals on Microsoft Forums

I just pointed someone at my work to the Microsoft Forums and told them they should start reading through those for their answer to their problem or post a new question if not found. They had never signed up for it before. Then after signing up they asked “ …how do I earn those medals ? ”

Well it is not quite a fair system at all in my option, and many of the moderators are too quick to mark their own answers as the answer, when they don’t allow you the contributor to mark yours as the answer…but they do. (I will get allot of heat from them for saying that, many don't, but many do)

Anyways you earn POINTS that tally up for Medals.  WHY? Most are trying to build up to the MVP (Most Valued Professional) status on a subject. So unfortunately many reply with bogus non-helping non-related answers just trying to add to their points.  I myself am very frustrated with many of those trying to build up their points, as they are going about it wrong.

If you REPLY to a question not started by you = 2 points

If your REPLY is marked as the answer = 10 points

If your REPLY is voted as helpful = 5 x # of votes

Points            Medals

  • 0                   0
  • 1-750             1
  • 751-2000        2
  • 2001-7500      3
  • 7501 – 15000  4
  • 15001+          5

http://social.answers.microsoft.com/Forums/en-US/help#310

del.icio.us Tags: Microsoft Forum Medal

Technorati Tags: Microsoft Forum Medal

How to remove the comma from a Number column field ?

Gee, you sure think it wouldn’t be too much for Microsoft SharePoint developers to add an option in the Column settings for the Number field to select to not show a comma.  This is a complaint I get from users all the time…HIDE THE COMMA!

So one of the workarounds we have to do is to create a second field…a calculated field that removes the comma:

=TEXT([NumberColumnName],”0”)

Then make sure you select the data type as Number for the calculated field.

Keep in mind that if you need to have a decimal place then the above won’t work for you. To retain a decimal place use the following:

=text([NumberColumnName],”0.00”)

Change the number of zero’s behind the decimal to equal how many you allow in your original Numeric Field. With this formula if you entered 23,546.41 the calculated field will display it as 23546.41.  If you entered 23,546 the calculated field will show it as 23,546.00   .

How to add a linked List to your DispForm.aspx

Today I was modifying the DispForm.aspx (view page) to one of my Lists to link a second list below the first. This is so easy to do, and I do it allot just for convenience, but I don’t think I have ever taken the time to document it, so here it is.

If you have two lists that are linked by a common field using a Data Lookup field, then adding the second list to the first’s view and edit pages is something you may want to do.

        My disclaimer: The way I am showing this will customize or un-ghost the DispForm.aspx page.

My first List is called Inventory and all the fields are static fields, meaning they are not really expected to change their values, thus just one unique record for each item in inventory is expected.

My second List is called Inventory Updates and consists of all of the fields that are dynamic or that are expected to change periodically. This List will have multiple entries that link to one item in the Inventory List. The Inventory Updates List has a Data Lookup field that points to the Inventory ID built in field.

First I edited the default page (AllItems.aspx) to my Inventory List and added the Inventory Updates List Web Part on bottom and the Form Web Part on top. Then I made a Connection on the Form Web Part to Provide Values to the Inventory Updates web part. This is not required for the editing of the DispForm.aspx page we are about to do, but I do it just for consistency so both Lists are always linked in all views.

Moving on…now I open SharePoint Designer and open the individual site.

  1. Navigate to the LISTS container and expand my Inventory List and double click on the DispForm.aspx.
  2. Click on the Inventory Main area so the WebPartPages:ListFormWebPart is highlighted.
  3. Then click the Right Arrow just once. This will move your cursor to the open space underneath the web part.
  4. Now from the menu select INSERT SHAREPOINT CONTROLSDATA VIEW.
  5. It will insert the area for the Data View, now click on the hyperlink to add new Data Source Library in the box.
  6. On the right under Data Source Library click on the second List, for us it is Inventory Updates.
  7. From the item drop down select SHOW DATA.
  8. Then press Ctrl Click on the fields you want to display.
  9. Then click the button above the fields called INSERT SELECTED FIELDS AS…MULTIPLE ITEM VIEW.
  10. Click on the new WebPartPages:DataFormWebPart and you will see a right arrow appear, click on that to see your Common Data View Task options.
  11. Click on Filter:
  12. In the Filter Criteria box select the Data Lookup Field, mine is Field Name = InventoryID, Comparison = Equals.
  13. On the Value field arrow to the bottom and select CREATE A NEW PARAMETER.
  14. Click NEW PARAMETER button, in the NAME field enter the name of this parameter, mine is InventoryID.
  15. In the PARAMETER SOURCE select Query String.
  16. In the Query String Variable field enter ID .
  17. In the Default Value field enter 1 .
  18. Then select OK.
  19. Now your VALUE field back in the Filter Criteria box should show your new parameter name, mine is [InventoryID].
  20. Now just select OK to complete the filter.
  21. You can then go through the other formatting tasks such as Sorting, etc. as you wish, but the actions above are all that are needed to link the two lists on this one page.
  22. Then select to SAVE this PAGE.

Now you can go to your Inventory List DispForm.aspx page and see that when you select an item from the first list, all linked records from the second list will appear underneath.

Technorati Tags: SharePoint Linked List,DispForm.aspx,SharePoint Designer

How to add a copyright notice to bottom of pages

You can add a copyright notice or other text to the bottom of all pages by modifying the Default.Master, MWSdefault.master, and any other custom master pages or publishing masters you have.

To modify the default.master and MWSdefault.master go to your front end web server c:\Program Files\Common files\Microsoft Shared\Web Server Extensions\12\Template\Global\  and open default.master using NOTEPAD. Then scroll down to the very bottom and right above the closing </BODY> modify your statement below and paste it above that line.

Paste

<table style="width: 100%" align="center">
<tr>
     <td colspan="2" class="style1">Company, Inc.&nbsp; |&nbsp;
     <a href="Company, Inc.";</a> |&nbsp; <a href="CompanyExtranet;</a> |&nbsp;<a target="_blank" href="Other URLs">Other URLs;</a> |&nbsp;&nbsp; ©2006-2010 Company, Inc.. All rights reserved. </td>

</tr>
</table>

Then the </BODY> and </HTML> closing tags would be the last two lines.

To add your own style as referenced above then edit and paste the style information below to the top of the master page right before (above) the opening <HTML> tag.  Otherwise you can reference an existing style class from one of the default css files instead.

<style type="text/css">
.style1 {
font-family: Verdana;
color: #000000;
text-align: center;
font-size: 8pt;

</style>

Making this change the exact way listed above does not un-ghost or customize those pages. Typically by default opening them in SPD or similar tools such as Visual Studio will.

Now remember if you modify the default.master and MWSdefault.master then you will need to copy these files over before any upgrades like Services Packs or Infrastructure Update patches just incase Microsoft overwrites them. Or you can copy them and create your own custom master file which is what I do...however, for simple modifications like this I do choose to modify the built in ones and just make the modifications to the defaults again if they get overwritten.

Appended column stores by Version Control settings

OK, I feel really stupid with this one.  I use the Appended Column setting as a Log Column all over the place.

A user was wondering why they were only seeing the last 6 appended entries and not all of them. The appended column setting only stores as many Versions as you have set in your List Version Control settings. DUH, I knew that of course but had completely forgotten about it.

Can not delete a master page " This item cannot be deleted because it is still referenced by other pages "

I came across this bug the other day.  When creating a custom master page, I then wanted to delete it. When trying to delete the page I got the following error

"This item cannot be deleted because it is still referenced by other pages. This item cannot be deleted because it is still referenced by other pages " 

but I knew my page was not attached to any other pages. I finally found this KB from Microsoft http://support.microsoft.com/?kbid=926812 stating this is a known bug.

Rather than "hiding" the page as they suggest, I chose to create a Folder called "DeleteMe" in the MasterPage Gallery, then I had to turn my Version Control off completely and Content Approval off too. Then I opened the gallery using SPD and was able to drag the master pages into the DeleteMe Folder, then I went back to the Master Gallery web page and deleted the Folder.

Technorati Tags: SharePoint Master Page,can not delete

Site Owner can not Create a Page (Publishing Page)

This occurs more on architectures where the majority of sites are NOT a Site Collection but merely a Site under a Site Collection. While the Site Owners group has Full Control of their site they still are not able to Create a Page from the publishing pages library in their site.

This is because they must also have Read access to the Master Page Gallery at the Site Collection level.

Site Actions - Site Settings - Modify All Site Settings - Master Pages and Page Layouts - Settings - Permissions - New - add all users with Read only permissions.

SharePoint BlueGlassBand.master template

If you are working with the BlueGlassBand.master file, there are many items different than the default.master since this is a publishing template.  Here are some of my notes from working with it.

  • MaximumDynamicDisplayLevels="1"
    • will add a right arrow in the right side of the banner area that when you hover over it will show your 1st level of items in your Global Navigation (top menu bar)
    • Why would I want this?  If you want to remove your Global Navigation (top menu bar) from the area below to save space.
  • StaticDisplayLevels="2"
    • will add the 1st level Global Navigation plus the banner directly underneath resulting in a column
    • Why would I want this?  Only if you want it to display in a column format...not likely.
  • No Global Breadcrumb because the datasource is different
  • Different Local Breadcrumb because the datasource is different (here I just edited it and replaced with one from default.master)
  • Site Title next to logo/banner will be the Site Collection if in Global Navigation you choose to inherit the menu from above rather than the local Site Title (I hate this one!)

Although the layout is nice and clean and you may be tempted to want to use it for sites, just remember it was intended for Internet facing sites, so many items are different and will be confusing for the users if they are use to the default.master.

I would recommend copying the default.master and changing that copy to look how you want.

Change the NEW! item display

I have posted this before, but I just needed to do it the other day again.  If you want to change the number of days SharePoint displays that NEW! icon here is the command.

Enter 0 to hide it all together, or enter 2-6 for the days.  If you enter 0...say to upload some bulk items that you don't want it to show the NEW! on...but you want to turn it back on say to 3 days later...you can, but make sure you wait until the 4th day from your upload to issue the new command otherwise your documents will show the NEW! for how ever many days are left. It goes by the Created On date field.

cd /d %programfiles%\Common Files\Microsoft Shared\Web Server Extensions\12\BIN

stsadm.exe -o setproperty -pn days-to-show-new-icon -pv 0 -url http://WebApplicationDefaultManagedPath

cd /d %programfiles%\Common Files\Microsoft Shared\Web Server Extensions\12\BIN

stsadm.exe -o setproperty -pn days-to-show-new-icon -pv 5 -url http://WebApplicationDefaultManagedPath

Reference Material:  http://support.microsoft.com/kb/825510

Performance Monitor - Base Objects to Monitor

Again this is an old article that did not get migrated over to this new site.

I am always surprised at how many senior engineers do not understand how to use the Windows Server built-in Performance Monitor to determine hardware, software, network bottlenecks...or that have never even used it.  

First thing to remember, is that while you are running Performance Monitor that will cause a performance hit to your server too.  Now, obviously you do need to run it to create a good baseline to compare against, and to troubleshoot...but you should just perform short captures of less than 30 minutes if possible, during times not used, then average use, then peak times or with forced hits. 

Below is the baseline object counters that I always start with, then I eliminate different Performance Objects one by one, by their results, until I have just 2 or three that I have narrowed it down to.  I suggest you create a baseline like this and save it locally so the next time you need to capture you can do so very quickly by just opening and starting it.  I have had this baseline for literally years, I am sure I probably got it from a Microsoft white paper, but can't remember where.

Start - Run - type Perfmon   or

Start  - Administrative Tools - Performance - System Monitor. You have 3 display formats; graph, histogram and text report.

Adding Performance Counters

  • Right click the counter pane and select Add Counter
  • Select whether you are monitoring the local computer counters by selecting Use local computer counter option or another remote computer by selecting Select counter from computer option by providing the UNC path
  • Select from the Performance object drop down list
  • Select the counter, these are different according to the selected performance object
  • Click Add to add it in the System monitor
  • Click Explain button if you need more details about the counter

Performance Object

Count

Threshold

Description

Processor

Percent processor time_total

80 to 85 percent averaged over three intervals

The total percentage of processor usage for a server.

Network Interface

Bytes total per second_network interface

50 percent of the available network interface bandwidth -- for example, a 100-MB network interface running at 50,000 KB per second

The rate at which bytes are sent and received over each network adapter.

Logical Disk

Percent idle time_ (drives C:,D:, and so on)

20 percent over idle time_.

Reports the percentage of time during the sample interval that the disk was idle. If this value is very low, the logical disk is very busy.

Paging File

Percent usage

Above 70 percent

Review this value in conjunction with memory -- available megabytes and page faults per second -- to understand paging activity on the server.

Memory

Available MBs

128 MB -- assuming 2 GB of RAM as prescribed on servers

The amount of physical memory, in MBs, immediately available for allocation to a process or for system use on the server.

Memory

Page faults per second

20

A high rate of page faults indicates a lack of physical memory.

System

Processor queue length

The number of CPUs + 1

Exceeding the threshold indicates that the processors are not fast.

ASP.NET Applications

Requests per second_total

Through ongoing monitoring, trends begin to emerge that equate requests per second with CPU consumption

The number of requests executed per second; this roughly equates to the number of HTTP pages per second.

Disk

Physical Disk\% Free Space

15%

Disk

Logical Disk\% Free Space

15%

Disk

Physical Disk\% Disk Time

90%

Disk

Logical Disk\% Disk Time

90%

Disk

Physical Disk\Disk Reads/sec, Physical Disk\Disk Writes/sec

Depends on manufacturer's specifications;15,000 RPM vs 10,000 RPM, etc.

Check the specified transfer rate for your disks to verify that this rate does not exceed the specifications. In general, Ultra Wide SCSI disks can handle 50 to 70 I/O operations per second. Note that whether or not the I/O is sequential or random can have a strong impact on values for disk reads/sec and disk writes/sec.

Disk

Physical Disk\Current Disk Queue Length

Number of spindles plus 2

This is an instantaneous counter; observe its value over several intervals. For an average over time, use Physical Disk\Avg. Disk Queue Length.

Memory

Memory\Available Bytes

For larger memory computers, greater than 4 MB

Research memory usage and add memory if needed.

Memory

Memory\Pages/sec

n pages/sec per pagefile

Research paging activity. Note the amount of I/O going to the disks with pagefiles.

Paging File

Paging File\% Usage

Above 70%

Review this value in conjunction with Available Bytes and Pages/sec to understand paging activity on your computer.

Processor

Processor\% Processor Time

85%

Find the process that is using a high percentage of processor time. Upgrade to a faster processor or install an additional processor.

Processor

Processor\Interrupts/sec

Depends on processor; 1,000 interrupts per second is a good starting point

A dramatic increase in this counter value without a corresponding increase in system activity indicates a hardware problem. Identify the network adapter, disk, or other hardware causing the interrupts.

Server

Server\Bytes Total/sec

If the sum of Bytes Total/sec for all servers is roughly equal to the maximum transfer rates of your network, you may need to segment the network.

Server

Server\Work Item Shortages

3
If the value reaches this threshold, consider
adding the DWORD entries InitWorkItems
(the number of work items allocated to a
processor during startup) or MaxWorkItems
(the maximum number of receive buffers that
a server can allocate) to the registry (under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\LanmanServer\Parameters). The entry
InitWorkItems can range from 1 to 512 while
MaxWorkItems can range from 1 to 65,535.
Start with any value for InitWorkItems and a
value of 4,096 for MaxWorkItems and keep
doubling these values until the Server\Work
Item Shortages threshold stays below 3.

Server

Server\Pool Paged Peak

Amount of physical RAM

This value is an indicator of the maximum paging file size and the amount of physical memory.

Server

Server Work Queues\Queue Length

4

If the value reaches this threshold, there may be a processor bottleneck. This is an instantaneous counter; observe its value over several intervals.

Multiple Processors

System\Processor Queue Length

SharePoint Performance Limits

I wrote this article over a year ago, but many of my old posts are missing from this new blog location.

Below are all of the SharePoint 2007 performance guidelines post SP1 summarized.  Note not all of these are "limits" but many are just suggested thresholds by Microsoft. Referenced Material: http://technet.microsoft.com/en-us/library/cc262787.aspx

  • SSP Shared Service Providers   · 3 per Farm sugg, 20 max
  • Zone   · 5 per Farm
  • Web Application   · 99 per SSP
  • IIS Application Pool  · 8 per Web Server
  • Site Collection   · 50,000 per Web Application
  • Site Collection   · 50,000 per Content Database
  • Site Collection   · 150,000 per Web Application * if spread across multiple Content DB
  • Content Database   · 100 CDB per Web Application
  • Index Servers   · 1 per SSP
  • Excel Calculation Services/Apps   · No Limit
  • Query Servers   · No Limit
  • Web Server/Database Server Ratio   · 8 Web Servers per Database server
  • Web Server/Domain Controller ratio   · 3 Web Servers per Domain Controller
    • however Microsoft is ASSUMING that your current DC are following their Guidelines for DC Capacity Planning recommendations according to those best practices of aproximately 1 DC per 10,000+ users.  Most customers have MANY more DCs than they should have, because they don't do proper DC capacity planning.
  • Web Site   · 250,000 per site collection
  • Subsite   · 2,000 per Web Site
  • Documents   · 5 million per library (sugg < 2,000 per Folder, Folders not nested too deep)
  • Document file size   · 2 GB  * the limit is NOT 50MB that is simply the "default" setting, most customers change this to 2GB
  • Item   · 2,000 per View
  • List   · 2,000 per Web Site
  • Field Type   · 256 per list
  • Column   · 2,000 per Document Library
  • Column   · 4,096 per list
  • Web Part   · 50 per page
  • Content Query,Cross List Web Parts
  • limit of 1,000 cross lists to query however, this IS over-ridable at the command level
  • Managed Paths   · 20 per Web Application
  • User in groups   · 2 million per Web Site
  • User Profile   · 5 million per farm
  • Security Principals   · 2,000 per ACL on any object
  • Search Indexes   · 1 per SSP
  • Search Indexes   · 20 per Farm
  • SSPs   · 20 SSPs per Farm
  • Indexed Documents   · 50,000,000 per Content Index
  • Content Sources   · 500 per SSP
  • Start Addresses   · 500 per content source
  • Alerts   · 1,000,000 per SSP
  • Scopes   · 200 per site
  • Display groups   · 25 per site
  • Crawl rules   · 10,000 per SSP
  • Keywords   · 15,000 per Site
  • Crawled Properties   · 500,000 per SSP
  • Managed Properties   · 100,000 per SSP
  • Authoritative Pages   · 200 per relevance level
  • Results removal · 100 during one operation
  • Crawl Logs   · 50,000,000 individual log entries

Microsoft Best Practices:

  • Separate NICS to handle inbound and outbound traffic. 
  • Use Gigabit NICs with sefl-switching cards set to over-ride to use 1 Gigabit. 
  • If using a Gigabit switch ensure the same number of inbound/outbound channels.
  • All front end servers should have LAN bandwidth and latency to the SQL back end server up to 1 millisecond latency. 
  • Custom Coding: No more than 2-3 SQL round trips. 
  • Consider moving the SSP databases onto a different physical database server.
  • Always use 15,000 RPM disks where possible.
  • Segregate the configuration database and content databases into different SCSI disks in a RAID 5.
  • Segregate search databases, temporary databases, and temporary database logs onto different high-speed SCSI disks in a RAID 10.  Add additional drives to the disk array to increase total I/O.
  • Defrag databases and drives on a regular basis.    
  • Build a temp data file for each processor core on the server.
  • WSS & MOSS are CPU intensive. Use 64bit 4 multi-core processors
  • · Implement a caching strategy, or distribute databases across multiple physical servers. 
  • · TTL issues: Keep Page download size small.
  • · Use 64bit OS and 8-16 GB RAM
  • · Exclude SQL databases files from antivirus software scans.

1/17/2009 8:03 PM