Wednesday, July 22, 2015

Microsoft SharePoint Foundation Web Application” service stuck on starting/ “Microsoft SharePoint Foundation Web Application” service stuck on stopping

f you started the Microsoft SharePoint Foundation Web Application service on your CA server you have to know that in my case it took almost one hour to start, during this time you can check the progress using he IIS console, you will notice web sites and application pools start to appear one by one. Just keep calm and wait.
In case you do not see any progress in IIS or in the ULS logs then you can start the deployment of this service using this STSADM command:

stsadm -o provisionservice -action start -servicetype spwebservice
 
stsadm
But keep in mind that you have to wait a lot depending on the number of web applications you have.
Work in progress…..
Phase two
Everything worked fine after the  stsadm command was used. A second issue appeared as soon as I tried to stop the Microsoft SharePoint Foundation Web Application service after I finished my work. Doing so from the CA caused the service to be  stuck on stopping. Again use the same command but this time with the switch -stop instead of start, finished in one minute and then I issued iisreset /noforce.  Everything is back to normal now.

stsadm -o provisionservice -action stop -servicetype spwebservice

SP2013 custom Claims provider

1.When ever we want to inherit the "MembershipProvider" class use  System.Web.ApplicationServices - This one for SP2013 where as in SP2010 directly we will get from system.web
2.When ever we want to inherit the "RoleProvider" class use  System.Web.ApplicationServices -This one for SP2013 where as in SP2010 directly we will get from system.web

Central Administration shows error 26 - A network-related or instance-specific error occurred while establishing a connection to SQL Server

While Config FBA , BUT after CA web.config changes , My Central Administration shows an Error :

 A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)

Correlation ID: 89651359-9c57-4241-8254-eb3be052c4f0

Central Administration shows error 26 - A network-related or instance-specific error occurred while establishing a connection to SQL Server
Solution :

1- Open SharePoint Central Administration v4 Web.config File in VS2010 or notepad

2- Find this Node :

    <roleManager enabled="true">
      <providers>
      </providers>
    </roleManager>

(Under System.Web Node)

& Change Enabled to  false

& Now My CA works Well   :-)

Tuesday, July 21, 2015

Step by Step SPQuery List joins

SharePoint 2010 Step by Step SPQuery List joins Using CAML
I am using the example following example lists
  1. CustomerCity List
  2. Customer

List Columns 
CustomerCity columns are:

Tilte
Single Line text
Customer columns are:
Title
Single Line text
City
Lookup type of CustomerCity
Dummy Data used
For CustomerCity
Title
City1     
City2     
City3
For Customer
Title
City
Customer1
City1
Customer2
City1
Customer3
City2
Customer4
City2
customer5
City2
Customer6  
<NULL>
Using the Join in SharePoint 2010 List Using SPQuery Class.
We need to set the three most important properties for that.
  1. Joins
  2. ProjectedFields
  3. ViewFields

SharePoint 2010 adds Join To CAML SPQuery.Joins
Types of joins
  1. Inner
  2. Left

Requested Lookup columns
Projections allow inclusion of fields joined lists
SPQeury.ProjectedFields
Joins: Each join is represented by a Join element child of the Joins element. Only inner and left outer joins are permitted. Moreover, the field in the primary list must be a Lookup type field that looks up to the field in the foreign list. There can be joins to multiple lists, multiple joins to the same list, and chains of joins. If a given list is the foreign list in more than one join, it must have distinct aliases assigned to it by the ListAliasattributes of the Join elements representing the joins.
 Note: Multiple Lines of text, Choice type columns are not supported in ProjectedFields.
private void button1_Click(object sender, EventArgs e)
        {
            string siteUrl = "http://home";
            SPWeb _web = new SPSite(siteUrl).OpenWeb();
   
            var items =_web.Lists["Customer"].GetItems(GetQuery());
            foreach (SPListItem item in items)
            {
                MessageBox.Show(string.Format("{0}----{1}", item["Title"], item["CityTitle"]));
            }
        }
        
        private SPQuery GetQuery()
        {
            SPQuery _query = new SPQuery();
            
            _query.Query = "";
            _query.Joins = @"<Join Type='INNER' ListAlias='City'>
                          <!--List Name: CustomerCity-->
                          <Eq>
                            <FieldRef Name='City' RefType='ID' />
                            <FieldRef List='City' Name='ID' />
                          </Eq>
                        </Join>";
            _query.ProjectedFields = @"<Field Name='CityTitle' Type='Lookup' List='City' ShowField='Title' />
                                    <Field Name='CityContentTypeId' Type='Lookup' List='City' ShowField='ContentTypeId' />";
            _query.ViewFields = @" <FieldRef Name='Title' />
                                     <FieldRef Name='CityTitle' />";
            return _query;
        }
The above “Query” property of the SPQuery class I left blank you can enter the condition according to your requirement.