gd-sprest 2.2.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package gd-sprest --version 2.2.4                
NuGet\Install-Package gd-sprest -Version 2.2.4                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="gd-sprest" Version="2.2.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add gd-sprest --version 2.2.4                
#r "nuget: gd-sprest, 2.2.4"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install gd-sprest as a Cake Addin
#addin nuget:?package=gd-sprest&version=2.2.4

// Install gd-sprest as a Cake Tool
#tool nuget:?package=gd-sprest&version=2.2.4                

Current VersionDownloadsTotal DownloadsGitter chatDonate

SharePoint Online/On-Premise REST Framework

Overview:

The SharePoint REST Framework was designed for SharePoint 2013, but works in both SharePoint 2013/2016 and Office 365. This framework is designed to remove the overhead of SharePoint development, allowing the developer to focus on the client requirements. A reference to the associated github projects are listed below:

gd-sprest vs pnp-js-core

The gd-sprest library is similar to the pnp-js-core, with the main difference being the ability to be used within the browser console window. This feature provides a "Powershell-Like" experience within the browser console window. Some reasons to use this functionality:

  • No access to the server farm
  • Ability to create scripts which can be tested in staging before running aginst production
  • For more efficient development of code, the developer has the ability to test code requests without having to deploy the solution
  • Easy way to perform research and development, by exploring the REST api

Bugs/Feature Requests/Help

Click Here to report any bugs, request any new features or if need help with code examples. Pull requests are welcomed for anyone interested in submitting them. Feel free to email for other questions.

Security

The REST api execute requests based on the user's permissions. There is no way to elevate priviledges requests against the SharePoint REST.

Get Started

Packages

NPM

Add the npm package to your project:

npm --save install gd-sprest
Yarn

Add the package from yarn:

yarn add gd-sprest

Code Examples

JavaScript
var $REST = require("gd-sprest");

// Get the current web and lists
$REST.Web().query({
    Expand: ["Lists"]
}).execute(function(web) {
    // Parse the lists
    for(var i=0; i<web.Lists.results.length; i++) {
        var list = web.Lists.results[i];
    }
});
NodeJS
const $REST = require("gd-sprest);

// Create a new generic list.
request = $REST.Web("https://dev.sharepoint.com")
    .Lists().add({
        BaseTemplate: $REST.SPTypes.ListTemplateType.GenericList,
        Title: "New List"
    });

// Log the request information
console.log(request.getInfo());

// Console Output:
// {
//     data: '{"BaseTemplate":100,"Title":"New List","__metadata":{"type":"SP.List"}}',
//     method: 'POST',
//     url: 'https://dev.sharepoint.com'
// }
TypeScript
import { List }

// Get the "Site Assets" library, fields and views
(new List("Site Assets"))
    // Query the list
    .query({
        Expand: ["Fields", "Views"]
    })
    // Execute the request
    .execute((list) => {
        // Parse the fields
        for(let i=0; i<list.Fields.results.length; i++) {
            let field = list.Fields.results[i];
        }

        // Parse the views
        for(let i=0; i<list.Views.results.length; i++) {
            let field = list.Views.results[i];
        }
    });

Development

Add-In Model

The add-in model uses the app web for SharePoint Hosted Apps/Add-Ins. The provider hosted model would use CSOM, and not this library. This framework has built-in helper methods and a global flag for determining which web the request should execute against Host vs App/Add-In. The request will be automatically updated based on the target web, so there is no additional code required from the developer. This allows the developer to create a single source of code that works against both the SharePoint and App/Add-In webs.

Available Libraries

import {
    $REST,
    ContextInfo,
    Email,
    Helper,
    JSLink,
    List,
    PeopleManager,
    PeoplePicker,
    ProfileLoader,
    RequestType,
    Search,
    Site,
    SocialFeed,
    SPTypes,
    Types,
    UserProfile,
    Web
} from "gd-sprest";

Automation

The "SharePoint Configuration" class allows the developer to define configuration files for the SharePoint solution. This class contains built-in methods for execution (install, uninstall, etc), so there is no need to write additional code.

Intellisense

One of the more important features of this framework is the intellisense. The classes have been setup to ensure the developer does not need to define the output type of the request. The "Types" and "SPTypes" classes can both be imported into the project. The "Types" class includes allows of the interfaces available in the library. The "SPTypes" class contains all of the enumerators in SharePoint. These interfaces can be used to provide intellisense for the custom variables.

Modern Experience in SharePoint 2013

The gd-sprest-react library contains SharePoint components:

  • Field
  • Item Form
  • Panel
  • People Picker
  • WebParts These components use the office fabric ui, to provide an Office 365 experience within SharePoint 2013.
Upgrade Path to SharePoint Framework

The react components developed for SharePoint 2013 can be ported over to the SharePoint Framework's modern webpart.

WebParts

The webpart component allows the developer to easialy assign react components to be rendered based on the page's state (Display/Edit). This component currently supports webpart, publishing and wiki pages. The following webpart components are available:

  • Configuration - A react component to be used when the page is being edited, displaying an "Edit Configuration" button to render a panel for custom webpart properties.
    • List Configuration - Inherits the configuration webpart, displaying a web url and list dropdown.
    • Field Configuration - Inherits the list configuration webpart, adding a field picker.
    • Search Configuration - Inherits the field configuration webpart, filtering the field picker to field types supported by the search webpart.
  • List - Allows the developer to define an OData or CAML query, and contains two methods:
    • onRenderContainer - Optional method with the query results passed as the input parameter.
    • onRenderItem - Requires method with the item result passed as the input parameter.
  • Search - Inherits the list webpart, adding a search textbox. Based on the configuration fields, a mapper is created based on the item data. This feature will automatically filter the items displayed.
  • Tabs - Displays all associated webparts within the same zone in tabs.
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETFramework 4.5

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.4.9 543 6/24/2021
6.4.7 373 5/12/2021
6.3.4 357 2/14/2021
6.2.5 501 12/19/2020
6.1.4 451 10/16/2020
6.1.2 446 10/7/2020
6.1.0 487 9/28/2020
6.0.9 448 9/26/2020
6.0.2 450 8/5/2020
6.0.0 461 7/29/2020
5.9.8 453 7/24/2020
5.9.6 545 7/23/2020
5.9.3 452 7/22/2020
5.9.2 517 7/22/2020
5.9.0 497 7/14/2020
5.8.4 547 7/3/2020
5.8.2 463 6/17/2020
5.7.5 566 5/31/2020
5.7.3 550 5/28/2020
5.6.9 469 5/18/2020
5.6.6 501 5/15/2020
5.5.8 469 5/5/2020
5.5.6 515 5/1/2020
5.5.4 528 4/29/2020
5.5.3 475 4/25/2020
5.5.0 515 4/21/2020
5.4.5 608 4/12/2020
5.4.0 547 4/8/2020
5.3.8 602 4/4/2020
5.3.7 510 3/27/2020
5.3.6 551 3/26/2020
5.3.5 528 3/25/2020
5.3.4 517 3/25/2020
5.3.3 564 3/24/2020
5.3.2 534 3/24/2020
5.3.1 640 3/22/2020
5.2.7 541 3/22/2020
5.2.6 634 2/27/2020
5.2.3 554 2/11/2020
5.2.2 520 2/10/2020
5.2.1 561 1/28/2020
5.1.9 693 1/25/2020
5.1.3 603 12/16/2019
5.0.8 538 11/24/2019
5.0.6 550 11/19/2019
5.0.5 535 11/17/2019
4.9.9 573 9/21/2019
4.9.2 614 8/25/2019
4.9.1 586 8/23/2019
4.9.0 585 8/21/2019
4.8.9 561 8/20/2019
4.8.7 624 6/14/2019
4.8.5 617 6/11/2019
4.8.2 696 4/22/2019
4.8.1 665 4/21/2019
4.7.9 618 4/18/2019
4.7.5 608 3/3/2019
4.7.4 612 3/2/2019
4.6.8 677 2/19/2019
4.6.4 716 2/7/2019
4.5.3 706 1/27/2019
4.5.2 713 1/21/2019
4.4.8 739 1/20/2019
4.4.6 783 1/20/2019
4.4.3 758 12/13/2018
4.4.2 769 12/12/2018
4.3.8 757 12/1/2018
4.3.7 722 11/11/2018
4.3.4 742 10/25/2018
4.2.7 801 9/26/2018
4.1.8 888 8/14/2018
4.1.6 883 7/23/2018
4.1.5 969 7/19/2018
4.1.4 986 7/17/2018
4.1.3 865 7/17/2018
4.1.2 972 7/13/2018
4.0.4 968 6/20/2018
3.9.1 1,045 4/29/2018
3.8.9 973 4/23/2018
3.8.6 983 4/18/2018
3.7.7 1,022 4/2/2018
3.6.4 1,002 3/17/2018
3.6.2 1,049 3/16/2018
3.6.0 950 3/15/2018
3.5.5 1,057 3/9/2018
3.5.3 1,024 3/8/2018
3.4.8 1,025 2/13/2018
3.4.1 996 2/7/2018
3.3.3 1,006 2/4/2018
3.2.3 911 1/28/2018
3.2.0 1,127 1/25/2018
2.5.9 1,127 1/10/2018
2.3.0 1,127 12/8/2017
2.2.8 988 12/2/2017
2.2.5 1,301 11/19/2017
2.2.4 1,277 11/5/2017
0.0.3 1,327 11/5/2017
0.0.2 1,362 11/5/2017
0.0.1 1,038 11/5/2017

Initial nuget package test.