Monday, October 5, 2015

Get Field values using CSOM

Using the Javascript Client Object Model, you can get values from a listitem. 

How to use the JSOM is described here Code Project

Title – SP.ListItem.get_item(‘Title‘);

ID – SP.ListItem.get_id();

Url -SP.ListItem.get_item(‘urlfieldname‘).get_url()

Description – SP.ListItem.get_item(‘descriptionfieldname‘).get_description();

Current Version – SP.ListItem.get_item(“_UIVersionString“);

Lookup field – SP.ListItem.get_item(‘LookupFieldName’).get_lookupValue(); // or get_lookupID();

Created By – SP.ListItem.get_item(“Author“).get_lookupValue();

Modified by – SP.ListItem.get_item(“Editor“).get_lookupValue();

Choice Field – SP.ListItem.get_item(‘ChoiceFieldName‘);

Created Date – SP.ListItem.get_item(“Created“);

Modified Date – SP.ListItem.get_item(“Modified“); -> case sensitive does not work with ‘modified’

File  – SP.ListItem.get_file();

File Versions -  File.get_versions();.

Content Type – SP.ListItem.get_contentType();

Parent List – SP.ListItem.get_parentList();

Note:  (‘LookupFieldName’).get_lookupValue() sometimes returns an array of data, especially when your lookup allows multiple values.
In that case you will need to iterate the array and get each value individually.

 SP.ListItem.get_item(‘LookupFieldName’)[0].get_lookupValue(); - this will get the first item in the array.

For Arrays:


       for(var i = 0; i < oListItem.get_item("LookupFieldName").length; i++)
 {
      alert(oListItem.get_item("LookupFieldName")[i].get_lookupId()); // or get_lookupValue()
 } 

Wednesday, September 30, 2015

Angular js lectures

One of the best video tutorials i have ever seen for angulat js

http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/1/video/1

CSOM code to fetch the property bag value

You can add the property to web property bag from designer.


Below is the code that you can use to get the added property

ExecuteOrDelayUntilScriptLoaded(getWebProperties, "sp.js");

var webProperties;

function getWebProperties() {
    var clientContext = new SP.ClientContext.get_current();
    webProperties = clientContext.get_web().get_allProperties();
    clientContext.load(webProperties);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.getWebPropertiesSucceeded), Function.createDelegate(this, this.onQueryFailed));
}

function getWebPropertiesSucceeded() {

          //debugger; //use this to force a break here
    //returns an object with all properties.  
          //Use the quick watch to expand this out to see all of them.
    var allProps = webProperties.get_fieldValues();

    var customProp = "";

         //make sure the property is there before using it.
    if(webProperties.get_fieldValues().YammerAccessToken != undefined)
    {
        var customProp = webProperties.get_fieldValues().YammerAccessToken;
    }
    alert(customProp);
}

function onQueryFailed(args, sender)
{

     //handle errors here
 alert("Error : " + args.get_message());
}
getWebProperties();

Monday, August 24, 2015

KQL or FQL does not contain starts with query

Sharepoint search query KQL does not support StartsWith in sharepoint. So to achieve it, you will have get the results using name:word* and change the result set to show actual data based on javascript etc..

Monday, August 10, 2015

After and Before Properties in Sharepoint Event receivers

Below are the list of differences in Item Properties
List
ListBeforePropertiesAfterPropertiesproperties.ListItem
ItemAddingNo valueNew valueNull
ItemAddedNo valueNew valueNew value
ItemUpdatingOriginal valueNew valueOriginal value
ItemUpdatedOriginal valueNew valueNew value
ItemDeletingNo valueNo valueOriginal value
ItemDeletedNo valueNo valueNull
Document Library
LibraryBeforePropertiesAfterPropertiesproperties.ListItem
ItemAddingNo valueNo valueNull
ItemAddedNo valueNo valueNew value
ItemUpdatingOriginal valueNew valueOriginal value
ItemUpdatedOriginal valueNew valueNew value
ItemDeletingNo valueNo valueOriginal value
ItemDeletedNo valueNo valueNull
It will help somebody for sure.

Wednesday, April 29, 2015

How to use SPSiteDataQuery in sharepoint

Below is the example how we can use spsitedataquery in sharepoint

using (SPSite site = new SPSite(ServerText.Text))
{
    using (SPWeb web = site.OpenWeb())
    {
        // Fetch using SPSiteDataQuery
        SPSiteDataQuery query = new SPSiteDataQuery();
        query.Lists = "<Lists ServerTemplate=\"105\" />";
        query.ViewFields = "<FieldRef Name=\"Title\" />" +  /* Title is LastName column */
                "<FieldRef Name=\"FirstName\" Nullable=\"TRUE\" Type=\"Text\"/>";
        query.Webs = "<Webs Scope=\"SiteCollection\" />";

        DataTable dataTable = web.GetSiteData(query);
        dataGridView3.DataSource = dataTable;
    }
}

Thursday, April 9, 2015

SharePoint URL Shortcuts

Sandboxed Solution Gallery:
/_catalogs/solutions/Forms/AllItems.aspx

Workflow history hidden list:
/lists/Workflow History

Filter toolbar for Lists and libraries (Added by Asimaili):
?Filter=1

Site usage page (Added by @Dnyag):
/_layouts/usage.aspx

Site content and structure  page (Added by @Dnyag):
/_layouts/sitemanger.aspx

Site settings page (Added by Aowworld):
/_layouts/settings.aspx

View all site content page (Site content) (Added by Aowworld):
/_layouts/viewlsts.aspx

Manage site collection features - CASE SENSITIVE 
/_layouts/ManageFeatures.aspx?Scope=Site

Manage site features :
/_layouts/ManageFeatures.aspx

 Get the version of the SharePoint server (Patch level) :
 /_vti_pvt/Service.cnf

Web Part Maintenance Page :
?Contents=1

Show Page in Dialog View :
?isdlg=1

Application page for registering SharePoint apps :
/_layouts/15/appregnew.aspx

Save Site as a template : 
/_layouts/savetmpl.aspx

Sign in as a different user :
/_layouts/closeConnection.aspx?loginasanotheruser=true

Enable SharePoint designer :
/_layouts/SharePointDesignerSettings.aspx

Welcome Page (Default page settings) :
/_layouts/AreaWelcomePage.aspx

Change Site Master Page :
/_layouts/ChangeSiteMasterPage.aspx

Page Layouts and Site Templates :
/_Layouts/AreaTemplateSettings.aspx

Master Pages library :
/_catalogs/masterpage/Forms/AllItems.aspx

User Information List :
_catalogs/users/simple.aspx

Quick Deploy List :
Quick%20Deploy%20Items/AllItems.aspx

Open Page in Edit Mode :
?ToolPaneView=2

Taxonomy Hidden List (MMS) :
Lists/TaxonomyHiddenList/AllItems.aspx

User Information List :
_catalogs/users/simple.aspx

Force displaying the user profile in the site collection :
/_layouts/userdisp.aspx?id={UserID}&Force=True

View size of all lists and libraries :
/_layouts/storeman.aspx