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

Office Go-to-Market (GTM) Guide for ISVs

$
0
0

Get ready to make your solution a success

We’re excited to share a new resource designed to help ISVs like you successfully bring your Office-integrated solutions to market: the Office Go-to-Market (GTM) Guide for ISVs. Whether you’re developing Office web apps, Office or SharePoint add-ins, Microsoft Graph–powered apps, Connectors, Skype for Business solutions, or any combination, you’ll find useful information about available programs, tools, and resources to help you develop and implement your GTM strategy.

 

Relevant to your business scenario

The Office GTM Guide for ISVs provides guidance for developers and individuals who are on the teams that drive the launch and sales strategies for your solution. Explore content that covers a variety of business scenarios:

  • If you’re new to developing an Office solution, you can learn more about each step of the GTM process.
  • If you’re currently developing a solution that integrates with Office, you can get details about how to maximize the effectiveness of your efforts at your current phase in the process.
  • If you’ve previously developed an Office solution, find information to help you enhance your current GTM strategy.

 

Covering the end-to-end solution lifecycle

From designing and developing your solution—and your GTM strategy—to launching the first release and managing the evolution of your solution, you’ll find details about programs, tools, and resources that can help you succeed at various phases of your solution’s lifecycle.

 

The Guidebook consists of the following sections:

Introduction

Introduces you to the Office Go-to-Market for ISVs guide and what makes it an important resource of information about and awareness of programs, tools, and resources to help you successfully bring your Office integrations to market. Get a preview of the six components of the guide and why you should focus your efforts throughout the entire lifecycle of development.

 

Create Your Strategy

Provides insight into developing your marketing strategy, which is critical to the success of your Office solution and your ability to attract customers. Through research we conducted with numerous ISVs, we found time and again—those that develop their plans before building products or solutions have a significantly higher potential for success when they launch.

  

UX Best Practices

As you design your Office solution, consider the overall user experience and how you will deliver the value you promised to your users. In this module, you’ll find guidance and best practices for creating experiences in Office and SharePoint.

 

Launch First Release

To ensure a successful first release of your solution, this module provides tips and tricks to help you:

  • Create a strong Office Store presence.
  • Drive traffic to your Store listing.
  • Invest in the customer funnel.
  • Drive and respond to customer reviews.

 

Managing Your App Lifecycle

This module is focused on the steps you need to consider when managing and updating your solution.

Details in this section of the guide explore several topics, including how to manage your user experience, feedback, and reviews; how to analyze available metrics to monitor the health of your solution; and how to manage and test iterations and updates for new releases.

  

Utilize Programs

This module walks you through the Microsoft programs that are available to help you successfully go to market.  Learn about a variety of programs available to help you reach new customers and markets through launch planning, global expansion, channel development, lead sharing, and much more.



Download

Download the guidebook today.



Survey

We would like to hear from you! Please let us know if you found the GTM guide useful.



Thank for reading the blog, we hope you found this helpful!


SharePoint PnP Webcast – Getting started with SharePoint Framework development

$
0
0

In this PnP Webcast, we wanted to cover all the great resources which are available for SharePoint developers around the SharePoint Framework. General Availability (GA) of the SharePoint Framework will happen soon, so it's a great time to start learning how to do modern SharePoint development in SharePoint Online with SharePoint Framework. We have released already huge amount of documentation, samples and videos around the SharePoint Framework. This webcast concentrates on covering all the resources and assets which are available for you to get started. 

Notice. When this webcast was released, SharePoint Framework was available as a Release Candidate release. All resources though will be the same when SharePoint Framework will be generally available. 

Presentation covers following topics:

Web cast demo (15:27) shows following details

  • SharePoint MSDN landing page
  • SharePoint Framework Development Resources at dev.office.com
  • SharePoint Framework Tutorials
  • SharePoint Framework API reference
  • SharePoint Framework sample search tool
  • SharePoint GitHub organization 
  • SharePoint Framework videos and webcasts
  • Resources to follow SharePoint Framework changes in social media
  • UserVoice and issue lists for reporting gaps and issues

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 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 - 23rd of January 2017

SharePoint PnP JavaScript Core Library v2.0

$
0
0

Banner for the blog post with picture of man and woman smiling. Text as SharePoint PnP JavaScript Core Library 2.0 released

The SharePoint Patterns and Practices JavaScript Core Library was created to help developers by simplifying common operations within SharePoint and the SharePoint Framework. This is open source, community driven library with contributions cross different organizations and teams. Currently it contains a fluent API for working with the full SharePoint REST API as well as utility and helper functions. This takes the guess work out of creating REST requests, letting developers focus on the what and less on the how. PnP JS Core library can be used in SharePoint Online or in on-premises. It's a great library to be used with SharePoint Framework customizations, but it can be also used using classic development models, like with Script Editor Web Part or when you embed JavaScript to SharePoint using User Custom Actions.

The latest release, 2.0.0, of the Patterns and Practices JavaScript Core Library represents an exciting milestone in library evolution and is thanks to all of the great contributions, feedback, and ideas from the community. Thank you all! 

Gif animation showing basic usage of pnp-js-core library

Reorganization

If you are a contributor to the library, one of the first things you’ve likely noticed in the dev branch is that we moved things around. We added a debug folder (more on that below) and removed provisioning code. The provisioning code can now be found in a new repository where it can grow and evolve on its own. We also reorganized and simplified the gulp tasks– though all of the expected functionality remains in place.

Debugging

Taking into account feedback and a desire to enhance the development experience we added support for debugging directly in the library. This will help with folks developing new features or fixing bugs as you can directly test, set break points, and step through the internals of the library. The full steps are outlined here.

Wiki Enhancements

Another piece of feedback we heard is a need for better documentation and we have started to enhance the wiki to include deeper details around configuring, using, and extending the library. We have reorganized the menu to help guide you to the information you need to be successful. As always these articles are a work in progress and the community is encouraged to help us create new articles or update existing ones.

Enhancements

  • Added a getJSON method to File
  • Added support for attachments on list items
  • Multipleupdates to UserCustomActions
  • Simplified request pipeline
  • Added currentUser property to web
  • Added custom exceptions
  • Added support for use of custom HttpClientImpl instances (docs)
  • Gave full control of response handling including errors to parsers (parser docs)
  • Exporting additional classes from the library
  • Added limited FieldLinks support (as possible with the REST API)
  • Added file property to item class
  • Added ability to manage features in webs/sites
  • Ability to pass ListItemEntityTypeFullName when creating list items (example)

Bug Fixes

  • Fix for empty body in SPRequestExecutorClient
  • Fix for broken tests
  • Fix for empty responses in SPRequestExecutorClient as reported in #256
  • Fix for context info when a Site instance is created directly
  • Fix for property names in wrong property names in sitegroups and siteusers
  • Fixed bug with using a web immediately after it is created using ensure
  • Fixed typing errors when using library with SharePoint Framework

This update does represent a breaking change but we’ve tried to minimize the effort required in migration.

Additional resources around PnP JS Core Library

Here are some additional resources around the SharePoint Framework development topics

If you have any questions, comments or feedback around PnP initiative, these tutorials or this blog post, please use the Microsoft Tech Community (SharePoint Developer group) or the issue list in the sp-dev-docs repository.

“Sharing is caring”


Patrick Rodgers, Senior Program Manager, SharePoint, Microsoft - 25th of January 2017

Getting started with SharePoint Framework - Tutorials

$
0
0

Updated getting started tutorials now available

SharePoint Framework is now in the Release Candidate status and we are closing in the General Availability (GA). As part of the release activities, we are starting to push out more and more documentation around the SharePoint Framework and how to build your own custom client-side web part using this modern platform. If you have not yet had a change to look into the SharePoint Framework development, we would suggest you to check out the available tutorials. These tutorials will demonstrate and guide you through the steps of setting up your development environment and how to get started with the SharePoint Framework client-side web part development. 

Tutorial list

Here are the available tutorials around SharePoint Framework. You'll find written format of the tutorial and also recorded video, which you can follow to see how to get started with the basic development tasks. You can find link to YouTube recordings from start of the each written tutorial article. 

If you have not yet setup your development environment for SharePoint Framework, you can find following guidance for the required steps.

Additional resources around SharePoint Framework

Here are some additional resources around the SharePoint Framework development topics

If you have any questions, comments or feedback around PnP initiative, these tutorials or this blog post, please use the Microsoft Tech Community (SharePoint Developer group) or the issue list in the sp-dev-docs repository.

“Sharing is caring”


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

New SharePoint CSOM version released for SharePoint Online - January 2017

$
0
0

We are happy to announce availability of new SharePoint Client Side Object Model (CSOM) version targeted for the Office 365 or more specifically for SharePoint and Project Online. This release again contains few updates on the existing SharePoint CSOM assemblies and some maintenance changes. Key changes in this release is the support for alert APIs in the CSOM.

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

We are also looking to update the SharePoint Online Management Shell on early February to align with this specific version. We are also working on getting the MSDN reference API documentation updated with the latest release with additional documentation on new APIs, so that you can more easily see all the latest and supported APIs for SharePoint Online.

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 class Microsoft.SharePoint.Client.Alert
  • public class Microsoft.SharePoint.Client.AlertCollection
  • public class Microsoft.SharePoint.Client.AlertCreationInformation
  • public enum Microsoft.SharePoint.Client.AlertDeliveryChannel
  • public enum Microsoft.SharePoint.Client.AlertEventType
  • public enum Microsoft.SharePoint.Client.AlertFrequency
  • public class Microsoft.SharePoint.Client.AlertObjectPropertyNames
  • public class Microsoft.SharePoint.Client.AlertPropertyNames
  • public enum Microsoft.SharePoint.Client.AlertStatus
  • public enum Microsoft.SharePoint.Client.AlertType

  • public method Microsoft.SharePoint.Client.APIHubConnector.GetTableMetadata
  • public method Microsoft.SharePoint.Client.APIHubConnector.GetTables

  • public property Microsoft.SharePoint.Client.AppViewCreationInfo.IsPrivate
  • public class Microsoft.SharePoint.Client.ConnectorResult

  • public property Microsoft.SharePoint.Client.Field.ClientSideComponentId
  • public property Microsoft.SharePoint.Client.Field.PinnedToFiltersPane

  • public property Microsoft.SharePoint.Client.File.LinkingUri
  • public property Microsoft.SharePoint.Client.File.PageRenderType

  • public enum Microsoft.SharePoint.Client.ListPageRenderType
  • public property Microsoft.SharePoint.Client.RenderListDataParameters.ExpandFilteredByGroup

  • public property Microsoft.SharePoint.Client.SharingLinkInfo.AllowsAnonymousAccess
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.Created
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.IsEditLink
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.IsFormsLink
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.LastModified
  • public property Microsoft.SharePoint.Client.SharingLinkInfo.ShareId

  • public property Microsoft.SharePoint.Client.User.Alerts
  • public property Microsoft.SharePoint.Client.Web.Alerts

Microsoft.Online.SharePoint.Client.Tenant

Following properties, classes and methods have been added.

  • public method Microsoft.Online.SharePoint.TenantAdministration.Tenant.AddSdnProvider
  • public method Microsoft.Online.SharePoint.TenantAdministration.Tenant.RemoveSdnProvider

  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.AddSdnProvider
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.RemoveSdnProvider

Microsoft.ProjectServer.Client

Following properties, classes and methods have been added.

  • public class Microsoft.ProjectServer.Client.CostRateCreationInformation
  • public enum Microsoft.ProjectServer.Client.CostRateTableName
  • public property Microsoft.ProjectServer.Client.DraftAssignment.CostRateTable
  • public property Microsoft.ProjectServer.Client.EnterpriseResource.CostRateTables
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRate
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRateCollection
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRatePropertyNames
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRateTable
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRateTableCollection
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRateTableObjectPropertyNames
  • public class Microsoft.ProjectServer.Client.EnterpriseResourceCostRateTablePropertyNames

  • public class Microsoft.ProjectServer.Client.PageSizes
  • public class Microsoft.ProjectServer.Client.PageSizesPropertyNames
  • public property Microsoft.ProjectServer.Client.ProjectContext.PageSizes

  • public property Microsoft.ProjectServer.Client.PublishedAssignment.CostRateTable

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, OneDrive-SharePoint Engineering, Microsoft - 27th of January 2017

Edit Posts in Yammer – What's Changing & What's Staying the Same

$
0
0

In 2016, Yammer announced an upcoming feature – the ability for users to edit messages after posting. Although it's been a complex technical challenge, we expect the feature to launch this spring.
As developers, you may be wondering – how will this impact Yammer's Developer Platform? Visit developer.yammer.com/blog to hear what the project team had to share on Yammer Embed, Data Export API & REST API.

SharePoint PnP Webcast – Introduction to SharePoint Webhooks

$
0
0

In this PnP Webcast we concentrated on showing how to get started with SharePoint Webhooks and what are the benefits of using SharePoint Webhooks compare to classic remote event receivers. SharePoint Webhooks allow developers to build service integration which subscribe to receive notifications on specific events that occur in SharePoint. When one of those events are triggered, SharePoint will send a HTTP POST payload to subscriber. SharePoint Webhooks is supported for asynchronous events, like for ItemAdded or ItemAttachmentAdded.

To be able to subscribe to SharePoint Webhooks, you'll need to have external service, which will response on the subscribed validation messages and will process the incoming events. You can use Azure Functions to receiver the notifications or alternatively host your own custom service for processing Webhook events. This webcast explains these both models in the presentation and in the demo section. 

SharePoint Webhooks are generally available in SharePoint Online since January 2017

Presentation covers following topics:

  • What are Webhooks?
  • Process for subscribing to a SharePoint Webhook
  • Event notifications from SharePoint
  • Processing a notification event
  • GetChanges() pattern
  • SharePoint Webhooks and Azure Functions
  • Why use Webhooks over Remote Event Receivers?
  • Debugging your notification service
  • Additional resources

Webcast demo shows following details

  • Walkthrough of the sample application (Azure AD app), which allows registration of Webhooks to SharePoint sites
  • Explanation how the Azure Functions can be used for receiving your events from SharePoint Online tenant
  • Walkthrough of the code behind the provided sample application

Web cast presenters: Bert JansenVesa Juvonen

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

More guidance and details around the SharePoint Webhooks can be found from SharePoint developer center.

Video at YouTube.

Additional resources

See following resources around the SharePoint Webhooks

What is SharePoint Patterns & Practices (PnP) webcast 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 - 30th of January 2017

Developer Week Event

$
0
0

Join us for a developer meetup on February 10th in San Francisco! If you will be in town for DeveloperWeek, building a team for the weekend hackathon or just in the area and want to interact with other developers working on the latest in productivity apps, stop by.

Learn how to build productivity apps across three of the leading platform in the space. Whether you’re tracking the most popular content in an organization, collecting electronic signatures, or tracking tasks, we can give you a hand. Hang out with product team members from DocuSign, Microsoft and Smartsheet and have a drink on us.

Join us Friday evening, Feb 10, for great food, fun swag, and a change to mix and mingle (and potentially find a hackathon team!).

Date and Time

Fri, February 10, 2017

6:30 PM – 9:30 PM PST

Add to Calendar

Location

DocuSign

221 Main Street

15th Floor

San Francisco, CA 94105

View Map

 


Add-ins are now available for Outlook on iOS

$
0
0

The Office platform is our way of enabling developers everywhere to help our customers get more done. Developers can bring their own apps and services directly into Outlook using add-ins, connectors, and actionable messages, and they’ve built some amazing stuff so far. For instance, you can now add a lead from an email directly to your CRM system, digitally sign important documents you receive as attachments, and update your notes, all right from Outlook.

Up till now, Outlook add-ins have been available to Outlook users on the web and Windows, and we’ve recently expanded add-in support to Outlook for Mac as part of the Office Insider program. We’re now excited to bring add-ins to Outlook mobile, starting with Outlook on IOS, with support for Android coming soon.

With add-ins, developers can make Outlook, called “the best mobile email app” by Wired, even better, by extending it with their own apps and services.

And because Outlook add-ins are built using standard HTML and JavaScript, they run on Outlook experiences across phones, tablets, desktops, and the web with the same code – except for minor modifications to fit the mobile form factor. 

Hear directly from developers at Nimble and GIPHY on their experience of building for Outlook.

         
Nimble - Get real time insights about your email contactsGIPHY - Make your emails fun and expressive



Build your own add-ins for Outlook on iOS

With today’s launch, Outlook on iOS includes add-ins from several initial partners. And starting today , we’re opening the platform up so that every developer can add mobile support to their add-ins with just a few steps:

  1. Add-ins that support mobile must pass a strict set of validation criteria, so we encourage you to share your scenario ideas and mockups for pre-approval before you start implementation, using the form at https://aka.ms/outlookmobileaddin.
  2. Decide what scenarios to enable on mobile. Not every action makes sense on the small screen, so be sure you’re highlighting the most important functionality of your add-in for mobile. Keep in mind that only mail read scenarios are supported right now.
  3. Update your manifest to declare support for the Mobile Form Factor and define the actions you came up with in step 1.
  4. If applicable, make sure any backend calls to the mailbox are using our REST API. EWS requests are not supported on mobile.
  5. Build mobile-specific UI for the small screen using our design guidelines.
  6. Submit your add-in to the Office Store for validation. You can find instructions here.

To learn more, visit the Outlook mobile add-ins section of dev.office.com.

Happy coding!

SharePoint PnP Webcast – Validating SharePoint Framework client-side web part property values

$
0
0

In this PnP Webcast, we covered techniques on how to validate SharePoint Framework client-side web part property pane values when user is configuring web part. This is relatively common scenario for client-side web part developers where you want to ensure that the provided input value in the web part property pane is as expected. There's two different ways to achieve this, which are inline validation and remote API based validation. You'd use inline validation for simplistic scenarios like validating string input value based one expected structure. Remote API based validation means a scenario where you call for example oob SharePoint API to validate user input. 

Notice. When this webcast was released, SharePoint Framework was available as a Release Candidate release. 

Presentation covers following topics:

  • Validating user input iwth property pane
    • Hook in validation to property pane control properties
    • Two approaches available: inline validation or remote API based validation
    • When using remote API validation, consider delay on the validation execution
  • Reference code on implementing validation for properties
  • Screenshots from the tutorial article available with additional details

Web cast demo (9:53) shows following details

  • Demonstration of the validation in practice
  • Step-by-step coding of inline validation for property value checking
  • Step-by-step coding of remote API based validation for property value checking

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 - 6th of February 2017

Upcoming changes to SharePoint and OneDrive for Business APIs to support # and % in file names

$
0
0

Enabling customers to seamlessly work with files and folders across end points is a key area of focus for the SharePoint team. To improve this, we’ve broadened the set of supported characters in OneDrive and SharePoint filenames and folders over time and are now working to support # and % characters. This, however, requires significant changes to our APIs that will impact partners that work with URLs and file names in SharePoint.

We are still finalizing our full API set to support this, but want to work with partners early to adapt to this change. Over the next several weeks we are working to start trials of a process to support # and % characters in file names across SharePoint Online and OneDrive for Business.  These trials will be opt-in by tenants, and we’ll evaluate how to roll out the feature more broadly over time. Please read the following to understand how these changes might affect your existing solutions.

Current File and Folder APIs

To  understand why this requires partners to evaluate many of their solutions, consider how we’ve been representing files in our APIs.  Behind the scenes, our APIs currently take in URLs as a String. Previously, there was no specific guidance around whether these URLs are decoded or percent-encoded, and SharePoint attempted to seamlessly handle all cases. Now that we are moving to support # and % characters, this seamless interpretation of URLs can cause ambiguity.

# character

Currently, when a developer passes URLs as a string with the # character in them, our API assumes that they mean a URL fragment as per RFC 3986, which is not significant to the file name. For example, in the current scenario when the developer calls:

Web.GetFileByServerRelativeUrl("/Shared Documents/Hello.txt#123")

we presume that name of the file is "/Shared Documents/Hello.txt" and we ignore the fragment "#123". Once the # character becomes a supported character in file names, the file path becomes ambiguous; the implied file could be either "Hello.txt" or "Hello.txt#123".

% character

The % character is used in encoded URLs to denote special characters, and currently, SharePoint uses that as a hint that the incoming URL has not been previously decoded.  Therefore, the following calls resolve to the same file within SharePoint: 

Web.GetFileByServerRelativeUrl("/Shared Documents/Hello%20World.txt")

  (where %20 is an encoded representation of a space.)

or

Web.GetFileByServerRelativeUrl(“/Shared Documents/Hello World.txt”) 

In the future, when a user wants to have both files ‘Hello%20World.txt’ and ‘Hello World.txt’ within a SharePoint document library, the above API cannot resolve both files discretely.

API Changes Moving Forward

To remove the ambiguity around intention, and to avoid breaking backwards compatibility with existing APIs, we are introducing a strongly typed, rich-featured representation of URLs to better represent the true developer intention of a URL.  

Specifically, we’ve introduced a new class (Microsoft.SharePoint.Client.ResourcePath).  This class can represent full (absolute) or parts (relative) of a URL for a site collection, site, file, folder or other artifact in SharePoint. It stores, expects, and returns the decoded format of the file path.  This class will be used to represent URLs across our APIs instead of string.  Throughout the object model, you will find ResourcePath used wherever we formerly took URLs, including Web.GetFileByServerRelativeUrl methods, File and Folder objects (which now have a .Path property), and APIs such as MoveTo.

Existing String-based URL APIs will still work as they have always, but because of backwards compatibility implications, they cannot be used with files with # and % in the name.  Existing solutions will generally work as they have always – at least, until users start to upload files with # and % in their names – and that is where issues may start.

Getting Started: Evaluate your code

Developers should evaluate their scenarios and use cases of files and folders in SharePoint.  They should also evaluate the lineage of URL paths in solutions – where can a user input a URL, and what is their intent and source in doing so?  Is it rejecting # and % in a way it may no longer need to?  When the developer gets a path from a different layer in the system – e.g., a browser API – is it already decoded, or should it be decoded?

Though the existing APIs will remain in place and function in the same manner for the forseeable future, your code may not have the expected semantic behavior when it encounters files in libraries with these new characters.  We strongly recommend that developers move to the new ResourcePath-based APIs.  Existing String-based file APIs will be marked as deprecated.

We’ll add more guidance and updates as we finalize this change – but wanted to provide an early look and to get developers started on evaluating this change.  Please provide your feedback via our TechCommunity. Thank you in advance to all of our partners as we go through this change.

FAQ

What is the timeline for this change?

Many of the ResourcePath based APIs are already available, and developers should start working with them.  We are putting in the finishing touches on the final complete API set, which you can expect to see in the next releases of SharePoint Online CSOM and Patterns and Practices CSOM APIs.  We will also put out more comprehensive guidance over the coming weeks as these APIs are completed.

We will work to create a per-tenant opt-in based mechanism so that customers can validate #/% support with their solutions.  We expect this mechanism will be available in some weeks from now. Beyond this initial opt-in trial, and based on customer feedback, we will further roll-out support; stay tuned for more announcements along these lines.

At what levels of the system is this support being added?

Files and folders will now be able to support # and % in their file name.

SharePoint list and document library can also have # and % in their URLs, but we do not plan to use # and % in list/library URLs created through the SharePoint user interface.

SharePoint sites (Web objects) and site collections (Site objects) can not have # and ; in their URL.

Will customers be notified when this change is implemented?

Yes, customers will receive notification as we roll out support for # and % characters in file names beyond an initial "opt-in" evaluation phase.

Will the old method of interacting with files remain supported?

Yes.  The existing API will continue to function consistently as they always have for all files without # or % in their URLs. When # and % support is enabled and a customer opts-in, it is important for you to validate your scenarios and ensure your scenarios are not impacted with the changed behavior.  

The existing API will NOT support files and folders with % and # in names.  For backwards compatibility reasons, files with URLs containing a # or % will be interpreted as either a URL fragment or an encoding hint, respectively.  With existing APIs, your code will not be able to save a file to SharePoint with a # or a % in them.

The existing API will be marked "Obsolete" in the future and will eventually be removed.


Does the new Path/ResourcePath API support files without # and %?
Yes.


Is SharePoint on-premises affected by this change?
There are no plans to introduce support of # and % characters to SharePoint on-premises releases.

The OneNote REST API now supports application-level permissions

$
0
0

The OneNote API team is pleased to announce application-level permissions support for the OneNote API. Until now, OneNote API calls could only be made with user-delegated permissions. This meant that your application would be restricted to scenarios that required a user to be signed in. With application-level permissions support, your application now supports scenarios that does not require a user to be signed in!

With the availability of OneNote API application-level permissions support, many new scenarios that weren’t possible earlier are now enabled. Some example scenarios include:

  • Analytics (based on OneNote metadata and content exposed by the OneNote API).
  • Dashboards (based on OneNote metadata and content exposed by the OneNote API).
  • Background provisioning of OneNote content.
  • Background update of OneNote content.

Find details of the OneNote API application-level permissions support and step-by-step instructions on the OneNote in Education blog.

Visio JavaScript APIs Preview

$
0
0

We’re very excited to announce the preview release of the Visio JavaScript APIs. You can use the Visio JavaScript APIs to extend Visio Online and build rich mashup scenarios.

Visio Online is the new way to view and share Visio diagrams on the web. Part of the Office Online ecosystem, Visio Online includes a modern UI and introduces performance improvements and rich consumption capabilities that aren’t available in Visio Web Access.

The Visio JavaScript APIs enables programmatic access to the embedded Visio Online diagrams in a SharePoint page. An embedded Visio diagram is a diagram that is stored in a SharePoint document library and displayed inside a SharePoint web page using an iframe.

VisioDiagram""

Benefits of using the Visio JavaScript APIs

Visio Web Access currently supports viewing Visio diagrams in only part of the SharePoint page and building interactive mashup solutions.

The new Visio JavaScript APIs fill some gaps in Visio Web Access, are more aligned with Office Extensibility and providesolution-building capabilities on par with existing APIs, and more.

  • Visio Web Access only supports viewing of diagrams and therefore the APIs can only perform read-only operations. Visio Online will support editing capabilities and the creation of diagrams on the web in the future. You will be able to use the Visio JavaScript APIs to programmatically create and edit diagrams in Visio Online.
  • Visio Web Access is limited to SharePoint and the interactive mashup solutions only work with the Visio Web Access web part. Visio Online will support embedding of Visio diagrams in any web page. Custom solutions that you implement via the Visio JavaScript APIs will work against embedded Visio diagrams in SharePoint Online or any external web page.
  • Solutions that are built using Visio JavaScript APIs will work across platforms in future.

Get started

Try out Visio JavaScript APIs today. The current set of APIs in Preview is a subset and additional APIs will be continuously added over time.

You can post your suggestions on Visio Online UserVoice.

Creating add-ins gets easier — announcing updates to Yo Office

$
0
0

Over the past few months, we’ve done some research and talked to you about your experiences building add-ins. In response to your feedback, we are rolling out changes  to the Yeoman Office Add-in generator. These changes will help you get started with add-ins faster and more easily.



Use Fabric templates

To help ensure that your add-in is successful, our design team revamped the templates in the generator to use Office UI Fabric. Fabric is the Office design language and includes styles, icons, and components that you can use to build your UI. We’ve also enhanced the generated manifests to implement add-in commands. These templates are now available by default and include the designs that show the highest add-in retention and conform to our design best practices.



Stay up-to-date on the newest technologies

Since we launched Yo Office, the top requests we’ve seen are for Browsersync and Typescript support. Today, we’re happy to announce that we’ve added support for both.

Types enhance the quality of your code and make it easier to understand. Typescript provides an optional type system for JavaScript and works well with OfficeJS. To use TypeScript, select it as an option when creating your add-in. Visit their site for more information.  

Browsersync is a test assistant that helps you tweak and test your code faster by synchronizing file changes across browsers in real time and across multiple devices.  Once you edit the file, save, and Browsersync will do the rest! To find out more, visit their site.

Browesersync""



Save time - skip the prompts and use arguments

We kept a few of the options from the old generator, but updated Yo Office to set most of the values through command-line arguments. You can use arguments to create your add-in and skip most of the prompt questions, as shown in the following example.

arguments""



Install Yo Office

Yeoman is built on Node.js. If you don’t have Node.js installed on your Mac, we recommend using Node Version Manager to install it. If you are on Windows, go to nodejs.org and download the distribution for your system.

Next, open a terminal, and install the Yeoman generator and its dependencies globally by using the following command:

npm install -g yo generator-office

If you already have Yo Office installed, use the following command to update your version:

npm update -g generator-office

Now you should be ready to run the generator!

generator""



Contribute to Yo Office

The feedback we received over the past few months has helped us define the changes we’ve made to the generator. If you have more feedback to share, please log an issue on our GitHub repository. We would also like to thank the following GitHub community contributors for helping us make Yo Office what it is today!

@JoshuaKGoldberg @richarddavenport@alexkieling
@Ibrahim-Islam@pcostesi@LanceEa
@nigel-dewar@rolandoldengarm @CodeMoggy
@bpkennedy@gavinbarron@stefanreimers
@jasonjoh@TristanD-MSFT@ashuetawah
@vboctor@Mimetis@andrewconnell
@justsayno@waldekmastykarz@Ricalo
@YannickGagnon@jthake@MrPiao
@brucemcpherson@martellaj@mauricionr
@ministainer@StfBauer

We value your feedback and hope you continue to contribute to our generator. To make this easier, we have restructured the generator-office project files on GitHub. For example, when you include a framework folder under either js or ts, the generator will update itself to include the framework as an option for that question. To see all these changes, check out our repository. And if you haven’t already contributed to Yo Office, see our contributor's guidelines.



See also

Yo Office repository

Sideloading your add-in

JavaScript API for Office reference

Best practices for developing Office Add-ins

Debugging your add-in

SharePoint PnP Webcast – SharePoint Customizations - When to use which model?

$
0
0

In this PnP Webcast, we wanted to have a discussion on the different development and customization models for SharePoint. Webcast is in format of a discussion around advantages and disadvantages of each option. We are covering classic farm solutions and sandbox solutions, add-in model, externally hosted apps and upcoming SharePoint Framework. We cover each fo the topics, including considerations for both SharePoint online and on-premises. Key objective was to have open and transparent discussion around the future of the SharePoint developmen techniques and to share considerations around the different options.

Presentation covers following topics:

  • Different customization options for SharePoint with advantages and disadvantages for all of them
    • SharePoint Farm / Sandbox solutions - WSPs
    • SharePoint add-in model
    • Signle page apps / externally hosted apps
    • SharePoint Framework
  • Summary on the options and considerations for each of them

Webcast presenters: Vesa JuvonenWaldek Mastykarz

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

Video at YouTube.

SharePoint development options in one page - includes wsp's, add-in model, external apps and SharePoint Framework

Additional resources

See following resources around the different covered topics.

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 - 13th of February 2017


SharePoint / Office Dev Patterns & Practices – February 2017 release

$
0
0

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

 

What is SharePoint Patterns & Practices (PnP)?

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

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

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

Some key statistics around PnP program from January 2017

  • GitHub repository forks at different repositories 
  • Unique visitors during past 2 weeks' cross PnP repositories - 15048
  • Unique visitors during past 2 weeks in SharePoint organization repositories - 4474
  • Merged pull requests cross PnP repositories (cumulative) - 3467
  • Closed issues and enhancements ideas cross PnP repositories (cumulative) - 1405
  • PnP Core component NuGet package downloads - 68183
  • Unique visitors in PnP MSDN pages during January 2017 - 42489
  • Unique tenants using PnP CSOM Core component during January 2017 - 3724
  • Http requests towards SharePoint Online from PnP CSOM Core Component during January 2017 - 1360489145

Main resources around PnP program

February 2017 monthly community call

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

  • Summary on the February 2017 release and other program updates - Vesa Juvonen ~20 min
  • Demonstration of updated Intranet Portal Starter kit solution - Franck Cornu ~15 min
  • Latest on the PnP PowerShell - new cmdlets and other new aspects - Erwin van Hunen ~15 min
  • Q&A

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.

  • 8th of February - PnP usage in SPO with conclusions on metrics. Demos on latest changes in PnP PowerShell and on PnP Provisioning Engine refactoring (500 level) 
  • 25th of January - SharePoint Webhooks discussion on future SiteCreated event, German cloud considerations, VS tooling for PnP templates
  • 11th of January - Update on SP modern experiences customization story. Demo on upcoming PnP provisioning engine refactoring

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

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

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

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

  • 2nd of February - Latest on SPFx and PnP JS Core. Demos on Vue.js with SPFx and Movie Carosel implementation with SPFx
  • 19th of January - Latest on SPFx and PnP JS Core. Demo on PnP JS Core and JS provisioning library
  • 5th of January - Latest on SPFx and status of PnP JS Core 2.0 release

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

PnP Weekly Webcasts

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

PnP repositories in GitHub

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

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

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

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

What's supportability story around PnP material?

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

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

Latest changes

SharePoint Framework samples

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

  • New sample js-extend-webpart showing how to extend webpack in the SharePoint Framework toolchain
  • New sample js-extend-gulp showing how to integrate custom gulp tasks to SharePoint Framework toolchain
  • New sample vuejs-todo-single-file-component demonstrating how you can utilize Vue (a progressive framework for building user interfaces) with SharePoint Framework using handy single-file components approach.
  • New sample react-videolibrary demonstrating how to build video presenter web part with React

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

  • General overall quality and performance improvements for on-premises and online
  • Refactoring of Responsive UI (removed dependency on jQuery, better support
  • Fixed bug about handling of OpenXML packages downloaded from the PnP Templates Gallery
  • Added support for term name normalization in the Provisioning Engine
  • Fixed issue with reusable taxonomy terms in the Provisioning Engine
  • Refactoring of Responsive UI (removed dependency on jQuery, better support for SharePoint 2013, and improved performances)
  • 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 Identity Model Library

Originally, Microsoft.IdentityModel.Extensions.dll is where the code for SharePoint provider-hosted apps OAuth and S2S token processing is located. Microsoft.IdentityModel.Extensions is not maintained by anyone, but SharePoint add-ins, SharePointPnP.Core and a few other things depend on it. SharePointPnP.IdentityModel.Extensions is a port of that library created by the PnP team. We reference it in OfficeDevPnP.Core (and all other supporting solutions) instead of depending on Microsoft.IdentityModel.Extensions. You PnP Identity Model assembly is available as NuGet package, which can be shared and easily distributed with custom solutions. We are not planning to introduce new capabilities in this library, it's rather there to solve the distribution challenge. 

PnP JavaScript Core library v2.0.1

The latest release, 2.0.1, of the Patterns and Practices JavaScript Core Library represents an incremental update serving two main purposes. Firstly to align our releases to other releases across the SharePoint PnP program and secondly to include an update described below when working in SharePoint Framework. Thanks to everyone who has provided valuable feedback and helped the library grow. Exact details on the 2.0.1 can be found from following blog post.

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

PnP PowerShell 

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

Here's the latest changes in the PnP PowerShell

  • Added Get-PnPTenantRecyclyBinItem cmdlet to list all items in the tenant scoped recycle bin
  • Added -Wait and -LockState properties to Set-PnPTenantSite
  • The Tenant cmdlets now report progress if the -Wait parameter is specified (where applicable)
  • Added Submit-PnPSearchQuery cmdlet
  • Added Set-PnPSiteClosure and Get-PnPSiteClosure cmdlets
  • Added Get-PnPContentTypePublishingHubUrl
  • Added Get-PnPSiteCollectionTermStore which returns the Site Collection Term Store
  • Introducing the -Includes parameter. The parameter will allow you (on selected cmdlets) to retrieve values for properties that are not being retrieved by default. The parameter exposes the possible values on pressing tab, and you can specify multiple values. The parameter is available on the following cmdlets: Get-PnPAppInstance, Get-PnPCustomAction, Get-PnPDocumentSetTemplate, Get-PnPEventReceiver, Get-PnPFeature, Ensure-PnPFolder, Get-PnPFolder, Get-PnPList, Get-PnPView, Get-PnPGroup, Get-PnPRecyclyBinItem, Get-PnPSite, Get-PnPTermGroup, Get-PnPWeb.
  • Updated the output of a view cmdlets so return table formatted data
  • Added Get-PnPTerm
  • Added Get-PnPTermSet
  • Added New-PnPTerm
  • Added New-PnPTermSet
  • Added New-PnPTermGroup
  • Updated Get-PnPTermGroup to optionally return all termgroups in a TermStore
  • 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.

PnP Guidance articles

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

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

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

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

PnP Guidance videos

You can find all PnP videos from our YouTube Channel at http://aka.ms/sppnp-vidoes. This location contains already significant amount of detailed training material, demo videos and community call recordings. Since last release communications, we released following updated guidance / tutorial 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 February 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.

Allegient
Knowit
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)JavaScript Core component and SP Dev FX Web Parts repositories.

Traffic at PnP repository

Traffic in PnP repo

Traffic from PnP CSOM Core repository

  Traffict in CSOM Core repo

Traffic from PnP PowerShell repository

Traffic in PnP PowerShell repo

Traffic from PnP JavaScript Core Component repository

Traffic in JS Core repo

Traffic from SharePoint Framework Web Parts repository

Traffic in SPFx web parts sample repo

See About Repository Graphs for more details on above statistics.

Next steps

  • February 2017 monthly community call is on 14th of February 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 in one picture - numerous links mentioned in this blog post

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 13th of February 2017

Build Remote Advisor solutions with Skype for Business

$
0
0

Today we are extending the value of the Skype Developer Platform with a collection of new capabilities designed to support an important scenario with broad application across a range of industries – remote advisors connecting over real-time voice and video with external customers using the power of Skype for Business and Office 365.   

Skype for Business App SDK 

After previewing the Skype for Business App SDK last year at the Build 2016 conference, we're excited to announce that the App SDK will be made generally available on Friday, February 17th.  The App SDK provides packages for iOS and Android, and enables developers to seamlessly integrate messaging, audio, and video experiences into existing native mobile and tablet applications.  

The focus of this initial release of the SDK is to power “remote advisor” solutions that enable native iOS and Android apps to embed communications from external guests to users within a Skype for Business organization. For organizations using Skype for Business Server, the SDK utilizes existing guest meeting join capabilities.  For organizations using Skype for Business Online, the App SDK takes advantage of new preview features for integrating trusted applications.    

Please visit the Skype for Business App SDK MSDN page for more information on how you can incorporate the App SDK into your own iOS and Android applications.

Dynamic Guest Access (Preview) 

Providing a secure and reliable Remote Advisor experience to customers outside of your organization requires two key elements – seamless integration with your existing customer identity system, and dynamic control over how your trusted applications can authorize those users to access Skype for Business Online.  Today we're excited to announce the first extension of the Skype Developer Platform to support trusted applications in Skype for Business Online with a public preview of the Skype Developer Platform – Dynamic Guest Access feature.  

Dynamic Guest Access builds on a REST-based API that enables developers to facilitate meeting scheduling and authorize users to access Skype for Business Online resources using secure, session-based tokens.  Dynamic Guest Access works together with the Skype Web SDK, App SDK, and UCWA to enable Remote Advisor and other business-to-consumer solutions.

To learn more about the Dynamic Guest Access preview feature, please visit the Skype for Business GitHub repository.

Office 365 Virtual Health Templates

Earlier today we announced the release of Office 365 Virtual Health Templates that allow you to accelerate building your virtual consult experiences by providing an open source solution with a range of samples and components that are needed to support the end-to-end workflow of a virtual care visit.  Supporting everything from bot-assisted scheduling to custom lobby experiences, these templates take full advantage of all of the Skype Developer Platform capabilities announced today and will help customers get even more value from their existing Skype for Business investment.  We're excited to make these templates available and looking forward to continued feedback and contributions from our developer community in the coming weeks.  

Download the templates today and get started on developing your own Remote Advisor solution.

Building a community and a platform for Microsoft Teams

$
0
0

Since we announced the preview of Microsoft Teams in November, we’ve seen great momentum with users. It has also been exciting to see developers around the globe start using the Microsoft Teams Developer Preview to build and test new apps and productivity experiences. We’ve continued our work with partners announced at preview launch like Asana, Zendesk, Polly and Meekan. And we’re pleased to see many new ones like Statsbot and Growbot integrate their solutions into the Microsoft Teams platform.

Statsbot is building valuable automated tools to bring statistical alerts, insights and analytics right to users’ chat windows. Growbot will help you celebrate and reward great work across your team.  There are also apps to help teams schedule meetings, conduct polls and track social media right within Teams. And work is underway to bring tools for productivity, project management, HR and accounting to the Teams experience.  

As we welcome more developers to the preview, we’re listening to feedback, and using it to guide our investments. Here are a couple of recent enhancements we’ve made in the Teams Developer Preview :

Bots in channels

Developers can write bots for Teams using the Microsoft Bot Framework. At preview, these bots could be surfaced in a 1:1 chat experience. Now, these bots can also be surfaced in a conversation within a Teams channel.   

This means that once a user adds a bot to the team, it can be invoked from any channel to respond to an existing thread or create a new thread. This ability for team members to engage with bots in channels gives it maximum exposure and promotes usage.

See our updated documentation for more information.

Deep link to items within a tab

Tabs offer a unique canvas in Microsoft Teams for developers to integrate their offerings. Using tabs, team members can work directly with third party apps and data without having to leave Teams. They can interact with, discuss and collaborate around third party content directly in the context of what they’re working on.

Now you can enable users to create and share links to specific items or “entities” within your tab, for example an individual task in a list. A user clicking on that link will be taken directly to that specific item in the tab.

For users, the ability to use a deep link to reference a specific work item in your tab means they can stay connected, remain in the flow of work and keep on top of tasks. This is just the next step in ensuring Teams is the best place to share and discuss content that matters to users, and facilitate collaboration in context.

For full details, see our updated documentation on tabs.

Building the community

As we move through preview of Microsoft Teams and are on track to provide integrations from 150 partners by general availability, it’s inspiring to see so many creative solutions getting ready to go live, and to experience such a great response from the developer community. Last week, we got together with a number of early developers  for a day of Teams hacking, to see what they’ve been working on, talk about our latest updates, and get to know our community better.

It was impressive what got accomplished in one day. For example, in a matter of hours, the team from Nimble created a Nimble Smart Contacts integration, which lets users easily build a comprehensive profile on any contact or company, to inform engagement and help manage relationships, right within the context of a Teams channel.  

teams

Nimble""

Mike Melanin, the chief business development officer for Statsbot, says the ability to integrate third-party technologies into the platform is not only a great market opportunity for partners, it also has the potential to be transformative for users: "The power of chat-based workspaces grows exponentially when you add partner tools that deliver information and functionality that users need, right within the context of what they're doing. The ability to use the Microsoft Bot Framework to build a digital assistant that proactively delivers useful statistics and insights was an opportunity we couldn't wait to get working on." 

Learn more and get started building for Microsoft Teams

You can learn more about the Microsoft Teams Developer preview at the Office Dev Center. The team is also committed to helping you develop great apps for Teams. You can find us on the Microsoft Tech Community to get questions answered. For implementation and programming questions, the Stack Overflow community provides great support.  And don’t forget to sign-up for the latest updates and news on the platform.

We look forward to seeing what you and your team builds next!

Attach debugger from the task pane

$
0
0

We’re happy to announce the availability to attach the debugger from the task pane for Office Add-ins.  This attach debugger feature will directly attach the debugger to the correct Internet Explorer process for you.  You can attach to the debugger regardless even if the add-ins is written using a non-Visual Studio flow, eg. Yeoman Generator, Visual Studio Code, node.js, Angular, etc. 

Take for example the Word-Add-in-JS-Redact add-in sample on GitHub.  It’s written using node.js and requires npm.  

In Office 2016 for Windows, Build 77xx.xxxx or later, you can attach it to the debugger from the task pane.   To launch the Attach Debugger tool, click on the top right hand corner of the task pane to activate the Personality menu (as highlighted by the red circle in the following image).   

word

Select Attach Debugger. This launches the Visual Studio Just-in-Time Debugger dialog as shown in the following image.

Just-in-time

You can then attach and debug in Visual Studio as shown in the following screenshot.   

Note:  Currently the only supported debugger tool is Visual Studio 2015 with Update 3.  If Visual Studio is not installed on the computer, selecting the Attach Debugger option doesn’t result in any action. 

iexplore

You can set breakpoints, examine the objects or variables, use the DOM Explorer, etc.

To learn how to:

You can also find the above information in the Debug your add-in section of this topic.

Happy Coding!

SharePoint PnP Partner Story - How Solvion is using PnP assets to provide additional value for their customers

$
0
0

In this SharePoint PnP Partner Story we concentrated on showing how Solvion is using the reusable SharePoint PnP components and patterns in their solutions built for their customers. Solvion is Austrian based company providing services and solutions for Office 365 and SharePoint on-premises. They have built their own set of reusable solutions, which are being used with customer deployments. Solvion is using SharePoint PnP Provisioning Engine in their solutions to provide reliable template mechanism with their self-service site collection provisioning solution. 

Presentation section covers following topics

  • Introduction to partner - Solvion
  • Problem definition - Provisioning framework move from farm solutions to add-in model
    • Site creation architecture and design
  • Covering different areas of the TeamBox solution
    • Outlook TeamBox add-in
    • Self-service dashboard for site management
    • Creating new site experience
    • Responsive design
    • Hybrid model with support to provision sites to both SharePoint Online and on-premises
    • Governance capabilities
    • Yammer integration with publishing pages

Webcast demo shows following details

  • Walkthrough of the Solvion TeamBox capabilities from UI perspective
    • Outlook add-in
    • Managing users in a site directly from Outlook
    • Dashboard for collaboration sites
    • Self-service site provisioning and management of sites
    • Architectural design of the solution

Video presenters: Thomas Gölles (Solvion), Vesa Juvonen (Microsoft)

Video at YouTube.

Additional resources

See following resources around the covered topics and mentioned resources.

What is SharePoint Patterns & Practices (PnP)?

SharePoint / Office Dev Patterns and Practices

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

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

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

“Sharing is caring”


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

Viewing all 429 articles
Browse latest View live