Friday, February 14, 2014

Glossary/Index of products based on SharePoint Out Of Box Features


I need a very simple Glossary or Index of all the Product Items along with Images based on SharePoint out of box features. So I followed the below steps.


1. Create Image Library
1.1. Create a Glossary Image Library ( I Choose this as I can upload an image directly to this library where as if I choose a document library I cannot have preview, it just show an icon as Type, and with List, I have to upload the image to an image library and take the path of the image and add it as an image..)

1.2. Add the required columns like category, description, Intendedtouse, ProductType etc or use the existing columns if it suits for your requirement.

1.3. Create a View to show it on the page (with Preview or Thumbnail Preview).

1.4. Add this Image library to the page as List/Library webpart and change the View by editing the webpart.

2. Add Query String Filter Webpart to the page.
2.1 Edit the webpart, Query String Parameter Name = <a column from the list which should indexed>
then OK.
2.2. Query Sting Filter webpart --> dropdown @ right side of the webpart --> Connections --> Send Filter Values to --> Glossary (name of the web part that you already placed for the Image Library)
then (on popup) Coose Connection tab Connection Type: Get Filter Values From. On Configure Connection tab Consume Field Name: <choose the column which is used for index>
--> Finish

3. Now we need to add the alphabet list for indexes
3.1 Add a Content Editor Webpart and add the below content in HTML Editor and change the URL Paths and other content based on your requirement.
3.2. Save the page and refresh the page & test.

It should work perfectly...
Note: Make sure the query filter works correctly and html urls configured correctly for the alphabets.

==================== Content Editor HTML code
<!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"--><!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"--><style type="text/css" media="screen">
H3 {
FONT-SIZE: 130%
}
.container {
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: #fff; PADDING-TOP: 0px
}
#minitabs {
BORDER-BOTTOM: #660099 1px solid; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#minitabs LI {
PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px
}
#minitabs A:link {
PADDING-BOTTOM: 2px; LINE-HEIGHT: 14px; MARGIN: 0px 10px 4px; FLOAT: left; COLOR: #660099; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: underline
}
#minitabs A:visited {
PADDING-BOTTOM: 2px; LINE-HEIGHT: 14px; MARGIN: 0px 10px 4px; FLOAT: left; COLOR: #660099; FONT-SIZE: 10px; FONT-WEIGHT: bold; TEXT-DECORATION: underline
}
#minitabs A.active:link {
BORDER-BOTTOM: #696 4px solid; BORDER-LEFT: #696 4px solid; PADDING-BOTTOM: 2px; BACKGROUND: #fff; COLOR: #363; BORDER-TOP: #696 4px solid; BORDER-RIGHT: #696 4px solid
}
#minitabs A.active:visited {
BORDER-BOTTOM: #696 4px solid; BORDER-LEFT: #696 4px solid; PADDING-BOTTOM: 2px; BACKGROUND: #fff; COLOR: #363; BORDER-TOP: #696 4px solid; BORDER-RIGHT: #696 4px solid
}
#minitabs A:hover {
BORDER-BOTTOM: #696 4px solid; BORDER-LEFT: #696 4px solid; PADDING-BOTTOM: 2px; BACKGROUND: #fff; COLOR: #363; BORDER-TOP: #696 4px solid; BORDER-RIGHT: #696 4px solid
}
#miniflex {
BORDER-BOTTOM: #333 1px solid; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 10px; WIDTH: 75%; PADDING-RIGHT: 10px; FLOAT: left; FONT-SIZE: small; PADDING-TOP: 0px
}
#miniflex LI {
PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#miniflex A:link {
LINE-HEIGHT: 20px; MARGIN: 0px 10px; FLOAT: left; COLOR: #333; FONT-SIZE: 85%; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#miniflex A:visited {
LINE-HEIGHT: 20px; MARGIN: 0px 10px; FLOAT: left; COLOR: #333; FONT-SIZE: 85%; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#miniflex A.active:link {
BORDER-BOTTOM: #333 4px solid; PADDING-BOTTOM: 2px; COLOR: #333
}
#miniflex A.active:visited {
BORDER-BOTTOM: #333 4px solid; PADDING-BOTTOM: 2px; COLOR: #333
}
#miniflex A:hover {
BORDER-BOTTOM: #333 4px solid; PADDING-BOTTOM: 2px; COLOR: #333
}</style><div><table width="100%" class="s4-wpTopTable" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top"><div class="ms-WPBody noindex" webpartid="1f55372c-2b0b-4221-9d71-281e85b4e99c"><a href="/sites/abc/blogs/EFBlog/default.aspx" target="_blank"><table width="100%" class="ms-rteTable-6 ms-rteFontSize-2 ms-rteThemeForeColor-2-0 ms-rteBackColor-10" cellspacing="0" style="font-size: 1em"><tbody><tr class="ms-rteTableHeaderRow-6 ms-rteFontSize-2 ms-rteThemeForeColor-2-0 ms-rteBackColor-10"><th style="background-color: #60c; color: #ffffff"><span>Glossary</span> </th></tr></tbody></table></a></div></td></tr></tbody></table></div>
<div class="container"><table><tbody><tr><td style="width: 739px"><font color="#660099"></font></td></tr></tbody></table>
<ul id="minitabs" style="width: 1038px; height: 50px"><li><a href="/sites/abc/Pages/Glossary1.aspx">All</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=a">A</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=b">B</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=c">C</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=d">D</a> </li>
.... <li><a href="/sites/abc/Pages/Glossary1.aspx?Category=m">M</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=p">P</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=r">R</a> </li>
<li><a href="/sites/abc/Pages/Glossary1.aspx?Category=S">S</a> </li></ul>
</div>
=============================

Wednesday, January 22, 2014

Proc & Cons with SharePoint List vs External Data Sources & Data Sources - SQL Server vs Oracle


SharePoint Lists vs External Data Sources (BCS/External Lists)
1. BCS Limitations
http://chakkaradeep.com/index.php/bcs-limitations/

2. Using SharePoint workflows with Business Connectivity Services (BCS)
http://blogs.msdn.com/b/bcs/archive/2010/01/20/using-sharepoint-workflows-with-business-connectivity-services-bcs.aspx

Using SharePoint workflows with Business Connectivity Services (BCS) – Sandboxed Workflow Actions
http://blogs.msdn.com/b/bcs/archive/2010/01/29/using-sharepoint-workflows-with-business-connectivity-services-bcs-sandboxed-workflow-actions.aspx

Using SharePoint workflows with BCS – Full Trust Workflow Activities
http://blogs.msdn.com/b/bcs/archive/2010/03/02/using-sharepoint-workflows-with-bcs-full-trust-workflow-activities.aspx

3. http://blogs.msdn.com/b/chaks/archive/2011/05/02/concept-leverage-sharepoint-workflows-with-external-lists-part-1.aspx

Differences between native and external lists
http://office.microsoft.com/en-us/sharepoint-help/differences-between-native-and-external-lists-HA102771000.aspx

SharePoint Lists vs. External Databases
http://msdn.microsoft.com/en-us/library/ff798319.aspx




























Notes:
1. How to: Use Business Connectivity Services with SharePoint Workflows
http://msdn.microsoft.com/en-us/library/office/ff394479(v=office.14).aspx




Friday, August 30, 2013

MS Access 2010 to SharePoint 2010 error: Data cannot be inserted because there is no matching record.


We saw the below error message, when I try to update a record in SharePoint 2010 List which is linked up with MS Access 2010. I have 100s of records out of them only one record is giving us this error message. 
Error: Data cannot be inserted because there is no matching record.
Microsoft Access - Data cannot be inserted because there is no matching record.
In the MS Access if I go to the Linked Table (SharePoint List in MS Access) and just modify the record (uncheck and check a status record and revert it back), then everything works fine. It seems that particular record was not syncing with Server SharePoint List item/record.
Instead what I did is, I went to the table in MS Access, Right Clicked on the table and More Options than clicked on Relink Lists. Then it worked. I saved this version of MS Access db as new version and send across to the user.

Cannot complete this action as the Secure Store Shared Service is not responding. Please contact your administrator.



While configuring the performance point 2010 I got the following issue
Cannot complete this action as the Secure Store Shared Service is not responding. Please contact your administrator.

After trying many approaches, I found the solution
1. Make sure the SecurityTokenServiceApplicationPool is running.
2. Go to System Settings -> Manage services on server
Following services should be enabled
PerformancePoint Service
Secure Store Service
Claims to Windows Token Service
3. Go to Application Management -> Manage service applications
4. Check the Secure Store is started
5. Go to App-pool and make sure the the associated App pool is running
6. Reset the IIS

SharePoint : Limited Access

Microsoft:
The Limited Access permission level is designed to be combined with fine-grained permissions to give users access to a specific list, document library, item, or document, without giving them access to the entire site. However, to access a list or library, for example, a user must have permission to open the parent Web site and read shared data such as the theme and navigation bars of the Web site. The Limited Access permission level cannot be customized or deleted.
 NOTE   You cannot assign this permission level to users or SharePoint groups. Instead, Windows SharePoint Services 3.0 automatically assigns this permission level to users and SharePoint groups when you grant them access to an object on your site that requires that they have access to a higher level object on which they do not have permissions. For example, if you grant users access to an item in a list and they do not have access to the list itself, Windows SharePoint Services 3.0 automatically grants them Limited Access on the list, and also the site, if needed.
Click here to see more --> on this.
So don't delete Limited Access permissions from your site as it wont harm you or your site.

Tuesday, May 7, 2013

The SSP Timer Job Distribution List Import Job was not run and other errors...

SharePoint error in the event viewer logs.

The SSP Timer Job Distribution List Import Job was not run.
Reason: Logon failure: unknown user name or bad password



I have run into this problem even when I have not changed the password.  I tried the fix to add the service account to the backup operators group and that did not completely fix the problem.  Additionally, I have notice that I have had a lot of other mysterious SharePoint Server Errors  What you need to do to correct this problem is:

1.     One of Microsoft’s best practices is to make sure that the application pool account for your SSP and your service account for the SSP are the same account.
2.     Make sure to add this account to the backup operator’s local group on all your SharePoint servers.
3.     If you are using Kerberos authentication for your web applications make sure you set your service name principle account for you ssp on you SharePoint application server.  In order to complete this operation you must install Window support tools from your Windows server installation files under support>>tools>>supporttools.msi.  Once you have installed the support tools go to start>>All programs>> Windows support tools>> command prompt.

setspn.exe –A HTTP/name_of_ssp_address domain\appication

Assume your site address is ssp, your domain is sharePoint, and your application pool account is svc_ssp. Run these commands

setspn.exe –A HTTP/ssp SharePoint\svc_ssp       (Run this Command)

setspn.exe –A HTTP/ssp.sharepoint.com SharePoint\svc_ssp  (Run this command)

If you are using Kerberos authentication on any of your web applications you must run these commands for the web applications to function properly including your central administration site.
4.     Check your system event logs on your SharePoint server for any DCOM errors.  You will notice your DCOM errors are associated with your application pool accounts.  Add these acounts to the IIS WAMREG admin service.  Make sure the accounts have local launch, remote launch, local activation, and remote activation.
5.     Next stop your Office SharePoint Server Search through central administation>> operations>> Services on Server.
6.     Then go to central administration>> operations>> service accounts.  Click on web application pool.  Then under web service choose Windows SharePoint Service Web application.  Next under application pool, choose your Shared Service Provider application pool account.  Under configurable you will notice that it populated your application pool account.  Now re-enter your password and click ok.
7.     Login into all your SharePoint servers and run iisreset /noforce.
8.     Go back to central administation>> operations>> Services on Server and restart your Office Server Search.
9.     Then go to central administation>>Application Management>> Manage this Farm's Shared Services.  click the drop down on the default SSP and click edit properties.  In the SSP service credentials enter username and password.  In the index server catagory select your index server and then click ok. Make sure you wait about 5 minutes.
Spent a lot of time trouble shooting the SharePoint errors and I hope this information helps.

Wednesday, May 1, 2013

Debug a SharePoint Class Library with VS 2008 or STSADM Project


Debug AudienceMigration Class Library Project:
Thanks to Magnum for the solution... see the below url for more inforation.

Solution:

1. Project configuration:

Change Debug and Build Configurations to Debug..

2. I was using a DLL called SharePoint.AudienceMigration.dll (Managed DLL for C#). I knew, however, that SharePoint.AudienceMigration.dll needed SharePoint.AudienceMigration.dll (Unmanaged C++) to operate. I placed SharePoint.AudienceMigration.dll in all my output paths but I kept receiving this error. Only after I placed SharePoint.AudienceMigration.dll in my environment path (C:\windows\Microsoft.Net\Framework\v2.0.50727) did it work. Please note: your path may be different if you're using a newer version of the .NET framework!

3. Build the project and buildwsp and deploy...
4. Move the SharePoint.AudienceMigration.dll to (C:\windows\Microsoft.Net\Framework\v2.0.50727) and also to (C:\windows\assembly)

5. Place breakpoints at start of the project and F5.