Coder Social home page Coder Social logo

rakeshsharepointdeveloper / pnpcore Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pnp/pnpcore

0.0 0.0 0.0 136.35 MB

The PnP Core SDK is a modern .NET SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying API's being called

Home Page: https://aka.ms/pnp/coresdk/docs

License: MIT License

C# 99.48% PowerShell 0.31% JavaScript 0.01% TypeScript 0.19% SCSS 0.01% Batchfile 0.01%

pnpcore's Introduction

The PnP Core SDK is an SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying APIs being called. The initial goal for this library will be to cover the needs of developers working with either SharePoint Online or Teams, but we're also open to extend this library further towards other Microsoft 365 workloads if there's community demand for doing so.

Packages and status ๐Ÿญ

Build and Test codecov Refresh documentation Nightly nuget release

Nuget package Downloads Stable Preview
PnP.Core Downloads PnP.Core Nuget package PnP.Core Nuget package
PnP.Core.Auth Downloads PnP.Core.Auth Nuget package PnP.Core.Auth Nuget package
PnP.Core.Admin Downloads soon PnP.Core.Admin Nuget package
PnP.Core.Transformation Downloads soon PnP.Core.Transformation Nuget package
PnP.Core.Transformation.SharePoint Downloads soon PnP.Core.Transformation Nuget package

Getting started ๐Ÿš€

For more details on how to get started with the PnP.Core SDK checkout our documentation.

I want to help ๐Ÿ™‹โ€โ™‚๏ธ

If you want to join our team and help, then checkout the How can I help section in our docs.

Frequently Asked Questions โ“

Will this work in modern .NET

Absolutely! One of the key reasons for building PnP Core SDK is to nicely fit into modern .NET development:

  • We currently target .NET Standard 2.0, .NET 5.0 and .NET 6.0. Use the .NET 6.0 build if you're using a modern .NET version as that's a LTS version, use .NET Standard 2.0 for backwards compatibility with .NET Framework 4.6.1+

  • This library will work cross platform (Windows, Linux, MacOS)

  • This library will work in all places where .NET will work (see our samples to learn more):

  • The library internally uses dependency injection and you can consume it via dependency injection in your applications

What's the relationship with the existing PnP Framework library

The PnP Framework library is very popular library that extends SharePoint using mainly CSOM. This library contains the PnP Provisioning engine, tons of extension methods, a modern page API, etc...but this library has also organically grown into a complex and hard to maintain code base. One of the reasons why the PnP Core SDK development started is to provide a new clean replacement for PnP Framework with a strong focus on quality (test coverage above 80%, automation). As this transition will take quite some time and effort we plan to gradually move things over from PnP Framework to the PnP Core SDK. Going forward PnP Framework features will move to the PnP Core SDK in a phased approach.

What underlying APIs are used

The SDK provides an object model that's API agnostic, when you as a developer for example load a model (List, Team, Web,...) the SDK will use the best possible API for loading that model being for the most part Microsoft Graph v1.0 and SharePoint REST. Depending on the needs the SDK will use Microsoft Graph Beta calls and in some cases the CSOM endpoint (client.svc) is called. But the good thing is that all of this is transparent for you as developer! You'll have a consistent development experience regardless of the underlying APIs being called.

As Microsoft Graph is our recommended API to work with Microsoft 365, the SDK will favor Microsoft Graph whenever it makes sense, the "fall back" to SharePoint REST only happens when Microsoft Graph can't provide the needed data or consistency.

Community rocks, sharing is caring!

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.