Quantcast
Channel: Blog
Viewing all 429 articles
Browse latest View live

Validating your Office Add-in manifest just got easier - Introducing the Office Add-in Validator

$
0
0

Last week, the Office Extensibility team introduced a new enhancement to the add-in manifest validation experience. The Office Add-in Validator will help you pinpoint errors in your manifest without having to check it manually. Now, you can troubleshoot your manifest directly from a command prompt or Terminal.

 

Find errors in your manifest

The Office Add-in Validator highlights the errors in your manifest and provides links to documentation to help you address them. 

Gif

 

Test your add-in on the right platforms

The validator also highlights the Office hosts that your add-in can run on. We recommend testing your add-in on these platforms before you submit it to the Office Store.

  Gif

 

Stay up-to-date on Office Store requirements

The validator provides up-to-date validation feedback at any stage of add-in development. The service checks for the following:

  • Mandatory namespaces
  • XML schema validation
  • Office compatibility  

Note: Because the validator calls the Store, you must be connected to the Internet when you use it.

 

Install the Office Add-in Validator

To start using the Office Add-in Validator:

  1. Install Node.js. Go to nodejs.org and download the distribution for your system.
  2. Open a command prompt / terminal as an administrator, and install the Office Add-in Validator and its dependencies globally by using the following command:

npm install -g office-addin-validator

Or if you already have Yo Office installed, upgrade to the latest version by using the following command, and the validator will be installed as a dependency:

npm update -g generator-office

  1. Now you’re ready to run the validator. For information about how to use the validator or to contribute, visit our GitHub repository.

 

See Also

Office Add-in Validator

Yo Office generator

Validate and troubleshoot issues with your manifest

Best practices for developing Office Add-ins


New in Access 2016—Large Number (BigInt) support

$
0
0

New data type support in Access which unlocks multiple scenarios based on Access's ability to read and write data to and from external data sources that use BigInt (as PK or other), such as SQL.

When creating new local tables or editing existing ones, Access now allows users to add fields that store BigInt numbers.

We also added the option to turn on Large Number support for link to and import from external data sources. Turning Large Number support on allows users to import from and link to tables with BigInt columns, and have them represented in Access in a Large Number format.

Learn more here!

Throttling coming for Outlook API's and Outlook-related APIs in Microsoft Graph

$
0
0

On April 21 Exchange Online in Office 365 will be enabling throttling on the outlook APIs. This will also impact apps accessing Outlook-related resources via the Microsoft Graph.

What this means: By enabling throttling on the Outlook REST APIs (accessed via https://outlook.office.com/apior https://outlook.office365.com/api), and on the Outlook-related endpoints of the Microsoft Graph (accessed via https://graph.microsoft.com) your app can make at most 60 requests to a single user’s mailbox in a minute.

We encourage you to review your app and determine if you are likely to exceed the limits. If so, you should look at ways to reduce the number of requests or make sure you have error handling in place to handle 429 responses and retry in an appropriate amount of time.

For more details on the API’s effected, how to track your usage, what happens if you go over your limit and how to avoid being throttled please read more here.

We will be publishing more detailed documentation on these limits in the near future.

Please let us know if you have any feedback.

SharePoint PnP Webcast – Provisioning with PnP PowerShell and Azure WebJobs

$
0
0

In this PnP Webcast, we concentrate on demonstrating how to build provisioning solution using modern lists, PnP PowerShell and Azure WebJobs. Mikael Svenson from Puzzlepart demonstrates a solution architecture, which they are using commonly with their deployments to SharePoint Online for their customers. Implementation is using PnP PowerShell to provide easily customizable provisioning logic based on the PnP remote provisioning model. PnP PowerShell can be used with SharePoint Online, SharePoint 2016 and SharePoint 2013. It provides more than 200 additional cmdlets to automate operations towards SharePoint. 

Presentation covers following topics:

  • What does remote provisioning mean in practice?
  • Logical architecture for the demonstrated solution

Webcast demo (8:35) shows following details

  • Walkthrough the solution flow in practice
    • Request form as a modern list in SharePoint
    • Azure WebJob configuration
    • PowerShell scripts for handling the actual provisioning
  • How to monitor execution from the Azure side
  • How to create PnP remote provisioning templates
  • Governance scripts to ensure consistency cross site collections in tenant
     

Webcast presenters:  Mikael Svenson (Puzzlepart), Vesa Juvonen

Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.

Video at YouTube.

Additional resources

See following resources around the SharePoint Framework. 

What is SharePoint Patterns & Practices (PnP) web cast series?

SharePoint / Office Dev Patterns and PracticesSharePoint Patterns & Practices (PnP) webcast series covers different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30 minute long web cast each Monday with few slides and a live demo on the covered topic. All web casts are published at the PnP YouTube channel with additional references on the existing materials.

PnP is community driven open source project where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen in our GitHub repositories under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/SPPnP-Call

This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.

If you have any questions, comments or feedback around PnP program or this blog post, please use the Microsoft Tech Community (SharePoint Developer group).

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 10th of April 2017

SharePoint Patterns & Practices – April 2017 release

$
0
0

SharePoint / Office 365 Dev Patterns and Practices (PnP) April 2017 release is out with new contributions from community for the community. This post contains all the details related on what was included with the release and what else has been happening in the PnP world during the past month.

 

What is SharePoint Patterns & Practices (PnP)?

SharePoint / Office Dev Patterns and Practices PnP is community driven open source initiative where Microsoft and external community members are sharing their learning's around implementation practices for SharePoint and Office 365. Active development and contributions happen our GitHub projects under 'dev' branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications.

PnP is owned and coordinated by SharePoint engineering, but this is work done by the community for the community. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the PnP Core team and we are looking to extend the Core team with more community members.

Notice that since this is open source community program, there’s no SLAs for the support what we provide from program. You can use SharePoint Developer group in the Microsoft Tech Community for providing input and to ask any questions around the existing materials. If you are interested on getting more closely involved, please check the following guidance from our GitHub wiki or a referenced PnP Webcast.

Some key statistics around PnP program from March 2017

  • GitHub repository forks at different repositories 
  • Unique visitors during past 2 weeks' cross PnP repositories - 17345
  • Unique visitors during past 2 weeks in SharePoint organization repositories - 7290
  • Merged pull requests cross PnP repositories (cumulative) - 3194
  • Closed issues and enhancements ideas cross PnP repositories (cumulative) - 1702
  • PnP Core component NuGet package downloads (cumulative) - 86931
  • Unique visitors in PnP MSDN pages during March 2017 - 49262
  • Unique tenants using PnP CSOM Core component during March 2017 - 4647
  • Http requests towards SharePoint Online from PnP CSOM Core Component during March2017 - 1803500597
  • PnP YouTube channel had 17921 views with 123802 minutes watch time during March 2017

Main resources around PnP program

April 2017 monthly community call

Agenda for the Tuesday 11th of April community call at 8 AM PST / 5 PM CET:

Monthly community call will get recorded and release to PnP YouTube channel typically within 24 hours after the recording is ended. If you have any questions, comments or feedback, please participate in our discussions in the Microsoft Tech Community under SharePoint developer group. Notice that there's one hour change for the PST time due different schedules around the daylight savings between Europe and US. 

PnP Sites Core, PnP PowerShell and provisioning engine Special Interest Group (SIG)

PnP Sites Core, PowerShell and Provisioning Special Interest Group (SIG) has bi-weekly meetings to cover latest development in the PnP CSOM core component, PnP PowerShell and in the PnP remote provisioning engine. We do touch also generic SharePoint development practices around remote APIs in these calls. These calls have also free Q&A section, if you have any questions around SharePoint development in on-premises or in cloud. Need to get recommendation to your design or having hard time with some APIs? - Drop by, ask a question and we'll help you.

You can download invite for the bi-weekly meeting from following location.

All SIG meetings are being recorded and are available for view from PnP YouTube Channel. Here's the latest recordings from the SIG calls.

  • 5th of April - Quick look on March 2017 stats, planned improvements in provisioning schema. Demos on provisioning engine refactoring and how to build simple self-service site collection creation process in 10 minutes without code
  • 22nd of March - Demos on PnP PowerShell usage with Azure functions to automate business process and on modern UI user interface scanner
  • 8th of March - Quick look on Feb 2017 statistics. Demos on "modern" SP site creation using SharePoint REST APIs and programmatically detect list rendering style in SharePoint Online (classic or modern)

Notice. Next SIG for PnP Component / PowerShell will be on Wednesday 22nd of February - If you have questions around these topics, please join this call and use the opportunity to ask questions from SP engineering and PnP Core team.

SharePoint Framework (SPFX) and JavaScript Special Interest Group (SIG)

SharePoint Framework and JavaScript Special Interest Group (SIG) has bi-weekly meetings to cover latest changes in the SharePoint Framework side, from engineering perspective and to cover also latest development related on the PnP JS Core library. These calls are designed to have 50%/50% of content and demos and there has been already great community demos on the new SharePoint Framework Client-side web parts. If you're interested on showing your code, just let us know.

All SPFx and JS SIG meetings are recorded, so that you can check the demos and discussions, if you can't make the actual call. You can find the latest recordings from the PnP YouTube Channel. Here's the latest recordings.

  • 30th of April - Latest on SPFx and PnP JS Core. Demo on checking permissions with sp-pnp-js 
  • 16th of March - Latest on SPFx and PnP JS Core. Demo on SharePoint Editor Chrome Extension to increase productivity of developers
  • 2nd of March - Latest on SPFx and PnP JS Core. Demos on TravisCI integration in SP JS Core project and JS Link cusotmization automation for classic sites

Notice. Next SIG for SharePoint Framework and JavaScript development will be on Thursday 16th of February - If you have questions around these topics, please join this call and use the opportunity to ask questions from SP engineering and PnP Core team.

PnP Weekly Webcasts

We started new PnP Weekly Webcast series on October 2015 and have continued releasing new videos since that. All new webcasts are released in PnP YouTube Channel. Old webcasts and other demo videos are also found from the PnP Channel 9 section. Here's the new web casts released after the last monthly release.

PnP repositories in GitHub

There are quite a few different GitHub repositories under the PnP brand since we wanted to ensure that you can easily find and reuse what's relevant for you. We do also combine multiple solutions to one repository, so that you can more easily sync and get latest changes of our released guidance and samples. In general we do recommend you to use the PnP sample search tool at dev.office.com for locating relevant material for you. This should be easier and faster than trying to locate relevant material from GitHub.

During November, majority of the PnP repositories were moved to SharePoint GitHub organization

Here's the current repository structure, including short description for each of them.

On top of the specific PnP repositories, PnP initiative also controls the new repositories under the SharePoint organization. PnP is owned nowadays by SharePoint engineering and we will be using PnP as the channel and forum to facilitate community work.

What's supportability story around PnP material?

Following statements apply cross all of the PnP samples and solutions, including samples, core component(s) and solutions, like PnP Partner Pack.

  • PnP guidance and samples are created by Microsoft & by the Community
  • PnP guidance and samples are maintained by Microsoft & community
  • PnP uses supported and recommended techniques
  • PnP implementations are reviewed and approved by Microsoft engineering
  • PnP is open source initiative by the community – people who work on the initiate for the benefit of others, have their normal day job as well
  • PnP is NOT a product and therefore it’s not supported through Premier Support or other official support channels
  • PnP is supported in similar ways as other open source projects done by Microsoft with support from the community by the community
  • There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend to be clear with your customer / deployment owner on the support model

Latest changes

SharePoint Framework samples

These are samples which are available from the SharePoint client-side web part sample repository at https://github.com/SharePoint/sp-dev-fx-webparts. We are working on getting samples on the RC0 level and many of them have been already properly updated. You can find supported version always from the readme file of each sample. 

  • New sample react-taxonomypicker demonstrating how to build taxonomy picker control for web part property setting
  • New sample js-modern-calendar demonstrating how to build calendar presentation web part
  • New sample angular-yammer demonstrating how to build simple Yammer embed client-side web part
  • New sample react-modern-charts demonstrating how to use charts in client-side web part
  • New sample react-script-editor demonstrating custom script editor web part build with React
  • Updated sample angular-todo to demonstrate simple todo tracking web part build with Angular
  • Upgrades to numerous other samples to use SPFx GA version

PnP CSOM Core and Provisioning Engine

PnP CSOM Core component is a wrapper on top of native CSOM and REST, which simplifies complex scenarios with remote APIs, one of the example is the PnP Provisioning Engine for remote templates. The first version of the PnP remote provisioning engine was released with the May 2015 release. For the April 2017 release we have continued to add new supported capabilities and made significant improvements from stability perspective for both SharePoint Online and SharePoint on-premises (2013 and 2016). This list contains the main updates that have been added in the April 2017 release:

  • General overall quality and performance improvements for on-premises and online
  • Update on generic PnP Responsive UI solution for classic sites
  • Support for async methods for sending emails in MailUtility
  • Option to excluded drive on GetUnifiedGroup calls to enhance performance
  • Improvements to taxonomy field update handling
  • Improvements on "modern" team site / group provisioning
  • Preparations on formatter refactoring updates, which will be released in May 2017 release
  • Updated to use latest SPO CSOM NuGet package
  • Unit/integration test improvements
  • Updated base templates for the SPO, 2013 and 2016 - used in delta handling

See also https://testautomation.sharepointpnp.com for day-to-day results and executed tests.

PnP JavaScript Core library v2.0.3

The latest release, 2.0.3, of the Patterns and Practices JavaScript Core Library represents an incremental update for the library with additional capabilities and bug fixes on existing functionalities.

This is similar effort as what PnP initiative previously has done with the PnP CSOM Core Component together with community. 

PnP PowerShell 

PnP PowerShell providers more than two hundred additional PowerShell cmdlets, which can be used to manipulate content in SharePoint Online and in on-premises (SP2013, SP2016). These cmdlet's are addative for SharePoint Online management shell, which concentrate more on the administrative tasks with SharePoint Online. 

Here's the latest changes in the PnP PowerShell

  • Improvements on the Submit-PnPSearchQuery cmdlets
  • New Sample on building site provisioning solution with PnP PowerShell and Azure WebJobs
  • Updated documentation at MSDN
  • Overall quality improvements and bug fixes
  • Moved automatically generated PnP PowerShell cmdlet documentation to MSDN

PnP sample library

Here's updates cross the PnP code sample library by the community on the code and documentation, which is great way to contribute as well.

  • New sample ECM.MVCTaxonomy, which shows implementation of a SharePoint Taxonomy Picker control that can be used on MVC provider hosted SharePoint add-in without need to add-in web.
  • New sample Provisioning.ModernPages, which shows how you can programatically create and update modern pages using supported extension methods from PnP Sites Code.
  • Updates to the PnP Partner Pack
    • Enable template updates to be applied only to specific site, not to all sites which had used the updated template
    • Fine tuning and polishing based on community input
    • Fixed issue when searching for Site Collection Admins

PnP Guidance articles

The PnP Guidance repository contains guidance articles which are published at MSDN. Starting from end of May 2016 this process was changed to be fully automated and there's automatic contributors list in the MSDN side showing who have been providing updates to these documents. We are looking forward on your contributions around real life learnings in different areas. Read more details around this open publishing model from following blog post

Here's the new guidance released since past monthly communications.

See MSDN articles from the PnP MSDN section at http://aka.ms/sppnp-msdn.

PnP initiative also controls the articles in the dev.office.com around SharePoint development. Here's new/updated articles around the SharePoint Framework client-side web parts.

PnP Guidance videos

You can find all PnP videos from our YouTube Channel at http://aka.ms/sppnp-vidoes. This location contains already significant amount of detailed training material, demo videos and community call recordings. Since last release communications, we did not release any specific guidance videos on top of weekly web casts.

Notice that ome of the old PnP videos are also in the PnP Channel 9 video blog, which was previously used.

Key contributors for the April 2017 release

Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories or community channels. PnP is really about building tooling and knowledge together with the community for the community, so your contributions are highly valued cross the Office 365 customers, partners and obviously also at Microsoft.

Thank you for your assistance and contributions from the behalf of the community. You are making a difference!

Companies: Here's the companies, which provided support for PnP initiative for this month by allowing their employees working for the benefit of others in the PnP initiative. There were also people who contributed from other companies during last month, but we did not get their logos and approval to show them on time for these communications. If you still want your logo for this month's release, please let us know and share the logo with us. Thx.

CA Technologies
ClearPeople
ContentAndCode
Digia
piasys
 Puzzlepart
 onebit software
 rencore
Slalom
Triad
 Wortell


Microsoft people:
Here’s the list of Microsoft people who have been closely involved on the PnP work during last month.

Latest traffic statistics

Here's traffic statistics from the PnP, PnP PowerShell, PnP Sites Core (.NET)JavaScript Core component and SP Dev FX Web Parts repositories.

Traffic at PnP repository

  Traffic from PnP repo

Traffic from PnP CSOM Core repository

  Traffic from PnP CSOM Core      

Traffic from PnP PowerShell repository

  Traffic from PowerShell    

Traffic from PnP JavaScript Core Component repository

  Traffic from JS Core  

Traffic from SharePoint Framework Web Parts repository

  Traffic in SPFx web parts repo  

See About Repository Graphs for more details on above statistics.

Next steps

  • April 2017 monthly community call is on 11th of April at 8 AM PT / 5 PM CET for latest release details with demos - Download invite with detailed schedule for your time zone from http://aka.ms/sppnp-call.

PnP Resources in one picture - numerous links mentioned in this blog post

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 10th of April 2017

Changes to Planner Task API

$
0
0

Hello, we are making a few changes to the Planner Task API on the Microsoft Graph REST API Beta endpoint.  These changes add support for recently released features (multi-assign tasks) and puts us on a path to finalize the initial version of the Planner API and move it from Beta to V1.0.  These changes will be available on the Beta endpoint starting on April 13, 2017. 

The changes to the Planner API include:

1. New /planner/ segment for all Planner resources

This update will add a /planner/ segment to every URL. This segment is used for organizational purposes only and does not contain usable properties. The follow table shows the changes to URLs. 

Old URLs

New URLs

/plans

/planner/plans

/buckets

/planner/buckets

/tasks

/planner/tasks

/user/id/plans

/user/id/planner/plans

/user/id/tasks

/user/id/planner/tasks

/groups/id/plans/

/groups/id/planner/plans/

2. API Support for tasks assigned to multiple people

Planner recently announced support for assigning a task to multiple people. To support this in the API, the task’s assignedTo field will be removed and replaced with an open type that represents a collection of assignments. For more information, see plannerAssignments.

As part of this change, the taskBoardTaskFormat will be split into 3 distinct types representing the views supported by the Board in Planner clients.  For more information, see plannerAssignedToTaskBoardTaskFormat, plannerBucketTaskBoardTaskFormat, and plannerProgressTaskBoardTaskFormat.

3. Service generated order hints

Clients can sort Planner objects by their order hint.  Previously, clients could set order hints to any string value.  With this update, the Planner service will now generate order hints for all objects and require clients to follow the format and scheme described in Using Order Hints in Planner.  

4. Additional properties on task resource

We’ve added the following properties to the task resource that provide summary information on collections in taskDetails:

    • activeChecklistItemCount: number of active checklist items
    • checklistItemCount: total number of checklist items
    • referenceCount: total number of external references for tasks, such as attachments and links

     5. Sortable ETags

    ETags for all objects will now be sortable by the ordinal values of its characters.  You can compare the ETag values to determine which object versions are newest, with the newer versions sorting after older ones.

    6. Read-only user identity fields will return an identitySet instead of a string

    This change is limited to read only fields that represent users. Editable fields will not be impacted.  The impacted fields include:

      • completedBy
      • createdBy
      • modifiedBy
      • assignedBy

    Thank you for using and providing feedback on the Planner Task API, and happy coding. 



    FAQ:

    What happens to the existing Planner Task API? When will it stop working?

    The current Planner API (without the /planner/ segment) is now deprecated and will be removed on May 26, 2017. Client applications must be updated before May 26, 2017 or they will no longer function. 

    Until then, basic functionality in the current API will continue to work side-by-side with the new API, to help transition applications to the new API. However, applications using the current Planner API may cause issues such as:

    o   Removing additional assignees on a multi-assigned task

    o   Specifying an incorrect orderHint

    Why add the /planner/ segment to the API?

    The new API introduces several breaking changes as described above. The segment helps existing applications continue to function while transitioning to the new API. 

    In the coming months, we plan to make other service-specific Task related APIs available on Microsoft Graph. This segment provides a way to distinguish between each service’s API surface. 

    It is important to note that we are also working on a converged Task API story for Microsoft and will have more details to share in the future. 

    SharePoint PnP Webcast – Managing the "modern" experiences in SharePoint Online

    $
    0
    0

    In this PnP Webcast, we concentrate more on how to control the "modern experiences" for sites, lists and pages at different scopes in Office 365 tenant. These settings are typically controlled by the tenant administrators or defined by architects responsible of the end user behaviors. We cover in both presentation and in demos, different ways to control these modern settings, so that end user experience can be adjusted as optimal for your deployment. 

    Presentation covers following topics:

    • Controlling modern / classic site creation in tenant level
    • Controlling modern page uage in tenant or in site scope
    • Controlling modern list creation at tenant, site collection, site or list scope

    Webcast demo (15:51) shows following details

    • Accessing SharePoint Online administrative settings
    • Tenant scoped settings for managing "modern experiences"
    • List scoped settings to manage list experience

    Webcast presenters: Bert JansenVesa Juvonen 

    Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.

    Video at YouTube.

    Additional resources

    See following resources around the covered topics.

    What is SharePoint / Office Dev Patterns & Practices (PnP) web cast series?

    SharePoint / Office Dev Patterns and PracticesSharePoint / Office Dev Patterns & Practices (PnP) webcast series covers different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30 minute long web cast each Monday with few slides and a live demo on the covered topic. All web casts are published at the PnP YouTube channel with additional references on the existing materials.

    PnP is community driven open source project where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen in our GitHub repositories under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/SPPnP-Call

    This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.

    If you have any questions, comments or feedback around PnP program or this blog post, please use the Microsoft Tech Community (SharePoint Developer group).

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 17th of April 2017

    Script Lab, a Microsoft Garage Project

    $
    0
    0
    Script

    Wouldn’t it be crazy if you could launch Excel, click to open a small code window, and then instantly start writing and executing JavaScript that interacts with your spreadsheet?

    Today we released Script Lab, a Microsoft Garage project that lets you do exactly that and a lot more.

    Script Lab is a tool for anyone who wants to learn about writing add-ins for Excel, Word, or PowerPoint. The focus is the Office JavaScript API, which is the technology you need for building Office add-ins that run across platforms. Maybe you’re an experienced Office developer and you want to quickly prototype a feature for your add-in. Or maybe you’ve never tried writing code for Office and you just want to play with a sample and tweak it to learn more. Either way, Script Lab is for you.

    Script Lab has three main features:

    • Codein a pane beside your spreadsheet. IntelliSense shows suggestions while you type so you can easily discover and use the Office JavaScript objects and methods. And if you don’t want to start from scratch there are plenty of samples preinstalled with Script Lab. Your snippets can use any TypeScript features like the magical async/await and conveniences like arrow functions and template strings. But it’s not only script: your snippets can also use HTML, CSS, and references to external libraries and data on the web. Script Lab uses the Monaco editor, the same tech that powers VS Code, so it’s beautiful and lightweight.
    • Run the code in another pane beside the editor. Execution can include logic, API calls to Office, UI in the pane, and even output to a console. Every time you make a code change you can refresh the editor and run the new version in seconds.
    • Shareyour snippets through GitHub. If you create a snippet you’d like to share, you can use Script Lab to save it. Then send the link to someone else to try it and tweak it on their computer. The Import feature lets you load other people’s snippets. We think sharing will be especially useful for asking and answering questions about add-ins on Stack Overflow (http://stackoverflow.com/questions/tagged/office-js).  

    You can install Script Lab right now for free from the Office Store. It works for Excel, Word, and PowerPoint on Office 2013 and later, Office Online, and Office for Mac.

    The source code is open to the community at https://github.com/OfficeDev/script-lab. We welcome your contributions to the tool and to our snippets repo. We’re excited to keep building Script Lab with your help!

    I’ll flaunt some screenshots to finish off. Here’s a simple selection-coloring example in Excel:

    selection-coloring

    And here’s image-insertion in Word Online, with the Run pane visible:

    iword

    Let’s end with PowerPoint for Mac!

    PowerPoint


    Delta query for Users, Groups, Messages, Calendar, and more, available in preview

    $
    0
    0

    Microsoft Graph provides a single API endpoint that gives you access to rich people-centric data and insights, via a number of resources like users and messages. Many applications need to keep track of what’s changing in these data sets, and we recently added support for delta query   across a variety of resources on our /beta endpoint to help make that easier. These include Users, Groups, Messages, Mail Folders, Calendar Events, Personal Contacts, and Contact Folders.

    So what is Microsoft Graph delta query? This capability enables applications to discover newly created, updated, or deleted resources and relationships without performing a full read with every request. delta query also provides change tracking for relationships between these entities, like changes to a user’s manager and group membership updates.

    This capability may sound familiar- it’s already is available on our /v1.0 endpoint for drives and drive items, and we’ll be continuing to add support for more resources in the future.

    For more details watch the video below or read on

    Using delta query

    Using delta query is simple- just add “/delta” on the end of a standard GET request. For example:

    GEThttps://graph.microsoft.com/beta/users/delta

    The typical end to end call pattern is as follows:

    1. The application begins by calling a GET request with the delta function on the desired resource.
    2. Microsoft Graph will send a response containing the requested resource and a state token, which is encoded in an opaque nextLink or deltaLink URL.
      1. If a nextLink URL is returned, there are additional pages of data to be retrieved in the session. The application continues making requests using the nextLink URL until a deltaLink URL is included in the response.
      2. If a deltaLink URL is returned, there is no more data about the existing state of the resource to be returned. For future requests, the application uses the deltaLink URL to learn about changes to the resource.
    3. When the application needs to learn about changes to the resource, it makes a new request using the deltaLink URL received in step 2. This request may be made immediately after completing step 2 or when the application checks for changes.

     Note: The application may decide to check for changes based on a set amount of time passing, or this may be triggered by an event like a webhook change notification being received or a User clicking a button in a UI.

    1. Microsoft Graph returns a response describing changes to the resource since the previous request, and either a nextLink URL or a deltaLink URL.

    You can find detailed examples containing series of requests and responses for various resources, along with additional information on using Delta Query in our documentation:  

    Scenarios

    Applications with local data stores can use delta query to efficiently synchronize data with Microsoft Graph. Stateless apps without local data stores can also benefit from delta query by using it to perform simple change tracking on resources they are interested in.

    Here’s are some examples of scenarios where delta query can be useful:

    • A workflow service that notifies customers of specific events can use delta query on messages to detect and alert customers when they get mail from their boss marked as high priority.
    • A security monitoring application can scan new emails for malicious content and track changes to the membership of sensitive security Groups, then alert an IT admin as soon as a risky event occurs.
    • A ticket management system can use delta query to ensure that when a support agent leaves the company, their open cases are automatically sent back into the queue and keep the people picker used by dispatchers when assigning cases up to date.

    Additional Details

    Please take at our documentation , the video overview on Channel 9, and hear more about delta query (and other topics) on Episode 122 of the Office Developer Podcast.

    Known limitations

    Tracking changes to relationships on users and groups is only supported within the specific resource class for which changes are being tracked. For example, if a client is tracking changes on groups and has selected the members relationship, the client will only receive membership updates in the delta query response if those members are also groups. In other words, tracking group membership for users is not yet supported. The Microsoft Graph team understands that this is a high priority scenario and an update is targeted to be delivered soon.

    General availability of Office 365 CDN

    $
    0
    0

    We are excited to announce updates on our Office 365 Public Content Delivery Network (CDN) capability with great new features comparing to previously released preview functionality. We are also announcing preview for the completely new Publishing Feature Auto-Rewrite integration along with Private CDN. Office 365 Public CDN is now updated and fully available for first release tenants, with gradual release for normal tenants.

    We are interested on your feedback and comments around this capability, so please use Microsoft Tech Community to provide input around this these new capabilities.

    Office 365 Public CDN Overview

    Following picture defines the logical flow with Office 365 Public CDN

    Logical architecture for public CDN

    1. Administrator enables Office 365 Public CDN for the tenant using SharePoint Online Management Shell.
    2. Static assets to be shared from CDN are uploaded to the SharePoint libraries, which are enabled as CDN origins.
    3. Assets are being exposed from the configured libraries and folders and they can be accessed using CDN URLs.
    4. URLs pointing to CDN location are available to be used in the SharePoint sites and in the customizations hosted from SharePoint.

    Public CDN URLs for the assets are static and are not changed after the asset has been located to the CDN origin. You can either hard-code Public CDN URLs or leverage the Publishing Feature integration to get Auto-Rewriting to CDN URL.

    Office 365 Private CDN with Publishing Auto-Rewriting Overview

    Following picture defines the logical flow with Office 365 Private CDN, which is now in preview status and available from tenants with first release status.

    Logical architecture for private CDN

    1. Administrator enables Office 365 Public CDN for the tenant using SharePoint Online Management Shell
    2. Static assets to be shared from CDN are uploaded to the SharePoint libraries, which are enabled as CDN origins
    3. Assets are available for being exposed through the CDN service when they are in the CDN origin for the Private CDN
    4. When pages, with assets in the CDN origins, are being requested, SharePoint automatically rewrites the URLs point to the CDN URLs, so that client side browser is requesting these assets using CDN location
    5. Assets being shared from the CDN origin must have a major version published and user access to these assets is being considered when the URL rewriting happens

    The Private CDN URLs are dynamically generated by SharePoint Online. The Private CDN URL can only be generated if user has read permissions to the CDN origin (specifically the folder containing the asset). The Private CDN Urls contain tokens on the query string that are used to grant access to the asset. Having the Private CDN Url (with the tokens) is similar to having the asset itself. The tokens used to grant access are will expire after 1 hour.  We ensure that the same asset will generate the same tokens across multiple requests with that 1 hour, this allows the browser cache to be leveraged during a user session.

    Publishing Feature Auto-Rewriting to CDN URLs

    One of the key scenarios we see for the Public / Private CDN feature is Intranet Portals. These sites often have lots of custom JS, CSS and Images. The Public / Private CDN feature will help improve the latency of these sites because the CDN assets are geo distributed so they are cached closer to the user and the CDN domain supports the HTTP/2 protocol which provides parallel downloading. This means we are no longer limited to 6 ports per domain like with HTTP/1.1.

    To help customers take advantage of the CDN features without needing to rewrite their existing Portals, we integrated the Publishing Feature with the Public/Private CDN Feature. The Auto-Rewriting is also required to use the Private CDN features as those Urls are dynamically generated and cannot be hard-coded like Public CDN URLs.

    Here is a summary of what Publishing Auto-Rewriting supports today for assets that are in CDN Origin Libraries.

    • IMG/LINK/CSS URLs in the classic publishing page HTML Response are rewritten to CDN Urls.
      • This includes Images added by authors in the HTML Content of a Page. This is a great scenario for Private CDN Origins.
      • To enabled developer scenarios where you do NOT want CDN urls, you can disable by:
        • Checkout the Page (we do not rewrite when the page is checkout to current user)
        • provide the query string parameter ?NoAutoReWrites=true
    • Content By Search WebPart assets are rewritten to CDN URLs.
      • Display Templates JS files
      • Images in Query Results - We currently support the following OOTB Managed Properties, (PictureUrl, PictureThumbnailUrl, PublishingImage)
    • Picture Library SlideShow webpart image URLs are rewritten to CDN URLs.

    • Image fields in SPList REST API (RenderListDataAsStream) results being rewritten to CDN Urls.
      • Use the new property ImageFieldsToTryRewriteToCdnUrls to provide a comma separated list of Fields.
      • Supports Hyperlink Fields (Picture or Link) and PublishingImage Fields.
    • SharePoint Image renditions are supported and will translate to CDN URL.

    If you have suggestions for other features or web parts you would like to support CDN Auto-Rewriting, let us know and we will add them to our backlog. You can provide use input on the capability using Microsoft Tech Community.

    New PowerShell cmdlets for CDN management

    We have collected lot of feedback during the developer preview stage and have adjusted the implementation also on the PowerShell cmdlet side accordingly. Here are the new cmdlets related on the CDN capability.

    Detailed documentation for these cmdlets will be available from the SharePoint Online PowerShell cmdlet documentation soon after this blog post was released.

    Get / Set-SPOTenantCdnEnabled

    Enables private or public CDN using default settings. Can be also used to disable private or public CDN.

    Get / Add /Remove-SPOTenantCdnOrigin(s)

    Can be used to Get, Add and Remove CDN origins. Origins now support wildcards prepended to the Url. This allows you to create Origins that apply across sites. For example, an origin of “*/masterpage” would make the Master Page Gallery in all Sites available as CDN Origins.

    • The */ can only be present in the beginning of the path, matching on any number of URL segments.
    • The path does NOT have to be pointing to a doc library. If someone wanted to enable */site1, they can do so, and it will match on all the doc libraries under the site.

    Get-SPOTenantCdnPolicies

    Can be used to see current settings around the CDN policies for both public and private CDN. This cmdlet will return current configuration for the tenant policies.

    Set-SPOTenantCdnPolicy

    Can be used to configure tenant policies for both public and private CDN. You can use this one cmdlet for controlling following settings:

    • IncludeFileExtensions– File extensions which are enabled for CDN capability
    • ExcludeRestrictedSiteClassifications– You can use this to control possible exclusions for the CDN usage based on site classification (Site.Classification). This is useful when you are using wildcard origins, but want to exclude some sites from being CDN origins.
    • ExcludeIfNoScriptDisabled– Can be used to exclude CDN capability if NoScript setting is disabled. This feature is still in testing and is not enabled at the time of writing this post.

    Using Office 365 CDN in SharePoint Online

    Here are the steps to get started with the Office 365 CDN.


    Connect-SPOService -Url https://vesaj-admin.sharepoint.com

    • Get status of the CDN settings from tenant level

    Get-SPOTenantCdnEnabled -CdnType Public / Private

    • Enable CDN in the tenant

    Set-SPOTenantCdnEnabled -CdnType Public / Private
    ...

    Public CDN enabled locations:
    */MASTERPAGE
    */STYLE LIBRARY

    • Disable CDN in the tenant

    Set-SPOTenantCdnEnabled -CdnType Public / Private -Enable $false

    • Get default configuration of your public CDN settings

    Get-SPOTenantCdnPolicies -CdnType Public
    ...

    Key Value
    --- -----
    IncludeFileExtensions CSS,EOT,GIF,ICO,JPEG,JPG,JS,MAP,PNG,SVG,TTF,WOFF
    ExcludeRestrictedSiteClassifications
    ExcludeIfNoScriptDisabled False

    • Add new CDN origin

    Add-SPOTenantCdnOrigin -CdnType Public -OriginUrl sites/cdn/cdn
    ...

    Public CDN enabled locations:
    */MASTERPAGE
    */STYLE LIBRARY
    SITES/CDN/CDN (configuration pending)

    • See the list of CDN origins

    Get-SPOTenantCdnOrigins -CdnType Public
    ...

    */MASTERPAGE
    */STYLE LIBRARY
    SITES/CDN/CDN

    • Remove CDN origin

    Remove-SPOTenantCdnOrigin -CdnType Public -OriginUrl sites/cdn/cdn
    ...

    Public CDN enabled locations:
    */MASTERPAGE
    */STYLE LIBRARY

    Usage of Public CDN in SharePoint pages and in customizations

    Assets hosted in public CDN origins can be accessed using well-known URL structure, which can be then referenced in your customizations, for example as hosting location for your SharePoint Framework client-side web part JavaScript files.

    Format of public CDN URL is following


    https://publiccdn.sharepointonline.com/<tenant host name>/sites/site/library

    You cannot use private CDN URLs automatically in your customizations since these URLs are dynamically generated by SharePoint. 

    Frequently asked questions

    Is there a cost associated on the CDN usage?

    No. This CDN capability is included as a standard service as part of your Office 365 subscription. There are no additional costs involved on taking it into use.

    Is CDN capability automatically enabled in my tenant?

    No. You'll need to explictily enable CDN capabilities in your tenant using SharePoint Online Management PowerShell cmdlets.

    Can I use this CDN from outside of SharePoint Online?

    No. There is referrer filtering on the CDN URL requests. You can only reference assets from the CDN URLs when request is coming from SharePoint Online.

    How can I validate CDN URL configuration?

    You can perform CDN URL validation in Fiddler if you include correct referrer header for your request.


    Add header “Referer: https://contoso.sharepoint.com” to the GET request

    Alternatively you can manually create an URL pointing to an image in public CDN and reference that in SharePoint pages.

    Once assets are published to the library, how soon can they be accessed via CDN?

    There is a 15min delay to after adding a new Origin. Once assets are published in the Library they can be immediately requested using the CDN URL.

    If I updated my assets in SharePoint site, will they be automatically refreshed in CDN?

    Yes. We trigger a background work item to invalidate the CDN asset. Depending on the length of the queue this can take between 15 minutes to 1 hour.

    Can I manually construct the URL for static assets?

    Yes for the Public CDN, no for the Private CDN.

    Can I use CDN to host my SharePoint Framework client-side web part files?

    Yes. You can use Public CDN to host your SharePoint Framework client-side web part files. You can enable CDN in your tenant and configure the right hosting location in client-side web part manifest. You cannot use however Private CDN for hosting (at least at the moment) since URL for that is not static. If you do not want to have these files anonymously exposed through CDN, you can also host them directly in SharePoint library with needed authentication. This would however mean that you would not have advantage of the performance improvements provided by CDN service. We will be releasing specific tutorial for the SharePoint Framework around this usage during upcoming days.

    Can I use both Public and Private CDN at the same time?

    Yes, a common scenario is to use Public CDN for Design Assets (JS/CSS) that can be centrally managed to ensure they meets your requirements for Public CDN. Then use Private CDN for Author Content like Images.

    What are the default file types for assets to be shared through CDN?

    Public and private CDN have slightly different configuration, which is defined below.

    • Public – .css, .eot, .gif, .ico, .jpeg, .jpg, .js, .map, .png, .svg, .ttf, and .woff
    • Private – .gif, .ico, .jpeg, .jpg, .js, and .png

    Can I manually construct the URL for the static assets?

    Yes, but only for public CDN. You can simply add public CDN URL as a prefix for the URL and construct the URL easily to point to a single file in library or folder.


    https://publiccdn.sharepointonline.com/<tenant host name>/sites/site/library

    Questions or feedback

    Please do provide us feedback on the CDN capability in the SharePoint Developer space under Microsoft Tech Community. You can use this same forum also for any question around the provided capability.

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, OneDrive-SharePoint engineering, Microsoft - 21st of April 2017

    SharePoint PnP Webcast – What should SharePoint administrators know about SharePoint Framework?

    $
    0
    0

    In this PnP Webcast, we concentrate on the key considerations around the SharePoint Framework for SharePoint administrators. SharePoint Framework solutions are deployed centrally to SharePoint Online tenant and administrators should be aware of the different considerations around the solutions, which are planned to be deployed. 

    Presentation covers following topics:

    • Considerations for administrators around SharePoint Framework
      • Approval process, Responsibilities, Deployment Process, SLAs, Security Considerations, Hosting location impact
    • Security considerations around SharePoint Framework
    • Different SharePoint customizations and their considerations or differences from administration perspective

    Webcast presenters: Waldek MastykarzVesa Juvonen 

    Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.

    Video at YouTube.

    Additional resources

    See following resources around the covered topics.

    What is SharePoint / Office Dev Patterns & Practices (PnP) web cast series?

    SharePoint / Office Dev Patterns and PracticesSharePoint / Office Dev Patterns & Practices (PnP) webcast series covers different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30 minute long web cast each Monday with few slides and a live demo on the covered topic. All web casts are published at the PnP YouTube channel with additional references on the existing materials.

    PnP is community driven open source project where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen in our GitHub repositories under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/SPPnP-Call

    This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.

    If you have any questions, comments or feedback around PnP program or this blog post, please use the Microsoft Tech Community (SharePoint Developer group).

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 24th of April 2017

    New SharePoint CSOM version released for SharePoint Online - April 2017

    $
    0
    0

    We are happy to announce availability of new SharePoint Client Side Object Model (CSOM) version targeted for the Office 365 or more specifically for SharePoint and Project Online. This release again contains few updates on the existing SharePoint CSOM assemblies and some maintenance changes. Probably most interesting included capability is the DeclareItemAsRecordWithDeclarationDate() for records creation. This is targeted for the migration scenarios where you'd need to re-assign record declaration date for migrated item based on its original value in source system. 

    You can find the latest CSOM package for SharePoint Online, including the Project Online CSOM assembly, from the NuGet gallery with an id of 'Microsoft.SharePointOnline.CSOM'. We are also working on updating the redistributable package at some point, but you can already right now start using some of these new capabilities in your solutions. We do recommend you to use the NuGet Package to gain access on latest version, rather than downloading the SDK to your machine.

    Version of the newly released CSOM package is 16.1.6420.1200. Previous versions of the NuGet have not been removed, so that your existing solutions will continue working without issues and you can decide when the new version is taken into use. Notice that even though the Nuget version is increased to 16.1.6420.1200, actual assembly version of the released assemblies is 16.1.0.0. You can also check the version of the assemblies from the File Version attribute, which aligns with the NuGet version.

    Picture from VS2017 with NuGet gallery open showing Microsoft.SharePointOnline.CSOM package with the updated version

    SharePoint Online Management Shell will be also updated during upcoming days to match with this CSOM release. MSDN reference API documentation was last time updated during March and is targeted to get refresh during next few weeks again.  

    Notice that since this NuGet package is targeted to SharePoint Online, you cannot use it directly in on-premises environments (SharePoint 2013 or 2016). This is because of the server side dependencies of the APIs. CSOM versioning model and dependency to your target environment is clarified in following blog post - Using correct Client Side Object Model (CSOM) version for SharePoint customizations. We have released separate NuGet packages for on-premises. See following blog post for additional details - SharePoint CSOM versions for on-premises released as NuGet packages.

    New properties and methods cross assemblies

    Here's a raw list of all the changes in the classes, properties and methods within this package. 

    Microsoft.SharePoint.Client

    Following properties, classes and methods have been added.

    • public property Microsoft.SharePoint.Client.CamlQuery.FolderServerRelativePath

    • public property Microsoft.SharePoint.Client.Field.CustomFormatter
    • public property Microsoft.SharePoint.Client.Field.ShowInFiltersPane

    • public property Microsoft.SharePoint.Client.List.DefaultItemOpenUseListSetting
    • public method Microsoft.SharePoint.Client.ListItem.SetComplianceTag
    • public enum value Microsoft.SharePoint.Client.ListPageRenderType.DropOffLibrary
    • public enum value Microsoft.SharePoint.Client.ListTemplateType.AppFilesCatalog
    • public enum value Microsoft.SharePoint.Client.ListTemplateType.FormulasTable
    • public enum value Microsoft.SharePoint.Client.ListTemplateType.RecipesTable

    • public property Microsoft.SharePoint.Client.ObjectSharingSettings.BlockPeoplePickerAndSharing
    • public enum Microsoft.SharePoint.Client.ShowInFiltersPaneStatus

    • public property Microsoft.SharePoint.Client.Site.GeoLocation

    Microsoft.Office.Client.Policy

    Following properties, classes and methods have been added.

    • public property Microsoft.SharePoint.Client.CompliancePolicy.SPPolicyEvent.EventTags
    • public method Microsoft.SharePoint.Client.CompliancePolicy.SPPolicyStoreProxy.OpenBinaryStreamForOriginalItem
    • public method Microsoft.SharePoint.Client.CompliancePolicy.SPPolicyStoreProxy.RetagReviewItemsWithMetas
    • public method Microsoft.SharePoint.Client.RecordsRepository.Records.DeclareItemAsRecordWithDeclarationDate

    Following items have been REMOVED from this assembly

    • public property Microsoft.SharePoint.Client.CompliancePolicy.SPPolicyEvent.EventTag

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, OneDrive-SharePoint Engineering, Microsoft - 28th of April 2017

    SharePoint PnP Webcast – Debugging SharePoint Framework solutions

    $
    0
    0

    In this PnP Webcast, we concentrate on debugging options with SharePoint Framework solutions. There are numerous ways to perform debugging when developing SharePoint Framework solutions. In this webcast we wanted to cover few different optiosn and also show in practice how to setup F5 debugging experience in Visual Studio Code for your SharePoint Framework solution. 

    Presentation covers following topics:

    • Debugging options with SharePoint Framework
      • Use your browser developer tools as such
      • Using debugger statement in JavaScript
      • Debugging in Visual Studio Code
    • Steps to debug directly in Visual Studio Code with F5 experience

    Webcast demo shows following things:

    • Using debugger statement in your customizations
    • Setting up F5 experience for SharePoint Framework Solution at Visual Studio Code
    • Testing debugging in practice

    Webcast presenters: Elio StruyfVesa Juvonen 

    Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.

    Video at YouTube.

    Additional resources

    See following resources around the covered topics.

    What is SharePoint / Office Dev Patterns & Practices (PnP) web cast series?

    SharePoint / Office Dev Patterns and PracticesSharePoint / Office Dev Patterns & Practices (PnP) webcast series covers different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30 minute long web cast each Monday with few slides and a live demo on the covered topic. All web casts are published at the PnP YouTube channel with additional references on the existing materials.

    PnP is community driven open source project where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen in our GitHub repositories under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/SPPnP-Call

    This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.

    If you have any questions, comments or feedback around PnP program or this blog post, please use the Microsoft Tech Community (SharePoint Developer group).

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 1st of May 2017

    Microsoft Graph Explorer updated - now with sample queries

    $
    0
    0

    We are pleased to announce the next update to the Microsoft Graph Explorer is rolling out to production today. This update enhances the user experience and makes it easier for you to explore the Microsoft Graph API from your browser.

    In response to your feedback that you'd like Microsoft Graph APIs to be easier to discover and use, we're introducing a new look, adding the ability to explore quickly using sample queries, and more.

    Try it out today!

     

    New look



    View sample queries

    Fast track your exploration of the Microsoft Graph API by using a sample query. Choose the show more samples link to customize your samples list.



    Set your request headers

    You can now enter your request headers as key-value pairs, and the Graph Explorer will pre-fill those in for you on relevant sample queries. For example, for POST requests, you'll need to set the Content-type that matches the content in your request body.



    And use a post body template!

    Select a sample query and the Graph Explorer will fill in the Request Body, with a request example, for you.



    Get tips along the way

    Some sample queries give you tips on how to find the relevant member ID within a collection.

    If you're using the Graph Explorer against our demo account (if you're not signed in), we'll also replace those tokens with relevant IDs or Dates so you can see the sample response.

    You can also sign in with either your Microsoft or your work or school account.

     

    Get quick access to docs

    Choose the icon to the right of a sample query to open the documentation to learn more about that resource.

     

    Customize your permissions

    Graph Explorer no longer prompts to request access to all your data when you sign in. To set permissions individually for the relevant data that you want Graph Explorer to access, sign in and choose Modify Permissions.

    Choose the permissions you want, choose Save changes, and log in again to consent to the new permission. You can use the history view to see the previous queries you ran.

    Hit a 401 or 403 error when running a query? You might have requested the wrong permission. In this case, you'll see a contextual reminder.



    Access your previous queries

    The Graph Explorer saves your previous queries, including your Request Headers and Request Body, in the updated history view. Choose show more to clear one or all of your history entries.

     

    Give the Microsoft Graph Explorer a try today!

    Let us know your feedback on UserVoice or on Twitter with #MicrosoftGraph.

    Yammer Partner Q&A: Badgeville’s Senior Software Engineers

    $
    0
    0

    Visible recognition in an enterprise social network is a powerful way for peers to highlight each other's strengths and accomplishments.  One way to give recognition is with a digital badge provided by the Badgeville app for Yammer. The app captures Yammer end-user behaviors in the Badgeville platform, which rewards users with recognition in the form of digital badges delivered to the Activity Stream, User Inbox, and Main and Group Feeds.  Built by CallidusCloud CX, the Badgeville app includes 360-degree profiles of user actions, achievements and activities.

    Read the latest Yammer Partner Q&A to learn from the CallidusCloud CX's Software Engineers who have worked on the Badgeville app since 2012. Andrija Perovic and Supraja Narasimhan share their favorite Yammer Platform features, and why they first built an app for Yammer users.


    Save the Date: Office at Microsoft Build 2017 – May 10th through the 12th

    $
    0
    0

    In less than one week, at the Microsoft Build 2017 conference, Office will feature a wide range of breakout sessions, tech talks, and recordings about what’s new in the Office 365 platform. Whether you’re attending Microsoft Build here in Seattle or watching online, you can discover all the technical details of new capabilities for creating engaging apps on Office 365.

    In addition to over 20 pre-recorded videos that will be available on May 10th, a number of breakout sessions will be recorded and posted to Channel 9. We’ll cover topics across Office 365, including Microsoft Teams, Microsoft Graph, Outlook, SharePoint, Skype, and OneDrive. As just a small sampling, you will discover how to build great bots for Skype, engage users with Actionable Messages in Outlook, and take full advantage of data across your organization with Microsoft Graph. You can build better sites with SharePoint, create video portals with Skype for Business, and learn about the opportunities to build in Microsoft Teams.

    You’ll also hear from our partners in Tech Talks and Solution Spotlights. BMC, DocuSign, Dun & Bradstreet, Nimble, PullString and others will take you behind the scenes of some of the most comprehensive integrations with Office 365. If you’re attending in person, be sure to explore the Office Platform Booths and stop by the Solution Spotlight area where you can hear directly from partners including Adobe, Oracle, Pixton, Sapho, and Wrike.

    Stay tuned for more details and announcements around the complete line-up at dev.office.com and our Office Developer blog, where we'll update with links and videos. Hold the date for May 10th through the 12th -- whether in-person or online, we look forward to seeing you there!

    Now rolling out: SharePoint Add-in Web Parts in modern pages

    $
    0
    0

    We are pleased to announce that we are rolling out new capabilities to modern pages that let users add app parts from SharePoint add-ins. With this new capability, the set of available parts for modern pages expands considerably, and now includes dozens of options from the SharePoint Store. There are many new possibilities for page designers to tailor their sites to specific needs and scenarios – as part of designing out new sites, make sure you visit the SharePoint Store to see all the available add-ins available for use.

    For developers, SharePoint Add-ins continue play a significant role as an option for developers to extend the user experience of SharePoint. Along with the SharePoint Framework, where developers can build new web parts using client-side development techniques and open JavaScript tools and technologies, add-ins provide developers with more options in building out integrations. Provider-Hosted SharePoint Add-ins streamline how application developers build new applications using the platform of their choice, or bring existing in existing applications, and connect them into SharePoint sites. Alternately, developers can host their application scripts and resources directly in SharePoint via SharePoint-hosted add-ins.

    Add-ins provide several integration mechanisms, including user experience integrations with app parts and custom actions, as well as process integrations with remote event receivers.

    Finally, SharePoint Add-ins can be made available to site owners and users via the SharePoint Store, increasing their discoverability across users of Office 365 and on-premises SharePoint. Add-ins can be deployed at different scopes within a tenancy or farm – for example, to specific site collections, with specific controls over application security and access.

    These capabilities are now more broadly available with support for add-ins in modern pages. You can get started by browsing the SharePoint Store, and discovering the many new options that add-ins can provide to your modern pages.

    SharePoint PnP Webcast – Calling external APIs securely from SharePoint Framework

    $
    0
    0

    In this PnP Webcast, we concentrate on how to secure traffic from SharePoint Framework solution towards an external API hosted in Azure. Technically similar process does work with other platforms as well, but Azure is typically used as customization platform also for solutions hosted in SharePoint Online. Webcast demo concentrates showing securely calling an Azure function from client-side web part, but you can absolutely also securely call WebAPIs using similar pattern.

    It's important to notice that showed pattern only takes care of the authentication and there's no consent flow, like typically when Adal.js would be used. This means that traffic from SharePoint Online towards the custom API is secure, but external API cannot directly use the identify of a caller. Typically, in these kinds of scenarios you either use app-only or specific service account. Shown pattern enables for example scenarios where you'd like to integrate SharePoint Online UI to your Line-Of-Business applications by showing information directly in the SharePoint Online UIs. You can call for example WebAPI hosted in Azure, which can then for example use Service Bus to call even back to on-premises for Line-Of-Business application access. 

    Presentation covers following topics:

    • adal.js challenges with SharePoint Framework
    • Alternative way to securely call APIs secured with Azure Active Directory
    • SharePoint Framework and backend services - Logical architecture

    Webcast demo shows following things:

    • How to securely call Azure function from SharePoint Framework web part
    • How Azure function authentication can be controlled
    • Required configuration for Azure function for enabling a call from SharePoint Online
    • SharePoint Framework client-side web part implementation to call Azure function securely

    Webcast presenters: Waldek MastykarzVesa Juvonen 

    Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.

    Video at YouTube.

    Additional resources

    See following resources around the covered topics.

    What is SharePoint / Office Dev Patterns & Practices (PnP) web cast series?

    SharePoint / Office Dev Patterns and PracticesSharePoint / Office Dev Patterns & Practices (PnP) webcast series covers different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30 minute long web cast each Monday with few slides and a live demo on the covered topic. All web casts are published at the PnP YouTube channel with additional references on the existing materials.

    PnP is community driven open source project where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen in our GitHub repositories under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/SPPnP-Call

    This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.

    If you have any questions, comments or feedback around PnP program or this blog post, please use the Microsoft Tech Community (SharePoint Developer group).

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 8th of May 2017

    SharePoint Patterns & Practices – May 2017 release

    $
    0
    0

    SharePoint / Office 365 Dev Patterns and Practices (PnP) May 2017 release is out with new contributions from community for the community. This post contains all the details related on what was included with the release and what else has been happening in the PnP world during the past month.

     

    What is SharePoint Patterns & Practices (PnP)?

    SharePoint / Office Dev Patterns and Practices PnP is community driven open source initiative where Microsoft and external community members are sharing their learning's around implementation practices for SharePoint and Office 365. Active development and contributions happen our GitHub projects under 'dev' branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications.

    PnP is owned and coordinated by SharePoint engineering, but this is work done by the community for the community. It’s been great to find both internal and external people who are willing to assist and share their learning's for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the PnP Core team and we are looking to extend the Core team with more community members.

    Notice that since this is open source community program, there’s no SLAs for the support what we provide from program. You can use SharePoint Developer group in the Microsoft Tech Community for providing input and to ask any questions around the existing materials. If you are interested on getting more closely involved, please check the following guidance from our GitHub wiki or a referenced PnP Webcast.

    Some key statistics around PnP program from April 2017

    • GitHub repository forks at different repositories 
    • Unique visitors during past 2 weeks' cross PnP repositories - 17068
    • Unique visitors during past 2 weeks in SharePoint organization repositories - 5804
    • Merged pull requests cross PnP repositories (cumulative) - 3228
    • Closed issues and enhancements ideas cross PnP repositories (cumulative) - 1765
    • PnP Core component NuGet package downloads (cumulative) - 93341
    • Unique visitors in PnP MSDN pages during April 2017 - 54444
    • Unique tenants using PnP CSOM Core component during April 2017 - 4916
    • Http requests towards SharePoint Online from PnP CSOM Core Component during April 2017 - 2048306419
    • PnP YouTube channel had 17921 views with 105667 minutes watch time during April 2017

    Main resources around PnP program

    May 2017 monthly community call

    Agenda for the Tuesday 9th of May community call at 8 AM PST / 5 PM CET:

    Monthly community call will get recorded and release to PnP YouTube channel typically within 24 hours after the recording is ended. If you have any questions, comments or feedback, please participate in our discussions in the Microsoft Tech Community under SharePoint developer group

    PnP Sites Core, PnP PowerShell and provisioning engine Special Interest Group (SIG)

    PnP Sites Core, PowerShell and Provisioning Special Interest Group (SIG) has bi-weekly meetings to cover latest development in the PnP CSOM core component, PnP PowerShell and in the PnP remote provisioning engine. We do touch also generic SharePoint development practices around remote APIs in these calls. These calls have also free Q&A section, if you have any questions around SharePoint development in on-premises or in cloud. Need to get recommendation to your design or having hard time with some APIs? - Drop by, ask a question and we'll help you.

    You can download invite for the bi-weekly meeting from following location.

    All SIG meetings are being recorded and are available for view from PnP YouTube Channel. Here's the latest recordings from the SIG calls.

    • 3rd of May - General status updates. Demo on the Modern UI Customizer analyzer. Q&A
    • 19th of April - Details on SharePoint Online portal guidance, file naming support changes in SPO and around upcoming improvements on the PnP provisionin schema
    • 5th of April - Quick look on March 2017 stats, planned improvements in provisioning schema. Demos on provisioning engine refactoring and how to build simple self-service site collection creation process in 10 minutes without code

    Notice. Next SIG for PnP Component / PowerShell will be on Wednesday 22nd of February - If you have questions around these topics, please join this call and use the opportunity to ask questions from SP engineering and PnP Core team.

    SharePoint Framework (SPFX) and JavaScript Special Interest Group (SIG)

    SharePoint Framework and JavaScript Special Interest Group (SIG) has bi-weekly meetings to cover latest changes in the SharePoint Framework side, from engineering perspective and to cover also latest development related on the PnP JS Core library. These calls are designed to have 50%/50% of content and demos and there has been already great community demos on the new SharePoint Framework Client-side web parts. If you're interested on showing your code, just let us know.

    All SPFx and JS SIG meetings are recorded, so that you can check the demos and discussions, if you can't make the actual call. You can find the latest recordings from the PnP YouTube Channel. Here's the latest recordings.

    • 27th of April - Latest on SPFx and PnP JS Core. Demos on new Visual Studio Extension for SharePoint Framework and on using RiotJS in web parts
    • 13th of April - Latest on SPFx and PnP JS Core. Demos on Azure function usage with sp-pnp-js and also on how to build Mega Menu with JSLink
    • 30th of April - Latest on SPFx and PnP JS Core. Demo on checking permissions with sp-pnp-js 

    Notice. Next SIG for SharePoint Framework and JavaScript development will be on Thursday 16th of February - If you have questions around these topics, please join this call and use the opportunity to ask questions from SP engineering and PnP Core team.

    PnP Weekly Webcasts

    We started new PnP Weekly Webcast series on October 2015 and have continued releasing new videos since that. All new webcasts are released in PnP YouTube Channel. Old webcasts and other demo videos are also found from the PnP Channel 9 section. Here's the new web casts released after the last monthly release.

    PnP repositories in GitHub

    There are quite a few different GitHub repositories under the PnP brand since we wanted to ensure that you can easily find and reuse what's relevant for you. We do also combine multiple solutions to one repository, so that you can more easily sync and get latest changes of our released guidance and samples. In general we do recommend you to use the PnP sample search tool at dev.office.com for locating relevant material for you. This should be easier and faster than trying to locate relevant material from GitHub.

    During November, majority of the PnP repositories were moved to SharePoint GitHub organization

    Here's the current repository structure, including short description for each of them.

    On top of the specific PnP repositories, PnP initiative also controls the new repositories under the SharePoint organization. PnP is owned nowadays by SharePoint engineering and we will be using PnP as the channel and forum to facilitate community work.

    What's supportability story around PnP material?

    Following statements apply cross all of the PnP samples and solutions, including samples, core component(s) and solutions, like PnP Partner Pack.

    • PnP guidance and samples are created by Microsoft & by the Community
    • PnP guidance and samples are maintained by Microsoft & community
    • PnP uses supported and recommended techniques
    • PnP implementations are reviewed and approved by Microsoft engineering
    • PnP is open source initiative by the community – people who work on the initiate for the benefit of others, have their normal day job as well
    • PnP is NOT a product and therefore it’s not supported through Premier Support or other official support channels
    • PnP is supported in similar ways as other open source projects done by Microsoft with support from the community by the community
    • There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend to be clear with your customer / deployment owner on the support model

    Latest changes

    SharePoint Framework samples

    These are samples which are available from the SharePoint client-side web part sample repository at https://github.com/SharePoint/sp-dev-fx-webparts.  

    • New sample react-taxonomypicker demonstrating how to build taxonomy picker control for web part property setting
    • New sample react-yammer-api showing how Yammer REST APIs can be consumed by using SharePoint Framework React webpart and the Yammer JavaScript SDK
    • New sample bootstrap-slider which pulls the slides from a list inside the SharePoint site. The list is automatically deployed once the app is installed in the SharePoint site.
    • New sample riot-list which shows how use RiotJS in the context of SharePoint Framework
    • New sample react-themes which illustrates how to use SharePoint Theme variables in custom web parts
    • New sample react-async-await-sp-pnp-js which demonstrates how to use PnP JS Core with Async functions into the SharePoint Framework as well as integrating PnP JS and SPFx Logging systems
    • New sample aad-api-spo-cookie showing how to call securely external WebApi hosted in same Azure subscription as SharePoint Online tenant
    • Updated react-tood-basic to GA version with small polishing
    • Upgrades to numerous other samples to use SPFx GA version

    PnP CSOM Core and Provisioning Engine

    PnP CSOM Core component is a wrapper on top of native CSOM and REST, which simplifies complex scenarios with remote APIs, one of the example is the PnP Provisioning Engine for remote templates. The first version of the PnP remote provisioning engine was released with the May 2015 release. For the May 2017 release we have continued to add new supported capabilities and made significant improvements from stability perspective for both SharePoint Online and SharePoint on-premises (2013 and 2016). This list contains the main updates that have been added in the May 2017 release:

    • General overall quality and performance improvements for on-premises and online
    • High trust authentication improvements for on-premises
    • Preparations for larger enginer refactoring effort introduced in June release
    • Updated to use latest SPO CSOM NuGet package
    • Unit/integration test improvements
    • Updated base templates for the SPO, 2013 and 2016 - used in delta handling

    See also https://testautomation.sharepointpnp.com for day-to-day results and executed tests.

    PnP JavaScript Core library v2.0.5

    The latest release, 2.0.5, of the Patterns and Practices JavaScript Core Library represents an incremental update for the library with additional capabilities and bug fixes on existing functionalities.

    This is similar effort as what PnP initiative previously has done with the PnP CSOM Core Component together with community. 

    • Fix for blocking bug in spfx (first in 2.0.4 out of band release) [PR]
    • Fix for batch execution order (first in 2.0.4 out of band release) [PR]
    • Added support for the webinfos method [PR]
    • Added SearchBuiltInSourceId class [PR]
    • Added support for static utility methods such as sendEmail, resolvePrincipals, and searchPrincipals. [PR] [Docs]
    • Added support for openWebById method on Site [PR] [Docs]
    • Added SearchQueryBuilder allowing you to build queries with a fluent interface [PR] [Docs]
    • Added getPage method on SearchResults class as well as additional types for search [PR] [Docs]

    PnP PowerShell 

    PnP PowerShell providers more than two hundred additional PowerShell cmdlets, which can be used to manipulate content in SharePoint Online and in on-premises (SP2013, SP2016). These cmdlet's are addative for SharePoint Online management shell, which concentrate more on the administrative tasks with SharePoint Online. 

    Here's the latest changes in the PnP PowerShell

    • Added Set-PnPWebPermissions
    • Updated Get-PnPListItem to execute scriptblocks
    • Added Set-PnPListItemPermissions
    • Added Get-PnPDefaultColumnValues
    • Added Set-PnPListPermissions
    • Updated documentation at MSDN
    • Overall quality improvements and bug fixes
    • Moved automatically generated PnP PowerShell cmdlet documentation to MSDN

    PnP sample library

    Here's updates cross the PnP code sample library by the community on the code and documentation, which is great way to contribute as well.

    • UpdatedPnP Portal Intranet starter kit to version 1.3 with new capabilities (check readme)
    • Updates to the PnP Partner Pack
      • Enable template updates to be applied only to specific site, not to all sites which had used the updated template
      • Fine tuning and polishing based on community input
      • Fixed issue when searching for Site Collection Admins

    PnP Guidance articles

    The PnP Guidance repository contains guidance articles which are published at MSDN. Starting from end of May 2016 this process was changed to be fully automated and there's automatic contributors list in the MSDN side showing who have been providing updates to these documents. We are looking forward on your contributions around real life learnings in different areas. Read more details around this open publishing model from following blog post

    Here's the new guidance released since past monthly communications.

    See MSDN articles from the PnP MSDN section at http://aka.ms/sppnp-msdn.

    PnP initiative also controls the articles in the dev.office.com around SharePoint development. Here's new/updated articles around the SharePoint Framework client-side web parts. All documentation from MSDN will be gradually moving to dev.office.com/sharepoint.

    PnP Guidance videos

    You can find all PnP videos from our YouTube Channel at http://aka.ms/sppnp-videos. This location contains already significant amount of detailed training material, demo videos and community call recordings. During April, there was one specific guidance video released.

    Notice that ome of the old PnP videos are also in the PnP Channel 9 video blog, which was previously used.

    Key contributors for the May 2017 release

    Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories or community channels. PnP is really about building tooling and knowledge together with the community for the community, so your contributions are highly valued cross the Office 365 customers, partners and obviously also at Microsoft.

    Thank you for your assistance and contributions from the behalf of the community. You are making a difference!

    Companies: Here's the companies, which provided support for PnP initiative for this month by allowing their employees working for the benefit of others in the PnP initiative. There were also people who contributed from other companies during last month, but we did not get their logos and approval to show them on time for these communications. If you still want your logo for this month's release, please let us know and share the logo with us. Thx.

    ClearPeople
    ContentAndCode
    Digia
    piasys
     Puzzlepart
     onebit software
     rencore
     SharePointalist
     Sii
    Slalom


    Microsoft people:
    Here’s the list of Microsoft people who have been closely involved on the PnP work during last month.

    Latest traffic statistics

    Here's traffic statistics from the PnP, PnP PowerShell, PnP Sites Core (.NET)JavaScript Core component and SP Dev FX Web Parts repositories.

    Traffic at PnP repository

     

    Traffic from PnP CSOM Core repository

       

    Traffic from PnP PowerShell repository

     

    Traffic from PnP JavaScript Core Component repository

     

    Traffic from SharePoint Framework Web Parts repository

     

    See About Repository Graphs for more details on above statistics.

    Next steps

    • May 2017 monthly community call is on 9th of May at 8 AM PT / 5 PM CET for latest release details with demos - Download invite with detailed schedule for your time zone from http://aka.ms/sppnp-call.

    PnP Resources in one picture - numerous links mentioned in this blog post

    “Sharing is caring”


    Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 8th of May 2017

    Microsoft Graph or the Azure AD Graph

    $
    0
    0

    Howdy folks,

    We've seen a few posts recently on Stack Overflow from developers asking whether they should be using Microsoft Graph (developer.microsoft.com/graph) vs Azure AD Graph (graph.windows.net).  So we thought we'd provide some guidance, as well as a bit of a roadmap to clarify things, for new and existing developers who require directory-based features. In general, we recommend the use of Microsoft Graph over Azure AD Graph, as Microsoft Graph is where we are investing for Microsoft cloud services.

    Microsoft Graph

    Roadmap for AAD Graph and Microsoft Graph

    First of all, we'll lay out the roadmap for Microsoft Graph (as it is related to Azure AD Graph functionality).  In each of the sections below we'll also highlight the opportunities and implications for developers.

     

    Two endpoints, different functionality

    Currently (as of May 10, 2017) Microsoft Graph supports most of the directory features that Azure AD Graph supports, but not all.  In some cases, Microsoft Graph supports functionality that is not in Azure AD Graph (such as ability to make $select projection queries).

    Even with those gaps, we strongly recommend that developers start using Microsoft Graph over Azure AD Graph, unless those specific gaps prevent you from using Microsoft Graph right now.  For a list of the high level gaps, as of May 10, 2017, please see the end of this blog post for more details.

      

    Microsoft Graph closing the gap with Azure AD Graph

    The Microsoft Graph team is working hard to close the gap between Microsoft Graph and Azure AD Graph functionality, making it easier for developers to choose Microsoft Graph.  We will also start to introduce newer directory features on Microsoft Graph (and in some cases only on Microsoft Graph).  You'll start to see the gap closure and new features over the coming months.  Please monitor both http://dev.office.com/blogs and the Microsoft Graph changelog to see this happen real-time so to speak!

     

    Microsoft Graph supports all functionality exposed by Azure AD Graph

    At some point in the near future (we hope within 6 months) Microsoft Graph will support all functionality that Azure AD Graph offers (and more).  At this point developers building new apps (or integrating an existing app with Microsoft cloud services) will be directed to use Microsoft Graph in favor of Azure AD Graph.  For newly registered apps we may prevent the app from calling Azure AD Graph.

     

    NOTE:  For existing applications that already use Azure AD Graph, nothing changes and it's business as usual.  The Azure AD Graph GA endpoint will remain fully available for all applications including production applications.  We will continue to closely monitor this API, fix service issues and strive to continue to provide 99.99% service availability.

     

    For developers with existing apps that call Azure AD Graph, we will provide guidance for those who want to switch their apps over to Microsoft Graph (from Azure AD Graph).  Additionally, we'll do it in such a way that existing users for your applications won’t need to re-consent to your application to access directory data through Microsoft Graph.

     

    Client libraries

    While we continue to support the Azure AD Graph client library, this is only available for .Net applications and it is maintenance mode.  On the other hand, Microsoft Graph client libraries are available on multiple platforms and languages, that enables you to have more choice in how you can use directory data in apps for your customers.

     

    We'd like to hear from you

    We hope this post clarifies the future of both Microsoft Graph and Azure AD Graph, and how you should think about developing against these APIs.  In general, we recommend the use of Microsoft Graph over Azure AD Graph, as Microsoft Graph is where we are investing for Microsoft cloud services. As always, we'd like to hear what you think of our roadmap plan.

     

    Gaps between Microsoft Graph and Azure AD Graph

    AAD Graph Capability

    Status in Microsoft Graph (May 10, 2017)

    1. Differential query (aka delta sync) for users, groups and organizational contacts

    GA availability with Delta Query.

    Delta query on organizational contacts is not available but is planned (see below).

    Additionally, certain optimization headers, sync from now and some other parameters are not yet supported in Delta Query, but will be available soon.

    2. Organizational contact resource type

    In preview.  Move to GA is planned.

    3.     Management of applications including:

    a.   Application and service principal entity types

    b.   Managing assignment of applications to users and groups

    c.   Assigning OAuth permissions to apps

    This capability is available in preview.

    Extensive breaking changes are planned over the coming few months for application APIs, in preview, before this rolls out to Microsoft Graph v1.0.

    4.     Partner admin on behalf of capability (for resellers and syndicators who are part of the Cloud Solution Provider program)

     GA availability.  See CSP support in Microsoft Graph.

    5.     Domain resource type (mainly relevant for Cloud Solution Providers)

    GA availability. See Domain.

    6.     Contracts resource type (only relevant for Cloud Solution Providers)

    GA availability. See Contract.

    7.     Registering directory schema extension definitions

    GA availability. Extending resources with application data is available with Extensions and schema extensions.

    NOTE: Not available for extending application or service principal resource types.

    8.     Batching

    Available in preview. See JSON batching

    9.     Missing properties on the User resources (sipProxyAddress, otherMails, licenseDetails)

    GA availability: See User for imAddresses and licenseDetails.

    otherMails is still not available, but coming soon.

    10.  GetObjectsByObjectIds method

    GA availability. See getByIds method.

    11.  IsMemberOf method

    Not planned.  Use checkMemberGroups method instead.

    12.  Manage users in a B2C tenant (set local accounts, sign in names)

    Coming soon (preview)

    Thanks,

    Dan Kershaw on behalf of the Microsoft Graph and Azure AD Graph teams

    Viewing all 429 articles
    Browse latest View live