Monday, May 6, 2013
Background:
At Brain Station-23, One of my customer requirement was to configure PDF Content Search so that they can search PDF by Text using search web part. After doing some googling, I found that PDF content can be search through Adobe PDF iFilter 9. I found a complete Guideline at http://support.microsoft.com/kb/2293357
The similar instructions also given at Code Project with some screen shots step by step which is very much helpful to understand
http://www.codeproject.com/Articles/82546/How-to-configure-PDF-iFilter-for-SharePoint-Server
For Testing purpose I have configured this in my VM (Standalone –Single Farm) and it works fine as expected.
What is the Problem?
The Problem arises when I tried to configure it in Live Environment (Multi-Farm). My Production Servers were consist of
2 Front End Server (SP 2010 Server Farm 1 & SP 2010 Server Farm 2) running under NBL with 2 SQL2008 R2 Storage (Clustered)
I didn’t find the exact solution anywhere in the Internet even after posting in the forum. But Thanks to all who tried to give me the solution and I got some clues from their answer. You can see my Final answer at http://social.msdn.microsoft.com/Forums/en-US/sharepointgeneralprevious/thread/2d4470ef-fd0a-4e12-8886-68837865dfba as solution. Let me Explain here all Together Once again to make your life easier.
Solution(Single Farm):
There is not much complex for Standalone Server or Single Farm. You can just follow the Instruction Straight Forward as written as http://support.microsoft.com/kb/2293357.
OR
My suggestion is to use “Powershell Script for configuring PDF ifilter for Sharepoint 2010” which is much easier. If you are not sure and confident with manually configuration as above. You can use the power shell script for out of box automatically configuration from configure PDF Icon to complete PDF iFilter installation.
Download the powershell script here https://docs.google.com/open?id=0B55FfAMp1BXdMDRhNzQyZjktM2Y5NS00MjY4LTkwYjUtY2QwOWUxOTQ3MzY0
Reference:
http://nhutcmos.wordpress.com/2011/11/04/full-text-search-pdf-content-in-sharepoint-2010/
Solution(Multi Farm):
Here, You can also use the same power shell script for out of box automatically configuration from configure PDF Icon to complete PDF iFilter installation. Download the PowerShell script here https://docs.google.com/open?id=0B55FfAMp1BXdMDRhNzQyZjktM2Y5NS00MjY4LTkwYjUtY2QwOWUxOTQ3MzY0. Thanks to him who did this great job for us. If you use PowerShell script then skip (Already in PowerShell Script) part form the following steps (manual) since some of them already covered in the script.
But if you want to do manually then follow the steps as I written below:
1. Configuring (Step 2 to Step 12) Adobe PDF iFilter 9 for 64-bit platforms http://support.microsoft.com/kb/2293357 except Re-Start Computer
(Already in PowerShell Script)
2. Verify that the following registry subkeys are present and that they contain the appropriate values. If they are not present, you can manually create them
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Search\Setup\ContentIndexCommon\Filters\Extension\
Verify .pdf subkey exists or not, if it doesn’t right click on Extensions and create a Subkey
Add the following values to this key:
<REG_SZ> Default =<value not set>
< REG_SZ> Extension = .pdf
< REG_DWORD> FileTypeBucket = 1
< REG_SZ> MimeTypes = application/pdf
(Already in PowerShell Script)

3. It is recommended that you set your system PATH environment variable to the "bin" folder of the "iFilter" installation. For example, from the "Control Panel\System\Advanced\Environment Variables" tab, append to PATH "C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\"
and then restart the computer. Reference: http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
(Already in PowerShell Script)
Ref: http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
4. Open Windows Explorer and navigate to the following location:
C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin
Add your Search Service Application’s Content Access Account to the list of users and groups who have security access to this folder. Make sure the account has Read, Read & Execute, and List Folder Contents permissions
Ref: http://www.dontpapanic.com/blog/?p=224
5. Re-register the adobe iFilter dll using PowerShell
regsvr32.exe"C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\PDFFilter.dll"
(Already in PowerShell Script)
6. Restart the SharePoint Server Search 14 in Every Farm (Enable/Run if Server Search 14 is Disable in other Server Farm, In my case Search Server was disable in Farm 2)
(Already in PowerShell Script)

7. Reboot the SharePoint servers in Farm
8. Reset the content index (Optional)

9. Start Full Crawling

10. Search pdf Content should find the right PDF as same as below.

Cheers!!
All References:
1) MS Forum discussion at http://social.msdn.microsoft.com/Forums/en-US/sharepointgeneralprevious/thread/2d4470ef-fd0a-4e12-8886-68837865dfba
where i provided the final answer
2) http://nhutcmos.wordpress.com/2011/11/04/full-text-search-pdf-content-in-sharepoint-2010/
3) http://blogs.msdn.com/b/sameersurve/archive/2012/05/15/sharepoint-2010-cannot-crawl-pdf-files.aspx
4) http://profadmins.com/2012/03/20/adobe-pdf-ifilter-indexing-with-sharepoint-2010/
5) http://geekswithblogs.net/leonardm/archive/2010/09/10/configuring-sharepoint-2010-to-return-pdf-files-in-search-results.aspx
Friday, April 12, 2013
When you develop a custom SharePoint Timer Jobs sometimes you may need to delete junk jobs created by deployment times. This article will explain you how to remove custom timer job.
About Timer Job:
A timer job runs in a specific Windows service for SharePoint 2013.
Timer jobs perform infrastructure tasks for the Timer service, such as
clearing the timer job history and recycling the Timer service. Timer
jobs also perform tasks for web applications, such as sending email
alerts.
How to remove by C# Code: You must use a Visual studio project to create timer job where you will uncomment the following code from TimerJobFeature1.EventReceiver.cs
// Uncomment the method below to handle the event raised before a feature is deactivated.
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
// delete the job
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == List_JOB_NAME)
job.Delete();
}
}
Then You will Retract the solution. Timer job will be removed from the Timer Job List.

DONE!
How to remove by PowerShell Command:Find timer job ID by List_JOB_NAME using command.
Get-SPTimerJob | where { $_.name -like "*<List_JOB_NAME>*" } |ft id,name
Set job to a variable
$job = Get-SPTimerJob -id <GUID>
And delete it.
$job.Delete()

Hope This will help you.
Cheers!!
Find more reference:
http://technet.microsoft.com/en-us/library/cc678870.aspx
http://msdn.microsoft.com/en-us/library/hh528519%28v=office.14%29.aspx
Saturday, February 16, 2013
Today we arranged monthly usergroup meet-up at Microsoft by our SharePoint Experts–Bangladesh community. It is first offline meet-up with community members/ outside community (who were interested to join in the community).

I spoke on "SharePoint Workflow Problem and its Resolution" with some fundamental SharePoint information as majority was unknown with SharePoint Platform. I also described about our usergroup meeting and how it has been organized. Later i talked about Workflow problems i encountered during my development and how i solved them.
Find my ppt here
Find the details about the event at http://codetv.net/1048/sharepoint-experts-bangladesh-an-open-discussion-on-first-usergroup-meet-up-day-16-feb-2013-at-microsoft/
Hope all of you Enjoyed this event!
We planned to next meet-up on March 16, 2013 at Microsoft Bangladesh office (same place). It will be publish in our group (http://aka.ms/spexperts) within couple of days when it is finalized.
Friday, February 15, 2013
How to create a custom hit counter webpart for SharePoint internal web portal.
This is a common requirement sometimes from the client to integrate hit counter for their internal enterprise web portal. For example hit counter will show total visitor in the site as well as what are the pages accessed by IP/user/date/etc. i.e.
Total Hit Count:
I also got the similar type of request both from the community and the clients as there is no built-in feature to enable this feature in SharePoint 2010. Recently I also got the following question in my blog post.

I replied him in short summary how to do this but now I am trying to describe with more details about it.
How to:
There is already a Hit Counter Web Part Developed by G Vijai Kumar for MOSS (SP 2007). You can download this form codeplex
For SharePoint 2010: “Create Custom hit counter in SharePoint2010 using Sandbox Solution” is also available at MSDN code by Ravishankar Singh which works for single site without any issues. But if you want to use this for all sites through out the farm then build Visual web part to do this using same code and place it in all Master Pages. Let me explain you step by step how to use and customize it.
Step 1: Create a Visual Web Part and copy the code inside Page_Load(object sender, EventArgs e) as same as they did inside Render() Method.
Step 2(Optional): Add the following code if you want to record Client IP address with User, Data & URL.


Step 3: Deploy Hit counter using command (Powershell or STSADM) or VS 2010 to this site
Step 4: Create a Custom List, name it as Statistics or Record List also create three or four columns in Statistics list as like as below:
1.Url - Multiple lines of text
2.Date - Single line of text
3.Username - Single line of text
4.IP - Single line of text
(This can be create also form Feature Event receiver. In that case list will be created automatically when Deploy the web part. Skip it if you do not use the downloaded code)
Step: 5: Add this web part in home page or the page that you want to count. To count the hit for all pages in site, you have to place the webpart in all master page, so that the webpart code runs on every page where the visitor go and makes the unique entry in Statistics list.
Finally, You will get a view something like the following in the custom created statistics list:

I am not including my code here as basic code is already given by Ravishankar Singh at http://code.msdn.microsoft.com/office/Create-Custom-hit-counter-d68d9e52
Anyway, If you need by source code then email me or you can customize the above code as per as my given instructions.
Hope this will help!
Thursday, February 14, 2013
How to use formatting rules in Info Path 2010 by advance conditioning using userName() function and substring-before() & substring-after().
Scenario: I have a List Form customized by InfoPath Designer 2010 where set of rules applied based on business requirements. Another rule need to define that current user can only create item and can not do anything with the form after that if List Item created by him. It means Current user can not do anything in edit mode. Let’s think this is the basic requirement and how to do it. The real business case can be more complex! No matter. it will give you the idea how to solve this type of situation.
For Example:
A list item created by Contesto\Robert. if Robert try to edit list item after login then all fields will be disable so that Robert can do anything.
How to do that in the InfoPath form?
Solution:
You need the current logged user name and created by user name to compare and disable it using Add Rule.
Step 1: Select a Field in the form to setup Rule and set a condition for that.
Select Field –> Click Manage Rule –> Click New –> Click Formatting –> Set Condition –> Click “Select a field or group”

Step 2: You will get a Pop-Up to Select Account ID. Select the field and Press OK. It will return you
Contesto\Robert if List item created by Robert

Step 3: Select Condition operator is “Is Equal To”
Step 4: Now you have to find the Current Logged User Name.
userName() is one of the important function to get Current logged user name from Info Path From. This will only return the Current User Account ID. Read this to know about formula function: userName()

Click on “use Formula” on the right field to get this. but it will not give the correct result as This function will return only username (Robert) without domain name. It means userName() will return Robert instead of Contesto\Robert.
There is a TRICK to solve this
.You have to use an Advance formula to get “Contesto\Robert”
concat(substring-before(AccountId, "\"), "\", userName())

How to build Formula:
substring-before(AccountId, "\") will return the Contesto. In the same way substring-after(AccountId, "\") will return Robert.
Concat is actually doing concat(“Contesto”,”\”, userName()) and finally return “Contesto\Robert”
So, if you use this formula to get Account ID or User Name with Doman then it will work perfectly.
Step 5: Complete the Rule after Select “Disable this control” and Re-Publish for

Now the field should be disable when Robert try to edit item which is created by him but enable for the others account.
Thank you.
Hope this will Help!
If you find this useful then post this link in your blog/twitter/group/etc.
Reference: http://office.microsoft.com/en-001/infopath-help/add-formatting-rules-HA101783371.aspx
MJ Ferdous
SharePoint Architect
Thursday, January 31, 2013
Problem Details:
We have created a custom reusable workflow and added with a list on which a workflow (custom workflow) is to start automatically when the item is created. It works great when I add a new item to the list through the SharePoint UI it starts and completes as expected.
We want the list item to be added programmatically, using the SharePoint object model. And when I do this and then look at the list, the workflow hasn't started automatically.
Why?
My SharePoint Environment:
- SP 2010 Ent (Build Version 14.0.4762.1000)
- SPD 2010 Workflow
So, It can happen if yours Server Farm Version is
SharePoint Server 2010 RTM – Build Version 14.0.4762.1000 (my case)
or below
Build Version 14.0.6029.1000
Solution:
The problem can be solved easily if you upgrade the Server Farm to Build Version 14.0.6029.1000. because the same scenario is working for me in Another Server where Build Version is 14.0.6029.1000. It means this is a bug of Initial Product Version (Exactly I don’t know when it is solved after 14.0.6029.1000).
But if you are unable to Upgrade Farm due to some other dependency then Start Workflow Manually. I am having the same problem for adding List Item from custom web part. Workflow doesn't Auto-Start when i add new Item Pragmatically and I cannot Update Farm to Build Version 14.0.6029.1000 due to others dependency.
Initially I used the following code to start workflow pragmatically
private static void StartWorkflow(SPListItem listItem, string workflowName)
{
// Get the workflow by name that's associated with the list item
SPWorkflowAssociation wfAssoc = listItem.ParentList.WorkflowAssociations.GetAssociationByName(workflowName, System.Globalization.CultureInfo.CurrentCulture);
// Start the workflow
listItem.Web.Site.WorkflowManager.StartWorkflow(listItem, wfAssoc, wfAssoc.AssociationData, true);
listItem.Update();
}
But First time it works but from the next time it shows the following error:

How to solve:
Finally I have solved my problem in the following way:
I have change the code to Start Workflow which executes faster that the previous one
public void StartWorkflow(SPListItem listItem, SPSite spSite, string wfName)
{
SPList parentList = listItem.ParentList;
SPWorkflowAssociationCollection associationCollection = parentList.WorkflowAssociations;
foreach (SPWorkflowAssociation association in associationCollection)
{
if (association.Name == wfName)
{
association.AutoStartChange = true;
association.AutoStartCreate = false;
association.AssociationData = string.Empty;
spSite.WorkflowManager.StartWorkflow(listItem, association, association.AssociationData);
}
}
}
For more Details please read http://jainnitin2411.wordpress.com/2012/07/06/programmaticallystartsharepointworkflow/
Then i called it from Entry From "Save" Button instead of Event Receiver
currentWeb.AllowUnsafeUpdates = true;
call StartWorkflow(...);
//This has to be after start workflow otherwise you will face another Error "Save Conflict.\n\nYour changes conflict with those made concurrently by another user. If you want your changes to be applied, click Back in your Web browser, refresh the page, and resubmit your changes."
currentWeb.AllowUnsafeUpdates = false;
Hope this will help you!!
Related Error:
http://connect.nintex.com/forums/thread/16616.aspx
http://social.msdn.microsoft.com/Forums/bg-BG/sharepointdevelopmentprevious/thread/6bb56995-3a61-4095-aac8-9ca3a883d12c
http://social.technet.microsoft.com/forums/en-US/sharepointadminprevious/thread/83ae2900-6ed5-41d3-8682-73fc2ddea43f/
http://social.technet.microsoft.com/forums/en-US/sharepointcustomizationprevious/thread/fc4e1073-d67f-449a-b443-e5805f5358c7/
http://social.msdn.microsoft.com/forums/en-US/sharepointcustomizationlegacy/thread/724d1347-c1ab-4dce-96b4-a97a0a320b8b/
Tuesday, January 29, 2013
Errors were found when compiling the workflow. The workflow files were saved but cannot be run.
Advanced: Unexpected error on server associating the workflow
This is a SharePoint 2010 SP1 Bug and Error message is not meaningful to solve it or why this error is occurring
.
I found and faced a stupid SPD workflow publish Error during Last SP Deployment in Pre-Production & Production Server in Client End. I google it and found many people got the following Error “Error were found when compiling the workflow”.

There are several solutions with several replies in forum which confused me to solve the problem and Some solutions worked for my pre-Production Server but Doesn’t work for Production Environment. Production Environment were fixed after doing some additional steps. That’s why, I Planned to write a post on this error to help people who might face similar error.
So, Let me explain you my scenario first and how to solved this problem step by step.
Scenario:
My Team developed a SPD Workflow which is running fine in the Development Environment (SharePoint Server 2010 RTM – Build Version 14.0.4762.1000) without any error. When I tried to Deployed in Pre-Production Environment (SharePoint Server 2010 SP1 – Build Version 14.0.6029.1000), I was unable to Restore site due to Upper Version.
I upgraded the development Environment to 14.0.6029.1000 as same as Pre-Production and Restored the SharePoint Site in Pre-Production.
But Workflow Failed to Start
So when I tried to Publish workflow again using SharePoint Designer, I got the above error even from Development Server. It Means this is SP1 Bug for this specific version.
Solution:
To resolve this issue, install the hotfixes that are provided in the following articles in the Microsoft Knowledge Base:
2687614 (http://support.microsoft.com/kb/2687614/ )
Description of the SharePoint Server 2010 hotfix package (Coreservermui-xx-xx.msp): October 30, 2012
2687557 (http://support.microsoft.com/kb/2687557/ )
Description of the SharePoint Foundation 2010 hotfix package (Wss-x-none.msp): October 30, 2012
I installed those in the Pre-Production Server and Update my Farm. Each time I run “SharePoint 2010 Products Configuration Wizard” to Update Farm (It is required to Update Farm who doesn’t know about it)
Error still not solved !!!
Finally I did the following:
Open SharePoint management shell as administrator and run the bellow command
$app.UserDefinedWorkflowMaximumComplexity = 10000
$app.Update()
Then I try to publish the workflow and it works without any problem.
I found Details at http://support.microsoft.com/kb/2557533
Final Steps:
The above solution doesn’t work in the Production and confused what to do.
Possible reason(s) I realized its something to do with SPD to Web Application communication. So I guess it was request size / timeout related issue.
Finally, I increased the web application execution time to Solve this Problem
1. Navigate to web.config file of the WebApplication
Usually its
@ C:\inetpub\wwwroot\wss\VirtualDirectories\xxxx\web.config
2. Look for this
<httpRuntime maxRequestLength="51200" />
3. Replace with
<httpRuntime maxRequestLength="51200" executionTimeout="300" />
That's all.
PROBLEM SOLVED!!!
Friday, December 28, 2012
Background:
SharePoint is nothing new for us as it is already Implements in the most of Large Organization in Bangladesh. Most of the Telco Providers (GP, Robi Axiata, BanglaLink etc) are already using for their Document Management & Enterprise web portal. Banking sectors also started with SharePoint Automation from the Last couple of years. Lots of International Clients are coming to Bangladesh for Software Development as “Bangladesh is promising big things from a growing small software industry”
by Richard Sykes (more at http://www.cio.co.uk/article/3416606/branding-bangladesh/) Where SharePoint Development can play a vital role among all others Technology/Platform. These are the main reason why companies are looking for SharePoint Developers to satisfy the Global and Local Market.
History:
All Large companies who were implemented SharePoint before (4/5 year back) for their organization, They hired foreign consultant for Implementation and Maintenance SharePoint Product which was too costly for them. So Small-Medium companies were far away from SharePoint Implementation and There was no one to encourage about it.
I started SharePoint Development since 2008 form Italy from the time when I attended at Microsoft Day Program, Italy and I started SharePoint work at Robi as consultant in 2009 when I first time come to Dhaka to attend in Microsoft Day to deliver my speech on SharePoint Server. I saw several companies are looking for SharePoint Developer for outsource Project but none are available. As a result they were loosing SharePoint Projects. I started an online SharePoint user-group (http://www.facebook.com/groups/SharePointExpert/) to make more developer for this Platform and Organized a most successful Event Microsoft SharePoint Community Day in Jan 2012 jointly with Microsoft
Event Details:
http://www.facebook.com/events/199334696812544/
http://geekswithblogs.net/ferdous/archive/2012/01/12/presentation-on-sharepoint-2010-overview-on-sharepoint-community-day-2011.aspx
Lots of small-medium companies were started to think to use SharePoint after watching this Event (Now they Understand SharePoint Foundation is Free and Developers are also available locally)
Finally, Now we have a good number of SharePoint Developer in the Software Industry though still is not enough.
What About SharePoint Training:?
So the first time I started Training on SharePoint Server Developer Training in Bangladesh. It was a good initiative from BASIS to arrange this Training Program and was in mind to do something like this. There is also available SharePoint End User Training by new horizons NOW!!!. Here is the Details:
SharePoint Developer Training by BASIS:
Course Duration: 30hr (5 weeks)
Course Details: SharePoint is one of the most sought skills these days in the IT industry. This course will cover the various aspects of SharePoint 2010 Development & Administration. The course will start from the SharePoint Fundamentals and will cover the concepts till intermediate level. No prior knowledge of SharePoint is required for this course except programming skill with ASP.net. The course duration is 30 hours.
Class Schedule: 6:00 pm to 9:00 pm (3-Hours) on Friday & Saturday
Details at http://www.basis.org.bd/index.php/training/detail/66
SharePoint End-User Training by New Horizons
http://www.newhorizons.com/Microsoft-Sharepoint-2010-Courses.aspx
Wednesday, November 7, 2012
Sometime, it is necessary to modify the 'Created By' field value for each list item and set it to the respective user's login ID. In my case it was required to Update “Created By” field value of Comments List of Blog Site. There was 1200+ comments in the list to modify.
The example simply replaced the created by field with user X to user Y. Apparently you also need to specify the user ID during replace Created by or Modified by.
// Add only if you use windows powershell.
Add-PSSnapin Microsoft.SharePoint.Powershell
//Get a new object called $web to pick site
$web=get-SPWeb “You Web URL”
//Get a new object called $web to pick site
$list=$web.Lists["Your List"]
You can get the user ID of the user using the “EnsureUser()” method of “web” in Powershell command.
$replacedUser =$web.EnsureUser(“domainName\Account”)
The code “$item["Author"] = $replacedUser ” is used to updated the “Created By” column.
if you want to update the “Modified By” column, you have to add the code below: “$item["Editor"] = $replacedUser ”
foreach($item in $list.Items)
{
$item["Author"] = $replacedUser
$item["Editor"] = $replacedUser
$item.update()
}
$web.Update()
$web.dispose()
Don't forget to use $item.update() at the end, because otherwise your new value won't get displayed.
Reference:
http://sp-scripting.blogspot.com/2012/04/powershell-update-field-in-sharepoint.html
Wednesday, June 20, 2012
Alternate Access Mappings is a feature of SharePoint which allows a website to function correctly under different URL scenarios, including, reverse proxies and load balancing. It is a common practice used by many companies for their internal and external users. Let me try to explain how to configure Alternate Access Mappings:
Let’s say you have top level site collection URL is http://ferdous-bs AND You would like to make URL http://internet.contesto.com for external user and http://intranet.contesto.com for internal user.
1. Go to Central Administration –> Alternate Access Mapping –>

2. Add host name(intranet.contesto.com) in the host file at c:\Windows\System32\drivers\etc\hosts as same as below. Here you can use your server IP instead 127.0.0.1.

If you want to access from network then Complete the network configuration for the alternate URL that you are planning to map with http://intranet.contesto.com for internal user. It means IP has to be resolve when internal user hit on this URL.
3. Try to access the site from your server using http://intranet.contesto.com
4. Opps! You will get “Authentication Error” if you access from for Host Server but you can solve it using edit registry. Follow the instruction that I written at http://geekswithblogs.net/ferdous/archive/2011/01/06/authentication-error-with-sharepoint-application-which-uses-host-header-on.aspx
5. Now you should able to access your site from network or from server using http://intranet.contesto.com
Thanks.
Saturday, February 25, 2012
-Who is interested about SharePoint Web Development but looking for a guideline how to start?
A SharePoint Technical session will be held on Tomorrow 12PM at BASIS SOFTEXPRO 2012. I hope you already registered for the session as you need to sign up to attend the following session.

A brief summary of my session:
Microsoft SharePoint is a web application platform developed by Microsoft. SharePoint is typically associated with web content management and document management systems, but it is actually a much broader platform of web technologies, capable of being configured into a wide range of solution areas.
• SharePoint is an Application that sits on top of ASP.net (3.5 SP1 in the current SharePoint 2010)
• SharePoint overrides a lot of ASP.net built-in functionality (they have their own .aspx Parser)
• People use basic templates for basic websites (wordpress, joomla...), but most companies use SharePoint, because management of enterprise websites with SharePoint is really user friendly :)
…
…
The session will try to expose more in the session.Here is the presentation slide
Wednesday, January 18, 2012
It was full of engineers & IT professional who were eager-to-learn about SharePoint and the presentation was exactly for them. This was my 2nd Presentation on the Community Day as I already descried about it in my previous post. Sorry to post this in late and this is just to share my feelings with you.
Robiul, SoftwarePeople started the presentation for the ASP.Net Developer who are completely unfamiliar with SharePoint. He diverted his presentation to others audience who are little bit familiar with SharePoint and need some advance topic to learn. Finally he ended up with questions and answers and I started after that to show Silverlight Integration with SharePoint and How to work with MSDN Virtual Lab for SharePoint Development. Recently I post at article on Silverlight Integration as CodeProject as Part 1 and I will continue write more in the 2nd part.
Just Keep in Touch and write your question in the Group Page
http://www.facebook.com/groups/SharePointExpert/
Thursday, January 12, 2012
Before I describe about my session, let me introduce the history of making this great event. We SharePoint Experts Community arranged this Community Day jointly with Microsoft to introduce SharePoint 2010 on 7th January 2012 which is the first time in Bangladesh. Thanks to Microsoft Bangladesh to Sponsor the whole Program and others co-sponsors.
We planned 6 months ago to arrange this type of event for Developers and IT Professional who might be interested about SharePoint Technology and proposed to Microsoft Bangladesh. They positively approved our proposal and we found lots of interest, comments about the event from the developers, IT pro when we declared the final day at Facebook event page.
Omi Azad, Developer Evangelist well-described about the whole session at Microsoft SharePoint Community Day 2012. You will find all speaker’s presentation slides to download.
The first Presentation was SharePoint 2010 Overview presented by me. It was mostly focused for IT professional who are completely unfamiliar with SharePoint. I tried to show it with example how and why SharePoint is necessary in the industry.
Here is the brief summary of my session:
What is SharePoint ?
SharePoint is a browser-based platform from Microsoft that allows for easier, timely and effective documents management, content management, collaboration, search etc.
Why need SharePoint?
I need SharePoint as it makes life easier for people to work together.
How? ?
Let’s imagine the following scenario (play video) which will provide you the answer
SharePoint History
SharePoint 2001 –> SharePoint 2003 –> SharePoint 2007 –> SharePoint 2010
MS SharePoint 2010 - The Business Collaboration / Internet Business Web Platform
- Connect and Empower People
- Cut Costs with a Unified Infrastructure
- Rapidly Respond to Business Needs
The capabilities of MS SharePoint Server 2010 are focused in six areas. The Core Features are Sites, Communities, Content, Search, Insigts, Composites.
What are sites?
The basic capabilities required to use SharePoint sites to engage employees, partners and customers in an effective manner, both inside and outside the firewall. Quickly build / deploy Enterprise class web sites that help reach, engage and empower employees, customers and partners
What are Communities?
Formally Known as “Collaboration”. The ability to easily access expertise and interact with other people in new and creative ways across the enterprise through both formal and informal networks.
What does mean SharePoint Content?
Formally known as “Content Management”.The facilities for the creation, review, publication and disposal of content including conforming to defined compliance rules, whether the content exists as traditional documents or as Web pages. SharePoint 2010’s content-management capabilities include:
- Web Content Management
- Document Management
- Record Data Management
SharePoint Search
Employees / consumers need tools to quickly locate relevant information from diverse data sources.
- Find information across the desktop, intranet and Internet
- Use information via intuitive, familiar interfaces
- Share information among teams and connect people in real-time
What are SharePoint Insights?
Information workers need tools to make well informed business decisions and enable competitive advantage. So, Insights Support:
- Effective data analysis and decision-making with Excel Services
- Enhanced business insight with PerformancePoint Services
SharePoint Composites
It is basically pervasive external data with Business Connectivity Services.
Investments for the Developer
ASP.Net Developer can use existing knowledge and resources with VS 2010 integration.
How SharePoint Is Helping Customers Delivering Value
- Lower Total Cost of Ownership (TCO)
- Reduce IT costs and complexity
- Reduce development costs
- Simplify management & training
- Maximize Return on Investment (ROI)
- Get more for less
- Improve employee productivity
- Enhance customer service
Here is the complete Presentation slide
Please provide your feedback if you feel it is useful for you.
Wednesday, July 13, 2011
Have you ever get the following error when you run Central Administration in SharePoint Server? I hope you haven’t yet and make yourself ready to fix this error for future 
Config Error There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler'section defined
Problem: I have installed SharePoint 2010 in a server and recently I got this error in my server when I tried to run central administration. I was stuck here to resolve this issue as it was my staging server and I can not re-build everything from scratch. How I resolved this problem?
Solution: I started to run SharePoint Configuration Wizard to Fix this but I got the following Error
Failed to provision the SharePoint Central Administration Web Application.
An exception of type System.Runtime.InteropServices.COMException was thrown. Additional exception information: Filename: \\?\C:\inetpub\wwwroot\wss\VirtualDirectories\46824\web.config
Line number: 25
Error: There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined
This issue occurred due to running the SharePoint Application pool under .NET framework 4.0, however, the application is compiled with .NET framework 3.5. SharePoint 2010 is running under .NET framework 3.5. So, in this case, please make sure the application pool is running under .NET framework 3.5.
Details:
http://mssharepointtips.com/tip.asp?id=1172&page=1
Note: DO not remember to re-start IIS after changing .NET framework version to V2.0.50727.
Tuesday, March 15, 2011
How can we get SMTP to work on Windows 7 (Development Environment) as we used to just be able to turn it on for a windows XP box. 
SMTP isn't included in Windows 7 by default. But you can install Remote Server Administration Tools that includes SMTP Server Tools for Windows 7. It enables IT administrators to manage roles and features that are installed on remote computers that are running Windows Server 2008 R2 but it can be installed ONLY on computers that are running the Enterprise, Professional, or Ultimate editions of Windows 7.

First install Remote Server Administration Tools, and then upgrade to Service Pack 1 as it CANNOT BE INSTALLED on computers that are running Windows 7 with Service Pack 1 (SP1).

Download http://www.microsoft.com/downloads/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d
For configuring SMTP E-mail IIS 7, please refer to: Configure SMTP E-mail (IIS 7)
Thursday, March 3, 2011
Many applications need Claim Based Authentication instead of Classic Mode Authentication. The Form Based Authentication (FBA) is one type of Claim Based Authentication. The default login page of FBA in SharePoint 2010 is very simple which only provides a simple Login control with the user name, password and remember me option. But many developers want to implement a customized login page for a better looking experience or more options according to business requirements.

Creating and Deploying a Custom Login Page for SharePoint 2010 Forms Based Authentication article will demonstrate how to create a custom login page for a SharePoint site using Visual Studio 2010 and deploy it in a server farm. It will also include how to change the default login page URL from the Central Administration Application Provider Settings.
More details in http://www.mssharepointtips.com/tip.asp?id=1093
Thursday, February 24, 2011
I am new writer at http://www.mssharepointtips.com/ for writing SharePoint tips, tricks and real world problems and feeling proud to become writer for their portal. Many thanks to Jeremy Kadlec, Edgewood Solutions to select me as a professional writer. My first article will be publish here (below) from 1st March 2011 on “Creating and deploying custom Login page for SharePoint 2010 FBA authentication”

View my Profile: http://www.mssharepointtips.com/author.asp?id=23
Join in Twitter: http://twitter.com/SharePointTips
Join in Discussion Group: http://www.linkedin.com/groups?gid=2986608
Everyone is welcome go there and feedback me.
Keep watch!!!

MJ Ferdous
Tip Writer, Edgewood Solutions
URL: www.mssharepointtips.com
Thursday, January 6, 2011
This is known issue with SharePoint 2007 or SharePoint 2010 on Windows Server 2008 platform and not specific to any sharepoint application.
Problem: Your windows credential doesn’t work if you try to log in to the web application (http://contosto.company.com) on the server itself although you can access the same site from outside, when you create a SharePoint web application with a host header (contosto.company.com) on SharePoint Server (Server Name: contosto) which is installed on Windows Server 2008. This problem is happening with the recent patches.

If you check the event viewer logs on “Security” category, you will see something like the one below under Audit Failure Keyword

The main reason for this issue is Windows includes a loopback check security feature that helps prevent reflection attacks on your computer. Therefore, authentication fails if the FQDN or the custom host header that you use does not match the local computer name as the system blocks the authentication procedure while resolving the host header given to the web application.
To resolve this issue, a modification must be done to the server's registry to specify the host name. To specify the host names that are mapped to the loopback address and that can connect to Web sites on your computer, follow these steps:
- Click Start, click Run, type regedit, and then click OK.
- In Registry Editor, locate and then click the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- Right-click MSV1_0, point to New, and then click Multi-String Value.
- Type BackConnectionHostNames, and then press ENTER.
- Right-click BackConnectionHostNames, and then click Modify.
- In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.
- Exit Registry Editor, and then restart the computer.

The name placeholder is considered a host header. It is an alternative name for the computer on which Reporting Services is installed. You must add the NetBIOS and the Fully Qualified Domain Name (FQDN) for name to the BackConnectionHostNames list that is stored in the Windows registry.
For example, if name is a Windows computer name, such as contoso, the name can likely also be referenced in FQDN form as contoso.domain.com. You must add both representations to the list in BackConnectionHostNames.
So, The above registry modification must be done for all other SharePoint applications which are using Host Header.
Reference:
You receive an error message when you use SQL Server 2008 Reporting Services: "HTTP 401.1 - Unauthorized: Logon Failed"
Wednesday, December 29, 2010
You need to make scheduled nightly backups using powershell or stsadm. You would like to schedule regular backups using windows scheduled but how to create the batch files to run the powershell backup. I had the same problem and I am showing you how to solve this:
PowerShell Command to backup SharePoint Site Collection
backup-spsite -identity http://SPServer:10001/ -path C:\Backup\Backup.bak
OR backup-spsite -identity http://SPServer:10001/ -path C:\Backup\Backup.bak –force (use force to overwrite existing file)
So, You can use backup-spsite to do http://SPServer:10001/ site backup. For example, the follow script will start a full backup to C:\backup where you can send site collection URL and backup file name as parameter to PowerShell Script
$args[0] = http://SPServer:10001/ and
$args[1] = C:\backup\backup_site.bak
Add-PSSnapin Microsoft.SharePoint.PowerShell
backup-spsite -identity $args[0] -path $args[1] -force
Save it as C:\Scripts\BackupSPSite.ps1 as Windows PowerShell script files are .ps1 files. And put the following inside your batch file to run from Windows Task Scheduler.
@echo off
SET SOURCE_SITE=http://SPServer:10001/
SET DEST=c:\backup\Backup_site.bak
powershell -command C:\Scripts\BackupSPSite.ps1 %SOURCE_SITE% %DEST%
Save it as C:\Scripts\BackupSPSite.bat run it from Task scheduler. In task scheduler, the account need to be set with admin permissions to run it properly.
You can use it to keep your daily backup of SharePoint Site. You can also do entire Farm backup using the following command in PowerShell Script
Backup-SPFarm -Directory C:\Backup -BackupMethod full
Monday, December 13, 2010
I was trying to configure IIS 6 SMTP server for outbound mail in Windows Server 2008. I was getting error highlighted in below:
Telnet: 550 5.7.1 Unable to relay for ferdous@congral.com
I am sharing my experience here how to solve this error. This is an error reply from your SMTP mail server. It indicates that your mail server is not configured to allow you to send mail through it. The standard port is 25 for SMTP connections. You can check your SMTP Server on SMTP port 25 using Telnet command.Open "MS-DOS prompt" or "command prompt". Just type the following command in the command prompt window and press "Enter":
telnet domain-name.com 25

The above highlighted line shows the error. So, You need to do the following if you get the SMTP error message "550 5.7.1 Unable to relay"
By default, the SMTP virtual server allows relaying only from authenticated users. This configuration is designed to prevent unauthorized users from using your Exchange server to relay mail. The virtual server's default configuration allows only authenticated computers to relay mail.
Change Default Relay Restriction:
Go to IIS6.0 Manager –> SMTP Virtual Server Properties –> Go to Access tab
Change to “All except the list below” to remove restriction. You also add Restricted IPs or domain name that you don’t want to allow.

This should solve your problem to allow to send email anywhere like gmail, yahoo or any other domain.
Wednesday, December 8, 2010
SharePoint Installation in Windows 7 or Vista is not same as Windows Server 2008. You might have difficulties if you do not follow the proper steps. Here i have been tried to explain how to install SharePoint 2010 on Windows 7 or Vista and configure it.
Assume, Installed OS Windows 7 x64 (as you may already know SP only support 64-bit OS) and Windows update
Install SQL Server 2008
Install SharePoint 2010
You can install SharePoint using the following steps
A. Install software prerequisites
1. Install the Microsoft Filter Pack 2.0 by launching the installer from your extracted SharePoint files:
i.e. C:\SharePointFiles\PrerequisiteInstallerFiles\FilterPack\
FilterPack.msi
2. Install the Microsoft Sync Framework Runtime from the following location: http://go.microsoft.com/fwlink/?LinkID=141237
.
Indicated as already installed
3. Install Microsoft SQL Server 2008 Native Client support from the following location: http://go.microsoft.com/fwlink/?LinkId=123718
.
Indicated as already installed
4. Install Windows Identity Foundation from the following location: http://support.microsoft.com/kb/974405
.
5. Install Microsoft ADO.NET Data Services Update (KB976127), which is required for the REST support that is part of SharePoint.
If you are installing SharePoint on the Windows Vista operating system, install the update from here: http://www.microsoft.com/downloads/details.aspx?FamilyID=
a71060eb-454e-4475-81a6-e9552b1034fc.
If you are installing SharePoint on the Windows 7 operating system, install the update from here: http://www.microsoft.com/downloads/details.aspx?familyid=
79D7F6F8-D6E9-4B8C-8640-17F89452148E&displaylang=en.
6. Install the Chart Controls (this is not required for SharePoint Foundation) from here: http://go.microsoft.com/fwlink/?LinkID=122517
.
7. Install SQL Server Analysis Services - ADOMD.Net (this is not required for SharePoint Foundation) from here: http://download.microsoft.com/download/A/D/0/AD021EF1-9CBC-
4D11-AB51-6A65019D4706/SQLSERVER2008_ASADOMD10.msi.
8. Turn on the required Windows features:
I did this part by typing the following at the command prompt (using Run as Administrator!):
Note that there should be no line-breaks in this text, so use Notepad to remove them before pasting into CP
start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ISAPIExtentions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-BasicAuthentication;IIS-RequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-Managementconsole;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;WCF-HTTP-Activation
9. If you are installing SharePoint on the Windows Vista operating system, install KB976394 from: http://code.msdn.microsoft.com/KB976394/Release/
ProjectReleases .aspx?ReleaseId=357.
If you are installing SharePoint on the Windows 7 operating system, install KB976462 from: http://code.msdn.microsoft.com/KB976462/Release/
ProjectReleases.aspx?ReleaseId=3571.
On the above, I searched for KB976394 for Windows 2008 Server
10. Navigate to the folder where SharePoint installation files are located and double click PrerequisiteInstaller.exe to start the SharePoint 2010
pre-installation.
B. Installed SharePoint Server
Navigate to the folder where the SharePoint installation files are and double click setup.exe to start the SharePoint 2010 installation. Installed single server Standalone using default settings
![image_thumb[1] image_thumb[1]](http://gwb.blob.core.windows.net/ferdous/Windows-Live-Writer/785178141ac2_10072/image_thumb1_thumb.png)
1. Choose Server Type - Standalone because Complete Installation will not work without Active Directory. So, choose the “Standalone” option to begin the installation of SharePoint 2010
Click Close to run the SharePoint Configuration Wizard when the installation is complete.
At this point I Unchecked the box so the Wizard would not run
referencing http://sharepointgeorge.com/2010/installing-sharepoint-2010-privilege-service-accounts/
I did:
2. SharePoint Setup User Account
This should be a standard domain user account that will be used as the logged in user when installing SharePoint and for when running the SharePoint
Products Configuration Wizard. This account must be a member of the Local Administrators group for each server where SharePoint 2010 will be installed.
You will also need to create a SQL server login with the following SQL server security roles; “securityadmin” and “dbcreator”.
e.g. aah\SPLogon
3. Server Farm/Database Access Account
You guessed it, this should also be a standard domain user account, however we do not need to grant any necessary permissions to this account as this is
handled by the SharePoint Setup User Account during the SharePoint Products Configuration Wizard. This is the account that we nominate as the “Database
Access” account during the SharePoint Configuration Wizard. This account will be applied against the SharePoint Foundation Workflow Timer Service and
the SharePoint Central Administration Web Site Application Pool.
e.g. aah\SP
4. Add both users (SPLogon and SP) to the Administrators group on the machine (Start / Administrative Tools / Server Manager / Local Users and Groups )
5. Reboot Server
C. Run Configuration Wizard
Configuration Complete and open Central Administration automatically or open from start menu
SharePoint Create a Default site SharePoint-80 with default port 80
Wednesday, October 6, 2010
Business Data Connectivity Service allow to connect with external data system (WCF service, database, .Net assemblies), which is improved version of formal Business Data Catalog in SharePoint 2007.
But you can get this type of error after installing SharePoint 2010 Beta and SharePoint Designer 2010, opening Designer and navigating to the External Content Types object results in the following error:

This problem can happen If your SharePoint installed in Windows 7 OS due to the following patch of Client OS (Windows 7) though another reason of this error is BDC service isn’t running properly. So, You need to install Windows6.1-KB976462-v2-x64 Hot fix from
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=23806

For Windows Server 2008, ensure all update are installed using Microsoft Windows Update. If the the problem persist again after restart PC then go to Manage services on server on Central Administration check BDC and Metadata service
Central Administration –> System Settings –> Manage services on server

Check if Business Data Connectivity Service and Managed Metadata Web Service are stopped. Start the services if any of them are stopped and close SharePoint Designer and re-open again.

The error should be resolved after that.
If BDC Metadata store is unavailable this try http://brianhochgurtel.blogspot.com/2009/12/bdc-metadata-store-is-currently.html
Thursday, August 19, 2010
Take a quick tour of SharePoint Designer 2010 and learn about the features used to build custom no-code solutions on SharePoint 2010.
Learn More at http://officebeta.microsoft.com/en-us/sharepoint-designer-help
Sunday, July 18, 2010
I spoke about SharePoint Mobile Extension and Office Mobile 2010 on Aloashbei workshop event at Emmanuel's Banquet Hall arranged by Grameen Phone and Microsoft.
I hope Grameen Phone and Microsoft will arrange this kind of event in future.
Sharepoint mobile version
Schedule of Event: https://www.aloashbei.com.bd/blog/schedule-get-together
Aloashbei Event contents: https://www.aloashbei.com.bd/blog/aloashbei-get-together-contents
Wednesday, June 16, 2010
Here i will explain you how to install SharePoint 2010 on Windows Server 2008 x64 R2 and configure it.
Prepare your server by —>
Installing OS Windows Server 2008 x64 R2 and Windows update
Configure Active Directory if you would like to use domain account
Install SQL Server 2008
Install SharePoint 2010
You can install SharePoint using the following steps
1. Install software prerequisites
2. Installed SharePoint Server
Installed single server Standalone using default settings

Choose Server Type - Standalone because Complete Installation will not work without Active Directory
3. Run Configuration Wizard

4. Configuration Complete and open Central Administration automatically or open from start menu
5. Opened Central Administration in browser without any Error
6. SharePoint Create a Default site SharePoint-80 with default port 80