Tuesday, November 8, 2011

SharePoint Tip: Common error when creating Project Web Database site

Thought I could share this one. I was creating a SharePoint 2010 Project Web database subsite and was faced with an error message "The formula contains a syntax error or is not supported."

Monday, August 29, 2011

SharePoint 2010 People Search: Did you know that....

After configuring User Profile Synchronization, I found that SharePoint People Search could still not work as the the content source for the user profiles was being denied access.

Wednesday, August 17, 2011

SharePoint Collection Enumeration: Did you know that....

This one time I was trying to programmatically modify an SPListCollection, and I stabled into the error "Collection was modified; Enumeration operation may not execute". This error came about during the code block that looped through the SPListCollection and attempting to update the collection.

Friday, July 1, 2011

SharePoint Lookup Fields: Did you know that....

This one time I was trying to figure out why every time I created a SharePoint lookup field, be it programmatically or via the UI in SharePoint 2010 and 2007, which looks up to another SharePoint list field, it would always have a value "none" in it when in use. So now I really wanted to eliminate that value...

Monday, May 23, 2011

SharePoint Alerts: The default 9 "Send Alerts for These Changes " Task List Alerts

Hello folks.

Once upon a time, I was trying to create SharePoint Task list Alerts programmatically for each user that had been granted permissions to the specific site. The requirement was that these users would be assigned tasks and they needed to receive notifications summarising all the tasks that they had been assigned, on a daily basis.

Thursday, May 5, 2011

SharePoint: Did you know that......CAML Query OrderBy not working???

So this one time I was creating a SharePoint view programmatically, whose items I wanted to be ordered as "Most recent item must be top". This meant ordering by the "Created" column in descending order.

So I used the following query:

Tuesday, April 26, 2011

SharePoint 2010 Search: Does not work when I’m offline…oh now it does!!!

Normally, for Specialists that are installing their SharePoint 2010 Demo environments, so as to demonstrate custom solutions to clients, they usually do their installations onto their machines (Laptops) that in most cases are connected to their company domains. So what happens when the Specialist goes home or is at a client site is that, their SharePoint 2010 Search fails to return any results, and the wonder why this is so when not only are there no errors being registered but they also have full permissions on anything they can think of, after all, they did the installation themselves using an account with admin privileges. ;)

Monday, April 11, 2011

SharePoint 2010: Did you know that......Taxonomy feature?

Recently, a lot of people have been faced with the Taxonomy error message that says "The Taxonomy feature (Feature ID “73EF14B1-13A9-416b-A9B5-ECECA2B0604C”) has not been activated" and they wonder why this is so when their installation is so clean, both on site collection features and site features, this Taxonomy feature is not listed, and the administrator ends up activating it via STSADM.

Did you know that creating a BLANK SharePoint site collection does not activate the Taxonomy feature? well now you know :), so that you can now include this step in your deployment documentations.

Thursday, March 17, 2011

SharePoint Tip: Did you know that…..in SharePoint Content types?

When creating SharePoint site columns and adding them to content types programmatically, we normally commit out changes by calling the update function in the syntax:-


Did you know that on the site content type you are updating, this function does not tick ‘Yes’ on the “Update all content types inheriting from this type?” but leaves it tick as ‘No’ as seen below, did you know? I didn’t.


So now for this option to be tick ‘Yes’, you would have to call the same function, but this time pass the boolean as follows:-


Please take note that I would have already declared ‘ContentType’ as SPContentType of course.

Happy coding!

Tuesday, March 8, 2011

SharePoint: How to create a custom action to open Word Documents using "Edit in Microsoft Word".

Imagine you have a SharePoint custom search webpart, and on your search results, you return word documents, you will obviously want to at times be able to open them in your MS Word client program for editing.

So basically, depending on your office client installed on your local machine, there are 2 different approaches that can be made for Office 2003 and Office 2007/10, using the same function "

For Office 2003:

- If your document libraries versioning settings have got "Require Check out" ticked, then you will first want to check out the document using:

onclick="CheckoutviaXmlhttp(‘{SiteURL}’, ‘{DocumentDownloadURL}’)"

- Then to open the document, you use:

onclick="return editDocumentWithProgID2(‘{DocumentDownloadURL}’, ”, ‘SharePoint.OpenDocuments’, ’1′,’{SiteURL}’, ’0′);" href="#"

- and now combining the above 2 actions into one clickable action:

onclick="CheckoutviaXmlhttp(‘{SiteURL}’, ‘{DocumentDownloadURL}’); return editDocumentWithProgID2(‘{DocumentDownloadURL}’, ”, ‘SharePoint.OpenDocuments’, ’1′,’{SiteURL}’, ’0′);" href="#"

For Office 2007/10:

- Again if your document libraries versioning settings have got "Require Check out" ticked, this line will do it all, i.e. check out and open the document:

onclick="editDocumentWithProgID2('{DocumentDownloadUrl}', '', 'SharePoint.OpenDocuments', '1', '{SiteUrl}', '0')" href="#"

- Note that the variable "1" means that the document is being opened in Edit mode. If you change it to 0, the document would open in read-only mode.

Happy Coding!

Sunday, January 30, 2011

How to document your SharePoint Projects.

Here are the essential documents you need to complete…


Business Case: To justify the financial investment in your SharePoint Project, you need to write a Business Case. It lists the costs and benefits, so everyone knows what the return on investment will be.

Feasibility Study: Before you kick-off your SharePoint Project, you need to determine whether your project is feasible, using a Feasibility Study.

SharePoint Project Charter: You then need to document the objectives, scope, team, timeframes and deliverables in a SharePoint Project Charter.


SharePoint Project Plan: You need to create a Project Plan listing all of the tasks required to undertake your SharePoint Project from start to finish. Every task must be scheduled, so you know what needs to be done and when.

Resource Plan: Next, you need to plan your resources by documenting the money, equipment and materials needed for your SharePoint Project.

Quality Plan: You then need to set quality targets, so that the SharePoint Project deliverables meet the expectations of your customer.

Risk Plan: All of the risks need to be documented and their likelihood and impact on the SharePoint Project identified.

Communication Plan: You need to plan your communications, so that you send the right messages to the right people, at the right time.


Time Management: You need to use Timesheets to track time spent on your SharePoint Project. Then update your Project Plan with your Timesheet data to see whether your SharePoint Project is still within schedule.

Cost Management: Track your costs using Expense Forms. Every expense is formally logged and approved, so that you can confirm at any time that you are currently under budget.

Change Management: Document each change to the SharePoint Project scope, using Change Forms. You can then control change to ensure your SharePoint Project is always on track.

Risk Management: Use Risk Forms to document each risk to the SharePoint Project. You can then manage SharePoint Project risk carefully to ensure that nothing happens that will affect the project schedule or budget.

Issue Management: As each issue occurs on the SharePoint Project, you need to investigate its impact on the SharePoint Project and then write it up on an Issue Form. You can then kick off the tasks needed to resolve it quickly.


SharePoint Project Closure Report: When your project is complete, document all of the actions needed to close the SharePoint Project properly. This includes releasing teams and suppliers, equipment and materials.

Post SharePoint Project Review: And after your SharePoint Project has been closed, you can review its success and document the results for your sponsor. That way, you can show that all of the objectives were met and that the SharePoint Project was delivered on time and within budget.

And there you have it. By completing each of these documents for your SharePoint Project, you can boost your chances of success.

Thursday, January 13, 2011

The search application for 'SharedServices' on server [SERVERNAME] is not provisioned.

Happy New Year All,

I stumbled into an error "The search application for 'SharedServices' on server [SERVERNAME] is not provisioned. Confirm that the Windows SharePoint Services Timer service and Windows SharePoint Services Administration service are running on the server" when I tried to open search settings from my SSP site.

After some little reasearch on the Internet, I came to find that most likely the config database cache was corrupt, and to resolve this, I had to clear the cache.

So here is how I went about it:

1. Central Administration > Operations > Global Configuration > Timer job definitions > Application Server Administration Service Timer Job > Disable.

2. Then open windows administrative services (services.msc), stop Windows SharePoint Services Timer (aka OWSTIMER)

3. Navigate to C:\ProgramData\Microsoft\SharePoint\Config\GUID and delete only the XML files from the directory, then open the cache.ini and change the number in it to 1.

4. Start the OWSTIMER and give it a few seconds so that the new XML files from the location you deleted then are re-populated.

5. Central Administration > Operations > Global Configuration > Timer job definitions > Application Server Administration Service Timer Job > Enable.

and your search settings should now be accessible.

Thanks to Joe Rodgers for pointing me in the right direction.