Saturday, February 19, 2011

ASP.net WebParts Vs SharePoint WebParts - Which one to choose?

And we are back! Well, it has been a very busy time for me over the last 8 months, anyhow moving on.

Well, this might be a question which should have popped-up in the head of any beginner in SharePoint probably with some .net background.

Well, an interesting point is that SharePoint 2007 is based on top on ASP.net 2.0 framework. Hence, for folks who are well versed with ASP.Net 2.0 and plan to move on to MOSS/SPS should definitely start with "HelloWorld" kind of webparts using System.Web.UI.WebControls.WebParts.WebPart as a reference.

This enables:
  • Usage on websites developed on ASP.net 2.0 and also on SharePoint based portals
  • Getting familiarized with Windows SharePoint Services 3.0 classes as a starting point
However, the hard truth remains that sooner or later, developers working on MOSS or SPS would need to move on to Microsoft.SharePoint.WebPartPages.WebPart in their code.

It obviously has it's own advantages:
  • Enables cross-page connections
  • Enables connections between webparts placed in different webpart zones on the same SharePoint page
  • Helps in migrating webpart code to WSS 3.0 based webparts
  • Utilize the SharePoint offerred data caching mechanism
Signing off here..enjoy coding!

Friday, August 27, 2010

Bonjour!!

Yes exactly that is what has happened!!

A business trip in Paris has made me extremely busy these days, due to which I really wanted to but have not been able to spend time on the blog.

I assure y'all that I will be back, till then Au revoir

Sunday, July 4, 2010

Increase SharePoint Upload Limit

Are you facing issues when trying to upload files of size above 50 MB to your SharePoint 2007 document library?

Well, I have tried to list down how you can fix those issues and ultimately increase the SharePoint Upload Limit:

First, increase the Maximum Upload Size for a specific web application.
  • Go to the Central Administration > Application Management > Web Application General Settings
  • Specify the new maximum upload size for your webapplication. For now, we are setting it to 256MB. It could be even set upto 2GB.
Your second step should be to try increasing your default chunk size of large files by trying this STSADM command:

Stsadm.exe –o setproperty –pn large–file–chunk–size –pv   
  • This basically denotes the chunk of data that can be read from SQL Server at one time.
  • The -pv which determines the property value stands for the upload size in bytes (B).
  • It could be set to a maximum of 2GB i.e. (2,147,483,648 B).
  • Do an IISRESET
Next, in web.config file of your particular web application, under the httpRuntime tag in system.web section, increase the upload limit to match the value that you set earlier in central administration. You also need to add the execution timeout to allow more time before the upload operation times out as shown in the example below:

httpRuntime executionTimeout="300" maxRequestLength="256000"

where
  • 300 means 5 minutes as execution time out
  • 256000 allows uploading 256 MB files.
After the above changes, MOSS would allow files of more than 50 MB to get uploaded easily. Incase you still face challenges, check if the file you are trying to upload, is it a blocked file type e.g. EXE, DLL, etc.

Hope this helps you.

Friday, June 25, 2010

Add PDF Icon to SharePoint Library

Quite obviously, we come across many occassions where PDF files are uploaded to SharePoint 2007 Libraries or Lists.

While we can easily see the images of our regular Word, Excel, PowerPoint documents, however the PDF documents look empty without the trademarked image.

Well, no problem, who says we can't have it. It is fairly simple, so let us see how:
  • Get the appropriate Adobe PDF icon image (preferrably a gif) from here 
  • Save that image confirming with SharePoint images standard such as icopdf.gif. Place the image where Office document icons exist by-default. Check out this 12 Hive path of your MOSS 2007 installation:
    Drive\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images
  • Now that we have successfully placed the image, we need to inform SharePoint about our modification. For doing this, we need to add an entry to the DocIcon.xml file which sits in the Drive\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Xml path
  • Open the docicon.xml with any editor such as Visual Studio or even Notepad. Under ByExtension section, add a key/value pair as given below:
    Mapping Key="pdf" value="icopdf.gif"
    Note
    : Take a backup copy of the DocIcon.xml prior to the changes (to be on the safe side). Also, the XML start-end tags are removed as the post wouldnt allow it easily. Kindly take care in your case.
  • Save changes to Docicon.xml file. Perform an IISRESET command to finalize the same.
Refresh & check the same list or library page to notice the changes take effect.
Briefly, what this does has done is, if SharePoint sees any file (new/old) with an extension .pdf, it would display the PDF icon against the file as it does for Office documents.

Hope y'all find this information helpful. Cyaaa..and..stay tuned!!

Saturday, June 19, 2010

SharePoint Timer Job stuck at Deploying

Dealing with SharePoint solution packages and solution deployment stuck at "Deploying" status!!

Well don’t panic, here is just what the doctor ordered:

  1. Check the Timer Job Status for the solution deployment in Central Administration. There could be entries with “Failed” as the job status.
  2. Lets try to set things right by running stsadm -o execadmsvcjobs command.
    Note that in a farm environment, you need to run the above command on all the servers.
  3. As a next step, try restarting the OWSTIMER Service on all boxes in the farm.
  4. If the above steps do not help the solution deployment. You may try retracting the solution using Retract solution command or through the Central Admin's Solution Management.
    stsadm.exe -o retractsolution -name
    For your knowledge, retracting a solution creates another “deployment job”.

    Now if retracting the solution does not work, do not try to Force Delete the solution as that would throw an exception, "The solution cannot be removed when job is scheduled or running"
  5. Get a list of all the pending & active deployments on your MOSS Farm using
    stsadm -o enumdeployments command.
    Make a note of the GUID of the various solutions on the command window as this would be required in next step.
  6. As a last nail in the coffin, we now need to simply cancel the solution deployment by passing the GUID of the solution as shown below
    stsadm -o canceldeployment -id "job id string here"
After performing the above steps, you would be able to either put the SharePoint Timer Job into completion or atleast remove the solution package being stuck in deployment.

If the problem still persists (esp. in the MOSS 2007 Farm environment), you might need to remove/detach a defective WFE from the farm and then retry deployment.


I have tried to put together the steps which have worked for me, hope this post helps you all too.

Tuesday, June 8, 2010

Dotnet Cleanup Tool

This is not a promotion but sharing my learning about an awesome tool for fixing old..stuck-up..incomplete..DotNet framework installations.

I personally learnt about it while coming across one of the blogs.

Do try it to remove the .NET Framework 1.0, 1.1, 2.0, 3.0 and 3.5 This would even help you if you want to go ahead with a clean install of .Net 4.0 

Try .Net Cleanup Tool

HTH.

Monday, June 7, 2010

SharePoint DateTime Format Conversions

SharePoint 2007 uses ISO8601 DateTime format internally. It understands either of 2 possible notations for DateTime:

YYYY-MM-DDThh:mmTZor
YYYY-MM-DDThh:mm:ssTZD

where,
  • understandably YYYY being 4-digit year, MM for 2-digit month number, DD for day of month
  • T stands for start of time.
  • Following that denotes the time which could be "hh:mm" (hours-mins) or "hh:mm:ss" (hours-mins-seconds)
  • Z indicates the Coordinated Universal Time (UTC)
On many occassions during MOSS 2007 development, we are required to convert from DateTime to ISO8601 DateTime or vice-versa. So, I decided to post on how this could be achieved.

Convert from DateTime to ISO8601 DateTime (C#):

DateTime date = DateTime.Now;
string isoDate = SPUtility.CreateISO8601DateTimeFromSystemDateTime(date);

When you are trying to insert or modify some DateTime fields to or from a SPListItem, you could use the code given above to format values into ISO 8601.
You can build the CAML query for the SPQuery object as shown below:
Example:
Note: Don't forget to add reference of Microsoft.SharePoint.Utilities in your class file before building your project.

Convert from ISO8601 to DateTime (C#):
DateTime date = DateTime.Parse("2010-06-15 00:00:00");
string sysDate = date.ToString("MM/dd/yyyy");

Note: In above example, the ISO DateTime string is converted to DateTime equivalent using DateTime.Parse method.

Also, incase you want to change the Site Collection date format:
  1. Go to "Site Settings" & navigate to "Modify All Site Settings"
  2. Click on Regional Settings under Site Administration
  3. Change the time zone. Save the changes.
This brings us to the end of this lengthy post. Hope it helps you SharePoint folks, goodbye for now.

LinkWithin

Related Posts with Thumbnails