Tuesday, December 27, 2016

JQGRID from SharePoint 2013 online List Data using RestApi

First include reference of the following JavaScript Libraries download it from this site.

1. jquery.jqGrid.src.js
2. grid.locale-en.js
3. jquery-ui-1.8.21.custom.min.js
4. ui.jqgrid.css




SCRIPT

var dataTableExample = 'undefined';
 var requestUri = "https://servername/_vti_bin/ListData.svc/DownloadTrackingList";

$(document).ready(function () {
      loadDataTable();
});
function loadDataTable() {
console.log("loadDataTable");
$('#gridID').jqGrid({
datatype: 'json',
//Change url here it just dummy.
           url: "https://servername//_vti_bin/ListData.svc/DownloadTrackingList",
           type:"GET",
             dataType:"json",
               contentType: 'application/json;odata=verbose',
                ajaxGridOptions: { contentType: "application/json; charset=utf-8" },
                 colNames:['Id','DocID','Title','DocName','DocURL','UserName','DownloadDate','Modified'], //define column names
colModel:[
{name:'Id',index:'Id',key: true,  width:55, editable:true, editoptions:{readonly:true}, sorttype:'int'},
{name:'DocID', index:'DocID', width:150,sortable:true,editable:true},
{name:'Title', index:'Title',  width:150,sortable:true,editable:true},
{name:'DocName', index:'DocName',  width:150,sortable:true,editable:true},
{name:'DocURL', index:'DocURL',  width:200,sortable:true,editable:true},
{name:'UserName', index:'UserName', width:150,sortable:true,editable:true},
{name:'DownloadDate', index:'DownloadDate', width:100,sortable:false,editable:true},
{name:'Modified', index:'Modified', width:100, sorttype:'date', editable:true, editrules:{date:true},formatter:'date', datefmt:'d/m/Y'}

],            
jsonReader : {
              root: "d.results",
              cell: "",
            repeatitems: false
     },
      rowNum:10,
    rowTotal: 50,
  rowList:[10,20,30],
  pager: '#pager',
    sortname: 'id',
    loadonce: true,
    viewrecords: true,
  sortorder: "desc",
    editurl: 'https://servername/_vti_bin/ListData.svc/DownloadTrackingList', // 
    caption:"CRUD on SharePoint server Data"
     });

 $("#gridID").jqGrid('navGrid','#pager',{});
 $("#gridID").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});

 
}



HTML

<head>
<script type="text/javascript" src="https://gkms.sharepoint.com/sites/Khaitan/SiteAssets/jquery-3.1.1.js"></script>
<!-- Add your CSS styles to the following file -->

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/css/ui.jqgrid.css" />


    <!-- Add your JavaScript to the following file -->


<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css" />

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/eggplant/jquery-ui.css" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-bootstrap/0.5pre/css/custom-theme/jquery-ui-1.10.0.custom.css" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/css/ui.jqgrid.css" />
 
    <!-- Add your JavaScript to the following file -->
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/jquery.jqGrid.src.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/i18n/grid.locale-en.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
 

<!--
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/plugins/ui.multiselect.js"></script>
<link rel="Stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/plugins/ui.multiselect.css" />
    Add your JavaScript to the following file -->
    <script type="text/javascript" src="https://servername/sites/sitename/Shared%20Documents/JQGridExample.js"></script>
 
 
<style>
.form-control {
border-radius: 0;
}
</style>
</head>

<body>
 <div>
<div id='tblMain' style="float:left">
<table id="gridID"></table>
<div id="pager"></div></div>
</div>
</body>

</html>



References
Here most important thing to be take care is jsonReader here 
https://stackoverflow.com/questions/23127039/unable-to-load-sharepoint-list-item-rest-api-response-in-jqgrid


http://www.json.org/js.html



http://sharepointrestapi.blogspot.in/



Tuesday, September 27, 2016

wsdl to cs generator using visual studio

wsdl to cs generator using visual studio


Step 1: Generate or Obtain the Web Service WSDLs for Your Organization


To generate the metadata and enterprise WSDL files for your organization:
  1. Log in to your Salesforce account. You must log in as an administrator or as a user who has the “Modify All Data” permission.
  2. From Setup, enter API in the Quick Find box, then select API.
  3. Click Generate Metadata WSDL and save the XML WSDL file to your file system.
  4. Click Generate Enterprise WSDL and save the XML WSDL file to your file system.

c:\Program Files\Microsoft WSE\v3.0\Tools\WseWsdl3.exe


VISUAL STUDIO COMMAND PROMTS
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts


To have the WSDL to Proxy Class tool generate a proxy class that derives from the WebServicesClientProtocol class, the .NET Framework SDK 2.0 WSDL.exe tool must be installed and accessible. When the SDK Command Prompt is used to run the WSDL to Proxy Class tool, the WSDL.exe tool is accessible.
Visual Studio Tools

Developer prompt command and run below command

WseWsdl3 {URL | path} [Options]

ArgumentDescription
URL
The URL to a WSDL file (.wsdl).
path
The path to a local WSDL file (.wsdl).

WseWsdl3 http://hostServer/WebServiceRoot/WebServiceName.asmx?WSDL /out:MyProxyClass.cs

Friday, September 23, 2016

Generate WSDL FROM salesforce system and How to convert WSDL file to class file

LOGIN to Salesforce

On right side 
Click on setup




then Search for API in search tab

Click on Generate enterprise wsdl 

Then its generates the wsdl and copy and paste it notepad

Save As "SDFC.wsdl"

How to convert WSDL file to class file

  1. In Solution Explorer right click on your project and go to "Add Service Reference..."
  2. Press "Advanced..." at the bottom of the window.
  3. Press "Add Web Reference..." at the bottom of the window.
  4. In the URL field enter the path to the file eg. C:\Documents and Settings\username\Desktop\filename
  5. Press Go arrow. Service description should display.
  6. Enter the reference name you wish.
  7. Press "Add reference".
  8. Watch Visual Studio do its magic and making your life easy.
  9. Take a break.



Thursday, September 22, 2016

Renamed Project, WSP name doesn't change

changed project name, still i'm getting wsp name visual studio

Open The Package.Package file and change then Name attribute.
Example
<package xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" 
dslVersion="1.0.0.0" Id="d3150724-5644-479c-99f3-fc99af5bfdc6" 
solutionId="d3150724-5644-479c-99f3-fc99af5bfdc6" resetWebServer="true" 
sharePointProductVersion="15.0"
name="NEWNAME" 
xmlns="http://schemas.microsoft.com/VisualStudio/2008/SharePointTools/PackageModel">

Thursday, May 12, 2016

SharePoint 2013: Showing Page Views within a SharePoint Page


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
    var clientContext;
    var siteCollection;
    var hitCount='';
    var siteCollUrl = '';
    var webHost = '';
    var isIE = false;
    var siteUrl = '';
    var date = '';
    var uname = '';
    var hitCountplaceholder = '#hitCountplaceholder';
    var listName = 'Statistics';
 
    $(document).ready(function () {
        SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
            $(hitCountplaceholder).html('Count: ');
            SetPageVisitCount();
        });
    });

    function showProperties() {
        if (msieversion()) {
            alert($.browser.version);
            siteCollUrl = _spPageContextInfo.siteAbsoluteUrl + "/";
            webHost = siteCollUrl;
        }
        else {
            siteCollUrl = _spPageContextInfo.siteAbsoluteUrl;
            webHost = siteCollUrl + "/";
            alert(siteCollUrl);
        }

        SetPageVisitCount();
    }
    function SetPageVisitCount() {
        siteUrl = _spPageContextInfo.siteAbsoluteUrl;
        date = new Date();
        console.log(date);
        clientContext = new SP.ClientContext(_spPageContextInfo.webServerRelativeUrl);
        uname = clientContext.get_web().get_currentUser();
        clientContext.load(uname);
        var oList = clientContext.get_web().get_lists().getByTitle(listName);
        var itemCreateInfo = new SP.ListItemCreationInformation();
        this.oListItem = oList.addItem(itemCreateInfo);
        oListItem.set_item('Title', 'No Title');
        oListItem.set_item('url', siteUrl);
        oListItem.set_item('date', date);
        oListItem.set_item('uname', uname);
        oListItem.update();
        clientContext.load(oListItem);
        clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
    }

    function onQuerySucceeded() {
        // alert('Item created: ' + oListItem.get_id());
        hitCount = oListItem.get_id();
        $(hitCountplaceholder).append(hitCount);
    }

    function onQueryFailed(sender, args) {
        console.log('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }

    function GetPageVisitCount() {
        appendString = '';
        $(hitCountplaceholder).append(appendString);
    }
</script>
<div id="hitCountplaceholder"></div>


MORE REFERENCES

http://spdeveloper.co.in/sharepoint2013/page-views-hit-counter-on-a-sharepoint-page.aspx


Thursday, April 28, 2016

Image Slider - SharePoint Picture lilbrary using jquery.bxslider.js

Image Slider - SharePoint Picture lilbrary using jquery.bxslider.js

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="/sites/eDMS/Style%20Library/ImageCarousel/jquery.bxslider.js"></script><link href="/sites/eDMS/Style%20Library/ImageCarousel/jquery.bxslider.css" rel="stylesheet" runat="server" />
<script type="text/javascript">
    var clientContext;
    var siteCollection;
    var imgLoc
    var appendString = '';
    var totalSiteCount = 0;
    var siteCount = 0;
    var asyncCallbacks = [];
    var siteCollUrl = '';
    var webHost = '';
    var isIE = false;

    $(document).ready(function () {
        SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
            $("#sliderplaceholder").html('');
            showProperties();
        });
    });

    function showProperties() {
        if (msieversion()) {
            //alert($.browser.version);
            siteCollUrl = _spPageContextInfo.siteAbsoluteUrl + "/";
            webHost = siteCollUrl ;
        }
        else {
            siteCollUrl = _spPageContextInfo.siteAbsoluteUrl;
            webHost = siteCollUrl + "/";
        }

        getWebPartProperties('Local');
    }

    function msieversion(str) {

        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");

        if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))  // If Internet Explorer, return version number
        {
            //alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
            //return true;
            isIE = true;
            return true;
        }
        else  // If another browser, return 0
        {
            //alert('otherbrowser');
        }

        return str;
    }

    function getWebPartProperties(imageLoc) {

        switch (imageLoc) {

            case 'Local':
                clientContext = new SP.ClientContext(_spPageContextInfo.webServerRelativeUrl);
                this.oSite = clientContext.get_site();
                this.oWebsite = this.oSite.get_rootWeb();
                this.list = this.oWebsite.get_lists().getByTitle("AAGBanners");
                var query = "<View><Query><Where><Eq><FieldRef Name='Region' /><Value Type='Choice'>CoastalMarine</Value></Eq></Where></Query><ViewFields><FieldRef Name='BannerLinkURL' /><FieldRef Name='FileRef' /><FieldRef Name='Title' /></ViewFields></View>";
                var camlQuery = new SP.CamlQuery();
                camlQuery.set_viewXml(query);
                this.productcollection = this.list.getItems(camlQuery);

                clientContext.load(this.productcollection, 'Include(BannerLinkURL, Title, FileRef)');
                clientContext.executeQueryAsync(Function.createDelegate(this, function () {
                    var appendString = "<ul class='bxslider'>";
                    console.log('hi');
                    var ListEnumerator = this.productcollection.getEnumerator();

                    while (ListEnumerator.moveNext()) {
                        var currentItem = ListEnumerator.get_current();

                        if (currentItem.get_item('FileRef') != null) {
                            console.log(currentItem.get_item('FileRef'));
                            //alert(currentItem.get_item('ImageURL'));
                            var url = $("<a href='" + currentItem.get_item('FileRef') + "'>").prop("pathname");
                            if (isIE)
                                url = url.substr(1, url.length);
                            appendString += "<li style='position: absolute; top: 0px; z-index: 5; display: block;'><a href='" + currentItem.get_item('BannerLinkURL') + "'><img  src='" + url + "' title='" + currentItem.get_item('Title') + "' width='100%' height='284px' /></a></li>";
                        }
                    }
                    console.log(appendString);
                    appendString += "</ul>"
                    $("#sliderplaceholder").append(appendString);
                    invokeSlider();
                    //alert("Success");
                }), Function.createDelegate(this, function (sender, args) {
                    console.log(args.get_message());
                }));
                break;
        }
    }

    function invokeSlider() {
        /*$('.bxslider').bxSlider({
          captions: true
        });*/
        $('.bxslider').bxSlider({
            mode: 'fade',
            infiniteLoop: true,
            slideWidth: 600,
            auto: true,
            autoStart: true,
            autoDirection: 'next',
            adaptiveHeight: false,
            autoHover: true,
            pause: 3000,
            autoControls: false,
            pager: true,
            pagerType: 'full',
            controls: true,
            captions: true,
            speed: 500
        });
    }
</script>
<div id="sliderplaceholder"></div>

Friday, April 15, 2016

cd workingcopy
svn checkout http://my.repos.com/path/to/trunk
# make your edits
svn switch http://my.repos.com/path/to/branch
svn commit


Tuesday, April 5, 2016

export search results to a excel OOTB

export search results to a excel OOTB


Refinement panel how the modified date is coming up. Can we give a range

Modified date is coming  just like a time period, such as one year ago,  Month ago, Week ago, and Today... we can change an bit on this.

As per analysis,  refinement panel to have date range,  there is no OOTB method to achieve this  requirement.  The refinement panel cannot have the controls. We can create a custom search web part which can take inputs from user and do the search.


Wednesday, March 16, 2016

Custom entity extraction in SharePoint 2013

Create and deploy custom entity extractors in SharePoint Server 2013

  • Create a Search service application
  • Add one or more content sources and run a full crawl
  • Configure a search results page
Follow these two links

https://technet.microsoft.com/en-IN/library/jj219480.aspx

http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/01/08/no-metadata-no-problem-custom-
entity-extraction-in-sharepoint-2013.aspx

Update or edit status filed in JIRA issue

the status field is a special case and can't be updated directly, which is the second problem here. Changing a status in Jira is called ...