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

Office Dev PnP Web Cast – Managing your app principals in Office 365 - Tooling and Scripts

$
0
0

In this PnP Web Cast we concentrated on how to manage your app and service principals using either code or using PowerShell. App principals have by default life cycle of one year, which can be extended to maximum 3 years. To avoid issues for your add-ins or apps around principal expiration, it's important to keep on track on the principal status and update them accordingly as needed.

App principals can be discovered and managed either using PowerShell or with code. Web cast introduces new self-service web application, called Tenant Information Portal, which can be used to visually track principal status. Tenant Information Portal is ASP.net application, which is available from the PnP Code Gallery

Presentation covers following topics:

  • Introduction to app and service principal expiration
  • Introduction to Tenant Information Portal solution
  • Details around the Tenant information solution implementation
  • Managing app and service principals using PowerShell

Demo section concentrates on showing following topics:

Web cast presenters: Frank MarascoVesa Juvonen

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

Video at Channel 9.

Additional resources

See following resources around the covered topics

 

What is Office 365 Developer Patterns and Practices (PnP) web cast series?

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 minute long web cast each Monday with few slides and live demo on the covered topic. All web casts are published at the PnP Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 2nd of May 2016


Office 365 Developer Patterns and Practices – May 2016 release

$
0
0

Office 365 Developer Patterns and Practices (PnP) May 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 Office 365 Developer Patterns and Practices (PnP)?

PnP is community driven open source initiative where Microsoft and external community members are sharing their learning's around implementation practices for Office 365 in general and also SharePoint on-premises (add-in model). Active development and contributions happen our GitHub project under 'dev' branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications.

This is work done by the community for the community without any actual full time team members. 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. There is however highly active PnP Yammer group, where you can get fast support on 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 Web Cast.

Some key statistics around PnP program from May 2016 release

Main resources around PnP program

May 2016 monthly community call

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

If you have any questions, comments or feedback, please participate in our discussions in the Office 365 Patterns and Practices Yammer group at http://aka.ms/OfficeDevPnPYammer. We already have more than 4300 members in this group with lively discussions on different SharePoint and Office 365 related topics from on-premises and cloud perspective. This is the most active developer group in the Office 365 Technical network and we are definitely proud and thankful of that.

PnP Office Hours and Special Interest Group (SIGs) for JavaScript development

We started bi-weekly PnP Office Hours during February 2016 for addressing questions on how to contribute towards PnP. These are open discussions around what the Core team is doing and where the community members can assist. This time is also open for discussions around design decisions, challenges and possible issues in the PnP deliverables. You can download invite for the bi-weekly invite from following location. Recording of these Office Hours are shared in the PnP Yammer group within 24 hours after the recording was done.

Due constantly growing interest on the PnP program, we also are piloting Special Interest Groups (PnP SIGs), which are more targeted on specific topic, like SharePoint Client Side (JavaScript) development or other areas. We are currently piloting this model with SIG for Client Side development, which have had great interest. Client Side Development SIG is creating its own JavaScript Core component using normal web stack tooling, which aligns on the recently announced upcoming SharePoint Framework. Weekly calls are around 50%-50% on the JS Core component development and discussions around the SharePoint Framework.

You can find more around PnP Office Hours and Special Interest Groups (SIGs) from following blog post or check the web cast around the JavaScript SIG for the specific details.

PnP Weekly Web Casts

We started new PnP Weekly Web Cast with video series with new video on each Monday around key topics around the guidance or around hot topics from the community. Videos will be released to the PnP Channel 9 section. Here's list of videos released since last monthly communications.

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.

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

  • PnP - Main repository for SP add-in, Microsoft Graph etc. samples
  • PnP-Guidance - Guidance, presentations and articles which are partly sync'd to MSDN
  • PnP-Sites-Core - Office Dev PnP Core component
  • PnP-JS-Core - Office Dev PnP Core component for JavaScript
  • PnP-PowerShell - Office Dev PnP PowerShell Cmdlets
  • PnP-Tools - New repository for tools and scripts targeted more for IT Pro's and for on-premises for SP2013 and SP2016
  • PnP-Office-Addins - Office Add-in samples and models (starting)
  • PnP-Partner-Pack - Packaged guidance with detailed instructions on setting things up in Office 365 and in Azure.
  • PnP-Transformation - Material specifically for the transformation process. Currently includes samples around InfoPath replacement and transformation tooling from farm solutions to add-in model.
  • PnP-OfficeAddins - Samples for the Office Add-ins development
  • PnP-Provisioning-Schema - PnP Provisioning engine schema repository

Note. We are looking again to do some level of refactoring of the PnP repositories due the upcoming model for the new SharePoint Framework. We'll come back on this slightly later when things are fully locked.

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

Provisioning Engine

The first version of the PnP remote provisioning engine was released with the May 2015 release. For the May 2016 release we have continued to add new supported capabilities and made significant improvements from stability perspective for both Office 365 and on-premises. This list contains the main updates that have been added in the May release:

  • General overall quality and performance improvements
  • Updated base templates for the SPO, 2013 and 2016 - used in delta handling

We are planning to release new schema version and some new capabilities as part of the June 2016 release. This new version will contain few missing pieces from the current design, which will be also addressed gradually in the PnP provisioning engine.

PnP Core Component Nuget - renaming

As part of the May 2016 release, we are also releasing native support for SharePoint 2016 with the PnP Core Component. As part of this release, we have also updated the Nuget package naming and would suggest you to take advantage of the updated packages in your solutions.

Here's the new names for the Nuget packages based on your target environment

  • SharePoint 2013 - SharePointPnPCore2013
  • SharePoint 2016 - SharePointPnPCore2016
  • SharePoint Online / Office 365 - SharePointPnPCoreOneline

Notice. We have also updated old Nuget packages with the latest version and keep on doing this also during June 2016 release, but will deprecated them after that. We suggest that you'd use the new Nuget packages in your solution. Please make sure also that you use the right Nuget package based on your target environment. Regardless of multiple target environments, you can still use one code base for all of them, if needed. This model is explained in recent PnP Web Cast called SharePoint Client Side Object model versioning for your customizations.

PnP library

We have done general cleaning in the repository related on Nuget package updates and also removed some samples, which are no longer relevant. We are planning to continue these cleaning activities during the next months as well to streamline the repository and to combine some samples for reducing the overall number of similar samples.

There's also significant amount of general updates on the existing samples done by the community on the code and documentation, which is great way to contribute as well.

  • PnP Core: Lots of re-factoring done to improve code quality and completeness:
    • provisioning engine updates (see above)
    • Native SP2016 support included - notice new Nuget packages
    • General bug fixing, performance and quality improvements
    • Automated documentation updated to md file
    • Removal of deprecated methods
    • Build and test automation improvements with unit test changes
    • Three new PnP Core Nuget packages (cloud and on-premises) have been released and old ones have been updated for easier transition.
  • New solution Provisioning.VSTools, which demonstrates using the PnP provisioning engine within a Visual Studio extension package to assist with common deployment tasks for SharePoint assets. The VSTools extension package maintains the PnP provisioning engine XML file automatically as files are added or removed from the project instead of the developer having to fill out the file manually which usually results in missing items, misspelled items, etc.
  • Updated Core.TaxonomyPicker component with better multi-lingual support.
  • Updated Provisioning.UX.App provisioning solution with small updates
  • Updated PnP-PowerShell Commands with new CommandLets and with few fixes - Updated latest on 10th of May to use the new Core Nugets
    • Overall quality improvements and bug fixes
    • New Invoke-SPOWebAction Cmdlet which lets to iterate sites, lists and list items and execute provided delegated methods on the target.
    • Updated documentation for CmdLets
  • Initial version of PnP-JS-Core JavaScript library which is released also as a NPM package. PnP JS Core library is targeted to increase your productivity around JavaScript driven development in SharePoint.
  • Updates to the PnP Partner Pack
    • Updated to use the latest Nuget package for SharePoint Online

PnP Guidance articles

The PnP Guidance repository contains guidance articles which are mostly being published at MSDN. Starting from end of May this process will be fully automated and there's automatic contributors list in the MSDN side showing who have been providing updates to these documents. We will be releasing significant amount of new material by end of May as part of introducing the new synchronization process around PnP MSDN pages.

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

PnP Guidance videos

We did not release any new guidance videos during this month on top of the new web cast videos mentioned already above in this blog post. You can find all PnP videos from our Channel 9 section at http://aka.ms/OfficeDevPnPVideos. This location contains already significant amount of detailed training material, demo videos and community call recordings.

Key contributors for the May 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.

 
 
 
 
 
 
 
 

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

Latest statistics

Here's some statistics from the PnP, PnP PowerShell and PnP Sites Core (core component) repository. Traffic information is dependent on the time of the day it's collected, so final day is quite low right now, due morning schedule.

Contributions at PnP repository



Traffic at PnP repository

  

Contributions at PnP Sites Core repository



Traffic from PnP Sites Core repository

Contributions at PnP PowerShell repository

Traffic from PnP PowerShell repository

See About Repository Graphs for more details on above statistics.

Next steps

  • May 2016 monthly community call is on 10th of May 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/OfficeDevPnPCall.
  • Following master merge will happen on 3rd of June 2016 and June community call is on 14th of June 2016



“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 9th of May 2016

Office Dev PnP Web Cast – Getting started with web stack in SharePoint development

$
0
0

In this PnP Web Cast we concentrated on getting started with general web stack in the context of SharePoint or Office 365. This recording was done before the SharePoint Framework announcements, so we are not mentioning that in the video, even though all presenters were aware of this new model. All techniques mentioned in this video do apply on the future SharePoint development models as well. 

Key objective of the web cast is to explain how you can get started on this model, which will be used in the future with SharePoint customizations. We'll release more detailed web casts around the SharePoint Framework specific after this one.

Presentation covers following topics:

  • Development and design stack - Tools and framework to concentrate on
  • Why would you start implementing your customizations using this model?
  • Web stack vs. Classic Microsoft Tools - How does tooling map on typical MS development models
  • Web stack and back end services - it's not all about JavaScript

Demo section concentrates on showing following topics:

  • What to install and where to get started?
  • How to get started with Visual Studio code and node.js development

Web cast presenters: Stefan Bauer, Waldek MastykarzVesa Juvonen

Stefan works as an independent consultant and Waldek works in Rencore AB

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

Video at Channel 9.

Additional resources

See following resources around the covered topics

What is Office 365 Developer Patterns and Practices (PnP) web cast series?

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 minute long web cast each Monday with few slides and live demo on the covered topic. All web casts are published at the PnP Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 9th of May 2016

Mac Office and the Transition to 64-bit

$
0
0

As you may know, Apple has been encouraging application developers to adopt the 64-bit runtime environment for many years, and we’ve been hearing from customers (e.g. here and here) that 64-bit versions of Mac Office are desirable to enable larger address spaces, better performance, and new innovative features. The Mac Office team has been working on the transition and we are currently completing the final tasks to make the Office apps fully 64-bit.  While we don’t yet have a ship date, we are getting close to being able to release that change, when/as the platform moves to 64-bit. As we move forward, we will continue to give you a heads-up on timing.

 

What does this change mean for me?

  • For most users who use Office 2016 for Mac but don’t use any add-ins, they should be unaffected by this change.
  • If you use or develop add-ins in Office 2016 for Mac, those add-ins may need to be updated to 64-bit in order to continue to work after this change is released.

 

I develop add-ins or write VBA for Office 2016 for Mac. What do I need to know?

  • The primary impact of this change is to compiled add-ins. Office add-ins (add-ins using the JavaScript-based APIs) are not impacted by this change.
  • The work required to update your add-ins for 64-bit will vary based on the code.
    • For example, any use of VBA’s DECLARE statement to load external functions in compiled dynamic libraries will require that said libraries support 64-bit. The VBA code itself will continue to work as VBA is transitioned to 64-bit, but the external libraries will need to be updated.

 

If you need guidance on making this transition or have additional questions, please let us know by emailing Office64@microsoft.com and we’ll be glad to help.

Microsoft Graph findMeetingTimes API update

$
0
0

Hi all, we want to give you a heads up on some changes that are coming to the FindMeetingTimes API which is available in preview in Microsoft Graph. We are making these changes to further improve the API based on feedback, and these changes will be widely deployed over the next few weeks. The updated API will continue to be available only in preview.

In summary, the changes are as follows:

  1. The score property will be removed.
  2. The return type for the API will now be a meetingTimeCandidatesResult complex type with the following metadata definition:
<ComplexType Name="meetingTimeCandidatesResult">
<Property Name="meetingTimeSlots" Type="Collection(microsoft.graph.meetingTimeCandidate)" /> 
<Property Name="emptySuggestionsHint" Type="Edm.String" />
</ComplexType>

 

The meetingTimeCandidatesResult complex type has two properties. The first property, meetingTimeSlots, is a collection of meetingTimeCandidates, which is a list of best possible meeting times as calculated by the API. This is the same list that was returned in the earlier version of the API. The second is a string property called emptySuggestionsHint. This property provides the reason why the meetingTimeCandidates collection is null. Using this, an app or user can understand more about why the suggestions collection was null, and call the API again with a different set of parameters.

And here is a sample to show you what the new API response would look like, when there are no suggestions returned:

{  "@odata.context":"https://graph.microsoft.com/api/beta/$metadata#microsoft.graph.meetingTimeCandidatesResult",      
"meetingTimeSlots": [ ],      
"emptySuggestionsHint": "attendeesUnavailableOrUnknown" }

And if there are suggestions returned, the emptySuggestionsHint property would be empty.

Please note that this is a breaking change, and if your app uses the FindMeetingTimes (Preview) API, the app needs to be updated to accommodate these changes. Once the changes have been fully deployed worldwide (4-6 weeks), your app can start using the new schema via the “FindMeetingTimes” API. In the meantime, users might experience intermittent issues when accessing the API through your app. We have also made the old schema available to you through the ‘FindMeetingTimesOld’ API. The ‘FindMeetingTimesOld’ API will be available through the deployment period and will be retired after the schema changes are fully deployed.

More extensive documentation on the new functionality is coming soon in our API reference documentation page. Please let us know if you have any questions, and visit http://graph.microsoft.io for more information on APIs available.

 

Shreedevi Padmasini on behalf of the Microsoft Graph and Outlook teams

Office Dev PnP Web Cast – Getting started with SharePoint Framework

$
0
0

In this PnP Web Cast we concentrated on showing in practice how to get started with upcoming SharePoint Framework. We demonstrated the preview tooling (*) for development and how the development cycle will work with SharePoint Framework. 

Key objective of the web cast is to show you the high level development cycle and to clarify some of the terms and capabilities what has been shared by the community blog posts after SharePoint Framework announcement on 4th of May 2016.

Presentation covers following topics:

  • SharePoint Extensibility Principles
  • Open source tooling support
  • SharePoint Workbench - What is it?
  • Client-side Web Part Build Flow

Demo section concentrates on showing following topics:

  • Looking on the client-side web part configuration options and end user experience
  • Creating your first Client-side Web Part with preview tooling (*)
  • Walkthrough of Client-side Web Part Build Flow with preview tooling (*)

* Notice. It's important to notice that we used preview tooling in this video, which is not yet available for the community to consume, when this video was released. When official tooling will be available, there might be also some changes on the exact commands and we are also looking to have Visual Studio tooling support. 

Web cast presenters: Waldek MastykarzVesa Juvonen

Waldek works in Rencore AB and is one of the external members in the Office 365 Dev PnP Core team. 

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

Video at Channel 9.

Additional resources

See following resources around the covered topics

What is Office 365 Developer Patterns and Practices (PnP) web cast series?

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 minute long web cast each Monday with few slides and live demo on the covered topic. All web casts are published at the PnP Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 16th of May 2016

Office Dev PnP Web Cast – Introduction to Bulk UPA Custom Profile Properties Update API

$
0
0

In this PnP Web Cast we concentrated on Bulk UPA Custom Profile Properties Update API for SharePoint Online, which enables you to update custom profile properties of your end users in batch format. This API will provide you support to synchronize additional APIs to SharePoint Online User Profiles from any system. 

You can configure which attributes are being synchronized from on-premises Active Directory to Azure Active Directory, but due numerous reasons, there's no support for modifying mapping between User Profiles in SharePoint Online and Azure Active Directory. This means that if you are interested on exposing or using additional custom profile properties in SharePoint Online, you'll need to get them synchronized there using APIs. Previously this was only possible with one-to-one updates using CSOM, which did not perform that well. Using this batch update API, you can much more efficiently include additional information around your profiles.

Notice. At the time this web cast is released, this capability is ONLY available for first release tenants. Worldwide release cross all tenants is planned to happen during summer 2016. 

Presentation covers following topics:

  • Explanation of the profile property sync process and what this API solving
  • JSON file format for the API
  • Managed code and PowerShell implementation samples
  • What properties can be updated using this API

Demo section concentrates on showing following topics:

Web cast presenters: Vesa Juvonen, Bert Jansen

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

Video at Channel 9.

Additional resources

See following resources around the covered topics

What is Office 365 Developer Patterns and Practices (PnP) web cast series?

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 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 Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 23th of May 2016

Contributing to Office Dev PnP and SharePoint PnP documentation just got easier

$
0
0

We are happy to announce a new and improved process for enabling easier way to make documentation contributions around the Office 365 Dev and SharePoint Patterns and Practices (PnP) MSDN section. PnP has many community contribution opportunities. You can contribute to our Core components (JS and .NET), samples, and reusable solutions in GitHub. We have been also having official PnP documentation in MSDN for more than a year with matching GitHub md files at our PnP-Guidance repository. Getting however changes applied from markdown documents (md) updated to MSDN, has been a slow manual process, so the community contributions have not really taken off in this section.

Starting today however, there's direct connection between the PnP MSDN documentation and the article source files in GitHub. This means that you can easily contribute by suggesting updates to existing documents or even suggesting new articles. Notice that as part of this change, we have also relocated the PnP MSDN content to new location. 

All articles in the PnP section will have a contribute option in the top right corner, which will redirect you to the original GitHub document in PnP-Guidance repository. When your contributions are merged to official articles, you will be also assigned as a contributor for that article. All contributors to specific article are visible in the page header. Here's an example article showing the details in practice.

Example article header in MSDN

How can I contribute to these articles?

Here's the steps to start contributing on the PnP Guidance articles.

  1. Watch PnP Web Cast on how to contribute to Office Dev PnP initiative - Explains the GitHub process with pull requests, which is valid for guidance articles as well 
  2. Read contribution guidance for PnP Guidance repository
  3. Fork the PnP-Guidance repository, apply your changes and create a pull request - target master branch in PnP-Guidance repository

After this, your change suggestions will be reviwed by our technical writers and/or engineering resource. If all is good, your pull request will be merged and it will end up to MSDN after next synchronization with you defined as a contributor. If your are providing a new article or significant changes on existing ones, we'll send a comment in GitHub asking you to submit an online Contribution License Agreement (CLA).

That's really cool, isn't it?

What is Office 365 Dev and SharePoint Patterns and Practices (PnP)?PnP Logo

Office 365 Dev and SharePoint PnP initiative 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 27th of May 2016


New SharePoint CSOM version released for SharePoint Online - May 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 Online. This release again contains few updates on the existing SharePoint CSOM assemblies and some maintenance changes. 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. In general 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 released CSOM package is 16.1.5312.1200. Previous versions of the NuGet has 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.5312.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 alings with the Nuget version.

Nuget gallery picture of the package

Notice. If you like to operate with SharePoint Online rather using PowerShell, we are also looking to update the SharePoint Online Management Shell during upcoming days. Documentation for SharePoint Online Management Shell will be updated accordingly based on the changes in latest version.

New properties and methods cross assemblies

Here's a raw list of all the new properties and methods in the assemblies. Notice that some of these properties and methods are meant to be used only internally, even though they are exposed in the CSOM API. This means that their usage models might not be completely straight forward and results could be unexpected. Below list contains main changes in the particular assemblies. We have filtered out those elements which are not relevant or change is minimal. MSDN library for the CSOM assemblies will be updated to match the latest version at some point and capabilities will be enabled cross tenants gradually. We've included high level description for some of the mentioned properties where needed.

Microsoft.SharePoint.Client.Tenant

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.AllowExternalUsersToReshare - Gets or sets a value to specify if external users are allowed to reshare, regardless of Members Can Share state

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.EnableGuestSignInAcceleration - Gets or sets a whether we force the auto-accelration sign-in. When set to true, end-user sign-in will skip the OrgID/EvoSTS sign-in page regardless of allowing guest sign-in or not.

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.IPAddressAllowList - If IPAddressEnforcement is true, then this list is used to enforce incoming requests as coming from range

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.IPAddressEnforcement - Enforces incoming requests are coming from the address range in IPAddressAllowList

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.IPAddressWACTokenLifetime - The WAC Loopback token lifetime. Default is 15 minutes.

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OptOutOfGrooveBlock - Get/Set whether Groove clients should be blocked

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OptOutOfGrooveSoftBlock - Get/Set whether Groove clients should be soft blocked

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OrphanedPersonalSitesRetentionPeriod - Gets or Sets The default Retention Days set to Personal Sites for a tenant

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.UseFindPeopleInPeoplePicker - Gets or sets a value to specify if use FindPeople in PeoplePicker.

  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.AllowExternalUsersToReshare
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.EnableGuestSignInAcceleration
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.IPAddressAllowList
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.IPAddressEnforcement
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.IPAddressWACTokenLifetime
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.UseFindPeopleInPeoplePicker

Microsoft.SharePoint.Client

  • public class Microsoft.SharePoint.Client.AppViewCreationInfo
  • public method Microsoft.SharePoint.Client.Attachment.RecycleObject
  • public property Microsoft.SharePoint.Client.Change.RelativeTime
  • public property Microsoft.SharePoint.Client.ChangeList.BaseTemplate
  • public property Microsoft.SharePoint.Client.ChangeList.Creator
  • public property Microsoft.SharePoint.Client.ChangeList.Hidden
  • public property Microsoft.SharePoint.Client.ChangeList.RootFolderUrl
  • public property Microsoft.SharePoint.Client.ChangeList.Title
  • public property Microsoft.SharePoint.Client.ChangeQuery.RequireSecurityTrim

  • public class Microsoft.SharePoint.Client.CopyMigrationInfo
  • public class Microsoft.SharePoint.Client.CopyMigrationOptions

  • public property Microsoft.SharePoint.Client.DocumentLibraryInformation.AbsoluteUrl
  • public method Microsoft.SharePoint.Client.Folder.AddSubFolder
  • public class Microsoft.SharePoint.Client.HashtagStoreManager

  • public method Microsoft.SharePoint.Client.List.CreateAppView
  • public method Microsoft.SharePoint.Client.List.CreateMappedView
  • public method Microsoft.SharePoint.Client.List.EnsureAppViewInfo
  • public method Microsoft.SharePoint.Client.List.GetMappedApp
  • public method Microsoft.SharePoint.Client.List.GetMappedApps
  • public method Microsoft.SharePoint.Client.List.GetMappedApps
  • public property Microsoft.SharePoint.Client.List.IsSystemList
  • public method Microsoft.SharePoint.Client.List.PublishAppView
  • public method Microsoft.SharePoint.Client.List.PublishMappedView
  • public method Microsoft.SharePoint.Client.List.UnpublishAppView
  • public method Microsoft.SharePoint.Client.List.UnpublishMappedView

  • public property Microsoft.SharePoint.Client.ListItem.ServerRedirectedEmbedUrl
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.DefaultShareLinkType
  • public property Microsoft.SharePoint.Client.RenderListDataParameters.ExpandGroups

  • public method Microsoft.SharePoint.Client.Site.CreateCopyJob
  • public method Microsoft.SharePoint.Client.Site.Exists

  • public method Microsoft.SharePoint.Client.Web.GetListItem
  • public method Microsoft.SharePoint.Client.Web.GetViewFromUrl

  • public property Microsoft.SharePoint.Client.Visualization.VisualizationAppInfo
  • public property Microsoft.SharePoint.Client.Visualization.VisualizationType
  • public class Microsoft.SharePoint.Client.VisualizationAppInfo
  • public class Microsoft.SharePoint.Client.VisualizationAppMappedViewCollection
  • public class Microsoft.SharePoint.Client.VisualizationAppSynchronizationResult
  • public class Microsoft.SharePoint.Client.VisualizationAppSynchronizationResultObjectPropertyNames
  • public class Microsoft.SharePoint.Client.VisualizationAppSynchronizationResultPropertyNames

  • public class Microsoft.SharePoint.Client.Utilities.FileHandlerWopiProperties
  • public method Microsoft.SharePoint.Client.Utilities.WopiHostUtility.GetFileHandlerWopiTargetPropertiesByUrl

Microsoft.SharePoint.Client.Publishing

  • Microsoft.SharePoint.Client.Publishing.AcronymInformation
  • public class Microsoft.SharePoint.Client.Publishing.TextValueWithLanguage
  • public property Microsoft.SharePoint.Client.Publishing.VideoChannel.FullUrl
  • public property Microsoft.SharePoint.Client.Publishing.VideoChannel.ShareByEmailEnabled

Microsoft.SharePoint.Client.Search

  • public property Microsoft.SharePoint.Client.Search.Query.KeywordQuery.UseOLSQuery

Microsoft.SharePoint.Client.Taxonomy

  • public method Microsoft.SharePoint.Client.Taxonomy.TermGroup.AddContributor
  • public method Microsoft.SharePoint.Client.Taxonomy.TermGroup.AddGroupManager
  • public property Microsoft.SharePoint.Client.Taxonomy.TermGroup.ContributorPrincipalNames
  • public property Microsoft.SharePoint.Client.Taxonomy.TermGroup.GroupManagerPrincipalNames
  • public property Microsoft.SharePoint.Client.Taxonomy.TermSet.Names

 

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 27th of May 2016

Office Dev PnP Web Cast – Preparing for SharePoint Framework - What should I learn?

$
0
0

In this PnP Web Cast we concentrated on sharing how to get prepared for the upcoming SharePoint Framework. We are showing some of the tools used commonly with SharePoint Framework development and also how to use Visual Studio as your development environment for SharePoint Framework. 

Key objective of the web cast is to provide you additional insights on the upcoming capabilities and how to get prepared for them. SharePoint Framework will be available, with limited capabilities, for first release tenants during summer 2016.

Presentation covers following topics:

  • Typical tooling for SharePoint Framework
  • Web stack tooling vs classic Microsoft tools
  • Walk-through of the different tools and their purpose
  • Training path for mastering SharePoint Framework
  • Getting started with tooling

Demo section concentrates on showing following topics:

  • Walk-through of the different tooling and their purpose
  • Demonstration of the SharePoint Framework development with Visual Studio 2015

* Notice. It's important to notice that we used preview tooling in this video, which is not yet available for the community to consume, when this video was released. When official tooling will be available, there might be also some changes on the exact commands and also on the capabilities in Visual Studio side.

Web cast presenters: Waldek MastykarzVesa Juvonen

Waldek works in Rencore AB and is one of the external members in the Office 365 Dev PnP Core team. 

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

Video at Channel 9.

Additional resources

See following resources around the SharePoint Framework

Tools mentioned in the web cast

What is Office 365 Developer Patterns and Practices (PnP) web cast series?PnP logo

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 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 Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 30th of May 2016

Office Dev PnP Web Cast – Introduction to Microsoft Graph .NET SDK

$
0
0

In this PnP Web Cast we concentrated on Microsoft Graph or more specifically covering how the .NET SDK for Microsoft Graph can be used in your customizations. .NET SDK for Microsoft Graph is great tool for simplifying the development experience when you take advance of Graph APIs. It provides easy to use and fluent access on information exposed within the Microsoft Graph APIs. 

Presentation covers following topics:

  • Introduction to Microsoft Graph API 
  • Introduction to .NET SDK for Microsoft Graph
  • Insights on request model, query model, resource management and for exception handling

This web cast included three specific demos

  • Playing with the Microsoft Graph API - Graph explorer and available resources
  • "Hello world" with Microsoft Graph .NET SDK 
  • Request and Query model for with .NET SDK

Sample used in the web cast is available from the Office 365 Dev Patterns and Practices code gallery

Web cast presenters: Paolo PialorsiVesa Juvonen

Paolo works in Piasys.com and is one of the external members in the Office 365 Dev PnP Core team. 

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

Video at Channel 9.

Additional resources

See following resources around the SharePoint Framework

What is Office 365 Developer Patterns and Practices (PnP) web cast series?PnP logo

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 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 Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 6th of June 2016

New SharePoint CSOM version released for SharePoint Online - June 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 Online. This release again contains few updates on the existing SharePoint CSOM assemblies and some maintenance changes. Main reason for this new release was around the new taxonomy term set capability which is commonly used with term sync tooling cross environments. 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. In general we do recommend you to use the Nuget Package to gain access on latest version, rather than downloading the SDK to your machine.

In general we are looking into moving to monthly cadence around CSOM Nuget updates with locked and consistent release dates. This process should be fully in place during autumn 2016. 

Version of the newly released CSOM package is 16.1.5326.1200. Previous versions of the NuGet has 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.5326.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 alings with the Nuget version.

Notice. If you like to operate with SharePoint Online rather using PowerShell, we are also looking to update the SharePoint Online Management Shell during upcoming days. Documentation for SharePoint Online Management Shell will be updated accordingly based on the changes in latest version.

New properties and methods cross assemblies

Here's a raw list of all the new properties and methods in the assemblies. This is relatively short list this time, since previous version was just released few weeks back. Notice that you can keep on using older version as well, unless you want to have access on any of the new APIs released now. 

Microsoft.SharePoint.Client

  • public property Microsoft.SharePoint.Client.ChangeItem.ActivityType
  • public property Microsoft.SharePoint.Client.ChangeItem.Hashtag
  • public property Microsoft.SharePoint.Client.ChangeItem.ListTitle
  • public property Microsoft.SharePoint.Client.ChangeQuery.Activity
  • public property Microsoft.SharePoint.Client.File.ServerRelativePath
  • public property Microsoft.SharePoint.Client.Folder.ServerRelativePath
  • public property Microsoft.SharePoint.Client.Hashtag.Application
  • public class Microsoft.SharePoint.Client.ResourcePath
  • public propertyMicrosoft.SharePoint.Client.Site.ServerRelativePath
  • public method Microsoft.SharePoint.Client.Web.GetFileByServerRelativePath
  • public property Microsoft.SharePoint.Client.Web.ServerRelativePath

Notice that there's a small breaking change in the following method. Propability of this method being in use is really small and you'll see the change when you'll be compiling your code agains the latest version. In general we are trying to minimize these kind of breaking changes as much as possible, but ever now and then they might be required. 

  • public method Microsoft.SharePoint.Client.List.CreateDocumentAndGetEditLink - string templateUrl added as method parameter

Microsoft.SharePoint.Client.Taxonomy

  • public method Microsoft.SharePoint.Client.Taxonomy.TermSet.GetAllTermsIncludeDeprecated

Microsoft.ProjectServer.Client

  • public property Microsoft.ProjectServer.Client.DraftTask
  • public property Microsoft.ProjectServer.Client.PublishedTask.StatusManager
  • public property Microsoft.ProjectServer.Client.StatusTask.StatusManager
  • public property Microsoft.ProjectServer.Client.TaskCreationInformation.StatusManager

 

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 9th of June 2016

Office 365 and SharePoint Patterns and Practices – June 2016 release

$
0
0

Office 365 and SharePoint Patterns and Practices (PnP) June 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 Office 365 and SharePoint Patterns and Practices (PnP)? Office 365 Developer 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 Office 365 in general and also SharePoint on-premises (add-in model). Active development and contributions happen our GitHub project under 'dev' branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications.

This is work done by the community for the community without any actual full time team members. 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. There is however highly active PnP Yammer group, where you can get fast support on 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 Web Cast.

Some key statistics around PnP program from June 2016 release

Main resources around PnP program

June 2016 monthly community call

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

If you have any questions, comments or feedback, please participate in our discussions in the Office 365 Patterns and Practices Yammer group at http://aka.ms/OfficeDevPnPYammer. We already have more than 4400 members in this group with lively discussions on different SharePoint and Office 365 development related topics. This is the most active developer group in the Office 365 Technical network and we are absolutely proud and thankful of that.

PnP Office Hours and Special Interest Group (SIGs) for JavaScript development

We started bi-weekly PnP Office Hours during February 2016 for addressing questions on how to contribute towards PnP. These are open discussions around what the Core team is doing and where the community members can assist. This time is also open for discussions around design decisions, challenges and possible issues in the PnP deliverables. You can download invite for the bi-weekly invite from following location. Recording of these Office Hours are shared in the PnP Yammer group within 24 hours after the recording was done.

Due constantly growing interest on the PnP program, we also are piloting Special Interest Groups (PnP SIGs), which are more targeted on specific topic, like SharePoint Client Side (JavaScript) development or other areas. We are currently piloting this model with SIG for Client Side development, which have had great interest. Client Side Development SIG is creating its own JavaScript Core component using normal web stack tooling, which aligns on the recently announced upcoming SharePoint Framework. Weekly calls are around 50%-50% on the JS Core component development and discussions around the upcoming SharePoint Framework.

You can find more around PnP Office Hours and Special Interest Groups (SIGs) from following blog post or check the web cast around the JavaScript SIG for the specific details.

PnP Weekly Web Casts

We started new PnP Weekly Web Cast on October 2015 and have continued releasing new video web casts for each week. All web casts will be to the PnP Channel 9 section. Here's the new web casts released after the last monthly release.

Notice that we'll have a summer break on the web cast publishing and the last web cast before the break will go out on Monday 20th of June 2016. We'll continue with web casts during August 2016.

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.

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

  • PnP - Main repository for SP add-in, Microsoft Graph etc. samples
  • PnP-Guidance - Guidance, presentations and articles which are partly sync'd to MSDN
  • PnP-Sites-Core - Office Dev PnP Core component
  • PnP-JS-Core - Office Dev PnP Core component for JavaScript
  • PnP-PowerShell - Office Dev PnP PowerShell Cmdlets
  • PnP-Tools - New repository for tools and scripts targeted more for IT Pro's and for on-premises for SP2013 and SP2016
  • PnP-Office-Addins - Office Add-in samples and models (starting)
  • PnP-Partner-Pack - Packaged guidance with detailed instructions on setting things up in Office 365 and in Azure.
  • PnP-Transformation - Material specifically for the transformation process. Currently includes samples around InfoPath replacement and transformation tooling from farm solutions to add-in model.
  • PnP-OfficeAddins - Samples for the Office Add-ins development
  • PnP-Provisioning-Schema - PnP Provisioning engine schema repository

Note. We are looking again to do some level of refactoring of the PnP repositories due the upcoming model for the new SharePoint Framework. We'll come back on this slightly later when things are fully locked.

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

Provisioning Engine

The first version of the PnP remote provisioning engine was released with the May 2015 release. For the Juhe 2016 release we have continued to add new supported capabilities and made significant improvements from stability perspective for both Office 365 and on-premises. This list contains the main updates that have been added in the June 2016 release:

  • General overall quality and performance improvements for on-premises and online
  • New OpenXML based support for provisioning templates - When serializing template with assets, you can generate automatically .pnp file, which contains all the assets related on the template
  • Support for lookup fields pointing from sub site to root web
  • Support for folders in AzureStorageConnector
  • Support for extracting multi-lingual resources values
  • Other multi-lingual support improvements
  • Updated base templates for the SPO, 2013 and 2016 - used in delta handling

We are planning to release new schema version and some new capabilities as part of the June 2016 release. This new version will contain few missing pieces from the current design, which will be also addressed gradually in the PnP provisioning engine.

PnP JavaScript Core library v1.0

Version 1.0 of the PnP JavaScript Core Library was released during this month. 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 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 future usage with SP Framework. 

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

You can read more details around the v1.0 capabilities from following release blog post at MSDN or from GitHub wiki pages:

PnP library

We have done general cleaning in the repository related on Nuget package updates and also removed some samples, which are no longer relevant. We are planning to continue these cleaning activities during the next months as well to streamline the repository and to combine some samples for reducing the overall number of similar samples.

There's also significant amount of general updates on the existing samples done by the community on the code and documentation, which is great way to contribute as well.

  • PnP Core: Lots of re-factoring done to improve code quality and completeness:
    • provisioning engine updates (see above)
    • Eanbled and DisableResponsiveUI extension methods to web object
    • Support for adding navigation nodes at beginning or end
    • Set SearchCenter URLs at site level
    • Extension methods to start a new workflow instance from web or site level
    • Convert a folder to document set
    • General bug fixing, performance and quality improvements
    • Updated to use latest CSOM version for SharePoint Online
    • Automated documentation updated to md file
    • Removal of deprecated methods
    • Build and test automation improvements with unit test changes
    • All PnP Core Nuget packages (cloud and on-premises) updated with new version
  • PnP JavaScript Core: Version 1.0 finalized:
    • Official v1.0 version released as npm package
  • New sample SharePoint.PnP-JS-Core with set of interactive demos for using the PnP JavaScript Core Library. Implemented as a SharePoint hosted add-in, so that you can easily try them out and see live results
  • New sample Core.DownloadMultipleFilesJS that shows how to add download multiple files functionality to SharePoint document libraries by adding "download all files" and "download files as zip" to library ribbon as custom actions.
  • New sample BusinessApps.O365ProjectsApp which contains code samples for upcoming book "Programming Office 365" for Microsoft Press. In particular it contains samples for: Office 365 Applications, Remote Timer Job and Graph SDK
  • New solution AspNetCore.Authentication An ASP.NET Core implementation of the TokenHelper and SharePointContext classes for use in SharePoint Apps. This library (and sample) demonstrates how to get ASP.NET Core provider-hosted apps authenticated through SharePoint.
  • Updated Provisioning.Extensibility sample to use latest extensibility interface
  • Updated Core.EmbedJavaScript.HeaderFooter sample with small bug fixes
  • Updated Core.ProfilePictureUploader to support multi-lingual my sites as well
  • Updated Core.TaxonomyPicker component with small styling fixes and improved handling of the dom structure updates
  • Updated Provisioning.UX.App provisioning solution with small updates
  • Updated solution Provisioning.VSTools with small adjustments and bug fixes
  • Updated PnP-PowerShell Commands with new CommandLets and with few fixes
    • Overall quality improvements and bug fixes
    • Added support for new pnp OpenXML templates
    • -CreateDrive option for Connect-SPOnline CmdLets for file system like access to SPO sites
    • New CmdLet Get-SPOFolderItem for file access in SPO
    • New CmdLets Enable-SPOResponsiveUI and Disable-SPOResponsiveUI for applying PnP Responsive UI package to sites with single Cmdlet call
    • New CmdLet Add-SPODocumentSet to add a new document set
    • New CmdLet Remove-SPOFolder
    • Updated help details for CmdLets
    • New Invoke-SPOWebAction Cmdlet which lets to iterate sites, lists and lsit items and execute provided delegated methods on the target.
    • Updated documentation for CmdLets
  • Updates to the PnP Partner Pack
    • Small adjustments around the implementation for upcoming v2.0 release (later)
    • Setup guidance improvements
    • Updated to use the latest Nuget package for SharePoint Online

Office 365 Pnp Partner Pack

PnP Guidance articles

he PnP Guidance repository contains guidance articles which are published at MSDN. Starting from end of May 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 a sample article with Contribute option and list of contributors for it

MSDN PnP pages picture

As part of this change, we also released significant amount of new content in the MSDN. You can find for example farm solution to add-in model transformation recipes in the MSDN now at following location

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

PnP Guidance videos

We did not release any new guidance videos during this month on top of the new web cast videos mentioned already above in this blog post. You can find all PnP videos from our Channel 9 section at http://aka.ms/OfficeDevPnPVideos. This location contains already significant amount of detailed training material, demo videos and community call recordings. We are considering option to move to Youtube with the video channel for more control with play lists, so that you can find more easily what you are looking for.

Key contributors for the June 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.

 c
 Stefan Bauer
 bluescore
 ClearPeople
 cognit consulting
 IOZ
 knowit
 onebit software
 piasys
 perficient
 rencore
 sogeti
 sympraxis consulting

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

Traffic at PnP repository

Traffic from PnP repository

Traffic from PnP Sites Core repository

Traffic from PnP Core Component repository

Traffic from PnP PowerShell repository

Traffic from PnP PowerShell repository

Traffic from PnP JavaScript Core Component repository

Traffic from JS Core repository

See About Repository Graphs for more details on above statistics.

Next steps

  • June 2016 monthly community call is on 14th of June 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/OfficeDevPnPCall.
  • We'll have a summer break for the releases and following master merge will happen on 5th of August 2016 and August community call is on 9th of August 2016. Community call invite will be updated late June with updated connection information. During this summer break, we won't be doing master merge (monthly release), but team continues working in GitHub and in Yammer.

Office 365 Pnp resources

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft - 10th of June 2016

Introduction of a new preview API to Microsoft Graph: IdentityRiskEvents

$
0
0

Hi folks,

Today we’re announcing the introduction of a new preview API to Microsoft Graph: IdentityRiskEvents. This API works in conjunction with Azure Active Directory Identity Protection and allows developers to query risk events generated by Identity Protection. These risk events are sign-ins and other events that have been analyzed and found to be “risky” by Identity Protection’s machine learning and algorithms. For example, Identity Protection thinks that it might not be the actual user trying to sign in, or the account is known to be at risk (e.g. we’ve detected leaked credentials). Identity Protection is currently in public preview, and the API is available to all tenants signed up for Identity Protection. This is the first API we’re releasing from the Identity Protection family, with more to follow soon.

 

With the identityRiskEvents API, developers can retrieve a collection of all types of risk events by making a GET request to https://graph.microsoft.com/beta/identityRiskEvents. Each identityRiskEvent entity contains information about the affected user, date and time data, and the type, severity, and status of the risk event. Additional information is included for specific subtypes of risk events: for example, a suspiciousIpRiskEvent entity contains location information for the IP address in question, and a malwareRiskEvent entity contains information about the malware involved.

 

The subtypes can also be queried specifically:

  • https://graph.microsoft.com/beta/anonymousIpRiskEvents
  • https://graph.microsoft.com/beta/impossibleTravelRiskEvents
  • https://graph.microsoft.com/beta/leakedCredentialsRiskEvents
  • https://graph.microsoft.com/beta/malwareRiskEvents
  • https://graph.microsoft.com/beta/suspiciousIpRiskEvents
  • https://graph.microsoft.com/beta/unfamiliarLocationRiskEvents
     

Documentation can be found on http://graph.microsoft.io (you can start here)

 

Check it out and let us know if you have any questions or comments. You can do so at Stack Overflow and UserVoice. If your tenant isn’t signed up for Azure AD Identity Protection, check it out here—it’s a great tool for protecting your users.

 

Michael McLaughlin on behalf of the Microsoft Graph and Azure AD Identity Protection teams

Office Dev PnP Web Cast – Introducing SharePoint WebHooks

$
0
0

In this PnP Web Cast we concentrated on upcoming SharePoint WebHooks capability. This is capability which will be available for first release tenants starting from summer 2016. WebHooks will provide more reliable remote event mechanism for operations happening in SharePoint side. In the past you might have used server side event receivers or remote event receivers to achieve similar capability.

WebHooks are industry standard model for http based events used by also by multiple other services than Office 365. Currently WebHooks are already supported for OneDrive for Business and for Outlook. SharePoint support will be also gradually introduced, like explained in this web cast.

Notice. When this web cast was released, SharePoint WebHooks were not yet available in Office 365 tenants. This is preview on upcoming capability, which will be available for first release tenants during summer 2016. We'll do proper announcements around the availability at dev.office.com/blogs, when this capability is available. 

Presentation covers following topics:

  • What are WebHooks?
  • How to subscribe to a WebHook?
  • Event notifications and processing
  • GetChanges pattern
  • Why to use WebHooks over Remote Event Receivers?

Web cast demo shows following details

  • SharePoint.WebHooks Visual Studio sample walk-through
  • How to subscribe WebHooks
  • How to implement asynchronous pattern with WebHooks using Azure Storage Queues and WebJobs

Sample used in the web cast will be made available from the Office 365 Dev Patterns and Practices code gallery when WebHooks will be enabled in first release tenants. 

Web cast presenters: Bert JansenVesa Juvonen

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

Video at Channel 9.

Additional resources

See following resources around the SharePoint Framework

What is Office 365 Developer Patterns and Practices (PnP) web cast series?PnP logo

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 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 Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 13th of June 2016


WebCast: End-to-End Walkthrough of Excel JavaScript Add-in Development

$
0
0

In this webcast, we will walk through the end-to-end process of building an Office Add-in for Excel:  from launching Visual Studio, to writing a bit of JavaScript code that uses the new Excel 2016 APIs, to adding some basic UI tweaks, to talking through the publishing options, debugging, and more.

Image of a sample add-in running in Excel 2016

For those who wanted to see the solution that is built as part of the walkthrough, it is uploaded to OneDrive. Download and unzip the file, open the Solution in Visual Studio 2015 or a VS 2013 with the latest updates, and you should be all set! I recommend watching the video before downloading the solution, so that you can follow along in "the building of" before seeing the full thing.

The presentation covers the following topics:

  • Introduction to Office Add-ins.
  • Introduction toExcel JavaScript APIs.
  • Details around building an Office Add-in from Visual Studio.
  • Tips on testing and debugging.

Watch the video today on Channel 9

Additional resources

See the following resources related to the covered topics

 

thanks,

Michael Zlatkovsky

2016 Office App Awards Contest

$
0
0

The 2016 App Awards are open for nominations.

It’s time for the 2016 Office App Awards, where we recognize the best of partner add-ins and apps that leverage the Office platform. Nominations are open from June 15th, 2016 thru August 15th, 2016.  

To be eligible for recognition, a solution must call Office APIs, be net-new or updated since January 1st of this year, and hosted in the Office Store, Azure AD Gallery, or a leading mobile device app store (Google Play & Android apps; iTunes, Windows Phone).

Judging will be done by Microsoft engineering and marketing teams, and awards will be handed out at Microsoft Ignite in Atlanta, GA, September 26-30. Winners receive promotion in the Office Store and recognition at Microsoft Ignite.

 

Submit a new or updated app now, or nominate an existing favorite!

App Award Nomination Form

App Award Rules and Criteria

2015 App Awards Winners

Office Dev PnP Web Cast – Converting existing JS apps to SharePoint Framework

$
0
0

In this PnP Web Cast we concentrated on high level steps around converting your existing JavaScript application to SharePoint Framework or to be hosted in SharePoint Framework. Web cast uses existing angular app as the sample to be converted to hosted as a client side web part in SharePoint Framework. Process is pretty similar regardless of the JavaScript framework which you are using. In this case we also only hook in the existing application to SharePoint Framework, without converting it to TypeScript, which would provide additional development time support, but is not a required step, like shown in the demo. 

Notice. When this web cast was released SharePoint Framework were not yet available in Office 365 tenants. This recording was done using internal preview release of SharePoint Framework, so some details might be slightly changed by the time when SP Framework is released for first release tenants (summer 2016). 

Presentation covers following topics:

  • Transformation process for Angular apps
  • Steps to migrate vanilla Angular Web Parts to SPFx Client Side Web Parts
  • How to expose app configuration options using Client Side Web Part editor panel

Web cast demo shows following details

  • Demonstration of the angular app hosted in script editor web part
  • Walk through of hosting angular app in Client Side Web Part
  • How to expose app configuration options in Client Side Web Part editor panel 

Web cast presenters: Waldek MastykarzVesa Juvonen

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

Video at Channel 9.

Additional resources

See following resources around the upcoming SharePoint Framework. We'll release more detailed documentation and step-by-step guidance when SharePoint Framework will be released for preview in first release tenants. This will happen during summer 2016.

What is Office 365 Developer Patterns and Practices (PnP) web cast series?PnP logo

Office 365 Developer Patterns and Practices (PnP) web cast 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-45 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 Channel 9 video blog 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/OfficeDevPnPCall.

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 PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

Notice. We'll take a short break on the PnP web cast release cycle during summer 2016 and this was a final web cast before this break. We'll continue with the PnP web casts during August 2016. 

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, SharePoint, Microsoft - 20th of June 2016

Update on Modern Document Libraries and Extensibility

$
0
0

Screenshot of the Modern Document Library Experience

We’re excited about the modern document library experience coming to Office 365, and we’ve seen great response from customers using it in first release so far.  We do know that even positive change can cause a certain amount of apprehension, though, so we’d like to provide some clarity about our plans for rolling out this new experience – especially with respect to extensibility and customization.  In particular, we’re writing today to make clear our commitment to extensibility in our modern experiences going forward and continuity for customers taking advantage of extensibility in classic experiences for the foreseeable future.  SharePoint succeeds together with our partner community.  It’s been true from the start, and it’s part of our DNA.  We remain committed to a thriving SharePoint community that tailors our products for maximum productivity with each customer, which means we remain committed to an extensible experience.

The new document library will continue to evolve quickly to support more intelligent and productive web and mobile experiences.  Expect innovation in the core experiences around views, metadata, mobility, and accessibility, as well as performance improvements based on work in the underlying UX framework.  We are also committed to building more customization capabilities for business users, making it possible to build tailored modern document libraries experiences without writing code.

In order to support this sort of rapid iteration without breaking the customizations that our customers and partners have built on top of the experience, we need to develop cleaner, clearer contracts between our out-of-the-box experiences and the points of extensibility supported by the platform.  We also want to provide administrators with insight and control over the scripts that are running in their pages.  Over the course of time, we’ll drive toward the same richness of customization in the modern experience as is currently supported in the classic experience, but with more explicit contracts that help maintain stability as we innovate on the core user experiences in SharePoint.   

We’ve already made some good progress here.  Theming, global navigation links, and URL-based custom actions that extend the ribbon and context menus are already supported in the modern document library experience.  This ensures that customers and partners taking advantage of these features can use the modern document library experience without compromising their customizations.

There are some extensibility scenarios that aren’t yet supported by the modern document library experience, including conditional formatting of document library fields and the use of arbitrary script blocks to customize document library rendering.  Because our ecosystem and product extensibility are core priorities for us, we will continue working to enable these scenarios in the modern experience.  In the meantime, it’s important for us to maintain continuity for our existing customers.  

As a result, we will continue to make the classic document library experience available to all customers through a simple opt-out experience, even as we roll the modern experience out globally.  Furthermore, when we detect that an environment is taking advantage of one of these not-yet-supported extensibility mechanisms, we will automatically default to the classic experience to avoid disrupting their workflow.  We will continue to support both of these mitigations until the modern library experience supports the same level of customization as the classic one and partners have had ample time to adapt their solutions to the new experience.  We’ll verify that fact through customer and partner feedback as well as careful examination of usage telemetry.   As more information on modern document library extensibility becomes available, we’ll update our existing articles and posts, and deliver complete documentation and guidance.  Feedback and community engagement are important to how we design and release our products, and we welcome your feedback and comments here, on Twitter (@SharePoint and @OfficeDev), and through UserVoice.

Changes to Contacts and People APIs

$
0
0

This is an update about breaking changes that we are making that only impact Contacts and People APIs on the Microsoft Graph REST API Beta endpoint.

It is a schema change where a few properties are being removed and corresponding collections are being added. The changes are outlined below and will be deployed world wide over the next couple of weeks.

Properties removed from contacts:

  • businessHomePage
  • homePhones
  • mobilePhone1
  • businessPhones
  • homeAddress
  • businessAddress
  • otherAddress

Properties added to contacts:

  • websites – Collection(ComplexType: website)
  • phones – Collection (ComplexType: phone)
  • postalAddress – Collection(ComplexType: physicalAddress)
  • weddingAnniversary – Edm.Date
  • gender – Edm.String

Properties renamed in people:

  •  Renamed webSite to websites

Changes in both:

  • websites enum types changed
    • Previous: businessHomePage, personalHomePage, other
    • New: other, home, work, blog, profile
  • phone enum types changed
    • Properties removed: unknown, car, callback, primary, telex, TTYTDD, organizationMain

Mapping of old property to new property:

  Old Property

  New Property

  businessHomePage

  websites (website.Type == work)

  homePhones

  phones (phone.Type == home)

  mobilePhone1

  phones (phone.Type == mobile)

  businessPhones

  phones (phone.Type == business)

  homeAddress

  postalAddresses (physicalAddress.Type == home)

  businessAddress

  postalAddresses (physicalAddress.Type == business)

  otherAddress

  postalAddresses (physicalAddress.Type == other)

 

Monil Shah on behalf of the Microsoft Graph and Outlook teams

Viewing all 429 articles
Browse latest View live