Wednesday, August 27, 2008

SSL Certificate bug in Google

I recently enabled SSL encryption in Gmail. After enabling SSL, navigating to Google reader from the inbox produces the following page. Here is what I'm trying to do, the status bar says https://www.google.co.in/reader but it is supposed to http://google.co.in/reader

The SSL certificate applies only to Google.com and not for Google.co.in.


Firefox redirected me to an error page which clearly explains the issue,


Internet explorer 7.0 managed to tolerate and showed me the right content but with a Certificate Error in its location bar.


hmm hope Google will fix this bug . . . .

Thursday, August 21, 2008

Querystring limitation in Internet Explorer

Internet Explorer browser is having a nasty limitation on URL length in its address bar, it cannot contain more than 2083 characters, It will trim the string whatever comes after position 2083. This applies from IE 4.0 to IE 7.0.

This limitation is only for HTTP GET request not on HTTP POST request

On the other hand Firefox 3.0 allowed me to paste >2,40,000 chars. So developers beware of IE while passing lengthy query strings from your web application, your code has a chance of failing on browser compatibility testing.

Keep in mind that the number of characters will be significantly reduced if you have special characters (e.g. spaces) that need to be URLEncoded (e.g. converted to the sequence '%20'). For every space, you reduce the size allowed in the remainder of the URL by 2 characters - and this holds true for many other special characters that you may encode before sending the URL to the client.

MSFT KB Article : http://support.microsoft.com/kb/q208427/

Wednesday, August 13, 2008

A CAML View of a SPList

Want to get some Guid's of a list or some of its site column Guid's while developing features.

http://Foo/Library/_vti_bin/owssvr.dll?Cmd=ExportList&List={DA45FCA4-2B2C-4532-8E89-65FF6813F057}

This will emit the information as CAML/XML there we can find all the information.

Naivgate to Web part maintenance page

To delete a closed web part in a web part page , we need to navigate to the maintenance page but there is no links pointing to the page, So force the web part page url by appending ?contents=1 to the query string will launch the page

Sample:
http://www.foo.com/default.aspx?contents=1

Saturday, August 9, 2008

Sharepoint Data Model is here........

All sharepoint developers would like to know about the Data model of Sharepoint which is hidden deep under WSS OM.

I was searching for the related documentation in msdn for a long time. My colleague, Subhajit recently blogged and revealed it to the community. Since blogger doesn't have the capability of the Track back feature I cannot trackback that blog.

Here we go for the Data model of Sharepoint


Any modification at database level is STRICTLY NOT SUPPORTED by MSFT.

Want to Take a DLL backup from GAC

Option-1:
~~~~~~~
open command prompt and navigate to %windir%/assembly/gac_msil/ and use copy command to take a copy of the require dll.

Option-2:
~~~~~~~
Want to do it in a windows way ,
Simply enter the following:
subst g: %windir%\assembly\gac

Now open Explorer, go to drive G: and you're all set.
Thanks to Jeff key

Option-3:
~~~~~~~
Start->Run->type c:\windows\assembly\gac
There you are take a back up of the required dll and go ahead

Friday, August 8, 2008

Get rid of memory leaks in Owsttimer & WssAdmin

Windows SharePoint Services Administration (WSSADMIN.EXE ) and Windows SharePoint Services Timer (OWSTIMER.EXE ) are processes which always take up most of the memory on my Dev Env.

SharePoint App Pools do take lots of memory but I do IISRESET or a process recycle very often to reclaim the memory,but WSSADMIN.EXE and OWSTIMER.EXE really consume ridiculous amount of memory.

This memory can be reclaimed by running the following scripts in the Dev virtual machines.

net stop "Windows SharePoint Services Timer"
net start "Windows SharePoint Services Timer"
net stop "Windows SharePoint Services Administration"
net start "Windows SharePoint Services Administration"

Want more details about this memory leak check out
http://www.mindsharpblogs.com/Ben/archive/2007/09/25/2965.aspx




Monday, August 4, 2008

Determine MOSS or WSS


There is no direct way to determine whether MOSS is installed over WSS throught Object model,
So we can just check the existence of profile service on the farm. Profile service comes along only with MOSS so we can ensure MOSS is installed by this snippet.


string
isapiFolder = SPUtility.GetGenericSetupPath("ISAPI");
string userProfileServicePath = Path.Combine(isapiFolder, "UserProfileService.asmx");
bool SharePointServerInstalled = File.Exists(userProfileServicePath);