|
Shereen Qumsieh Profile |

|
| Blog Title |
SharePoint Fun2 |
| Blog Description |
Developer's blog related to ASP.NET, SharePoint and Telerik Web Controls |
| Blog URL |
http://blog.qumsieh.ca |
| RSS Feed |
http://blog.qumsieh.ca/feed/ |
| Validate Feed |
Validate this feed: feedvalidator.org or validator.w3.org |
| Feed Last Checked |
Feb 22, 2012 7:07:38 PM EST. |
| Realtime Update |
|
| Landed Here |
Jan 26, 2009 |
| Location |
Vancouver, Canada |
| Posts: # / 1st / Latest |
72 - Jan 06, 2009 - Jan 27, 2012 |
| Total Hits |
3,795 |
|
SharePoint Designer Workflow Pause Until Date Change
Shereen Qumsieh So what happens when you’ve built out a SharePoint Designer workflow with a Pause Until Date activity, and then the date changes on you? Obviously, we want to the workflow to handle this situation and update the Delay logic accordingly.
Scenario
Let’s assume we have a Date Received column. After 2 weeks of initial item creation, we want to send a reminder notification to the user. So based on the value of Date Received column, add 14 days, and if Today matches that value, then send a [read]. Posted: Fri, Jan 27th '12 |
Why Don’t You Use InfoPath?
Shereen Qumsieh I get asked this question a lot.
Hey Shereen, Why don’t you use InfoPath more often in your projects?
To which I often reply, it’s the 80/20 rule. InfoPath doesn’t get me all the way there, and to invest that much time and effort only to hit some project impeding roadblocks is not a conversation I like to have with our clients. It’s not fun, no one enjoys explaining why you CAN’T do something, because when it all boils down, clients are only interested in the soluti [read]. Posted: Mon, Jan 23rd '12 |
Connection To Content Distributor Could Not Be Validated
Shereen Qumsieh If you’ve read my previous posts on FAST Search in SharePoint 2010, you’ll be familiar with my article where I describe the issues I had with the Content Distributor ports for FAST.
My initial research into this issue let me to the following blog: http://fastforum.info/viewtopic.php?f=6&t=223.
Basically the users commenting in this thread talk about an inconsistency between the Install_Info.txt file and the ContentDistributor.cfg file in terms of the port number which is set to [read]. Posted: Fri, Nov 18th '11 |
I’ll be at SharePoint Conf 2011 in Anaheim
Shereen Qumsieh I’m really excited to be down at SP Conf 2011 this year, along with my fellow colleagues @c0deNinja and @matthewcarriere.
We’re particularly eager this year because we’ve been working hard on the launch of our SharePoint line of add-ons: www.blackninjaparts.com. We’ve officially gone live today, just in time for SP Conf and we’ve got some super awesome t-shirts to give away throughout the week. You’ll see a few of us wearing them, so don’t hesitate to st [read]. Posted: Mon, Oct 3rd '11 |
Things To Know When Configuring FAST Search
Shereen Qumsieh I’ve been doing a fair bit of FAST search configuration and re-configuration lately, and I just wanted to point out a few things that are good to know and understand.
Let’s start with some basics. If you use the following guide for configuring FAST (and I usually do) http://technet.microsoft.com/en-us/library/ff381243.aspx, then you should be aware of:
You configure two service applications for FAST: FAST Content and FAST Query SSA. FAST Content is a FAST Search Connector. FAST Quer [read]. Posted: Mon, Aug 29th '11 |
SharePointWeekly – What it is and why you should sign up!
Shereen Qumsieh I thought I’d do a quick post for the visitors of my blog on a new initiative by SharePoint Nick called SharePoint Weekly.
So what is SharePoint Weekly. Well, as Nick describes it, it’s “a free, once weekly email round up of SharePoint news and articles.” If you’re like me at all, you really struggle with keeping up to date with all that goes on in a given day surrounding SharePoint. It’s so overwhelming at times, that I could easily spend my entire day readi [read]. Posted: Tue, Aug 16th '11 |
FAST Search Error – Unable to resolve Contentdistributor
Shereen Qumsieh We’ve recently upgraded a server farm from SharePoint 2010 Server Search to SharePoint 2010 FAST Search and ran into a couple of issues with getting the content sources crawled correctly.
Scenario: We have a 2 server farm: a single application server, and a WFE. There is a separate SQL Server installation where we host our databases. FAST was installed on the application server, which it’s worth mentioning, was already running SharePoint 2010 Server Search successfully.
After going t [read]. Posted: Tue, Aug 2nd '11 |
Microsoft Office SharePoint Server 2007 August 2010 CU
Shereen Qumsieh This issue has caused me quite a lot of grief and at the time of writing this post, is yet to be resolved.
Thanks to all who attempted to help out by providing links to the CU, I’m going to outline in this post what the issue is and why those links don’t work. Hopefully someone else can make use of this and get past where we are now.
I have a current production farm whose patch level is the MOSS August 2010 CU, or 12.0.0.6545. Let’s say I need to add a new server to this farm. [read]. Posted: Thu, May 5th '11 |
SharePoint Designer 2007 Workflows, System Account, and Declarative Starts
Shereen Qumsieh I want to clarify the well known WSS SP1 declarative workflow issue that’s found in abundance on the web. We ran into this recently when attempting to use the Start Another Workflow activity that comes with the Useful SharePoint Designer Custom Workflow activities codeplex solution. Actually, if you read through the comments on codeplex, others are having the same problem with nothing really identified as the fix. This post will outline our solution, along with some guidance on the recom [read]. Posted: Tue, May 3rd '11 |
DateTimeControl Saving Blank Values
Shereen Qumsieh Karine Bosch’s blog post on the SharePoint DateTimeControl is really great for understanding how to use this control in your custom web parts or application pages. It’s probably one of the only really good resources out there on this control.
So to summarize, the SelectedDate property let’s us know what date the user has selected. However, if the user didn’t enter a date the SelectedDate property returns Today’s date. Huh?
This presents a problem because of form sub [read]. Posted: Fri, Apr 1st '11 |
“Invalid postback or callback argument” DropDownList and ClientSide Append
Shereen Qumsieh I feel this particular issue really deserves a blog post due to the sheer number of bad answers that are out there that don’t really address or explain the underlying issue.
Scenario: Let’s say you have an asp:DropDownList control that you populate with three values in your Page_Load event and that renders as follows in the DOM:
and
A
B
C
Now let’s say you want to manipulate the above using client side javascript and perhaps alter/append or remove options from th [read]. Posted: Tue, Mar 22nd '11 |
Upcoming SharePoint Local Events for Vancouverites
Shereen Qumsieh Hi all, I was compiling a list for everyone here at Black Ninja that outlines some upcoming free SharePoint events to attend, and thought it may be worthwhile to post to my readers:
VanSPUG (http://www.vanspug.com/default.aspx) – Joel Oleson and Christian Buckley are talking Migration and Failed Deployments
SharePoint Saturday Online (http://www.sharepointsaturday.org/emea/Pages/meetings.aspx) – Really great SharePoint Online Conference run by some pretty solid community leaders
Sha [read]. Posted: Thu, Jan 13th '11 |
Building a Cloneable SharePoint 2007 Environment with VMWare Fusion
Shereen Qumsieh I’ve got a backlog of articles that are in draft mode, waiting to be proof read and published, but this particular topic I wanted to take a minute and write about.
There is a whole slew of information out there for the best ways to create a Cloneable SharePoint 2007 Environment. Why might you want to do that? Well for our particular case, we do a lot of training here at Black Ninja, so depending on how many students we register, we like to provide each with their own isolated SharePoint 20 [read]. Posted: Thu, Nov 11th '10 |
How to Determine Entity Type in PeopleEditor Control
Shereen Qumsieh Because I don’t write nearly enough on this topic, I figured why not add another post about the splendid PeopleEditor control for SharePoint. Actually, these posts happen to be among my most popular. So popular in fact, that they are constantly being stolen and posted on other blogs without so much as a courtesy ping back! I won’t point any of those users out as they don’t deserve any precious link love. However, if you come across a PeopleEditor post that looks suspiciously li [read]. Posted: Thu, Nov 4th '10 |
How to Attach an Event Receiver to the Web Added Event And For What Purpose
Shereen Qumsieh I struggled with the title of this post, because there are several different uses for the Event Receiver I’m going to talk about. In SharePoint 2007, it was common to use a Feature Receiver that was stapled to a Site/Site Definition for performing additional tasks after a Web was provisioned. We leveraged a Feature Receiver, because there didn’t exist an Event Receiver that handled the “Web Added” event. This is where the Web Provisioned event comes into play for SharePoi [read]. Posted: Fri, Oct 8th '10 |
jqGrid, setRowData and GridComplete
Shereen Qumsieh I had such a hard time getting this to work, it most definitely deserved a blog post. Hopefully others can make sense of this by reading this post.
Scenario
I wanted to do some conditional formatting on my rows of data using the gridComplete method. In order for me to do conditional formatting, I need to be able to access any column for a given row, so I can affect the cell contents. Now, from a jqGrid wiki/documentation perspective, there appears to be two different methods we could use: setCe [read]. Posted: Wed, Sep 15th '10 |
SharePoint 2010 Schema.xml, Onet.xml and Toolbar Type
Shereen Qumsieh I’ve been working pretty heavily the last couple weeks with List Definitions, List Instances and Site Definitions in SharePoint 2010. I’m documenting my process because I was hard pressed to find a solid example of this on the web. I’m mostly concerned with documenting the areas that I found difficult, like the View definition in the Schema.xml and the changes to the Onet.xml Modules element in 2010. What I won’t cover is how to use Visual Studio 2010 to create a new Site [read]. Posted: Wed, Sep 1st '10 |
Follow Up: Access to table dbo.Versions is blocked because the signature is not valid
Shereen Qumsieh This is really just a follow up to a post a wrote a while back and more of a reminder for myself. If you do a lot of backup/restore operations of content databases from production to development environments, you’ve no doubt run into the infamous:
Msg 33002, Level 16, State 1, Line 1
Access to table dbo.Versions is blocked because the signature is not valid.
I hate this particular error because it’s a little deceiving sometimes. In the past, I’ve attributed this error to diffe [read]. Posted: Thu, Aug 26th '10 |
Content Deployment Errors in SharePoint 2010
Shereen Qumsieh I’ve been doing a lot of work recently with SharePoint 2010 and the Content Deployment/Content Scheduling features, and it seems to me that not a whole lot has changed. According to the official Microsoft 2010 “Content deployment overview“, we still have to watch out for the following:
1. Always deploy to an empty site collection for the initial content deployment job – It doesn’t appear to be sufficient anymore to use the blank site template. The recommendation now [read]. Posted: Mon, Jul 26th '10 |
FireBug for All Other Browsers
Shereen Qumsieh For those of you who do a lot of work with tools like jQuery and more specifically, the $ajax calls you can make, you need to be aware of tools like Firebug for troubleshooting the Params, Headers and Response you get back from the server. I find it especially useful when I’m working with a new plugin or tool like jqGrid, because it gives valuable (and time saving) insight into the calls that are being made from these plugins.
For Firefox, there is a great, absolutely must have tool called [read]. Posted: Thu, Jul 1st '10 |
How To Parse An Ajax [object XMLHttpRequest]
Shereen Qumsieh This is a quick post to summarize a couple areas of confusion I often see on the web surrounding Ajax and the XMLHttpRequest call. I think for myself, the best source of information that summarizes how this all works is the Javascript Developer Center over at Yahoo. In particular, this article: http://developer.yahoo.com/javascript/howto-ajax.html
So what is all this ajax hype? Let’s break it down based on the great summary from Yahoo:
In a traditional, non-AJAX web world, if your web appl [read]. Posted: Fri, Jun 18th '10 |
Using SharePoint 2010 to Improve Developer Productivity
Shereen Qumsieh For everyone who attend both my presentations this week on SharePoint 2010, Visual Studio 2010 and the developer productivity tools, a huge thank you for all the great feedback. I had a great time running both sessions and was happy to be able to interact with some of you after the sessions.
I received a lot of requests for posting the slides and demo scripts online and perhaps even a recording of the session itself. Good news, we do have a live recording available from the Vancouver SharePoint [read]. Posted: Fri, Apr 23rd '10 |
How to Add Column Descriptions to Your Custom Forms
Shereen Qumsieh This is a quick overview on how to add a column’s description to your custom edit and disp forms in SharePoint 2007.
List Name: Projects
Column Name: Status
Column Type: Lookup
Column Description: “Choose the status for this current project.”
To add a column to a form and display it’s contents, it’s pretty straight forward:
SPWeb web = SPContext.Current.Web;
SPList projects = web.Lists["Projects"];
SPListItem item = projects.GetItemById(Convert.ToInt [read]. Posted: Tue, Apr 13th '10 |
Hide Columns in SharePoint New, Edit and Disp Forms
Shereen Qumsieh Hiding columns in SharePoint is nothing new really, there have been several articles written on this topic. The approach for doing this, however, does inspire some debate in terms of what the best practice is. Let’s say we can agree that there are three ways to get this done:
Using the built in content types to specify which columns you wish to be hidden.
Using jQuery and a content editor web part to hide the columns as desired.
Hide the columns programmatically using code.
I just wanted [read]. Posted: Tue, Feb 16th '10 |
Heading to SPTechCon in February
Shereen Qumsieh I’ll be heading down to SPTechCon this February 10-12 in San Francisco and I’m looking forward to it for a variety of reasons. I’ll be participating as a Live Blogger once again and I’m really excited about this program that Mark Miller over at EndUserSharePoint.com has setup. It was a lot of fun at the SharePoint Conference ‘09 and it’ll be just as great if not better this time around.
In case you weren’t following us at the conference late last year, t [read]. Posted: Wed, Jan 20th '10 |
Failed To Load Workflow Error in SharePoint Designer
Shereen Qumsieh Ok I thought I’d post on this because it stumped me for close to 2 hours. So in my scenario, I have a WSS 3.0 installation with several SharePoint Designer workflows built. Many of these workflows use the Useful SharePoint Designer Custom Workflow Activities solution available on codeplex. After doing a migration from one server to another, I found that when I attempted to open up my workflows that contained those custom activities, I would get an error:
Failed to load workflow.
Really fru [read]. Posted: Sat, Jan 16th '10 |
jqGrid Text/Word Wrapping
Shereen Qumsieh Just a quick post for anyone else having this issue. I am working with the latest version of jqGrid, and I am dealing with cell data that is longer than the width of the cell making it difficult to see. I wanted to have this data wrap and the height of the cell adjust to fit the wrapped content.
I found a ton of useful info on the jqGrid forums but it didn’t quite get me there.
The forum article in the above link suggests that you add the follwing CSS to your page:
1
2
3
.ui-jqgrid tr.jqg [read]. Posted: Thu, Dec 3rd '09 |
RadGrid How To – Configure a HyperLink Client Side
Shereen Qumsieh I’ve been doing a lot of work recently with Telerik’s RadGrid configuration client side. This includes data binding, sorting, paging and working with columns and data rows. I’ll likely be doing a series on some of the issues I’ve encountered trying to work with these grids completely client side. The first of this series is a relatively simple thing to do server side, but I definitely had issue with it client side.
Scenario:
I have a RadGrid called rgProjects configured w [read]. Posted: Tue, Nov 24th '09 |
jQuery – Get All Divs Whose ID Starts With
Shereen Qumsieh Structure:
1
2
3
4
To return an array of all divs that start with ‘thisismydiv’, you would use the following:
1
var divList = $("div[id^='thisismydiv']");
The above translates to, find me all divs whose id starts with ‘thisismydiv’. You could now do something cool like add a class to all those divs:
1
$("div[id^='thisismydiv']").addClass('myClass'); [read]. Posted: Thu, Nov 12th '09 |
Write to EventLog from SharePoint Custom Solutions
Shereen Qumsieh Just a quick thing to note, if you’re trying to write to the event log within your custom SharePoint solutions and run across this error:
Cannot open log for source {0}. You may not have write access.
This is definitely permissions related. A quick bit of searching and I found some useful info:
The CustomSD registry value for the Application event log is found under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Applicationregistry key. It is a string value which uses [read]. Posted: Wed, Nov 4th '09 |
jQuery UI Tabs – Creating Closable Tabs
Shereen Qumsieh Ok, so this is really a follow up to my previous post where I outlined how to build jQuery Tabs that Open and Close. I did end that post with a small TODO for myself: integrate the close capability into the tab itself so the user didn’t have to click a button to close that tab.
Now after doing a bit of digging, I learned that this is actually functionality that is in the works for future releases of jQuery UI. Ticket 3924 is currently open and in development, which is a good sign. Further [read]. Posted: Thu, Oct 29th '09 |
Building jQuery Tabs That Open & Close
Shereen Qumsieh jQuery is obviously a really powerful tool. If you’ve done any work with it, you don’t need convincing. My latest project involving jQuery was a bit tricky because I couldn’t find anything that detailed how to generate a tab once a user clicked on a link, and then how to close that tab if the user clicked the close button. Here is my setup:
I needed to create a page with some static links, that when clicked on would spawn a new tab.
The content area for each tab would contain [read]. Posted: Tue, Oct 27th '09 |
SharePoint 2010 Keynote Overview
Shereen Qumsieh Hi all, I wanted to put together a summary of some of the things I felt were worthy of noting at this mornings SharePoint Conference 2009 Keynote. Any questions or comments, feel free to ping me.
General
No more hand coding web parts, Visual Studio 2010 now has a visual interface for developing web parts
SharePoint navigation is integrated into Visual Studio, so you don’t have to leave VS to browse the contents of your SharePoint site
You can now map folders in Visual Studio to SharePoint [read]. Posted: Mon, Oct 19th '09 |
Live Blogger Stream SharePoint Conf 2009
Shereen Qumsieh Hey everyone! I’ll be headed down to SharePoint Conf on Sunday, very excited to finally get my feet wet with SP 2010. I’ll be contributing to the live blogger stream that Mark Miller has setup over at EndUserSharePoint.com so keep an eye out for content being posted there. The keynote sessions will also be broadcast live, so for those not able to attend this year, that’ll be something to check out.
Live Blogger Stream from SharePoint Conf 2009 – I’ll be a contributo [read]. Posted: Fri, Oct 16th '09 |
You Are Not Allowed To Respond Again To This Survey
Shereen Qumsieh If you’re working in a dev environment and you’ve implemented something like this to your web.config, then you’ll notice some odd behavior relating to survey responses.
If your surveys are set to allow only one response per user, and your web.config CallStack property is set to true, just be aware that you’ll encounter the standard ASP.NET server error:
Server Error in ‘/’ Application error: You are not allowed to respond again to this survey.
It’s just [read]. Posted: Thu, Oct 15th '09 |
Site Cutover
Shereen Qumsieh Hi everyone, just wanted to post a quick note to let you all know that my blog is undergoing a few changes, one of those being a new hosting company, Rackspace. There are a few things that have not quite been cut over properly, so I’ll be dealing with those in the next couple of days. If anyone notices anything, please let me know! [read]. Posted: Sun, Sep 27th '09 |
Access to table dbo.Versions is blocked because the signature is not valid
Shereen Qumsieh Alright, today’s blog post is going to be a bit infrastructure related. More specifically, I’d like to document an issue we encountered recently trying to do a restore from a production server to one of our development boxes. We do this often to keep our development data fresh and in sync with production, otherwise it becomes difficult to do any sort of real testing with numbers. Usually, this is a pretty standard procedure for us:
Within Central Administration, under Application Ma [read]. Posted: Fri, Sep 25th '09 |
I’ll be attending the SharePoint Conference in October!
Shereen Qumsieh I’m very excited and I consider myself quite lucky to be able to attend the Microsoft SharePoint 2009 Conference in October. I’ve already been to a couple great conferences this year, but I am quite confident this will be a good one. I’m looking forward to seeing all that 2010 has to offer.
If you haven’t already, you might want to check out the preview videos over at the Microsoft SharePoint site. [read]. Posted: Tue, Sep 15th '09 |
Invalid Data Updating List Item - FREE TSHIRT GIVEAWAY
Shereen Qumsieh If you’re like me and you do a fair bit of object model programming, you’ve likely seen this error before. More specifically, the error is as follows:
Unhandled Exception: Microsoft.SharePoint.SPException: Invalid data has been used to update the list item. The field you are trying to update may be read only.
There are probably more than one cause for this particular issue, but in my case, it always comes down to an error in the way I’ve assigned a field of type Lookup.
So to s [read]. Posted: Tue, Sep 15th '09 |
How to Add a ToolTip to the Telerik Ajax RadEditor
Shereen Qumsieh Ok this one was not immediately obvious to me so I’m posting the solution here. I’m using a Telerik Ajax RadEditor on my page as follows:
Now, after doing a bit of inspection, I discovered there was a property I could set on the RadEditor called ToolTip that seemed to just require a string value as follows:
I assumed this would produce exactly what I needed. Unfortunately, after testing the above out, I got nothing, no tool tip. Doing a search on the forums turned up nothing [read]. Posted: Wed, Aug 12th '09 |
SharePoint Designer - Server Returned a Non-Specific Error
Shereen Qumsieh Nothing is more frustrating that trying to create a new Data Source that talks to the SharePoint XML Web Services and receiving this error:
Server returned a non-specific error when trying to get data from the data source
KB article 923173 deals specifically with this error, but none of the suggestions were the fix for me. I was not using a Proxy nor was I behind a firewall. In fact, my environment was totally virtualized and I was working on a stand alone installation of MOSS. SharePoint Design [read]. Posted: Tue, Aug 11th '09 |
Custom SharePoint Workflows sendEmail.Body Character Limit
Shereen Qumsieh I’ve been working over the past few days with a custom workflow I’m building in Visual Studio 2005 that’s responsible for notifying users when specific criteria was met. Inside the workflow, I have a few sendEmail functions responsible for building the content within the email message:
1
2
sendEmail1.Body += "This is the body of my email.";
sendEmail1.Body += "Adding some information for users that will describe some detail about this item.";
The above worked well until I sta [read]. Posted: Thu, Jul 9th '09 |
How To Programmatically Trigger a Custom Workflow
Shereen Qumsieh Triggering SharePoint workflows programmatically from within a custom built Visual Studio workflow is not difficult once you know where to look. Tony Testa wrote a great post on this very same thing that describes these concepts in more detail than I will — so go check that out if you haven’t already. I had to tweak his concept a little bit because I was doing this within an already running workflow that belonged to a content type not a list.
So in my scenario, I had a single workfl [read]. Posted: Wed, Jul 8th '09 |
DevTeach Slides and Files
Shereen Qumsieh Hi All, I wanted to thank everyone who attended by DevTeach session yesterday on integrating the telerik controls with your SharePoint Custom Solutions. I hope at the very least everyone walked away with something new they had learned or didn’t quite realize was possible before.
If you’d like to view my slides again, there is a pdf version available for download at slideshare.net/shereenqumsieh.
As promised, I have uploaded the custom files I had created for the purposes of my demo. [read]. Posted: Wed, Jun 10th '09 |
Party with Vancouver IT community Monday June 8th
Shereen Qumsieh The Vancouver IT community is hosting a DevTeach kick off party on Monday, June 8th. This is the official social event for DevTeach Vancouver so come socialize with us! The event is not just for the attendees of DevTeach Vancouver it’s a free event for everyone. It’s a unique chance for the attendees, speakers and locals to meet and talk over some free beer and pool. I’ll be there! The event will be held at the Soho location and you need to RSVP to attend.
To find out more visit this u [read]. Posted: Tue, Jun 2nd '09 |
How To Change the Default EditForm, NewForm and DispForm
Shereen Qumsieh Problem
You’ve developed some custom new, edit and display application pages that are stored in the _layouts directory. Let’s assume the filenames are newform.aspx, dispform.aspx and editform.aspx. You now want to change the properties of your custom list so that any new, edit or display requests point to your custom pages.
If you open up your site within SharePoint Designer and expand the Lists folder, from there you can access the properties of that custom list by right clicking on [read]. Posted: Fri, May 15th '09 |
SPQuery Value Type Lookup Fails on Indexed Columns
Shereen Qumsieh Hey all, I just wanted to point out a sneaky little problem we ran into today at work. I’ll outline it briefly here, but Donabel wrote a great summary that we’ve posted on the Black Ninja blog.
The problem to be aware of is related to SPQuery objects that have the LookupId set to TRUE and the Value Type set to Lookup. An example:
1
2
3
4
SPQuery oQuery = new SPQuery();
oQuery.Query = "" +
"161";
With n NON indexed column, the above query works fine. Once you change the E [read]. Posted: Wed, May 13th '09 |
Working with the ANTS Profiler to Optimize SharePoint
Shereen Qumsieh I recently wrote an article that outlined a recent optimization effort using the ANTS Profiler and it’s finally been published! If you’re having any performance issues at all in your custom SharePoint Applications, you should take a few minutes and check this out. My aim was to share my experiences and hopefully to generate some interest in application profiling.
http://www.simple-talk.com/dotnet/.net-tools/working-with-the-ants-profiler-to-optimize-sharepoint/ [read]. Posted: Wed, May 6th '09 |
I’m heading to RailsConf next week!
Shereen Qumsieh While I don’t spend the majority of my time coding with Ruby in Rails, I really do enjoy it and was excited at the opportunity to attend my very first RailsConf this year. I’ve heard nothing but great things about this conference and am hoping to up my ruby and rails skills a little bit.
Anyone else planning to go? [read]. Posted: Thu, Apr 30th '09 |
How to Write An SPQuery Using Multiple AND OR Operators
Shereen Qumsieh Ok, if you’re like me, writing CAML queries can sometimes make your head hurt. Not because it’s terribly complicated, but because there’s not much useful information out there that demonstrates, with REAL examples, how these should be written. So let’s see if we can clarify this:
Scenario 1
Get me all items in a list WHERE fullName equals the currently logged in user.
1
2
3
4
5
6
7
8
9
10
11
SPWeb web = SPControl.GetContextWeb(Context);
string fullName = web.Cu [read]. Posted: Tue, Apr 28th '09 |
Wiring Your SharePoint Custom Applications to Log Errors
Shereen Qumsieh Developing custom web applications, workflows or web parts within SharePoint require some level of error handling to ensure smooth operation of your custom solution.
There are several techniques for doing this such as writing to a file or to the event log, but I came across a fantastic article a while back and just recently came around to trying it out. I’m happy to report that it works quite well.
The source of this information comes from the Blue Surf Tech blog titled The Sharepoint way [read]. Posted: Thu, Apr 9th '09 |
Criteria For Hiring a Good Developer
Shereen Qumsieh If anyone is interested, Black Ninja posted a relevant article on what we consider to be a good developer. The article in reference is actually written by Daniel over at inter-sections.net and is the best thing I’ve seen to date that describes how we feel about web development and the community we’re a part of.
I’ll caution everyone that’s it meant to be a guide, and not something we need to live by to the letter. Feedback is most welcome! [read]. Posted: Fri, Apr 3rd '09 |
JQuery Accessing the Client Generated ID of ASP.NET Controls
Shereen Qumsieh Ok, so we all know that ASP.NET controls, or any control for that matter with the runat=”server” tag, will generate a funky client ID when rendered on the page.
Sometimes, we need to get at those controls via some client side javascript so that we may manipulate their properties or simply get/set their values.
If you’re not already familiar with JQuery, you need to take 5 minutes of your day and read up on it. It’s a very light javascript library that any decent developer [read]. Posted: Thu, Mar 26th '09 |
Validating a PeopleEditor Control - Second Attempt
Shereen Qumsieh This post is an update to a previous post I had written on validating the PeopleEditor control on post back. In that particular post, I described the challenges of getting a PeopleEditor control, within a custom application page, to validate correctly as a required field on the client side (I had server side validation already in place and working correctly).
For the most part, the solution I outlined worked well, except for some situations where other controls on the page were performing their [read]. Posted: Fri, Mar 6th '09 |
Microsoft SharePoint Developer Challenge
Shereen Qumsieh Hey all you developers out there working with Microsoft Office SharePoint Server, be sure to check out the developer challenge starting on March 1st! And don’t forget to read the eligibility and entry requirements first to find out how to participate.
I’ve never heard of Microsoft running one of these before but I am excited to participate! [read]. Posted: Mon, Mar 2nd '09 |
Shereen Qumsieh Greetings everyone! I am very excited to annouce that I have been selected to speak at the DevTeach conference that will be held here in Vancouver from June 8-12. I spend a great deal of time blogging about working with the Telerik web controls in my SharePoint development, so I figured this would be a good opportunity to share some of the things I’ve learned and to demonstrate how easy it is to integrate these into your projects.
This is a great conference that promises to be the bigge [read]. Posted: Wed, Feb 25th '09 |
Performance Considerations With the PeopleEditor Control
Shereen Qumsieh I was recently working on a Black Ninja Software project for a client of ours where performance became an issues for one of the custom application pages we had developed. I plan to write up a more detailed report on how I managed to cut the load times of this particular page in half next week using the ANTS Profiler, but for now I wanted to highlight a piece of the puzzle that I discovered today.
I won’t cover how to load values into a PeopleEditor control from within a SharePoint list, yo [read]. Posted: Fri, Feb 20th '09 |
Attatching a Content DB to a Web Application
Shereen Qumsieh For each Web Application you create in SharePoint, by default, there is a single Content DB that is assigned to it. Typically, the steps for creating a web application are as follows:
Launch your Central Administration web site.
On the Quick Launch bar to the left of the page, click on Application Management.
Under the SharePoint Web Application Management heading, click on Create or extend Web application.
Click on Create a new Web Applicaiton.
The Create New Web Application page requires some [read]. Posted: Fri, Feb 13th '09 |
Validating a PeopleEditor Control on PostBack
Shereen Qumsieh Let’s talk about validation and the PeopleEditor control. There doesn’t seem to be a consensus on how this is supposed to be done so I’ll outline my findings and what eventually worked for me.
I’ll start by explaining what I was attempting to do. I have a PeopleEditor control on a custom application page. My custom application page is located in the _layouts directory. On this page, I also have a submit button that saves my data to a SharePoint list upon submit.
Now, I ne [read]. Posted: Thu, Feb 12th '09 |
SQL Server Best Practices for SharePoint
Shereen Qumsieh If you’re building a production SharePoint environment (or even a development one), it’s probably a good idea to get a handle on the best practices for SharePoint databases stored in SQL Server. It will help to understand some key areas before deployment:
Architecture Recommendations
Limit content database size to enhance manageability
Configure autogrowth settings
Physical Storage Recommendations
Separate and prioritize your data among disks
Use multiple data files for large co [read]. Posted: Mon, Feb 9th '09 |
Understanding BreakRoleInheritance() Can Reset AllowUnsafeUpdates
Shereen Qumsieh I ran into a problem recently where I was attempting to update the permissions on an SPListItem within code but ran into the following error:
Updates are currently disallowed on GET requests. To allow updates on a GET, set the ‘AllowUnsafeUpdates’ property on SPWeb.
Now I’m quite familiar with this error, and it’s one of the few errors in SharePoint that gives you a hint in terms of what you need to do: set the AllowUnsafeUpdates property to true on your SPWeb object.
Wel [read]. Posted: Sat, Jan 31st '09 |
Understanding the Append Changes to Existing Text Option
Shereen Qumsieh Within a SharePoint list or library, you have the ability to add columns that are of type Multiple Lines of Text. Within the settings of this column, you are able to select whether or not you’d like to Append Changes to Existing Text. If you’re unsure, this setting is located in the Additional Column Settings section when you create or edit an existing column.
Now if you select Yes, and click OK, unless you have versioning turned on for the list, you will receive the following error: [read]. Posted: Thu, Jan 29th '09 |
SharePoint SPQuery Obtaining Distinct Results
Shereen Qumsieh To my knowledge (and someone please post and correct me if I’m wrong) there doesn’t seem to be a solid way to build an SPQuery object that can return distinct values from a list. I’ve seen some clever tricks for getting around this particular problem, but nothing quite like this.
If you dig through this post a little bit, you’ll find the technique to getting distinct values comes down to leveraging a DataView.ToTable() method to return only distinct results.
So let’ [read]. Posted: Thu, Jan 22nd '09 |
New SmartTools Release for SharePoint
Shereen Qumsieh Jan Tielens recently released a new version of the SmartTools that’s worth checking out. The TableRow highlight and jQuery additions in general are pretty exciting.
http://weblogs.asp.net/jan/archive/2009/01/22/new-release-of-the-smarttools-for-sharepoint-project.aspx [read]. Posted: Thu, Jan 22nd '09 |
How to Truncate and Shrink the WSS_Content_log File
Shereen Qumsieh You might run into a scenario on your SharePoint development box where the WSS_Content_log file grows to be quite large. If you’re limited on hard drive space and need to know how to truncate and shrink this log file, follow the directions below. For my particular installation, I had WSS 3.0 and SSEE installed with all the defaults.
Before we begin, you may want to take a bit of time to learn about Recovery Models, Truncating and Shrinking.
Let’s start. Open Microsoft SQL Server Ma [read]. Posted: Mon, Jan 19th '09 |
How to Find the Server Control ID of a RadGrid
Shereen Qumsieh Let’s say you have 2 RadGrids defined in your aspx page. Both grids happen to share the same ItemDataBound event, but you’d like to apply a small tweak depending on what grid is calling the ItemDataBound method.
In order to implement your tweak, you’ll need a way to find the ID of the grid that made the call. And not the ASP.NET generated ID, since that can be rather ugly, but the ID of the control you created in the aspx page. The following example demonstrates how this can be [read]. Posted: Sat, Jan 17th '09 |
Adding a Header Row to Telerik RadGrid Programmatically
Shereen Qumsieh So here’s the idea. I’ve got a RadGrid on my page that is populated programmatically. I build a DataTable from various different sources and once I’m satisifed with how my DataTable looks, I set the grid’s DataSource property and bind.
That’s all good, except now I want to insert a header row in the middle of my grid. The idea behind this row is to simply provide a clear segregation between my different sources of data. It’s all one grid remember, but I wanted [read]. Posted: Thu, Jan 15th '09 |
How to Add a Rich Text Editor to your Custom Application Pages
Shereen Qumsieh This article will talk specifically about how to add a Rich Text Editor to your custom application pages. When initially doing some research on this topic, I found a lot of information, but not anything useful that I could actually implement. Here are my steps for adding a control of this type to your pages:
If you would like to leverage the default sharepoint rich text editor control within your own custom pages, there’s one class you need to get familiar with: InputFormTextBox
The actual [read]. Posted: Tue, Jan 13th '09 |
Working with the SPFieldLookupValue Class in SharePoint
Shereen Qumsieh If you’ve ever worked with SharePoint columns that are of type Lookup and you’re reading this data in via the object model, you’re probably already aware that the value gets returned as an ugly string in the form of:
FIELDLOOKUPID;#FIELDVALUE (23;#Vancouver)
What you want to avoid is using string manipulations to get at the ID or Value of that lookup. An example of a poor practice would be:
1
2
string city = Convert.ToString(listItem["City"]);
city = city.Substring(cit [read]. Posted: Thu, Jan 8th '09 |
Vancouver SharePoint User Group
Shereen Qumsieh If anyone living in the Vancouver, BC area, you might want to check out the Vancouver SharePoint User Group.
Their next event is on January 13, 2009. [read]. Posted: Wed, Jan 7th '09 |
Debugging SharePoint Application Pages With Inline Code
Shereen Qumsieh I recently ran into an issue where I was unable to set a breakpoint on a custom application page I had developed, thus making it really difficult to track down errors. Typically, these pages are stored in the 12 hive in the layouts directory. Debugging them is usually hit and miss for me, sometimes it works and other times I get the generic breakpoint could not be hit, symbols could not be loaded error.
I did a bit of research and found a great article by Sowmyan on his blog. Check it out here. [read]. Posted: Wed, Jan 7th '09 |
Telerik RadGrid - Accessing Controls In Edit Mode
Shereen Qumsieh In this post, I’m going to talk a little bit about how to access specific controls within a RadGrid while that grid is in edit mode. There are several reasons you may want to do this:
You might need to set some defaults for the control.
You want to perform some calculation and output some default value to the control.
You may need to change the attributes of a control (color, font etc).
In order to achieve any of the above, we need a way to get access to the controls while in edit mode.
[read]. Posted: Tue, Jan 6th '09 |