After 4 years of MVP status in .NET/C#, Microsoft was kind enough to award me MVP status in SharePoint Server category, for my participation and “work” in online communities – newsgroups, blogging, “SharePoint Tips” site, publishing and speaking.
It was very tough to get into SharePoint category, and I was not sure if I will be re-awarded till the very last day, because:
- changing MVP area was always hard (actually it took almost 2 years to achieve it, big thanks to my MVP leads)
- SharePoint product team is not interested in new MVP members, but they considered me the right person, for some reasons :)
So, it my 5th year of MVP and 1st as SharePoint Server MVP!
Zoho.com has been provided the most comprehensive suite Productivity, Collaboration and Business online tools last 3 years. I started using Zoho from year 2007 and was impressed by the features they provided. I switched to Zoho to do all my publishing work there - articles, presentations, notes.
But that is not all. Zoho has really really killing feature - integration. You can integrate Zoho with Microsoft Office and other applications, that allows you to use Word, Excel locally, but collaborate via Zoho servers. Really great stuff.
Couple of weeks ago Zoho released "Zoho for SharePoint" feature, that allows you to use Zoho directly from SharePoint - you can edit document libraries in Zoho, or create new documents via Zoho that will be uploaded to libraries automatically and etc. This is really powerful feature when you don't have Offlice client application installed, or you have collaborative site, when uses work on document together.
Just check screencast on their site for quick overview of all functionality http://www.zoho.com/sharepoint/
Last 2 months I've been working on the site to host all my "SharePoint Tips and Tricks" and it has been released recently.
And now...welcome to http://SharePoint-SandBox.com, the new place for our tips series, where all tips have been organized in categories, and properly tagged. We provide RSS and Twitter (@sharepointbox) updates for our tips.
On the current blog I will continue blogging about SharePoint, and announce new SharePoint tips, but all tips will be published on SharePoint SandBox site
As you might already know, couple of weeks ago I published series of articles “SharePoint Farm Deployment and Configuration” in SharePoint Magazine (6 articles). Everything was fine with all articles except the “Part 2” that shacked the SharePoint community and caused uproar:)
In this post I’d like to say my sorry for that incident and explained in details what exactly happened.
There are 6 articles I started to write in the end of 2008 and they were queued in March 2009 for publishing. After that articles were reviewed by several guys, changed and published in June 2009. Unfortunately, the “part 2” was not updated since December 2008, and that very early draft version was published accidently :( That version was a bit messy – a lot of copy-pasting issues with the wrong section titles, wrong references, and some stuff were not elaborated properly. And it’s when discussion started :) Let’s say people where really surprised to read that bullshit.
Unfortunately, I had limited internet access at those days and everything I saw were comments that I got by email. I was a bit confused by people reaction, because I had no idea that wrong articles had been published. In a couple of days that “draft-version” mistake was noted and fixed by uploading the right version of article.
This is happened only to the Part 2, but not to others five articles in that series
The learned lesson is that you need to be double careful when publish articles, and be online in the next couple of days after articles been published.
Sometimes you have a already created site but wanted to know the site definition of that site, or gets the name of the site definition from which the site template that was used to create the site is derived. There are several steps to get that template
- Navigate to the “Central Administration –> Application Management –> Site Collection List” and choose the site you are trying to find the template for
- Write down site "Title” and “Database name” values
- Open SQL management studio and execute the following query for content database that you find from previous step
1: SELECT Title, WebTemplate,ProvisionConfig
2: FROM dbo.Webs
3: WHERE Title = '<title of your site>'
- Write down the number in “Web Template” column
- Navigate to this site http://blumenthalit.net/blog/Lists/Posts/Post.aspx?ID=45 and find definition is associated with that ID
That’s all.
The second way to get it is via SharePoint API SPWeb.WebTemplate property. Sample is there
Have anything to add?! Send your tips to be published via this form.
Almost all changes that developers and administrators introduce to SharePoint are completed via “jobs” mechanism of SharePoint (Central Administration –> Operations --> Timer Job Definitions). Your changes are queued and SharePoint complete them when “job” time comes. It might be a bit frustrating, because all jobs have different timing and SharePoint doesn’t provide you UI to change when jobs start.
The only way to change when job starts is using STSADM – ether running all jobs immediately, or rescheduling number of jobs to start earlier. Unfortunately, you can’t start/stop specific job.
Start Job Immediately
STSADM provides you command to restart all jobs immediately. In can be useful when you script your actions and want some actions to be run in the specific order. Use the following command for this
stsadm -o execadmsvcjobs
Take into account that without this command you can’t guarantee that something is completed before you start another command, because all commands run asynchronously.
Jobs re-scheduling
You can change the interval when some job starts, using in the following format “[Time frame] [Interval] between [value] and [value]”, where internals samples are: "every 10 minutes between 0 and 59", "hourly between 0 and 59", "daily at 21:00:00"
Use stsadm |find “schedule” to get the list of the jobs to reschedule, and use the following command
stsadm -o <job> -schedule "<interval>"
Source
Have anything to add?! Send your tips to be published via this form.
Virtualizied environment is very common for SharePoint farm. One of the most important factor of such farms is optimization that differs slightly from optimization of the physical environment . But firstly, we need to know how good our farm operates, measuring different parameters, before trying optimized it.
Consider to use use the following performance counters to measure the most important parameters that affect performance:
- Processors utilization
[Host]: “\Processor(*)\% Processor Time”
[Host] [Guest]: “\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time”
Results: <60% healthy, 60%-89% warning, >90% – critical performance;
- Memory performance
[Host] [Guest]: “\Memory\Available MBytes” will show the amount of physical memory available to processes running on the computer, as a percentage of physical memory installed on the computer
Results: (free memory available): >50% healthy, 10% warning, <5% critical
[Host] [Guest]: “\Memory\Pages/sec” - the rate at which pages are read from or written to disk to resolve hard page faults. To resolve hard page faults, the operating system must swap the contents of memory to disk, which negatively impacts performance. A high number of pages per second in correlation with low available physical memory may indicate a lack of physical memory
Results: <500 healthy, 500-1000 warning, >1000 critical
- Disk Performance
[Host] “\Logical Disk(*)\Avg. Disk sec/Read” or “\Logical Disk(*)\Avg. Disk sec/Write” to measure disk latency
Results: < 15ms healthy, 15ms-25ms warning, >25ms critical.
Don’t forget to measure performance of logical disk versus physical
- Network Performance
[Host] “\Network Interface(*)\Bytes Total/sec” will provide the percentage of network utilization is calculated by multiplying Bytes Total/sec by 8 to convert it to bits, multiply the result by 100, then divide by the network adapter’s current bandwidth.
Results: <40% healthy. 40%-65% warning, >65% critical
[Guest] “\Network Interface(*)\Output Queue Length” measures the number of threads waiting on the network adapter.
Results: 0 is health, 1-2 is warning and >2 is critical
-
[Host] [Guest] Free disk spaces – have enough available space to avoid SharePoint move and delete temporary files, what could affect the performance. SharePoint uses additional space for for caching and other internal processes.
Result: >25% is healthy
Sources: 0, 1, 2, 3, 4, 5
Have anything to add?! Send your tips to be published via this form.
SharePoint Site Template has one very handy feature – it can be registered inside a Site or you can restrict certain sites to use only certain templates.
It’s obvious how to do this for site collection, because UI provides you specific links, but it’s a bit tricky to assign templates for a Site, so do the following:
1) Upload an existing site template to the site template gallery (Site Settings –> Modify All Site Settings –> “Site Templates") link under the "Galleries" section. Alternatively, you may also use the “stsadm -o addtemplate” command.
The next step is registering uploaded template available to individual sites. (for example Site A can use template X, but Site http://A/B can use only template Y)
2) Open the following link in browser http://<yoursiteurl>/_Layouts/AreaTemplateSettings.aspx Take into account that there is no way to get to this link via UI. For site collection you are using Site Sections –>”Page layouts and site templates “ under “Look and Feel”, but for Site you need to use hardcoded URL
3) Pick the templates you want to be available for this site

Source
Have anything to add?! Send your tips to be published via this form.
SharePoint provides you a nice feature to save you site as template and install it easily on another instance of SharePoint.
But have you noted that for Publishing sites you don’t have “Save site as template option” option?! (located before “Reset to site definition”)
Unfortunately, such functionality is unsupported for all Publishing SharePoint sites, because it quite potential can cause issues with some features and master pages - “instance of master pages and style sheets stored at site collection level won't be included in the template, but are expected by the publishing site when you would create it based on the template”
Actually, the direct link is not removed (/_layouts/settings.aspx">http://<site>/_layouts/settings.aspx) and can be used for simple publishing sites without any issues, but this is not recommended and officially unsupported solution.
Source
Have anything to add?! Send your tips to be published via this form.
Sometimes, you may find that you get “HTTP 400 Bad Request” error, or “HTTP 401.1 - Unauthorized: Logon Failed” error when navigate to local SharePoint sites and asked for credentials tree times.
This mostly happens for Web sites that use Integrated Authentication and have a name that is mapped to the local loopback address. More details in KB896861.
Such situation is “behavior-by-design” and caused by Windows security updates, when authentication fails if the FQDN (fully qualified SND name) or the custom host header does not match the local computer name.
Solution: run REGEDIT and create DWORD “DisableLoopbackCheck” equal “1” in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.
PS: I actually had all my sites inaccessible after bunch of security updates on Windows 2008 before and after installing SharePoint SP2.
Source
Have anything to add?! Send your tips to be published via this form.
My 6 series of “SharePoint Farm configuring and deployment” article has been published in SharePoint Magazine.
SharePoint provides you several navigation providers to be used for you sites.
There are 5 WSS navigation providers:
- SPNavigationProvider
- SPSiteMapProvider
- SPContentMapProvider
- SPXmlContentMapProvider
- SPXmlAdminContentMapProvider (via Central Administration)
and 10 MOSS providers
- AdministrationQuickLaunchProvider
- SharedServicesQuickLaunchProvider
- GlobalNavSiteMapProvider
- CombinedNavSiteMapProvider
- CurrentNavSiteMapProvider
- CurrentNavSiteMapProviderNoEncode
- MySiteMapProvider
- MySiteLeftNavProvider
- SiteDirectoryCategoryProvider
- UsagePagesSiteMapProvider
The full description and summary info about these providers can be found in this post
SharePoint provides OOTB support for document versioning, allowing user to check-in/check-out files, and keep history of changed documents. But unfortunately, versioning system doesn't provide inbuilt method to find these all check-out items made by users.
For some administrative task and farm maintenance it's recommended to have all files to be check-in before making changes. And this task became daunting task for administrators, because you need to check all site collection and list collections manually via SharePoint interface , to check-in user files.
The way to get the list of all check-out files across specific site is to use the following SQL script for SharePoint AdminContent DB
1: SELECT tp_DirName, 'http://SiteName/' + tp_DirName AS Expr1, tp_LeafName,
2: CASE WHEN AllUserData.tp_ContentType = 'Item' THEN 'http://SiteName/' + AllUserData.tp_DirName + '/DispForm.aspx?ID=' + AllUserData.tp_LeafName ELSE 'http://SiteName/'
3: + AllUserData.tp_DirName + '/' + AllUserData.tp_LeafName END AS Link, tp_ContentType, nvarchar1, nvarchar2, tp_ModerationStatus, tp_DeleteTransactionId,
4: tp_IsCurrent
5: FROM AllUserData AS AllUserData
6: WHERE (tp_ModerationStatus = 2) AND (tp_DeleteTransactionId = 0x0) AND (tp_IsCurrent = 1)
7: ORDER BY tp_DirName, tp_LeafName
Source
Have anything to add?! Send your tips to be published via this form.
Introduction
This guideline provides detailed overview of System.Web assembly and the new classes and methods in ASP.NET 4.0, which were released with Visual Studio 2010 Beta1.
Document is subject to change – we are trying to find detailed information about all new stuff and update description column. Send us your comments and suggestion via this online form.
Description
ASP.NET 4.0 introduces several changes to the web assemblies and also merges several dlls that existed in .NET 2.0 - 3.5 SP1. For example, new features from ASP.NET 3.5 System.Web.Abstractions.dll and System.Web.Routing.dll are merged with System.Web.dll, under System.Web namespace.
Changes
Beta1 of ASP.NET 4.0 introduced 27 new classes/interfaces/enums and 22 modifications of the existing ASP.NET 3.5 SP1 functionality.
Take into account, that Beta1 doesn’t provide the complete list of the new features – they can add new stuff or remove existed one prior to the final release.
The latest document version is available there http://tinyurl.com/qr583j (PDF file)
Historically, SharePoint 2007 provides a nice feature called Explorer View (came from 2003 version) that simplifies document management - like upload, delete, and copy items across different Document library, using drag-and-drop feature.
There is a document, called “Understanding and Troubleshooting the SharePoint Explorer View” that describes the most common issues of why Explorer View might not work correctly. Unfortunately, not all scenarios are covered there.
One of the issues is that you might find drag-and-drop disabled in Explorer View – you just can’t move files across. A bit nasty issue, because Ctrl-C/V still works :)
The solution is to check that you have sufficient permissions for the Temporary Internet Files folder for the BUILTIN\Network Service account. This account must have read and write access to this folder to successfully complete a drag-and-drop operation.
Have anything to add?! Send your tips to be published via this form.
Are you a big fun of CodeSmith tool?! If yes, then you will find the blog post from Waldek Mastykarz very attractive, because we is offering a set of CodeSmith templates to automate some coding stuff for SharePoint.
The following templates are available for download:
- Generates the ContentTypeBinding element for the given Content Type and List
- Generates Page Layout for the given Content Type
- Generates wrapper class for the given Content Type so that you can reference all fields from that Content Type using code with intellisense instead of fiield names
- Generates ElementFile element for every file in the given directory and its subdirectories. Extremely useful for Features like branding where you have to provision many different files using a Feature
- Generates contents of a Feature Element Manifest (commonly named as Elements.xml or ProvisionedFiles.xml).
Really good stuff, because CodeSmith community didn’t provide any SharePoint templates before
SharePoint provides you two approaches to design and deploy WorkFlows - via SharePoint Designer(SPD) and using Visual Studio. But you should be aware that deployment of WorkFlows has some differences in the security model that might cause you permissions issues.
SharePoint has its own security model to resolve the user's windows identity for all activities. It uses either IIS application pool user or the WSS Timer user for scheduled stimulations. Such behavior is the same for both Visual Studio and SharePoint Designer workflows, when actual windows identity doesn't matter.
There are two differences in the resolving SPUser name, when you deploy WF from Visual Studio and SharePoint Designer:
- Visual Studio developed Workflows are deployed at the server level, run under the System Account. They do not require any
permissions by the user/initiator of the workflow.Also these workflows
are strong named and placed in the GAC. The actual SPUser user name come from SPWorkflowActivationProperties, which is System Account.
- SharePoint Designer developed workflows (or usually called ‘Declarative’ workflows) have only the permissions that the initiator has. Any actions that the workflow needs to perform will inherit the permissions of the initiator and NOT the System account. The SPUser get from the WorkflowContext.Site object, that impersonated to the workflow's author, the
user who started the workflow.
Sources: 1, 2
Have anything to add?! Send your tips to be published via this form.
In these days, after Microsoft releases Service Pack 2 for the WSS and MOSS (SharePoint 2007 SP2) I've seen number of issues when people tried to update their environment to SP2. There are no issues when you update clean environment, but for customized application there are few things you should be aware about.
I’ve seen number of the following exceptions like this one
[SPDatabaseGbwSequence] [ERROR] Upgrade object too new (build version = 12.0.0.6341, schema version = 2.0.0.0). Current server (build version = 12.0.0.4518, schema version = 3.0.1.0).
when they installed SP2 and run Configuration Wizard.
This error tells you nothing what relates to the actual problem. You could think that you installed any hotfixes that changed your database schema or content database might be not in right state. I had the same thoughts but this didn't help at all.
The root of the problem lies in other side.
Investigating this issue I found that free SharePoint template from Microsoft cause you such issue, especially GroupBoard one. If you have this template installed - that's the problem, because it interacts with the database schema and doesn't allow SharePoint SP2 to be installed.
Solution:
- Uninstall GroupBoard template
- Install SharePoint SP2
- Install GroupBoard template.
It's a funny thing, that this issue was originally described
in German TechNet article - scroll to the very bottom and you will find that exception and description. But this didn't propagated to the english version (switch to eglish version on the top of the page, and you can't find this error)
Lightning Tools released the Web Part, which allows you to connect to database directly, without using BDC. Having direct access to tables, stored procedures is that functionality with WSS and MOSS Standard didn’t have and a lot client suffered from that, developed their own solutions.
Now LT Data Viewer Web Part provides you all necessary information
The Lightning Tools Data Viewer Web Part can save you time and money as it stops the need for developers to write custom code and allows your end users to easily display and format the data they need to see.
The LTDVWP provides the following benefits:
1. No need for SharePoint Designer. The LTDVWP is configured within the browser.
2. Allows for Integrated Security or provided Username and Password
3. Allows for connection to SQL, Oracle and Access (accdb & mdb) via the configuration of properties. (No need for Connection Strings)
4. Connect directly to Tables/Views and Stored Procedures
5. Supports Aggregate Functions such as Count, Min, Max, and Sum
6. Allows for Conditional Formatting on Cells or Rows
7. Filtering of data
8. Caching of Data
9. Update, Delete, and Insertion of Data
10. Web Part Connections
SharePoint development relies on “12-hive” folder and each who writes code for SharePoint uses that folder intensively. SharePoint uses that folder to store features, log, content types are other stuff.
12 hive folder structure is not private and you can find full description all folders in google, the core folders you should know about are the following:
- \ADMISAPI - The directory contain the web service used used by the SharePoint Central Administration and appears as a virtual directory.
- \BIN - The directory contains all the core binary files, utilities that are used by Windows SharePoint Services. Your command line tools such as STSADM.EXE reside in this folder
- \BIN\LCIDD - A directory will be created for each language will be created that contains language specific binary files.
- \CONFIG - This directory contains a set of configuration, binary and resource files used by SharePoint. Some files are the default values which will be copied to web site instances.
- \DATA - SharePoint uses this directory structure for the indexing services where content will be indexed.
- \HCCab\LCID - This directory has a set of cab files containing manifest and content information used by the SharePoint help sytem
- \HELP - The folder contains a compiled html help file (.chm) used by the configuration wizard.
- \ISAPI - This directory contains all the standard Web Services for SharePoint and some additional DLL’s, resources and configuration files that the web services use. Every web application provisioned in SharePoint will have a virtual directory strong>/_vti/_bin that points to this directory, thus giving each web application it’s own set of web services.
- \ISAPI\HELP - This directory contains all the help files used by SharePoint. The folder also contains LCID sub directories for each language installed thus globalising the help system.
- \LOGS - This is the directory that you will visiting frequently whilst doing development and administration as it contains the log files of what SharePoint did and what errors occurred.
- \RESOURCES - This directory contains the core.resx file used for creating language packs for SharePoint. If you are going to be localising your SharePoint sites with different languages and cultures, this is the folder to do it in.
- \TEMPLATE - This directory structure contains the core web site functionality in SharePoint, that is the features, templates, configurations, resources of a web site. What is important to note about this directory structure is that the Virtual Path Provider hides and masks this directory structure, thus it appears under each web site, list in a completely different structure.
Source
Have anything to add?! Send your tips to be published via this form.
More Posts
Next page »