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

SharePoint Patterns and Practices (PnP) repositories moving in GitHub

$
0
0

SharePoint / Office Dev Patterns and Practices

As part of the SharePoint / Office 365 Dev Patterns and Practices ownership changes to SharePoint engineering, we have decided transfer the PnP initiative GitHub repositories from OfficeDev GitHub organization to SharePoint organization. PnP work is coordinated by the SharePoint engineering, but we obviously work together with the field on the contributions and needed guidance. This transition was mainly completed on Friday 25th of November. We have still few repositories to be transfer, which require some additional work, but transition should be fully completed by early December 2016. New locations of the PnP GitHub repositories are as follows. All old links are also automatically redirected to new location.

GitHub has done the repository transfer really easy and it does not have any impact on existing forks or the work you might have pending from the old location. We evaluated the impact first with the PnP-JS-Core repository and since we did not see any impact on the behavior, moved forward with the transfer. If you have any pending work, you can still sync them back on the old URLs, which are automatically redirected to new location, so this does not impact on your forks or other GitHub settings. All old links are also automatically redirected to new location.

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 - 28th of November 2016


SharePoint PnP Webcast – Building real time news feed web part with SharePoint Framework

$
0
0

In this PnP Webcast, we concentrated on one specific client-side web part sample available from the SharePoint Framework web part GitHub repository. This client-side web part shows how to build a real time notification model with SharePoint Framework, which indicates when there are changes in the server side for the web part. Implementation is using React.js, Office UI Fabric React components, Azure Logic Apps, Azure Storage Queuesocket.io and a node.js based server side implementation hosted as Azure web application. That might sound complex, but in the demonstration section we'll cover the different steps one-by-one to demonstrated how things are actually working. It sounds much more complex than it is.

Notice. When this webcast was released, SharePoint Framework was available as a Developer Preview release.  

Presentation covers following topics:

Web cast demo (8:42) shows following details

  • How real time news web part works from UI perspective
  • How socket.io library is used with the web part and in the server side implementation (node.js)
  • How Office UI Fabric React components are used for providing consistent user interface
  • How Azure Logic App has been created to poll changes from SharePoint Online list and to add them to Azure storage queue
  • How Azure deployment is automated using Azure Resoruce management templates

Web part demonstrated on the video is available from SharePoint Framework Web Part GitHub repository

Webcast presenters: Franck CornuVesa 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 / 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 - 28th of November 2016

Hack Productivity!

$
0
0

Put the skills and insight you learned at Build, Ignite and Tech Summit this year to win some great prizes and recognition! There are over $50,000 in prizes, including cash, tickets and travel to Build 2017, and meetings with Microsoft Ventures.

Hack Productivity presents you with a new coding challenge for business: use the intelligence of Microsoft Office, the Microsoft Graph, and SharePoint to build apps with a modern approach to workplace efficiency and collaboration. 

Hack Productivity invites developers to build an app that makes work work better using the Microsoft Graph, Office, or SharePoint APIs. Existing apps are eligible as they're updated to include new features or functionality after the start of the submission period.

Submissions are open from now through January 31. Start hacking the workplace @ hackproductivity.devpost.com.

New additions to the Excel REST APIs on the Microsoft Graph endpoint

$
0
0

Last August, we announced the availability of the Excel REST API on Microsoft Graph. We continue to explore opportunities for new scenarios and functionality that allows for deeper and richer integration with Excel workbooks. We are happy to announce new additions to the Excel REST APIs. In this blog post, we'll introduce the highlights of the new APIs. As always, we are eager to hear your feedback. Try them out and let us know what you think!

The new APIs are available via the Microsoft Graph v1.0 endpoint. You can access the new APIs for workbooks located in OneDrive for Business or in any Office 365 group.

https://graph.microsoft.com/v1.0/me/drive/root:/book.xlsx:/workbook

For an overview of the Excel REST APIs, see Working with Excel in Microsoft Graph.

What's new

Pivot Table resource and refresh action

The pivot table collection is now available on the worksheet resource. To begin with, this will enable developers to know about the pivot tables are available on a given workbook. This will also enable applications to refresh an individual pivot table or all pivot tables associated with a worksheet from the source data. Applications can take advantage of this feature by refreshing the pivot table remotely based on timing or other business criteria.

  • Get pivotTable: Read properties of pivotTable object. Example, GET /worksheets/{id or name}/pivotTables/{id}
  • refresh: Refreshes a given pivotTable. Example, GET /worksheets/{id or name}/pivotTables/{id}/refresh
  • refreshAll: Refresh all tables within a given worksheet. Note that this action is available only on the pivot table collection. Example, GET /worksheets/{id or name}/pivotTables/refreshAll

In the future, we'll look to add more pivot table functionality using the same resources.

Visible rows on a filtered range

We've added a new resource called visibleView that represents visible rows of a given range. When a filter is applied on a range, it is often useful to know what values are visible (or selected from filter criteria). Previously, this required going through the underlying range to determine whether a row is visible or not. Such a procedure is cumbersome when the range is fairly large.

With the new feature being added, applications can now apply a filter on a large table based on desired criteria and get easy access to filtered data. This feature will reduce the complexity involved in determining visible rows and take advantage of Excel's filtering capability.

In order to get the visible view object, get the object on the underlying range, as shown.

GET /{range-object}/visibleView

The visible view resource comes with useful properties that represent the range such as cell addresses, column and row count, index, formulas, number format, values/text, and value types.

If the visible range happens to be large, getting the entire resource might not be performant. In such a case, iterating over the rows provides a better user experience. The rows relationship on visibleView allows just that - iterating over the visible range rows.

Access the rows collection using the following code.

GET /{range-object}/visibleView/rows

New range manipulation functions

The following new range functions have been added. These functions reduce the complexity involved in determining the target range that the applications wishes to operate on.

  • columnsAfter, columnsBefore, rowsAbove, rowsBelow: Gets a certain number of rows or columns based on relative position of a given range.
  • resizedRange: Gets a range object similar to the current range object, but with its bottom-right corner expanded or contracted by some number of rows and columns.

Access these new range APIs by using the syntax:

GET /{range-object}/{function-name}

For example: GET /workbook/worksheets/sheet1/usedRange/columnsAfter(count=2)

New table resource properties

Gain insights into the structure of the Excel table by using the following new properties: highlightFirstColumn, highlightLastColumn, showBandedColumns, showBandedRows, showFilterButton

Want to learn more?

Excellent! Visit https://dev.office.com/excel/rest, where you’ll find documentation and code samples to help you get started. It only takes a few lines of code to set up a basic integration using our to-do list sample.

After you jump in, tell us what you think. Post questions or feedback about the APIs on StackOverflow, make suggestions for the docs on GitHub, or suggest new features on UserVoice.

 

SharePoint PnP Webcast – PnP Core team on the future of SharePoint development

$
0
0

During early November, we had a really rare occasion to have many of the SharePoint PnP Core Team members in one location at the same time, so we wanted to record a special PnP webcast with multiple team members. MVPs were there to participate in the MVP Summit and we had many of the Microsoft team members also in Redmond, so this opened up a great opportunity to have a discussion on different topics around the SharePoint customizations. This was more a podcast type of a recording, but we added some content on provided video around the covered topics with few pictures. 

Key topic which we wanted to address was around providing more insights on the future of SharePoint customizations. Where are we heading and what would be the key considerations around the customizations in the future? We built the discussion around following key questions for different people in the team. 

  • What's the future of PowerShell based customizations and PnP PowerShell cmdlet's?
  • What's the future of PnP Provisioning Engine around SharePoint Online and on-premises?
  • Will all the future APIs come only from Microsoft Graph in the future also for SharePoint?
  • How to learn the new development stack for SharePoint Framework? Guidance and pointers?
  • What's the relationship with PnP JS Core library and SharePoint Framework? What's the future for PnP JS Core JavaScript library?
  • Is all the development just JavaScript with SharePoint in future?
  • PnP has been growing from a small grass root effort as a global initiative in few years, how do you feel about that?

Webcast presenters:

Video at YouTube.

Additional resources

Here are some additional resources around the covered topics. 

What is SharePoint / Office DevPatterns & 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 - 21st of November 2016

SharePoint / Office 365 Dev PnP Webcast – Introducing Office 365 Connectors

$
0
0

In this PnP Webcast, we concentrated on Office 365 Connectors and more specifically how to create your own custom connectors to send messages to Office 365 groups. It's also important to realize that the same connector architecture can be also used within the context of Microsoft Teams, since implementation looks exactly the same with Office 365 groups or with Microsoft Teams. Office 365 Connectors are a great way to get useful information and content into your Office 365 Groups or Microsoft Teams, which is then available for the end users. You can take advantage of the Connector capability for example to automate notifications from any external systems towards Office 365 Groups or Microsoft Teams, which could be useful for your team.

Presentation covers following topics:

  • Introduction to Office 365 Connectors
  • Office 365 Connectors Architecture
  • How to build your own "real" custom connectors
  • Implementation details for your custom connectors

First Web cast demo (7:36) - Using Incoming Webhook Connector

  • How to create "easy connectors" for Office 365 groups
  • Create a new group in Office 365
  • How to see all the available connectors
  • How to use Incoming Webhook connector option
  • Using Fiddler Composer to test the Incoming Webhook connector

Second Web cast demo - (21:00) - Building Office 365 Connectors with .NET

  • Walkthrough of the available sample solution in Visual Studio
  • Demonstration of the ASP.NET MVC sample solution
  • How to register new connectors to be available tenant wide
  • How to connector your custom connector to your Office 365 groups
  • How to send messages to Office 365 groups from your code
  • Walkthrough of the code needed for the connecting connector to a group and how to send messages to group

Custom Office 365 Connector demonstrated on the video is available from the PnP GitHub repository

Webcast presenters: Paolo PialorsiVesa Juvonen

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

Video at YouTube.

Additional resources

See following resources around the Office 365 connectors.

What is SharePoint 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 - 5th of December 2016

Update to Filtering and Sorting in the Mail, Calendar and Contacts REST API

$
0
0

Hi Partners and Developers,

We recently deployed a behavior breaking change to Microsoft Graph V1.0 and the Outlook V1.0 & 2.0 endpoints to block a specific class of requests that contain $filter and $orderby for messages, which can result in users being prevented from accessing their mailboxes in Outlook or any other app.  We realize that this breaking change impacted some of you whose apps & services relied on this behavior and we sincerely regret the pain that this has caused.

The remainder of this post explains the change we made so you can determine if this impacts your app or service and if so, the error you will receive, the modifications you must make to avoid the error and what we are doing to avoid such breaking changes in the future.    

 

Impacted Requests 

The behavior change impacts your app or service if they make a request that contains both query parameters $orderby and $filter, and meets any of the following conditions:

1. Fields appear in $orderby that are not present in $filter.

a. Example that doesn’t work because receivedDateTime is present in $orderby, but not in $filter:

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=receivedDateTime & $filter=from/emailAddress/address eq 'Garth.Fort@contoso.com'& $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

b. Example that works, after adding a $filter clause for receivedDateTime:

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=receivedDateTime & $filter=receivedDateTime ge 1900-01-01T00:00:00Z and from/emailAddress/address eq 'Garth.Fort@contoso.com' & $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

2. $filter clauses use fields also present in $orderby, but in an order different from that in $orderby.

a. Example that doesn’t work because hasAttachments and receivedDateTime don’t appear in the same order in $orderby as in $filter:

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=hasAttachments,receivedDateTime desc & $filter=receivedDateTime le 2016-01-01T00:00:00Z and hasAttachments eq false& $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

b. Example that works because because hasAttachments and receivedDateTime appear in the same order in $orderby and in $filter:

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=receivedDateTime desc,hasAttachments& $filter=receivedDateTime le 2016-01-01T00:00:00Z and hasAttachments eq false& $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

3. Fields, appearing in $filter and not in $orderby, come before those fields that are present in $orderby.

    a. Example that doesn’t work because receivedDateTime (not present in $orderby) appears before from/emailAddress/address (present in $orderby):
https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=from/emailAddress/address & $filter=receivedDateTime ge 2016-01-01T00:00:00Z and from/emailAddress/address eq 'Garth.Fort@contoso.com'& $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

  b. Example that works because from/emailAddress/address appears before receivedDateTime.

https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messages?$orderby=from/emailAddress/address & $filter=from/emailAddress/address eq 'Garth.Fort@contoso.com' and receivedDateTime ge 2016-01-01T00:00:00Z& $top=10 & $select=receivedDateTime,from,subject,hasAttachments,bodyPreview

Error Returned for Failed Requests

If you use any of the requests similar to (1a), (2a) or (3a) listed above, you will receive the following error:

{  "error": {    "code": "InefficientFilter",    "message": "The restriction or sort order is too complex for this operation.",    "innerError": {      "request-id": "<>",      "date": "<>"    }  }
}     

 

Changes Required of your App

1. If your app is making requests that match the patterns explained in the previous section, please modify them to ensure the following:

    1. All fields specified in the $orderby parameter are also specified in the $filter parameter.
    2. Fields that appear in both $orderby and $filter appear in the same order.
    3. Fields that are present in $orderby appear in $filter before fields that aren’t.

2. No changes are required and your app or service will continue to work fine if the app uses $orderby or $filter in either of the following ways:

    1. Uses $filter but not $orderby.
    2. Uses $orderby but not $filter.

 

Reason for the Breaking Change

We made a change in May 2016 to loosen restrictions on $filter for mail, calendar and contacts so apps can use filter operators such as “contains” and “startsWith”. As part of this change, we unintentionally also permitted the types of requests similar to (1a), (2a) or (3a) described in the section “Impacted Requests”. This slipped through multiple validation rings and ran  fine for users for months.  But recently we identified these types of requests were the root cause for a small number of users with large mailboxes being completely blocked from accessing their mail, calendar and contacts in any app including Outlook. The reason for this is that requests which match the criteria in the  “Impacted Requests” section can be very inefficient for the servers hosting the mailboxes, posing a severe load on the server. To protect users’ access to their mail, calendar and contacts, we had to quickly disable support for such requests.

 

Minimizing the Impact of Future Breaking Changes to Outlook APIs

We realize that these changes broke apps that relied on the impacted requests to work, and we are working hard to avoid such a situation in the future. Starting with Outlook APIs in Microsoft Graph, we’re changing our practices:

  1. We will enhance test coverage to make sure inefficient requests aren’t unintentionally enabled. We will implement  test cases to verify that the types of requests that should be blocked are never enabled. 

 

  1. We will not make a breaking change to production versions unless we need to address a security issue or significant service degradation. Barring emergency security patches or fixes to restore service for customers, we will provide app developers a reasonable lead time to make changes to their apps and services, to better accommodate any breaking changes.  In this incident, there was a process breakdown that resulted in developers discovering the breaking change only after encountering errors in production.  Our communication processes had been designed for intentional breaking changes in beta, and not in a production version. We have made changes to address this breakdown to ensure we’ll communicate in a timely fashion in the future.

 

  1. We will introduce behavior changes first in beta and promote them to v1.0 only after several months. This will apply to breaking and non-breaking changes, with the exception of bug fixes. In this incident, the original change to add support for “contains” and “startsWith” was enabled in both beta and v1.0 at the same time. Had we restricted the original feature roll-out to beta, the breaking change would not have impacted the production version, v1.0.  

 

We apologize for the pain that this has caused for some of you. Please email us at msgraphpm@microsoft.com if you have any questions or concerns.

Office Store validation policy changes to support apps and add-ins that target larger organizations and enterprises

$
0
0

Apps and add-ins in the Office Store are optimized to reach the broadest possible set of users. Our Office Store validation policies help to ensure wide reach by requiring that:

  • The title and short description convey the purpose of the app or add-in without relying on brand or service.  
  • The app or add-in supports a clear sign in/sign out and sign up process.
  • The first run experience describes the value proposition and how to use the app or add-In.

You’ve told us that, for a class of  apps and add-ins that target larger organizations and enterprises, some of these policies don't align with your customers’ needs. These apps and add-ins are not typically acquired by individual users; they require sign up by the enterprise rather than by individuals. These apps and add-ins target an existing user base and do not use the Office Store to extend or increase user adoption. Specifically, apps and add-ins that target larger organizations and enterprises:

  • Must require sign up and external (to the app or add-in) configuration within the enterprise and not by the individual user.
  • Must target existing users and use the Store for distribution only and not promotion.
  • Require that the enterprise or ISV provide training for users outside the context of the app or add-in.

For this reason, a small set of validation requirements that apply to other apps and add-ins in the Store aren't aligned with your needs. For submissions that meet this criteria, we are making the following changes to the Store validation policies based on your feedback:

  • Titles and short descriptions can rely on your brand or service to convey its purpose.
  • A clear sign in/sign out experience is required, but a sign up experience is not required. These apps and add-ins must include a link in the UI that users can click to learn more about the add-in.
  • A seamless first run experience with a clear value proposition is not required.

These apps and add-ins will not appear on application-specific Home pages in the Store, but will be discoverable via search and will be available for your web and email campaigns.

If you are submitting an app or add-in that targets a larger organization or enterprise, indicate that in the Testing Notes section in the Seller Dashboard, and explain why your submission meets the criteria.

Be aware of the following requirements regarding app or add-in submissions that target a larger organization:

  • Not all apps or add-ins that are used within an enterprise meet the criteria.
  • Apps or add-ins that do not meet the criteria will be validated as per any other Store submission.
  • Apps or add-ins that support sign up with a mechanism other than the app or add-in’s authentication or Work/School account will not meet the criteria (this includes third-party authentication providers and Microsoft accounts).
  • Apps or add-ins that target larger organizations or enterprises must still meet all other validation policies, including requirements for add-in commands.

We believe these policy updates balance the needs of these scenarios with our goal of ensuring that users have the best possible experience with the add-ins they acquire from the Office Store. We appreciate the feedback you’ve shared – please keep it coming!


SharePoint PnP Webcast – Building multi-view React client-side web parts with SharePoint Framework

$
0
0

In this PnP Webcast, we covered considerations around multi-view web parts, where the presentation layer is changed based on the status of the web part. Typically, single-page application solutions are implemented in a way that they store the view status within the URL. Since client-side web parts are however hosted in SharePoint pages, this is not possible and you'll need to use alternative approaches for maintaining the UI state in your customizations. We did release similar topic already before, but that one concentrated on the angular 1.x and this one is using React in the demonstrated code sample to show the practical differences on the different JavaScript frameworks.

Notice. When this webcast was released, SharePoint Framework was available as a Developer Preview release.  

Presentation covers following topics:

  • Considerations on UI state handling with client-side web parts
    • Typically, this is done with URL, but that's not possible in the context of SharePoint
    • Challenge is around tracking UI status and transition accordingly based on user actions
    • Detailed technical solution depends on the exact used JavaScript framework - like React or Angular
  • UI views in the example use case

Web cast demo (5:23) shows following details

  • Use case - How the sample web part built with React works in practice
  • How to use property statuses in the implementation to determine the showed view
  • Transitions between the state and how it's implemented in the solution

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 SharePoint Framework. 

What is SharePoint / Office DevPatterns & 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 - 12th of December 2016

SharePoint / Office Dev Patterns & Practices – December 2016 release

$
0
0

SharePoint / Office 365 Dev Patterns and Practices (PnP) December 2016 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 / Office Dev 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 November 2016

  • GitHub repository forks at different repositories 
  • Unique visitors during past 2 weeks cross PnP repositories - 13056
  • Unique visitors during past 2 weeks in SharePoint organization repositories - 3701
  • Merged pull requests cross PnP repositories (cumulative) - 2674
  • Closed issues and enhancements ideas cross PnP repositories (cumulative) - 1100
  • PnP Core component NuGet package downloads - 59254
  • Unique visitors in PnP MSDN pages during November 2016 - 26873
  • Unique tenants using PnP CSOM Core component during November 2016 - 3001
  • Http requests towards SharePoint Online from PnP CSOM Core Component during November 2016 - 1045000000

Main resources around PnP program

December 2016 monthly community call

Agenda for the Tuesday 13th of December community call at 8 AM PDT / 5 PM CET:

  • Summary on the December 2016 release and other program updates - Vesa Juvonen ~20 min
  • PnP JS Core 2.0 preview - latest changes - Patrick Rodgers - 10-15 min
  • File upload sample SPFx client-side web part built with Angular 1.x and ngOfficeUIFabric - Atish Kumar Dipongkor - 10-15 min
  • ASP.net MVC project templates for Office add-ins - Jonathan Huss - 10-15 min

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 new Microsoft Tech Community under SharePoint developer group.

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

PnP Office Hours has be rebranded as Special Interest Group (SIG) for PnP Sites Core, PnP PowerShell and provisioning engine. This way attendees know what the calls are concentrating more efficiently and can decide which areas they want to be more closely involved. SIG calls are bi-weekly calls where we talk about PnP sites core and related topics. 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 or old office hour meetings kept after previous monthly communications.

  • 30th of November - November statistics, GitHub move, PnP sample gallery discussion, SharePoint documentation improvements
  • 16th of November - Latest statistics, upcoming CSOM NuGet package update, GitHub repository move, demo on provisioning modern team sites with MS bot framework using voice recognizion
  • 2nd of November - Microsoft Graph Cmdlets, Programatic provisioning of modern team sites, GitHub changes for PnP

Notice. Next SIG for PnP Component / PowerShell will be on Wednesday 14th of December - 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 cant' make the actual call. You can find the latest recordings from the PnP YouTube Channel. Here's the latest recordings.

  • 8th of December - Latest on SPFx, PnP JS Core 2.0 release and other changes
  • 11th of November - Latest on SPFx side, PnP JS Core library changes, demos on SPFx and PnP JS Core usage

Notice. Next SIG for SharePoint Framework and JavaScript development will be on Thursday 22nd of December - 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 faciliate 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 avaialble from the SharePoint client-side webpart sample repository at https://github.com/SharePoint/sp-dev-fx-webparts. We will be working on getting all of these samples to RC0 level, when the release candidate goes live, so that tutorials and samples are workign properly in any environment.

  • New sample angular-mostpopularitems showing how to get most popular items from site or document library using search API
  • New sample angular-msgraph showing how to connect to Microsoft Graph from angular based client-side web part
  • New sample angular-multipage showing how to implement multi-view web part and how to track view status in the implementation
  • New sample angular-ngofficeuifabric-file-upload showing how to implement file upload capability from angular client-side web part
  • New sample knockout-taxonomy how to build web part using knockout, which shows taxonomy items from the taxonomy store
  • New sample react-custompropertypanecontrols to show how to build custom property pane controls with React
  • New sample react-mobx showing how to use Mobx to track web part state in React based implementation
  • New sample react-multipage showing how to implement multi-view web part using react and how to track the view status
  • New sample react-redux showing how to use Redux in the client-side web parts to keep track on the web part state
  • Updated sample react-real-time to change Microsoft Flow usage to Azure Logic apps

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 November 2016 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 November 2016 release:

  • General overall quality and performance improvements for on-premises and online
  • Localization improvements
  • Improvements on taxonomy handling
  • Support to define logo for modern team sites, when created using core component methods
  • 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.0

PnP JavaScript Core Library will moving to version 2.0.0 during December. This is JavaScript library which will increase productivity of developers when you are developing JavaScript based customizations on top of SharePoint. Library has been released as a npm package and you can find the source code from GitHub. PnP JS Core library is being developed and coordinated by the PnP Special Interest Group for SPFx and JavaScript, which has weekly meetings around this development effort and general topics on upcoming SharePoint Framework. PnP JS Core library is developed using typical open source web stack tooling, so that it's fully aligned on the development models with SP Framework. 

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

v2.0.0 is released as part of the December release with following capabilities.

  • npm package /lib will be es6
  • BUild pipeline fully updated
  • jsdoc replaces typedoc
  • Folder structure changes in library for easier implementation
  • Better debugging support
  • Provisioning capabilities removed, but will be introduced in new JS library released later
  • pnp.js and pnp.min.js bundled with webpart, transpiled to es5 using babel

PnP PowerShell 

PnP PowerShell providers more than 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-PnPUnifiedGroup to manipulate settings of unified group (= modern team sites)
  • Added versioning support to Set-PnPList
  • Added Copy-PnPFile, Move-PnPFile and Rename-PnPFile for file manipulation
  • Added Set-PnPDefaultPageLayout for adding default page layout for classic publishing site
  • Added Set-PnPAvailablePageLayouts for adding available page layouts for classic publishing site
  • Updated Set-TaxonomyFieldValue to support setting multiple terms into field
  • Removed installer from the repository to avoid challenges with it related on testing etc.
  • Overall quality improvements and bug fixes
  • Updated documentation for Cmdlets

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 Office365.Connectors showing how to build custom Office 365 connectors using C#
  • New template project Excel.MVCAddInTemplate to create Excel add-ins developed using ASP.NET MVC framework
  • New template project Outlook.MVCAddInTemplate to create Outlook add-ins developed using ASP.NET MVC framework
  • New template project PowerPoint.MVCAddInTemplate to create PowerPoint add-ins developed using ASP.NET MVC framework
  • New template project Word.MVCAddInTemplate to create Word add-ins developed using ASP.NET MVC framework
  • UpdatedSharePoint.SandboxTool scanner tool for sandbox solutions (also on-premises) with better detection support for specific types
  • Updates to the PnP Partner Pack
    • Fine tuning and polishing based on community input
    • Updated to use latest version
    • Documentation improvements, including a guidance video on how to setup setup the solution

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

We did not release any new guidance articles during November 2016, but updated some of the articles based on the community input.

See MSDN articles from the PnP MSDN section at http://aka.ms/OfficeDevPnPMSDN

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 released one demo / guidance video.

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 December 2016 release

Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories. PnP is really about building tooling 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 this communications. If you still want your logo for this month's release, please let us know and share the logo with us. Thx.

 
 CA
 ClearPeople
 Canviz
 Content and Code
 Knowit AB
 piasys
 Puzzlepart
 onebit software
 rencore
 Sharepointalist
 Slalom
 Triad


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) and JavaScript Core component repositories.

Traffic at PnP repository

  Repository traffic for PnP repository

Traffic from PnP CSOM Core repository

  Repository traffic for PnP CSOM Core repository

Traffic from PnP PowerShell repository

  Repository traffic for PnP PowerShell repository

Traffic from PnP JavaScript Core Component repository

Repository traffic for PnP JS Core repository

See About Repository Graphs for more details on above statistics.

Next steps

  • December 2016 monthly community call is on 13th of December at 8 AM PDT / 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

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 12th of December 2016

SharePoint PnP Webcast – Cascading property pane drop-downs with SharePoint Framework

$
0
0

In this PnP Webcast, we covered how to build cascading asynchronous drop-downs for property pane of client-side web part. This is common scenario where lists have a dependency between each other and you filter the results based on the initial selection. Sample code is built with React and is available for you from the SharePoint Framework client-side web parts GitHub repository. Notice that this sample contains two samples - scenario demonstrated with this web cast and another slightly more complex scenario on how to build custom controls for property pane. Custom control option will be covered in separate upcoming PnP webcast. 

Notice. When this webcast was released, SharePoint Framework was available as a Developer Preview release. 

Presentation covers following topics:

  • Use case clarification
    • Building cascading drop-downs which are dependent on each other in the property pane
    • Implementation fo asynchronious queries based on user actions
  • Screenshots of the provide code sample

Web cast demo (5:00) shows following details

  • Use case - How the sample web part built with React works in practice
  • Implementation details from the code - How things are implemented

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 SharePoint Framework. 

What is SharePoint / Office DevPatterns & 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 - 19th of December 2016

SharePoint PnP Webcast – Using modern web stack with SharePoint on-premises deployments

$
0
0

In this PnP Webcast, we cover how to get started on using modern web stack development in on-premises deployments. SharePoint Framework is currently in developer preview at SharePoint Online and is planned to get released to SharePoint 2016 during calendar year of 2017. You can however start using modern web stack development processes and tooling in on-premises deployments without SharePoint Framework. This will give you potentially easier migration / transition story to SharePoint Online in future and it gives you a possibility to learn same tooling in both on-premises and SharePoint Online deployments.

SharePoint 2016 and SharePoint 2013 have almost identical remote APIs (REST) as in SharePoint Online, so by building your JavaScript implementations using TypeScript and modern web stack tooling, you can easily then transform your customizations to SharePoint Framework, when needed. Situation is slightly different with older versions of SharePoint, where the remote APIs are completely different. SharePoint 2010 already supported REST APIs, but the implementation was highly limited. Technically you can also use the classic web services (*.asmx) to perform operations towards SharePoint from JavaScript. 

Presentation covers following topics:

  • What's modern web stack development?
  • What does this mean in practice?
  • Screenshots of the provided sample in SP2016, SP2013 and in SP2010
  • What would I need to get started?
  • SharePoint Framework will ONLY be available in SharePoint Online and SharePoint 2016

Web cast demo (7:55) shows following details

  • Prerequisites for the provided sample (Node and npm install)
  • Walkthrough the solution structure which provides similar development experience as development with SharePoint Framework
  • Running the sample solution outside of SharePoint
  • Demonstration of hot reloading hooked in the sample code
  • Hosting React sample in SharePoint on-premises deployment using script editor web part

Webcast presenters: Vesa JuvonenWaldek Mastykarz

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 / Office DevPatterns & 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 - 26th of December 2016

New SharePoint CSOM version released for SharePoint Online - December 2016

$
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. These monthly changes are not significant, but we want to align on the monthly rhythm in future, so that you can know beforehand that there will be new version arriving during end of each month. 

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.6008.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.6008.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.

16.1.6008.1200 version shown from the NuGet gallery UI from Visual Studio 2015

We are also looking to update the SharePoint Online Management Shell on early January to align with this specific version.

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 enum value Microsoft.SharePoint.Activities.SPActivityResponseStatus.InternalError
  • public enum value Microsoft.SharePoint.Administration.AppSource.SiteCollectionCorporateCatalog

  • public class Microsoft.SharePoint.Client.APIHubConnector

  • public property Microsoft.SharePoint.Client.Form.ResourcePath
  • public property Microsoft.SharePoint.Client.List.DefaultViewPath
  • public property Microsoft.SharePoint.Client.List.ExemptFromBlockDownloadOfNonViewableFiles
  • public method Microsoft.SharePoint.Client.List.GetItemByUniqueId
  • public property Microsoft.SharePoint.Client.List.ParentWebPath
  • public method Microsoft.SharePoint.Client.List.SetExemptFromBlockDownloadOfNonViewableFiles

  • public method Microsoft.SharePoint.Client.MoveCopyUtil.CopyFileByPath
  • public method Microsoft.SharePoint.Client.MoveCopyUtil.CopyFolderByPath
  • public method Microsoft.SharePoint.Client.MoveCopyUtil.MoveFileByPath
  • public method Microsoft.SharePoint.Client.MoveCopyUtil.MoveFolderByPath

  • public enum value Microsoft.SharePoint.Client.RenderListDataOptions.PageContextInfo
  • public property Microsoft.SharePoint.Client.RenderListDataParameters.ImageFieldsToTryRewriteToCdnUrls

  • public class Microsoft.SharePoint.Client.SharingLinkData
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.IsUnhealthy

  • public method Microsoft.SharePoint.Client.Site.OpenWebUsingPath
  • public property Microsoft.SharePoint.Client.Site.ResourcePath
  • public property Microsoft.SharePoint.Client.Site.ShowPeoplePickerSuggestionsForGuestUsers

  • public enum Microsoft.SharePoint.Client.SPObjectType
  • public enum value Microsoft.SharePoint.Client.TemplateFileType.ClientSidePage

  • public method Microsoft.SharePoint.Client.Web.GetSharingLinkData
  • public property Microsoft.SharePoint.Client.Web.ResourcePath

  • public enum Microsoft.SharePoint.Client.Sharing.SharedObjectType
  • public enum Microsoft.SharePoint.Client.Sharing.SharingDomainRestrictionMode

Microsoft.Online.SharePoint.Client.Tenant

Following properties have been removed.

  • public enum Microsoft.Online.SharePoint.TenantAdministration.SPOTenantCdnOriginScope

Following properties, classes and methods have been added.

  • public property Microsoft.Online.SharePoint.TenantAdministration.SiteProperties.ShowPeoplePickerSuggestionsForGuestUsers
  • public method Microsoft.Online.SharePoint.TenantAdministration.Tenant.GetRootSiteUrl
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.ShowPeoplePickerSuggestionsForGuestUsers

  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.AddTenantCdnOrigin
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.GetTenantCdnAllowedFileTypes
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.GetTenantCdnEnabled
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.GetTenantCdnOrigins
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.RemoveTenantCdnOrigin
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SetTenantCdnAllowedFileTypes
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SetTenantCdnEnabled

  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.ShowPeoplePickerSuggestionsForGuestUsers

 

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, OneDrive-SharePoint Engineering, Microsoft - 29th of December 2016

SharePoint PnP Webcast – Custom property pane controls with SharePoint Framework

$
0
0

In this PnP Webcast, we covered how to build a reusable control as a custom property pane control. Demo uses scenario with cascading asynchronous drop-downs for property pane of client-side web part, which was demonstrated also in one of the previous webcasts, but this time functionality is implemented as a reusable control. Sample code is built with React and is available for you from the SharePoint Framework client-side web parts GitHub repository. Building reusable controls will provide you isolation of code and easier reusability of your functionalities, but they are also more complex to implement comparing to just using out of the box elements. 

Notice. When this webcast was released, SharePoint Framework was available as a Developer Preview release. 

Presentation covers following topics:

  • When to create a custom property pane controls?
  • Considerations for custom control creation
  • What needs to be implemented for custom control?
  • Screenshots of the provide code sample

Web cast demo (12:14) shows following details

  • Use case - How the sample web part built with React works in practice
  • Implementation details from the code - How things are implemented as a custom control

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 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 - 2nd of January 2016

SharePoint PnP Webcast – Customization options with SharePoint Online “modern” experiences

$
0
0

In this PnP Webcast, we cover what are the current customization options around the SharePoint "modern" experiences. This is relatively long webcast with multiple demos, since we wanted to cover different scenarios for the site and list customizations. We have also recently released new MSDN guidance around the customization options for "modern" experiences. This guidance will be kept up to date as we are rolling out new support scenarios. 

Notice that the webcast was recorded December 2016 and this is evolving area with additional supported scenarios being constantly released.

Presentation covers following topics:

  • Available MSDN Guidance
  • Modern experiences - current customization support status
  • Modern site provisioning
  • What's customizations are supported currently on modern sites
  • Customizing modern lists and libraries
  • User custom action limitations for lists
  • What about converting existing "classic" sites to "modern"

First web cast demo (14:22) shows following details

  • Modern team site creation using oob user interfaces
  • Provisioning modern team site using PnP PowerShell - You can also provision modern team sites using managed code
  • Accessing modern team site using PnP PowerShell or CSOM

Second webcast demo (34:52) shows following details

  • Creating a custom theme for your site
  • Applying a custom theme to modern team site using PnP PowerShell or CSOM

Third webcast demo (55:14) shows following details

  • Adding custom buttons and links to modern lists and libraries
  • Adding custom actions to modern lists and libraries
  • Using PnP PowerShell to apply a template with needed customizations for modern lists and libraries

Webcast presenters: Vesa JuvonenBert Jansen

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 - 9th of January 2017


SharePoint / Office Dev Patterns & Practices – January 2017 release

$
0
0

SharePoint / Office 365 Dev Patterns and Practices (PnP) January 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 / Office Dev 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 January 2017

  • GitHub repository forks at different repositories 
  • Unique visitors during past 2 weeks' cross PnP repositories - 12714
  • Unique visitors during past 2 weeks in SharePoint organization repositories - 3195
  • Merged pull requests cross PnP repositories (cumulative) - 2671
  • Closed issues and enhancements ideas cross PnP repositories (cumulative) - 1220
  • PnP Core component NuGet package downloads - 63299
  • Unique visitors in PnP MSDN pages during December 2016 - 28646
  • Unique tenants using PnP CSOM Core component during December 2016 - 2787
  • Http requests towards SharePoint Online from PnP CSOM Core Component during December 2016 - 939036010

Main resources around PnP program

January 2017 monthly community call

Agenda for the Tuesday 10th of January 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.

  • 14th of December - Modern experiences customization story for sites, lists and pages. Upcoming provisioning engine changes.

Notice. Next SIG for PnP Component / PowerShell will be on Wednesday 11th of January - 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.

  • 5th of January - Latest on SPFx and status of PnP JS Core 2.0 release
  • 22nd of December - Latest on SPFx, looking back 2016 and future of PnP JS Core
  • 8th of December - Latest on SPFx, PnP JS Core 2.0 release and other changes

Notice. Next SIG for SharePoint Framework and JavaScript development will be on Thursday 19th of January - 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 will be working on getting all of these samples to RC0 level, when the release candidate goes live, so that tutorials and samples are working properly in any environment.

  • New sample angular-aad-webapi showing how to call custom web API secured with AAD from SPFx web part
  • New sample js-bot-framework showing how to implement bot framework chat in SPFx web part, which can be used to create sites in SharePoint Online

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 January 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 January 2017 release:

  • General overall quality and performance improvements for on-premises and online
  • Added support for a new token {ListViewId:<list title>,<view title>} to retrieve the ID of a view based on the title of the list and of the view
  • Added support for extracting structural navigation from non-publishing sites
  • Added support for MobileView and MobileDefaultView
  • Tenant extension methods now support an optional function as a parameter which allows long running wait loops to be cancelled. Notice: it’s not cancelling the request to create or a delete a site
  • Fixed an issue where exporting the navigation structure of a site which is using Managed Navigation would not be importable to another site. For this reason we introduced the {sitecollectiontermsetid:<termsetname>} token
  • Fixed an issue where when specifying -PersistBrandingFiles the files would be exported to the filesystem in a folder representing the foldername of the source location of the file, whereas the file reference in the template would not reflect that location
  • Fixed an issue where ~sitecollection and ~site tokens would be parsed by the engine when used in webpart xml. These tokens are now send on as is to the SharePoint Serve
  • 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.0

PnP JavaScript Core Library will be moving to version 2.0.0 during January. v2.0 release was originally planned to happen during December but has been delayed due miscellaneous reasons. This is JavaScript library which will increase productivity of developers when you are developing JavaScript based customizations on top of SharePoint. Library has been released as a npm package and you can find the source code from GitHub. PnP JS Core library is being developed and coordinated by the PnP Special Interest Group for SPFx and JavaScript, which has weekly meetings around this development effort and general topics on upcoming SharePoint Framework. PnP JS Core library is developed using typical open source web stack tooling, so that it's fully aligned on the development models with SP Framework. 

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

v2.0.0 is released as part of the January release with following capabilities.

  • npm package /lib will be es6
  • BUild pipeline fully updated
  • jsdoc replaces typedoc
  • Folder structure changes in library for easier implementation
  • Better debugging support
  • Provisioning capabilities removed, but will be introduced in new JS library released later
  • pnp.js and pnp.min.js bundled with webpart, transpiled to es5 using babel

PnP PowerShell 

PnP PowerShell providers close to 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 Get-PnPRecycleBinItem - Returns the items in the recycle bin from the context
  • Added Clear-PnPRecycleBinItem Permanently deletes all or a specific recycle bin item
  • Added Move-PnPRecycleBinItem - Moves all items or a specific item in the first stage recycle bin of the current site collection to the second stage recycle bin
  • Added Restore-PnPRecycleBinItem - Restores the provided recycle bin item to its original location
  • Added Get-PnPTenantRecycleBinItem Returns the items in the tenant scoped recycle bin
  • Added Clear-PnPTenantRecycleBinItem Permanently deletes a site collection from the tenant scoped recycle bin
  • Added Restore-PnPTenantRecycleBinItem - Restores a site collection from the tenant scoped recycle bin
  • Added Move-PnPFolder - Move a folder to another location in the current web
  • Added Rename-PnPFolder - Renames a folder
  • Added Add-PnPPublishiningImageRendition - Adds an Image Rendition if the Name of the Image Rendition does not already exist. This prevents creating two Image Renditions that share the same name.
  • Added Get-PnPPublishingImageRendition - Returns all image renditions or if Identity is specified a specific one
  • Added Remove-PnPPublishingImageRendition - Removes an existing image rendition
  • Added -Wait and -LockState properties to Set-PnPTenantSite
  • Overall quality improvements and bug fixes
  • Updated documentation for Cmdlets

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 react-generic-app showing how to use modern web stack development practices without SharePoint Framework for example in SharePoint on-premises deployments
  • UpdatedBusiness.O365StarterIntranet with updates on deployment scripts
  • Updates to the PnP Partner Pack
    • Fine tuning and polishing based on community input
    • Updated to use latest version of PnP NuGet
    • Documentation improvements

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 articlesi in the dev.office.com aroung SharePoint development. Here's new 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 nay new demo or guidance videos.

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 January 2017 release

Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories. PnP is really about building tooling 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.

 
 Affecto
 Blue Meteorite
 CA
 
Canviz
 piasys
 Puzzlepart
 onebit software
 Rapid Circle
 rencore
 Slalom
 Triad


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) and JavaScript Core component 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

  • January 2016 monthly community call is on 10th of January at 8 AM PST / 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

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 9th of January 2017

SharePoint Framework Release Candidate 0 is on its way

$
0
0

We’re releasing a set of Release Candidates of the SharePoint Framework, which will include some breaking changes developers will need to accommodate. Developers can read more about these changes at https://github.com/SharePoint/sp-dev-docs/wiki/Release-Notes-RC0.

Since August, the SharePoint Framework (SPFx) has been in Developer Preview – meaning that developers have an ability to start working with the framework, and build solutions – but not deploy these solutions to locations where their customers can use them. We’ve already seen an amazing number of code samples, blog posts, and tweets – and just plain energy and enthusiasm – about building great web parts with SPFx.

Our next step is to finish up the General Availability (GA) release of SharePoint Framework. With GA, SPFx as a framework will be supported, and SPFx solutions will be able to be deployed to customers.

One milestone along this path is a set of Release Candidates of the GA release. With Release Candidates, we’re looking to prepare to support General Availability and create a robust and finalized API surface for customers over time. But before we get to this phase, we wanted to make one last set of changes to the APIs based on feedback before we reach GA.

We’re rolling out Release Candidate 0 of SharePoint Framework starting today to a small number of tenancies. This rollout will increase over time to all tenancies, based on feedback, but likely happen over the course of next week. This Release Candidate contains updated – and in some cases, different and breaking – APIs compared to previous releases, so the risk of some breaks to existing SharePoint Framework Developer Preview parts is possible. Developers who have been creating and evaluating the SharePoint Framework should download and start working with the Release Candidate to see how their code is impacted.

We have a set of changed items and potential breaking changes listed on our github at https://github.com/SharePoint/sp-dev-docs/wiki/Release-Notes-RC0. Please read through these documents carefully.

General Availability will follow closely behind these release candidates based on your feedback, so now is a good time to finish up and polish your parts so that they are ready to be deployed to customers at the GA date.

We look forward to getting the SharePoint Framework – and the great set of parts you’re developing – into the hands of every SharePoint customer.

SharePoint PnP Webcast – Localization with SharePoint Framework client-side web parts

$
0
0

In this PnP Webcast, we covered localization techniques with SharePoint Framework client-side web parts. Concentration is around how to localize your static content in the web part based on the needed UI language. We also discuss slightly more complex topic around localizing automatically client-side web part content. 

Notice. When this webcast was released, SharePoint Framework was available as a Developer Preview release. 

Presentation covers following topics:

  • Localization considerations for client-side web parts
  • How to localize different web part content
    • Web part body
    • Web part manifest
    • Web part property pane labels
    • Property pane values and potential content

Web cast demo (14:58) shows following details

  • Different localization considerations in React based sample
  • Implementation details from the code - How localization is implemented in practice

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 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 - 16th of January 2017

SharePoint Webhooks is now Generally Available – Build service-oriented processes in SharePoint

$
0
0

With webhooks, SharePoint has a new notification capability that makes it easier for developers to respond and react to content updates in SharePoint, within their organization. With these notifications, developers can build their own document processing steps or downstream communications.

Since we last announced SharePoint Webhooks in Developer Preview in September, we’ve worked to improve our Webhooks service and infrastructure – but the APIs and calling patterns remain fundamentally the same. We are proud to announce that SharePoint Webhooks are Generally Available, meaning that developers can use webhooks within SharePoint sites in multitenant Office 365, and run their own webhook-consuming applications and services in production.

For developers, webhooks are based on a defacto-standard around notifications between web services, and wherever possible we’ve patterned SharePoint webhooks to feel consistent with webhooks they may have used them elsewhere. Webhooks also respect the security permissions present in a SharePoint tenancy, ensuring that administrators have full control of their content. Developers can find an end-to-end overview of and getting started with webhooks via our documentation.

More specifically, within SharePoint Online in Office 365, many item or document events can be tracked using webhooks. Developers can call a simple REST-based APIs to register their webhook with SharePoint, signing up for one or more actions in SharePoint such as ItemAdded, ItemUpdated, ItemDeleted and more. As changes happen in SharePoint, calls are made to the developers’ service, and they can then react to those changes with code. Webhooks also work well with services built using recently-released Azure technologies, such as Azure Functions. All told, with the webhooks/Azure Functions combination, it’s never been simpler to set up a lightweight service that reacts to changes in SharePoint.

In future updates, we expect to continue to expand the set of behaviors one can hook into within SharePoint, using Webhooks as the underlying technology.

Building processes in an organization frequently starts or ends when users update a document or change its properties (e.g., marking a document as approved), so strong notification mechanisms -- webhooks -- for developers are key to robust support for processes and end-user notifications. We look forward to your apps and processes built with webhooks, and welcome any feedback you may have!

Add-in commands for Word, Excel, and PowerPoint in Office for Mac now in preview

$
0
0

We are happy to announce the availability of the developer preview of add-ins commands for Word, Excel, and PowerPoint in Office for Mac.

With add-in commands, you can create cross-platform add-ins that extend the Office UI, including the Office ribbon. You can create custom groups on existing tabs, create a custom tab, or extend certain context menus. The same add-in can work seamlessly across Windows, Office Online, and Office for Mac.

There are lots of benefits to using commands and now you can also use commands on the Mac. To get started with add-in commands for Word, Excel, and PowerPoint for Mac preview, see the instructions at Developer Preview: Add-in commands for Word, Excel, and PowerPoint in Office for Mac.

Add-in commands for Outlook 2016 for Mac are also available for Insider Fast users.

Happy coding!

Viewing all 429 articles
Browse latest View live