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

Office Dev PnP Web Cast – Introduction to Office Dev PnP Provisioning Engine

$
0
0

In this PnP Web Cast we concentrated on the PnP Remote Provisioning engine, which is part of the PnP Core component and can be used to remotely extract and provision standardized sites based on remote templates. This is typical requirement for enterprises and we have classically used technologies like site definitions, site templates or web templates to achieve this. During the call we cover the different classical options and why the remote provisioning model has significant advantages on classical feature framework based provisioning. PnP Remote Provisioning Engine is open source and developed together with the community with tens of individual contributors.

Erwin is demonstrating the usage of the engine during the call with simple console application. You can take advantage of the PnP Provisioning Engine with managed code and typically templates would be applied using Azure WebJobs in the Office 365 or using remote time job pattern at on-premises. You can locate similar simple console application as used in the video from the PnP sample library called as Provisioning.Framework.Console.

Notice. When you are implementing production ready site collection provisioning and template handling solution, you should take advantage of so called Asynchronous pattern, so that you will not face any time out issues while sites are being provisioned or template is being applied. See links below under resources for samples using also Async model.


Video at PnP Channel 9.

Additional resources for provisioning engine

See following PnP videos for additional details around the PnP Provisioning Engine

See following samples from the PnP library for additional reference around the covered topics.

Next week we'll have a look on the PnP Partner Pack with Paolo Pialorsi (MVP) from the PnP core team. PnP Partner Pack is packaged and documented solution package for typical SharePoint customizations towards Office 365, including site collection and sub site provisioning, "save site as a template" with remote templates, governance timer jobs, responsive user interfaces and other typical implementations. PnP Partner Pack is great reference solution and starting point for customers and partners to start implementing their own specific customizations for their deployments.

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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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. We will release new around 30 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 our GitHub project 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


Update 3 on Office 365 Unified API

$
0
0

Hi all, this is the third update for Office 365 unified API announcing a set of breaking changes that will roll in to the /beta endpoint effective today.

 

These changes are mostly property name changes that have little impact on the API functionality. We are making them to get more consistency across the API. Here is the list of name changes:



1. user.Folders is being renamed to user.mailFolders

2. Date time properties that had the naming convention: dateTimeX are now being renamed to XDateTime. This change impacts multiple entity and complex types, for example: dateTimeReceived is now receivedDateTime and dateTimeSent is now sentDateTime.

3. user, contact and group photo(s) are being renamed from userPhoto, contactPhoto and groupPhoto to be just photo for all three entities.

 

The next set of changes is the removal of two properties: event.reminder and group.emailAdress. You can continue to access the groups email address via group.mail. Instead of the property reminder, two new properties reminderMinutesBeforeStart and isReminderOn will be added.

 

Finally, there are also a set of new navigations, properties and actions that are being added to the API, all these additive changes are non-breaking, but you might be interested on looking the $metadata of the service to see how much the API is growing.

 

Remember Office 365 unified API is currently in preview, we are working hard to release it soon, as part of this we will continue making some changes, including breaking changes, in /beta to incorporate feedback and improve the API as we get ready for v1.0.  Once v1.0 launches, we will continue to update beta on a regular basis, even with potentially breaking changes, but versioned end points will not have breaking changes once they're released.

 

Please continue to provide your feedback and questions via stackoverflow and uservoice. Thank you for your input and happy coding.

~ Yina Arenas for the Office 365 unified API team

Update 4 on Office 365 unified API

$
0
0

Hi all, this is the fourth update for Office 365 unified API, we're announcing another set of breaking changes.  These changes will roll in to the /beta endpoint on 11/9 noon PST.  Here is the list of major changes, along with a full list of ALL changes called out later in the post:

 

1.      With this update all unified API responses will be returned using lowerCamelCasing for all namespaces, entity types, complex types, and property names.  Requests may be case insensitive.

2.      There are a large number of renames (and property removals) in this update, the chief ones being:

a.      A rename of objectId to id on the DirectoryObject entity type.  This impacts a large number of existing entity types as it is a base type for many entity types.

b.      A rename of entity type tenantDetail to organization.

c.      A rename of entity type item to driveItem

3.      The event entity type has a few updates, such as removing the reminder property and replacing with ReminderMinutesBeforeStart and IsReminderOn.  Additionally the start and end properties now become complex types of DateTime and Timezone, with Timezone being required when creating and updating events.  More details can also be found here, and in the examples please , replace “…/api/” in that blog post with “https://graph.microsoft.com/”.

4.      Group permission scopes - Group.Read.All and Group.ReadWrite.All will now require administrators to consent to apps requesting these scopes.  Any apps that have already been consented using these permissions will continue to work. We plan to introduce additional Group permission scopes shortly, that will allow users to consent to apps that need to access Office 365 group content.

5.      Additionally we're providing a heads-up that at some later time after 11/9,  querying to get the Office 365 groups a user is a member of will be changed. We will likely no longer support the /joinedGroups navigation property.  We will update this post with more information on what the new search syntax will look like.

 

Remember Office 365 unified API is currently in preview, we are working hard to release it soon, as part of this we will continue making some changes, including breaking changes, in /beta to incorporate feedback and improve the API as we get ready for v1.0.  Once v1.0 launches, we will continue to update /beta on a regular basis, even with potentially breaking changes, but versioned end points will not have breaking changes once they're released.

 

Please continue to provide your feedback and questions via stackoverflow and uservoice. Thank you for your input and happy coding.

 

~ Dan Kershaw and Yina Arenas for the Office 365 unified API team

 

Office Dev PnP Web Cast – Introduction to Office 365 Dev PnP Partner Pack

$
0
0

In this PnP Web Cast we concentrated on the PnP Partner Pack, which was released as part of the Office 365 Developer Patterns and Practices (PnP) November 2015 release. PnP Partner Pack is reference solution which demonstrates different PnP techniques and it can be deployed to any Office 365 tenant and Azure subscription easily with provided scripts and documentation.

PnP Partner Pack demonstrates main topics, which are commonly used within mid-sized and enterprise deployments around Office 365 and SharePoint online. Here's list of key functionalities demonstrated in the PnP Partner Pack.

  • Self service site collection provisioning with remote provisioning pattern
  • Sub site provisioning using remote provisioning pattern
  • "Save site as a provisioning template" capability to store any existing site as a available template in specific site collection or as tenant level template
  • My site collections personal view
  • Responsive user interface for SharePoint sites without introducing custom master page
  • Custom NavBar and Footer for Site Collections with JavaScript object model
  • Sample remote timer jobs (implemented as WebJobs) for Governance rules enforcement
  • Uses Office UI fabric for provider hosted app user interface elements
  • Deployed as Office 365 App with app-only permissions

During this web cast we first talk about the actual content, reasoning and capabilities of the PnP Partner Pack. After this Paolo will present the PnP Partner Pack capabilities with real demo, including covering some areas of the code and technical structure. You can access PnP Partner Pack material from http://aka.ms/OfficeDevPnPPartnerPack. Here's the key resources under the PnP Partner Pack repository in the GitHub.

We will continue gradually evolving PnP Partner Pack based on the feedback and comments from the community. You are also more than welcome to help us on evolving this solution with pull requests or suggestions using PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.

You are more than welcome to use PnP Partner Pack material anyway you need in your own customizations or deployments. It can be used as a starting point for your own deployments or as a solution which demonstrates different customization options for Office 365 and SharePoint using add-in model techniques. We have already chatted about possible on-premises version setup around PnP Partner Pack, but would need your feedback on demand around this.


Video at PnP Channel 9.

Additional resources

PnP Partner Pack has been build using different patterns demonstrated in the PnP guidance and is using PnP Provisioning Engine as the underlying capability for extracting and applying templates using the remote provisioning pattern. If you are not familiar of the PnP Provisioning engine, we would suggest to have a look on following PnP Web Cast as the introduction.

Other techniques demonstrated by the PnP partner pack can be also found as individual samples from the PnP guidance. See following samples around the specific capabilities.

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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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. We will release new around 30 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 our GitHub project 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

Office 365 Developer Patterns and Practices – November 2015 release

$
0
0

Office 365 Developer Patterns and Practices (PnP) November 2015 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 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 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 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.

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.

Some key statistics around PnP program from November 2015 release

Main resources around PnP program

November 2015 monthly community call

Agenda for the Tuesday 10th of November community call (Download ics invite from http://aka.ms/OfficeDevPnPCall):

  • Summary on the November release and other updates in program - Vesa Juvonen ~30 min
  • PnP Partner Pack - Demo and Q&A on capabilities - Paolo Pialorsi ~30 min

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 3.400 members in this group with lively discussions on different add-in model related topics. This is the most active developer group in the Office 365 Technical network and we are definitely proud and thankful of this.


New PnP Weekly Web Cast

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.

Introducing PnP Partner Pack

During past month we worked on new PnP Partner Pack, which is new packaged reference solution around main topics from the PnP guidance. PnP Partner Pack demonstrates main topics, which are commonly used within mid-sized and enterprise deployments around Office 365 and SharePoint online. Here's list of key functionalities demonstrated in the PnP Partner Pack.

  • Self service site collection provisioning with remote provisioning pattern
  • Sub site provisioning using remote provisioning pattern
  • "Save site as a provisioning template" capability to store any existing site as a available template in specific site collection or as tenant level template
  • My site collections personal view
  • Responsive user interface for SharePoint sites without introducing custom master page
  • Custom NavBar and Footer for Site Collections with JavaScript object model
  • Sample remote timer jobs (implemented as WebJobs) for Governance rules enforcement
  • Uses Office UI fabric for provider hosted app user interface elements
  • Deployed as Office 365 App with app-only permissions

We have also recorded specific weekly web cast for PnP Partner Pack introduction, so please check following blog post for additional details

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 chanages 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, Office 365, Unified API etc. samples
  • PnP-Guidance - Guidance, presentations and articles which are partly sync'd to MSDN
  • PnP-Sites-Core - Office Dev PnP Core component
  • PnP-PowerShell - Office Dev PnP PowerShell Cmdlets
  • PnP-Office-Addins - Office Add-in samples and models
  • 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. Some tools coming also soon.

Latest changes

Provisioning Engine

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

  • Improved and updated delta handling
  • Overall quality and performance improvements
  • Improved on-premises support with CSOM version detection
  • Added support for lookup fields whcih isn't site column
  • Bug fixes on the publishing feature handling
  • Bug fixes on content type handling
  • Bug fixes on list instance handling
  • Bug fixes on workflow extraction
  • Updated system templates for delta detection

PnP library

  • PnP Core: Lots of re-factoring done to improve code quality and completeness:
    • provisioning engine updates (see above)
    • Added support for X.509 Certificate authentication in TimerJob
    • Permission handling optimization
    • Improvements on UserCustomAction handling extensions
    • Implement ToXML method for a template
    • Removal of deprecated methods
    • Build and test automation improvements
    • Both PnP Core Nuget packages (cloud and on-premises) have been also updated accordingly.
  • New sample Core.ListViewThreshold.JSOMAndREST demonstrates how to retrieve more items than treshold limit with JSOM and REST.
  • Updated component Core.TaxonomyPicker to with better suggestion capability and overall technical implementation.
  • Significant updates to Solution Provisioning.UX.App with new capabilities.
  • Updated PnP-PowerShell Commands with new CommandLets and with few fixes
    • Overall quality improvements
    • New-SPOProvisioningTemplateFromFolder CmdLet added
    • Updated Get-ProvisioningTemplate CmdLet
    • Added Samples folder with initial samples
    • Updated documentation for CmdLets
    • Updated unit tests for cmdlet's

PnP Guidance articles

The PnP Guidance repository has been setup for working on articles. Part of these articles are already available on MSDN and more will follow. Everyone can contribute or update these articles via updating them in GitHub and the changes will flow back to MSDN once the synchronization setup has been completed. During this month we did some general updates on the articles, but there's no actual new guidance published. You can easily find the relevant guidance for you using our search tool at dev.office.com.

There's already a significant amount of articles that has been added to the PnP MSDN section at http://aka.ms/OfficeDevPnPMSDN

PnP Guidance videos

We did not release any new specific guidance videos, except he 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 November 2015 release

Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories. It's great to see familiar names and also new people joining on the the community effort and assisting others. We are looking forward to continue working with such a talent and hope to get more additional people involved on this joint effort to help the community in the transition towards Office 365 and SharePoint add-in model/app model techniques.

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

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 repositories. It's great to see the growing contribution numbers and for example how our punch card looks like, since it proofs that this is truly a global effort with contributions 24/7.

Contributions at PnP repository



Traffic at PnP repository



Punch Card from PnP repository

Only 4 spots missing.

  

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

  • November monthly community call is on 10th of November for latest release details - Download invite from http://aka.ms/OfficeDevPnPCall.
  • Following master merge will happen on 4th of December and December community call is on 8th of December

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft

Office Dev PnP Web Cast – JavaScript development patterns with SharePoint

$
0
0

In this PnP Web Cast we concentrated on the JavaScript development models with SharePoint sites. There are many scenarios in the typical deployments with SharePoint add-in model where you'd take advantage of JavaScript development patterns. This applies also to models where you do not create specific SharePoint app/add-in, you rather embed your JavaScript to normal SharePoint sites by using different models.

This is extremely powerful pattern for modifying the UI elements or for embedding new capabilities to the UI without a need to actually deploy SharePoint add-ins to the site.  Notice that to be able to take advantage of the so called JavaScript Embed pattern, you will need to have full permission to the site to which customizations will be applied to. This means that covered model is not available for typical SharePoint add-ins in the SharePoint store.

Patrick is Senior Consultant from Microsoft and Office 365 Dev PnP Core team member. During the video Patrick is demonstrating how to efficiently develop, debug, deploy and update JavaScript customizations deployed to your SharePoint deployment. You can find used code sample from the PnP library named as Core.JavaScript.LoaderPattern.

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


Video at PnP Channel 9.

Additional resources

See following PnP videos for covering JavaScript embedding pattern.

See following samples from the PnP library for additional reference around the covered topics.

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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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 our GitHub project 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

Connect() 2015 Office Extensibility News

$
0
0
Our primary news today was the general availability of Microsoft Graph, the unified endpoint to reach all Office 365 workloads for data and insights, located at https://graph.microsoft.com. However, we have many more extensibility features that were released in general availability and preview. Here is a rundown of the features that are now available to developers to get started building today.


New APIs

OneNote API

OneNote has a rich API for working with OneNote notebooks, and taking advantage of high value services such as OCR, PDF rendering, and business card and product recognition. This API is now generally available as a converged service for consumer and work and school accounts. The OneNote API now additionally has full support for working with notebooks contained in Office 365 groups. Watch Vijay Sharm walk through the OneNote API on Channel 9.

OneDrive API

Today we are happy to announce the general availability of the OneDrive API to access files stored in OneDrive for Business. This means that developers can now use the OneDrive API or the Microsoft Graph to access files stored both within the OneDrive consumer service and OneDrive for Business. The OneDrive API is the next generation of what was previously called the “Files” API in Office 365 and SharePoint and the next generation of the Live Connect API which was used for OneDrive Consumer. With this announcement, some of the OneDrive API's most recently announced features including support for thumbnails, search, large file upload, sync changes and permissions are now available for OneDrive for Business files.

We have also recently released a set of new developer tools including SDKs for iOS, .NET and Universal Windows apps, Python, and Android. In addition to being able to import and export a file to OneDrive consumer and OneDrive for Business on Android, iOS, and Windows - you can now do the same for web apps using the JavaScript Picker SDK, which is now in preview.

Developer tools and documentation can be found on the new OneDrive developer portal at https://dev.onedrive.com/

People API

Utilize the rich people knowledge within Office365, with the new People API exposed via Microsoft Graph. The People API enables users to efficiently search for and browse through the people who matter most to. In addition, it supports fuzzy matching for spelling mistakes and topic context which allows the user to search for people by topics they have discussed in previous communications within Office365. Watch Mariana Stepp explain the new People API on Channel 9.

Tasks API

We are releasing the public preview of the Office 365 Tasks API as part of a larger wave of new developer experiences announced at Connect(). This API will enable you to create tasks in Office 365 and assign them to people in your team. Since we launched the new Office 365 APIs more than a year ago, we have always heard from the community that they needed an API for tasks to build richer and more complete Office 365 solutions. Today, we provide you with such an API that you can try building these experiences on. Watch Sean Li explain the new Task API on Channel 9.

Excel REST API

The Excel REST API is still being deployed, and may not yet be available for all Office 365 customers. New Excel REST APIs allow web and mobile apps to access and manipulate content stored in Excel file. These APIs will be made available through Microsoft Graph and uses OneDrive API to address a workbook stored in OneDrive/SharePoint. We’ve added APIs for a variety of functionality related to named items, worksheets, ranges, formatting, tables, and charts.  Watch Sudhi Ramamurthy explain the new Excel REST APIs on Channel 9,

Connectors

Office 365 Connectors are a great way to get useful information and content into your Office 365 Group.  Users can configure them and developers can build against them through incoming webhooks to generate rich connector cards.  There is also a new “Connect to Office 365” button, which developers can embed on their site and enable users to connect to Office 365 groups.  Try them today as part of our developer preview! Watch Naveen Chand explain the Office 365 Connectors on Channel 9.

Outlook API V2.0

We are announcing general availability of Outlook REST API V2.0 with support for Webhooks, user/group/contact photo, search across entire mailbox, rich calendar event reminder functionality, and improved calendar time zone support. We have also introduced multiple new features in preview – people APIs, message sync, batching support, and Office 365 Data Extensions to extend Outlook items with custom properties. The API can be used for both Office 365 users and Outlook.com users upgraded to Office 365. See http://dev.outlook.com for getting started and developer resources. Watch Shreedevi Padmasini explain the Outlook REST API v2.0 on Channel 9.

Office UI Fabric

Office UI Fabric is a responsive, mobile-first, front-end framework for developers, designed to make it easy to quickly create web experiences using the Office Design Language. It’s simple and familiar to get up and running with Office UI Fabric—whether you’re creating a new add-in from scratch or adding new features to an existing one. 

With Office UI Fabric you can apply simple CSS styles to make your web applications look and feel like the rest of Office. The styling takes into account typography, color, icons, animations, responsive grid layouts and localization. 

Along with styling, there are reusable components such as input, layout, navigation and content (persona card, list item and table views).  Watch Humberto Lezama Guadarrama explain Office UI Fabric on Channel 9.

New Add-in Capabilities

New JavaScript APIs for Word Add-ins

  We’ve added new Word-specific JavaScript APIs to enable the creation of advanced and feature-rich solutions for a variety of functionality. Feature highlights include: inserting formatted text, html, ooxml (Office Open XML) on the current selection, as well as the ability iterate through all of the paragraphs in the document, edit the header/footer, work with content controls and change their properties, and insert text before/after the current selection.  Watch Juan Balmori Labra explain the new JavaScript APIs for Word add-ins on Channel 9.

New JavaScript APIs for Excel Add-ins

We’ve added new Excel APIs to enable the creation of advanced and feature-rich solutions for a variety of functionality related to named items, worksheets, ranges, formatting, tables, and charts.  Watch Yu Liu explain the new JavaScript APIs for Excel add-ins on Channel 9.

Add-in Commands

Add-In commands enable Office add-ins (previously known as Apps for Office) to extend the Office user interface. Developers declare UI extensions within the add-in’s manifest and when the add-in is installed, Office reads that manifest and populates the UI accordingly.

UI hooks supported are new Ribbon tabs, new groups on existing Ribbon tabs and the TextSelected or CellSelected context (right-click) menu. When the command is clicked, the add-in can show a task pane or simply run JavaScript code without any additional UI.  Watch Humberto Lezama Guadarrama explain the add-in commands on Channel 9.

Office Store

Office365 App Store integration gives visibility to the new Microsoft Office Store for Office365 apps from within the Office365 app launcher, with a tile that links to the new experience and encourages users to acquire useful apps and add-ins that integrate with Microsoft Office365. 
  
Developer responses enable developers (and other users) to leave responses to reviews left on the Office Store (store.office.com). This provides a channel of communication in which developers can help troubleshoot, and communicate with their users 

Org ID acquisitions for add-ins allow acquisition of add-ins with org ID. This was previously only available for MSA. 

365 Storefront – Admin acquirable apps allow admins to acquire apps which have admin consent. Apps acquired this way is acquired for the entire tenant, and is available on a user’s “My Apps” page.  

365 Storefront – SAML app support allows SAML apps to be submitted to the Store (previously only Oauth).  

Get started today

Right now is an incredibly exciting time with a huge opportunity for developers to reach the 1.2 billion Office users worldwide, while helping shape the future of work. Our goal is to make it possible for developers to tap into the power and data across Office to build transformative experiences that enhance productivity and deliver greater impact for users. As part of the announcements and release today, we have many, many more Office extensibility features. Go check them out here.

Sign up—Visit the dev.office.com and click the Sign Up button to join a vibrant and growing community of developers building solutions for Office 365.

Get started—Visit dev.office.com/getting-started to get started with Office development

 

Office Dev PnP Web Cast – Branding SharePoint using add-in model techniques

$
0
0

In this PnP Web Cast we concentrated on covering different recommendations around applying custom branding to SharePoint sites using add-in/app model techniques. This is relatively classic discussion and we have been covering this in the PnP guidance and in seminar presentations numerous times during past year(s).

Presentation covers the different recommendations and options for using custom branding in SharePoint sites at Office 365 or in on-premises. One of the most controversial recommendations is around on custom master page usage, which is absolutely supported, but should not be considered as the default option when custom branding is needed. This is one of the key discussion topics in the video with background reasoning. Key point is to understand options what you can use, including short and long term impact of the chosen model.


Video at PnP Channel 9.

This topic is also covered in module 3 of PnP transformation training titled as "Controlling branding in SharePoint using add-in model".

Video demonstrates two different code samples from the PnP sample gallery, which demonstrate different aspects on applying custom branding to SharePoint sites using add-in/app model techniques.

  • Branding.Themes - Setting a SharePoint theme to SharePoint sites using add-in model techniques
  • Branding.InjectResponsiveCSS - How to update SharePoint sites to be responsive without a need to modify the master page. Notice that like mentioned during the video, there's more polished version of the responsive css available at the PnP Partner Pack, which you can also use at your deployments.

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

Additional resources

See following PnP videos for covering branding with add-in model topics.

See following samples from the PnP library for additional reference 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 cover 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 our GitHub project 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


Office Dev PnP Web Cast – Asynchronous operations with Office 365 using Azure WebJobs

$
0
0

In this PnP Web Cast we concentrated on asynchronous operation pattern with Office 365 using Azure WebJobs. This is really powerful pattern for performing scheduled and on-demand operations, which is commonly needed for long lasting operations. Pattern is taking advantage of continuously running Azure WebJob model with communications using Azure storage queues.

Typical use cases for asynchronous operations would be for example following:

  • Long running AppInstalled events
  • Long running remote event receiver events
  • Site collection or site provisioning
  • Long running integration scenarios for example to on-premises
  • Governance tasks towards sites and other Office 365 content


Video at PnP Channel 9.

During the web cast we demonstrated the process with simplistic sample from the PnP sample gallery called Core.QueueWebJobUsage. This sample concentrates on showing the actual pattern without any additional complexity.

Notice. Key reason for using the asynchronous pattern is simply time out handling either in SharePoint or in Azure web sites. Good example of this challenge is for example site collection provisioning which you cannot execute in the process of Azure web site, since Azure web site has 60 second time out for the process execution. This means that you'll need to offload the business logic execution to back end process which could be for example a Azure WebJob. 

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

Additional resources

See following PnP videos for covering branding with add-in model topics.

See following samples from the PnP library for additional reference around the covered topics.

See following references for additional details around Azure WebJobs

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

Office 365 Developer Patterns and Practices (PnP) web cast series cover 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 our GitHub project 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

PowerApp Your Office and SharePoint Mobile Solutions

$
0
0

by Rob Lefferts, on November 30, 2015

Across Office, Office 365 and SharePoint, we are incredibly excited about people being productive. This fuels not only our passion to reinvent productivity, but also our vision to empower customers and partners to easily create their own custom solutions. This is the core of extensibility across everything in the Office family --- it is not just a set of tools for productivity, it is also a platform for you to reimagine the way the world should work. Whether that comes from custom document templates in Word, workflow and forms driving a custom document approval in SharePoint, Add-Ins powering integration between a spreadsheet and an inventory system, or a purpose-built mobile app that an HR recruiting department uses to vet candidates. All of these solutions can be super-charged by taking advantage of the broad capabilities of Office and SharePoint.

We see a broad range of solutions builders working with a broad range of tools to deliver solutions that leverage the Office platform. Across Office and SharePoint, this include roughly 3 million professional developers working as consultants, independent software vendors, solution integrators and within numerous corporate IT departments. Those developers use our native tools, open source frameworks, mobile SDKs, Visual Studio, and work in a wide array of programming languages and platforms. Our partner developer ecosystem adds a variety of capabilities for crafting business applications -- from deeper and more flexible custom forms to a wider variety of workflow conditions, actions – both within the SharePoint experience and in mobile applications. We love welcoming new ways to enhance our customer’s investments in SharePoint and Office.


This is exactly why we are excited to see the Microsoft PowerApps tool announcement today, because it opens up the range of solution builders that can work with Office. PowerApps is an enterprise software as a service for innovators everywhere to connect, create, and share business apps on any device. It couples naturally with the vision of Office as a platform and takes advantage of capabilities like mail, calendar, contacts, users, lists, and libraries from across the Office Family: Office 365, SharePoint Online, SharePoint on-premises, Excel and OneDrive. With PowerApps, you can build apps with clicks – not code – and with templates for many common app types to help you get started. It’s no longer a matter of end-users waiting for IT or a professional developer to write the code; they can easily build apps to solve their own problems. Building a solution with PowerApps on top of Office is a simple matter of (a) open the PowerApps tool, (b) connect to an Office/SharePoint data source, (c) customize the UI and (d) start using your great new app.



A mobile solution built using PowerApps showing information from a SharePoint List.
 

Here are a few simple scenarios to show the kind of things that will be possible:

  • Already storing information inside a SharePoint List? For years, users have been taking advantage of the great capabilities of SharePoint Lists to make it easy to define, share and extend data, and over 1 million developers have been using it as a platform for just that reason. One simple example is using it to store a list of images for product device inventory.

    Now imagine that you can easily build the iOS, Android and Windows application that gives you a great, seamless mobile experience customized to just how you want to view those images. Or make it easy for almost any smartphone user to update data, view information across any device, and even add new photos on the go to your list of product ideas. PowerApps makes this possible both against SharePoint Online, running in Office 365, and also against SharePoint running inside your company.

  • Need specific information on the go? Suppose you’ve got a giant set of financial data inside Excel and you would like to surface a targeted mobile experience that highlights a few of the most important pieces of information on the go. This is possible with PowerApps. Again, this is not about replacing the full Excel experience. It's about crafting the best possible experience for the mobile- and cloud-first world – letting you easily access the pieces of information you need for your particular business process, while out and about.

  • Looking to integrate your calendar? What if your sales people need a custom application that connects together a bunch of related content about the customers they’re meeting with? This could include critical information from Office 365, like their Outlook calendar and related documents in SharePoint, as well as your company’s own information about the customers they're meeting with? Again, because PowerApps has built-in connectors for these Office services, this is a very natural and easy scenario.

  • Storing documents in OneDrive and OneDrive for Business? Many key business situations require ready access to documents, whether it’s a PowerPoint deck to drive your sales pitch, a word document to define your legal contract, an Excel document to keep track of financial data, or a OneNote notebook to help you stay on top of a wide variety of notes and items. Because PowerApps easily connect to document libraries from SharePoint, OneDrive and OneDrive for business, it is very easy to build great solutions that easily surface these critical types of content.

If you are a developer using the Office platform, then you already know how to do a bunch of these things, but PowerApps will enable several things that will be great for you.

First, PowerApps allows you to create new business apps very quickly in order to address employee demands. It brings app building with Office to a much, much broader range of users, letting them fix the simple problems themselves, while professional developers focus on the really challenging issues.

Second, PowerApps builds on your existing investments by helping you connect to rich business data from a variety of sources – including Office and other popular cloud services.

Third, PowerApps provides secure management and sharing of apps consistent with your company IT policies, so you don’t have to worry about chasing down rogue applications or who has access to the information.

And finally, PowerApps offers lots of great integration points for developers to introduce new data and experiences. If you have been developing with Office and SharePoint for a while, you might naturally ask the question whether this intended as a replacement for InfoPath or SharePoint Designer. It’s a fair question, but the short answer is “no.” All of these tools are designed to help end users craft solutions, but PowerApps is really a fresh take on the problem of solution-building in a modern, cloud and mobile world. As such, we think you’ll be delighted with its natural and intuitive design experience, its real strength of building gorgeous mobile experiences, and its powerful connection to a variety of cloud services.

It will be great to see all the things that users can create against Office and SharePoint with PowerApps. It is part of our vision to support the widest possible range of users, developers and tools to create custom, compelling, fantastic solutions that take advantage of Office data, capabilities and experiences. It is also a roadmap for future investment --- over time you will see the Office family and PowerApps continue to work together to build more and more ways to unleash your imagination and vision for productivity.

For more resources check out the Channel 9 PowerApps page with all of the developer resources you will need to get started today.

Office Store add-in validation changes and info about using MicrosoftAjax.js

$
0
0
Attention all add-in developers, especially add-in developers that have already submitted Office add-ins to the Office Store. We’re announcing some changes that will happen in the future, and a couple that have already happened, that you need to know.

First, the Office Store no longer accepts add-ins that use the 1.0 version of the manifest. This change went into effect on November 18th, 2015. Most tools and examples no longer use the 1.0 manifest format so for the most part, all new submissions should pass validation when you submit the add-in to the store.

If you update an existing add-in posted in the Office Store, it must use the 1.1 manifest format and the 1 or 1.1 reference to office.js or else it will fail validation. This means the update will be rejected, but the existing add-in will remain in the store.

Starting in February 2016, existing Office Store add-ins that use the 1.0 manifest format will not be ranked as well on the Office Store home page and search rankings as the same add-in that uses the 1.1 manifest format.

If you are using Visual Studio 2013 to develop Office add-ins, then please ensure that you have the latest Microsoft Office Developer Tools updates installed. You can download the latest updates in Visual Studio 2013 by going to Tools -> Extensions and Updates -> Updates. If you are using Visual Studio 2015 to develop Office add-ins, the default Visual Studio 2015 installation comes with the Microsoft Office Developer Tools. If you customized your install, you can separately download the Microsoft Office Developer Tools.

Another change that has happened is that the Office Store will no longer accept add-ins that reference the office.js 1.0 resource. All new add-in submissions should use the https://appsforoffice.microsoft.com/lib/1/hosted/office.js resource. Most samples and tools have been updated to use the new resource so for most of you starting off, your add-in should be fine. You may have seen examples that reference the /1.1/ resource, https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js. That’s fine for now but from now on, you should use the /1/ resource.

Are you using MicrosoftAjax.js (http://ajax.microsoft.com/ajax/4.0/1/MicrosoftAjax.js) in your add-in? As of the posting date of this blog post, office.js automatically loads MicrosoftAjax.js. MicrosoftAjax.js adds latency to app load times that may affect the add-in user experience. We’ve decided to remove MicrosoftAjax.js from the office.js loader since many add-ins don’t make use of it. The /1/ and /1.1/ office.js libraries will no longer load MicrosoftAjax.js starting in January 2016. In the meantime, you should update your add-in to manually add references to MicrosoftAjax.js if you are using it. If you’re unsure of whether your add-in is using it, we created a temporary resource at https://appsforoffice.microsoft.com/lib/1-nomsajax/hosted/office.js that doesn’t load MicrosoftAjax.js. We expect that this resource will be available starting December 10th, 2016. Use this resource to test your add-in to see whether it is using MicrosoftAjax.js.


Michael Mainer, Senior Content Publisher, Microsoft

Office Dev PnP Web Cast – JavaScript performance considerations with SharePoint

$
0
0

In this PnP Web Cast we concentrated on the JavaScript development performance considerations with SharePoint sites. There are many scenarios in the typical deployments with SharePoint add-in model where you'd take advantage of JavaScript development patterns and it's important that you ensure that your code is performing properly also from performance perspective. This is follow up on the JavaScript development patterns with SharePoint web cast few weeks back.

As part of the app / add-in model development practices you will be moving your customization logic from the server side to client side technologies. In similar ways as with the server side implementations, you will need to consider performance of your implementations in client side technologies.

Patrick is Senior Consultant from Microsoft Services and Office 365 Dev PnP Core team member. During the video Patrick is demonstrating how to write JavaScript based customization efficiently and what to consider from performance perspective. You can find used code sample from the PnP library named as Core.JavaScript. This solution is consolidated set of JavaScript examples for use in your SharePoint projects targeted for Office 365 or on-premises. Target is to continue extending this as the "PnP Core library" for JavaScript based implementations and you can take advantage of the provided JavaScript libraries in your customizations.

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


Video at PnP Channel 9.

Additional resources

See following PnP videos for covering JavaScript embedding pattern.

See following guidance articles from the PnP library for additional reference around the covered topics.

See following samples from the PnP library for additional reference around the covered topics.

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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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 our GitHub project 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

Office 365 Developer Patterns and Practices – December 2015 release

$
0
0

Office 365 Developer Patterns and Practices (PnP) December 2015 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 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 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 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 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.

Some key statistics around PnP program from December2015 release

Main resources around PnP program

December 2015 monthly community call

Agenda for the Tuesday 8th of December at 8 AM PST community call (Download ics invite from http://aka.ms/OfficeDevPnPCall):

  • Summary on the December release and other updates in program - Vesa Juvonen ~30 min
  • Demo - Core.JavaScript - Patrick Rodgers ~15 min
  • General Q&A and feedback discussion ~15 min

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 3.500 members in this group with lively discussions on different add-in model related topics. This is the most active developer group in the Office 365 Technical network and we are definitely proud and thankful of this.


New PnP Weekly Web Cast

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.

Introducing PnP Tools repository

We have now also released a new repository called PnP-Tools which is targeted more for IT Pro's and architects looking for scrips, tools or other solutions supporting administration of SharePoint on-premises and Office 365 in general. This is brand new location and the work has just started, but we are looking for contributors on this side as well.

IT Pro and administration targeted work will be coordinated by Neil Hodgkinson. Right now repository contains scripts for hybrid search configuration and some tooling for the SharePoint 2016 user profile migration side. We are planning to grow this area significantly for helping to evolve the commonly used scripts and to provide easy location for the community to share their learnings also on this side.

New in PnP Tools

  • New solution UserProfile.MIMSync provides a set of powershell commandlets to set-up Microsoft Identity Manager sync engine with SharePoint and to kick off sync on-demand.
  • New script SharePoint.Hybrid.Configuration for use in configuring an outbound search hybrid experience between SharePoint 2013 Server and SharePoint Online. In preliminary testing this also works with TAP builds of SharePoint 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 chanages 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, Office 365, Unified API etc. samples
  • PnP-Guidance - Guidance, presentations and articles which are partly sync'd to MSDN
  • PnP-Sites-Core - Office Dev PnP Core component
  • PnP-PowerShell - Office Dev PnP PowerShell Cmdlets
  • PnP-Tools - New repository for tools and scripts around SharePoint and Office 365
  • PnP-Office-Addins - Office Add-in samples and models
  • 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. Some tools coming also soon.

Latest changes

Provisioning Engine

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

  • Overall quality and performance improvements
  • Improved on-premises support with CSOM version detection
  • Improved sub site handling logic
  • Fixes to item level security handling
  • Token handling improvements
  • General bug fixes cross the engine
  • Updated base templates for delta handling

We are looking into implementing more significant update for the engine with new capabilities for the January 2016 release. Target is to support fully new provisioning schema version, which is currently under review by the community.

PnP library

We have done general cleaning in the repository related on Nuget package updates and also removed some samples, which are no longer releavant. 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)
    • General bug fixing and quality improvements
    • Improved theme / composed looks handling
    • Improvements in user custom action handling
    • Removal of deprecated methods
    • Build and test automation improvements
    • Both PnP Core Nuget packages (cloud and on-premises) have been also updated accordingly.
  • New sample Core.JavaScript is a consolidated set of JavaScript examples for use in your SharePoint/Patterns and Practices projects.
  • Updated PnP-PowerShell Commands with new CommandLets and with few fixes
    • Overall quality improvements
    • Updated Add-SPOFfile CmdLet
    • Updated Set-SPOMasterPage CmdLet
    • Added Samples folder with initial samples - More is welcome
    • Updated documentation for CmdLets
  • Updates to the PnP Partner Pack
    • Code changes
    • Improved documentation based on community input

PnP Guidance articles

The PnP Guidance repository has been setup for working on articles. Part of these articles are already available on MSDN and more will follow. Everyone can contribute or update these articles via updating them in GitHub and the changes will flow back to MSDN once the synchronization setup has been completed. During this month we did some general updates on the articles, but there's no actual new guidance published. You can easily find the relevant guidance for you using our search tool at dev.office.com.

There's already a significant amount of articles that has been added to the PnP MSDN section at http://aka.ms/OfficeDevPnPMSDN

PnP Guidance videos

We did release one new guidance video 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 December 2015 release

Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories. It's great to see familiar names and also new people joining on the the community effort and assisting others. We are looking forward to continue working with such a talent and hope to get more additional people involved on this joint effort to help the community in the transition towards Office 365 and SharePoint add-in model/app model techniques.

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

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

  • Antons Mislevics (Microsoft)
  • Bert Jansen (Microsoft) - @O365Bert
  • Brian Michely (Microsoft) - @brianmichely
  • Gaurav Doshi (Microsoft)
  • Dan Budimir (Microsoft) - MSDN blog
  • Frank Marasco (Microsoft) - @frank_marasco
  • Gaurav Doshi (Microsoft)
  • Jeremy Thake (Microsoft) - @jthake
  • Kiki Shuxteau (Microsoft)
  • Patrick Rodgers (Microsoft)
  • Ron Tielke (Microsoft)
  • Sami Nieminen (Microsoft)
  • Steve Walker (Microsoft) - @sharepointing
  • Vesa Juvonen (Microsoft) - @vesajuvonen

Latest statistics

Here's some statistics from the PnP, PnP PowerShell and PnP Sites Core repositories. It's great to see the growing contribution numbers and for example how our punch card looks like, since it proofs that this is truly a global effort with contributions 24/7.

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

  • December monthly community call is on 8th of December for latest release details - Download invite from http://aka.ms/OfficeDevPnPCall.
  • Following master merge will happen on 8th of January 2016 and January community call is on 12th of January 2016.

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft

Office Store Update: We’re streamlining Office developer registration on Seller Dashboard

$
0
0


In an effort to streamline and enhance developer experiences, the Seller Dashboard registration experience will be switching to use the common Microsoft Dev Center registration process. For a one-time $99 fee, your registration will now entitle you to submit apps/add-ins to the Office Store, the Windows Store or Azure Store.

New Office Store developers will register and submit Office apps/add-ins at the Seller Dashboard. Once registration is complete, they’ll also be able to submit apps to the Windows Store or Azure Marketplace.

Existing Office Store developers will see their account automatically upgraded. You’ll still submit Office apps/add-ins to the Seller Dashboard, but now will be able to submit apps to the Windows Store or Azure Marketplace.

For all groups, any profile updates on or after December 7th should be made on the new DevCenter site.

Please contact us if you have any questions.

Thank you,

Your Office Store Team

Combining Office store add-ins with high trust permissions now supported

$
0
0

One of the key challenges for providing enterprise scale provider hosted add-ins in the Microsoft Office Store has been lack of supporting full trust operations for any add-ins which are available from the store. This is common challenge for many ISVs and add-in providers, which have been asking to address this numerous times.

Challenge of providing full trust operations through the Microsoft Office Store would be unclear responsibilities related on the granted permissions and the used customizations. Due this limitation some ISVs and add-in providers have chosen not to use the Microsoft Office Store as the distribution channel, which has meant challenges on reaching out for the potential customers and challenges for customers on finding needed solutions for their deployment.

To address this challenge, the store policies have been adjusted slightly, which will enable ISVs and add-in providers to take advantage of the Microsoft Office Store as the main distribution and contact channel for new customers.

We will not support add-ins which require full trust permissions directly from the store, but you are allowed to add add-ins to store, which are dependent on manually deployed SharePoint add-ins installed on the Office 365 tenant by the tenant administrators. Store add-ins which require separate full add-in to be installed on the used tenant, will have roughly following description in the store, which also warns about the security impact of this model:

This SharePoint add-in works in conjunction with another add-in, which is only available from the provider. This requires installation on your environment outside of the Microsoft Office Store processes due the level of required permissions. A tenant administrator will need to deploy this specific add-in to the tenant manually, so that it can be installed to your environment. When apps are installed outside of the Microsoft Office Store, they may bypass any, and all, safety and security checks provided by Microsoft.

If you have not done so already, it is recommended that you establish contact with the provider before proceeding with installation.  Consider trying this add-in on a separate SharePoint Tenancy before installing it on your primary SharePoint site(s).


I’ve been able to do this before for add-ins which are not in the store, so what’s actually new?” – What’s new is that we are changing the store policies to also allow add-ins which have dependency for the manually installed high permission add-ins. This way you can use store as the connection channel between customers and ISVs. With this change, customers can find different ISVs or add-in providers more easily and it also provides easier connection channel for ISVs and add-in providers for exposing also high permission add-ins for the customers.

Logical model for full trust operations with store add-ins

Following picture explains the model more detailed.

  1. We will continue supporting similar add-ins as previously in the store side. These cannot request full trust permissions from the SharePoint sites. Add-ins can however have now dependency on second add-in or configurations performed outside of the store context.
  2. Customer will contact the add-in provider for requesting the high permission add-in to be installed. ISV or add-in provider will work directly with the customer on getting the high permission add-in installed with the needed permissions to the specific tenant(s).
  3. Add-ins installed from the store will delegate or bypass needed high trust operation requests for the high trust add-ins which will use the different client IDs and secret for needed operations.

Sample solution design with full trust operations

Here’s a sample scenario with high level logical design for the add-in model implementation. In this case we use the business case of providing self-service site collection creation capability for Office 365. There are multiple different ways to delegate the requests from the store add-in to high trusted add-in.

In this case we are using Azure Storage Queue and WebJobs to perform loosely coupled communications between store add-in and high permission add-in. More details on this pattern can be found from specific Office 365 Developer Patterns and Practices (PnP) Web Cast called “Asynchronous operations with Office 365 using Azure WebJobs”.

  1. Add-in is installed from the store to SharePoint site with normal permissions supported at the Microsoft Office Store
  2. Add-in from the store is providing needed UI for requesting the new site collection with specific template and branding
  3. Request for the new site collection is added by the store add-in to Azure Storage Queue for processing.
  4. Continuously running Azure WebJob is automatically executed when the message is added to Azure Storage Queue. Azure WebJob working as backend service will use full trust permissions granted manually for the tenant to perform needed actions. In this particular case Azure WebJob will provision new site collection and applies needed branding and customizations to it using remote provisioning pattern.
  5. New site collection with needed branding and customizations is available for end users. Emails are sent for the end users based on the information received with the original request related on just created site collection.

Can this be done with SharePoint hosted add-ins?

We do recommend implementing these kind of add-ins using provider hosted add-in model. Key challenge with using SharePoint hosted add-ins would be securing the communications from the store add-in to full permission add-in.

 


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft


Introducing Office 2016 Add-in commands Preview for Word and Excel

$
0
0
Today we are excited to announce the preview release of add-in commands for Word 2016, Excel 2016 and Excel Online. (Add-in commands were made available for Outlook earlier this year). Add-in commands will also be available for PowerPoint next year. We would love for you to try the feature and give us your feedback!

You can use add-in commands in your Office Web Add-ins to extend the Office UI. For example, you can add buttons for your add-ins on the ribbon or on selected contextual menus. We recommend that you watch this Channel9 video for a deeper overview of the feature. When added to the UI, add-in commands look and feel pretty much like native Office UI, according to the version of Office where they are running. Pretty cool, huh? This allows you to create add-ins that are easily accessible and efficient to use.


Figure 1. Add-in with commands running in Excel Desktop


Figure 2. Same add-in but loaded in Excel Online

Defining commands is easy. All you have to do is declare your commands in your add-in manifest and our platform takes care of interpreting them into native UI. You also use the manifest to declare what happens when your command is triggered. For example, you can show a task pane or execute JavaScript code that interacts with the document via Office.js.

To get started with the preview, see our samples site on GitHub, which has quick instructions to get you going. We also have documentation on MSDN that explains the preview in detail as well as a complete reference for the add-in manifest with commands.

What are you waiting for? Head to the samples site and try this feature. If you have any feedback or comments, please log them as issues on the GitHub samples site.

~ The Office Extensibility Team

New SharePoint CSOM version released for SharePoint Online

$
0
0

We are happy to announce availability of new SharePoint CSOM version targeted for the Office 365 or more specifically for SharePoint Online. This updated CSOM release contains numerous highly requested new capabilities which will enable new business scenarios and capabilities when you are developing solutions for SharePoint Online. You can find the latest CSOM package for SharePoint online from the NuGet gallery with an id of 'Microsoft.SharePointOnline.CSOM'. We will also update the redistributable package in upcoming weeks, but you can already right now start using some of these new capabilities in your solutions.

Version of the released CSOM package is 16.1.4727.1200. Old version of the NuGet has also 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. We will continue updating the CSOM NuGet package much more frequently in the future to ensure that you get latest capabilities available faster for your custom solutions.



We are also working on getting Office 365 Development Patterns and Practices (PnP) samples and NuGet packges updated with this latest NuGet version. You will see updates on the PnP repositories and in the PnP Core component during upcoming days.

Notice. If you like to operate with SharePoint Online rather using PowerShell, also the SharePoint Online Management Shell has been updated at Microsoft download site to match the 16.0.4727.1200 version.

Key updates with this release

Here's selected list of key updates in this release. Many of these have been requested for a quite a while, so it's great to have the update finally out with some of the most requested capabilities at the SP Dev User Voice. We'll obviously also update the user voice entries accordingly with the latest release.  It's great to

  • User profile bulk update API - for faster updates and synchronization of attributes with SharePoint online and any other system
  • Declare items as records - Exposes in the in-place records management capability for remote usage
  • Configure information rights management settings of the sites and files
  • Read content of the older versions of documents
  • Change tracking APIs exposed from item, folder, site and site collection level
  • Access items in the recycle bin
  • Update request access email for the site related on the access request capability
  • WebPart ZoneId property
  • Document set export and import capability
  • Additional tenant level settings exposed

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. We've included some level of description for some of the mentioned properties where needed.

Notice. some of the capabilities which are already exposed in this CSOM release are not yet available on the server side in your SharePoint Online tenant. This is due the release model used at the SharePoint online. All new capabilities are gradually deployed cross the world in stages. Even if you are using the first release option in your tenant, some of the these capabilities are not yet available, but will be gradually released and distributed cross the world.

Microsoft.SharePoint.Client

There is a one breaking change on this assembly, which can cause some headache for your public method Microsoft.SharePoint.Client.RegionalSettings.GetGlobalTimeZones() is no longer available through CSOM. If you are using this method in your code, you should use the older version of the CSOM and change your code before moving to this newer version.

  • public property Microsoft.SharePoint.Client.ChangeItem.Editor
  • public property Microsoft.SharePoint.Client.ChangeItem.EditorEmailHint
  • public property Microsoft.SharePoint.Client.ChangeItem.ServerRelativeUrl
  • public property Microsoft.SharePoint.Client.ChangeItem.SharedByUser
  • public property Microsoft.SharePoint.Client.ChangeItem.SharedWithUsers
  • public property Microsoft.SharePoint.Client.ChangeQuery.FetchLimit
  • public property Microsoft.SharePoint.Client.ChangeQuery.LatestFirst
  • public property Microsoft.SharePoint.Client.ChangeQuery.RecursiveAll

 

  • public class Microsoft.SharePoint.Client.EffectiveInformationRightsManagementSettings

 

  • public class Microsoft.SharePoint.Client.EncryptionOption

 

  • public method Microsoft.SharePoint.Client.File.GetWOPIFrameUrl
  • public method Microsoft.SharePoint.Client.File.Update
  • public property Microsoft.SharePoint.Client.File.EffectiveInformationRightsManagementSettings
  • public property Microsoft.SharePoint.Client.File.InformationRightsManagementSettings
  • public property Microsoft.SharePoint.Client.File.IrmEnabled
  • public property Microsoft.SharePoint.Client.File.ListId
  • public property Microsoft.SharePoint.Client.File.Properties
  • public property Microsoft.SharePoint.Client.File.SiteId
  • public property Microsoft.SharePoint.Client.File.WebId
  • public property Microsoft.SharePoint.Client.File.VersionEvents

 

  • public method Microsoft.SharePoint.Client.FileVersion.OpenBinaryStream
  • public class Microsoft.SharePoint.Client.FileVersionEvent
  • public class Microsoft.SharePoint.Client.FileVersionEventCollection
  • public enum Microsoft.SharePoint.Client.FileVersionEventType

 

  • public method Microsoft.SharePoint.Client.Folder.GetListItemChanges
  • public property Microsoft.SharePoint.Client.Folder.StorageMetrics

 

  • public class Microsoft.SharePoint.Client.InformationRightsManagementFileSettings
  • public property Microsoft.SharePoint.Client.InformationRightsManagementSettings.TemplateId

 

  • public method Microsoft.SharePoint.Client.List.CreateDocumentWithDefaultName
  • public method Microsoft.SharePoint.Client.List.RenderExtendedListFormData
  • public property Microsoft.SharePoint.Client.List.CurrentChangeToken

 

  • public method Microsoft.SharePoint.Client.ListItem.GetChanges

 

  • public property Microsoft.SharePoint.Client.ObjectSharingInformation.SharingLinks
  • public property Microsoft.SharePoint.Client.ObjectSharingInformationUser.IsMemberOfGroup
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.CanCurrentUserManageOrganizationReadonlyLink
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.CanCurrentUserManageOrganizationReadWriteLink
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.CanCurrentUserRetrieveOrganizationReadonlyLink
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.CanCurrentUserRetrieveOrganizationReadWriteLink
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.RequiredAnonymousLinkExpirationInDays
  • public property Microsoft.SharePoint.Client.ObjectSharingSettings.SharingPermissions

 

  • public property Microsoft.SharePoint.Client.RecycleBinItem.AuthorEmail
  • public property Microsoft.SharePoint.Client.RecycleBinItem.AuthorName
  • public property Microsoft.SharePoint.Client.RecycleBinItem.DeletedByEmail
  • public property Microsoft.SharePoint.Client.RecycleBinItem.DeletedByName
  • public property Microsoft.SharePoint.Client.RecycleBinItem.DeletedDateLocalFormatted

 

  • public method Microsoft.SharePoint.Client.RegionalSettings.GetGlobalTimeZones - REMOVED

 

  • public method Microsoft.SharePoint.Client.RoleDefinitionCollection.RecreateMissingDefaultRoleDefinitions
    • Recreates missing default role definitions. Requires that the SPWeb has unique role definitions.

  • public method Microsoft.SharePoint.Client.ServerSettings.IsSharePointOnline

 

  • public class Microsoft.SharePoint.Client.SharedWithUser
  • public class Microsoft.SharePoint.Client.SharedWithUserCollection
  • public class Microsoft.SharePoint.Client.SharingLinkInfo
  • public class Microsoft.SharePoint.Client.SharingPermissionInformation
  • public class Microsoft.SharePoint.Client.SharingPermissionInformationCollection
  • public enum Microsoft.SharePoint.Client.SharingLinkKind
  • public enum Microsoft.SharePoint.Client.SharingPermissionKind

 

  • public method Microsoft.SharePoint.Client.Site.CreateMigrationJobEncrypted
  • public method Microsoft.SharePoint.Client.Site.GetMigrationStatus
  • public method Microsoft.SharePoint.Client.Site.GetRecycleBinItems
  • public property Microsoft.SharePoint.Client.Site.CurrentChangeToken
  • public property Microsoft.SharePoint.Client.Site.DisableCompanyWideSharingLinks

 

  • public enum Microsoft.SharePoint.Client.SpecialFolderType
  • public enum Microsoft.SharePoint.Client.SPEffectiveInformationRightsManagementSettingsSource

 

  • public class Microsoft.SharePoint.Client.SPMigrationJobStatus
  • public class Microsoft.SharePoint.Client.SPMigrationJobStatusCollection

 

  • public class Microsoft.SharePoint.Client.StorageMetrics

 

  • public method Microsoft.SharePoint.Client.Web.CreateOrganizationSharingLink
  • public method Microsoft.SharePoint.Client.Web.DefaultDocumentLibrary
  • public method Microsoft.SharePoint.Client.Web.DestroyOrganizationSharingLink
  • public method Microsoft.SharePoint.Client.Web.GetFileByGuestUrl
  • public method Microsoft.SharePoint.Client.Web.GetFileByUrl
  • public method Microsoft.SharePoint.Client.Web.GetFileByWOPIFrameUrl
  • public method Microsoft.SharePoint.Client.Web.GetRecycleBinItems
  • public property Microsoft.SharePoint.Client.Web.CurrentChangeToken
    • Gets the current change token that is implemented in a query against the change log through the GetChanges method.
  • public property Microsoft.SharePoint.Client.Web.NoCrawl
    • Gets or sets a Boolean value that specifies whether searching is enabled for the site
  • public property Microsoft.SharePoint.Client.Web.RequestAccessEmail
    •  Gets or sets the e-mail address to which requests for access are sent. A string that contains the e-mail address to which requests for access are sent.

 

  • public property Microsoft.SharePoint.Client.WebParts.WebPartDefinition.ZoneId

Microsoft.Online.SharePoint.Client.Tenant

  • public property Microsoft.Online.SharePoint.TenantAdministration.SiteProperties.DisableCompanyWideSharingLinks
  • public property Microsoft.Online.SharePoint.TenantAdministration.SiteProperties.StorageQuotaType

 

  • public enum Microsoft.Online.SharePoint.TenantAdministration.CompanyWideSharingLinksPolicy
  • public property Microsoft.Online.SharePoint.TenantAdministration.SiteProperties.DisableCompanyWideSharingLinks

 

  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.BccExternalSharingInvitations
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.BccExternalSharingInvitationsList
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.BlockMacSync
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.ExcludedFileExtensionsForSyncClient
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.LegacyAuthProtocolsEnabled
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OfficeClientADALDisabled
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OneDriveForGuestsEnabled
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.OneDriveStorageQuota
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.ProvisionSharedWithEveryoneFolder
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.RequireAcceptingAccountMatchInvitedAccount
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.RequireAnonymousLinksExpireInDays
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.SearchResolveExactEmailOrUPN
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.SharingAllowedDomainList
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.SharingBlockedDomainList
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.SharingDomainRestrictionMode
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.ShowEveryoneExceptExternalUsersClaim
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.SignInAccelerationDomain
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.UsePersistentCookiesForExplorerView
  • public property Microsoft.Online.SharePoint.TenantAdministration.Tenant.UserVoiceForFeedbackEnabled

 

  • public enum Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesJobError
  • public class Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesJobInfo
  • public class Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesJobInfoPropertyNames
  • public enum Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesJobState
  • public class Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesJobStatusCollection
  • public enum Microsoft.Online.SharePoint.TenantManagement.ImportProfilePropertiesUserIdType

 

  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.DeleteImportProfilePropertiesJob
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.DisableSharingForNonOwnersOfSite
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.GetImportProfilePropertyJob
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.GetImportProfilePropertyJobs
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.IsSharingDisabledForNonOwnersOfSite
  • public method Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.QueueImportProfileProperties

 

  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.BccExternalSharingInvitations
    • Gets a value which specifies if BCC functionality is enabled for external invitations.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.BccExternalSharingInvitationsList
    • Gets a list of recipients to be BCC'ed on all external sharing invitations.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.BlockMacSync
    • Get/Set whether Mac clients should be blocked from sync
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.ExcludedFileExtensionsForSyncClient
    • Get/Set sync client excluded file extensions
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.LegacyAuthProtocolsEnabled
    • Gets or sets a Boolean value that specifies whether legacy auth protocols are enabled. These include MsoFba and IDCRL.
    • True indicates that legacy auth protocols are enabled.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.OfficeClientADALDisabled
    • Gets or sets a Boolean value that specifies whether ADAL is disabled or not
    • True indicates that ADAL is disabled in the tenant.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.OneDriveForGuestsEnabled
    • Gets whether Onedrive creation for guest users is enabled in the tenancy.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.ProvisionSharedWithEveryoneFolder
    • Gets or Sets whether ODB sites should have the Shared with Everyone folder automatically provisioned or not
    • True means the SharedWithEveryone folder will be provisioned, false means it will not
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.RequireAcceptingAccountMatchInvitedAccount
    • Gets or sets a value to specify if user accepting invitation must use the same email address invitation was sent to.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.RequireAnonymousLinksExpireInDays
    • Gets or sets a value to specify the number of days that anonymous links expire.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SearchResolveExactEmailOrUPN
    • Gets or sets a Boolean value that specifies whether Search and Resolve Operations in people picker dialogs do an exact match against UPN/Email. Default behavior is doing starts with match against common properties.
    • True indicates that Search and Resolve will force exact match and only search against Email/UPN properties and no other
      properties. False indicates default behavior and will do starts with search against common properties
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SharingAllowedDomainList
    • Gets or sets a value to specify a space separated list of allowed domain names
  •  public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SharingBlockedDomainList
    • Gets or sets a value to specify a space separated list of blocked domain names
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SharingDomainRestrictionMode
    • Gets or sets a value to specify the restriction mode. None, AllowList, BlockedList.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.ShowEveryoneExceptExternalUsersClaim
    • Gets or sets a Boolean value that specifies whether EveryoneExceptExternalUsers is visible in people picker dialogs
    • True indicates that EveryoneExceptExternalUsers claim is visible. False indicates that EveryoneExceptExternalUsers claim should be hidden.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.SignInAccelerationDomain
    • Gets or sets the domain to which to accelerate the sign-in experience to. i.e. by skipping the OrgID/EvoSTS sign-in page for end-user. Domain to accelerate to. Empty string means default behavior. i.e. the OrgID/EvoSTS signin page is shown.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.UsePersistentCookiesForExplorerView
    • Gets or sets a Boolean value that specifies whether ExplorerView feature uses persistent cookies.
  • public property Microsoft.Online.SharePoint.TenantManagement.Office365Tenant.UserVoiceForFeedbackEnabled
    • Gets or sets a value to specify if User Voice for customer feedback is enabled.

  • public enum value Microsoft.Online.SharePoint.TenantManagement.SharingCapabilities.ExistingExternalUserSharingOnly

 

  • public enum Microsoft.Online.SharePoint.TenantManagement.SharingDomainRestrictionModes
  • public class Microsoft.Online.SharePoint.TenantManagement.SPOUserSessionRevocationResult
  • public enum Microsoft.Online.SharePoint.TenantManagement.SPOUserSessionRevocationState

Microsoft.SharePoint.Client.Policy

  • public class Microsoft.SharePoint.Client.RecordsRepository.Records
    • public method DeclareItemAsRecord(ClientRunTimeContext context, ListItem itemToDeclare)
    • public method IsRecord(ClientRuntimeContext context, ListItem item)
    • public method UndeclareItemAsRecord(ClientRuntimeContext context, ListItem item)

Microsoft.SharePoint.Client.DocumentManagement

  • public method Microsoft.SharePoint.Client.DocumentSet.DocumentSet.ExportDocumentSet
  • public method Microsoft.SharePoint.Client.DocumentSet.DocumentSet.GetDocumentSet
  • public method Microsoft.SharePoint.Client.DocumentSet.DocumentSet.ImportDocumentSet

“Sharing is caring”


Vesa Juvonen, Senior Program Manager, Office 365, Microsoft

Office Dev PnP Web Cast – Provisioning engine and reference solution with AngularJS

$
0
0

In this PnP Web Cast we continued covering different remote site provisioning solutions in the Office 365 Dev PnP sample gallery. Since remote provisioning pattern is the recommended option to provision sites and site collections, rather than using classic feature framework related model, we have quite a few different samples on this area.

Web casts concentrates on covering the most complex and comprehensive site provisioning in the PnP sample gallery, which is using multiple different technical solutions from Azure WebJobs to AngularJS based UI implementation. Covered solution is built together with the community for matching typical enterprise customer requirements. This sample is still evolving based on the input from the community, so all contributions are more than welcome.

Covered solution is called Provisioning.UX.Appand is located the Solutions folder in the PnP sample gallery, since it's more production ready sample. PnP guidance contains multiple different solutions for the site provisioning topic, which demonstrates different capabilities and patterns. Target of having multiple solutions is to ensure that there's easily approachable sample to get started on the journey for different levels of skillset. We call this as providing stepping stones for the community to learn the right and recommended models for specific functionality.

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


Video at PnP Channel 9.

Additional resources

See following PnP videos for covering JavaScript embedding pattern.

See following guidance article from the PnP library for additional reference around the covered topics.

See following samples from the PnP library for additional reference around the covered topics.

  • Provisioning.Cloud.Async - Demonstrates simple site collection provisioning using Azure WebJobs
  • Provisioning.Framework.Console - Demonstrates usage of the PnP provisioning engine for applying branding and needed customizations to created site collections
  • Provisioning.Framework.Cloud.Async - Provisioning solution which shows how to take advantage of the PnP provisioning engine from Azure Web Job. Simplistic UI, but shows the overall process nicely.
  • PnP Partner Pack - Starter kit for the partners and customers around the site provisioning topics. Slightly simpler than the solution shown in this web cast, but contains great documentation and detailed guidance on how to configure solution to any Office 365 tenant.
  • Provisioning.UX.App - Solution which was covered in this web cast

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

Office 365 Developer Patterns and Practices (PnP) web cast series targets to cover 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.

Office 365 Dev 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 our GitHub project 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

Office Dev PnP Web Cast – SharePoint Nuget Packages and PnP Core component

$
0
0

In this PnP Web Cast we concentrated on the PnP Core Component and SharePoint related Nuget packages available from the Nuget gallery. Web cast concentrates on covering different available Nuget packages for SharePoint developers, including on-premises and Office 365 CSOM packages from product engineering and the PnP Core Component Nuget package, which is community driven tooling to increase developer productivity with CSOM based development.

PnP Core component contains extension methods for making development with CSOM more efficiently. This for example following capabilities

  • Remote provisioning framework
  • Remote timer job framework
  • Authentication layer
  • General developer friendly operations (>200 extension methods)

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


Video at PnP Channel 9.

Additional resources

See following links for additional details around covered topics.



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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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 our GitHub project 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

Office Dev PnP Web Cast – Throttling mechanisms in SharePoint Online

$
0
0

In this PnP Web Cast we concentrated on SharePoint Online throttling and how to deal with it in your own customizations.

Code executed towards SharePoint IOnline can in certain scenarios get throttled if the code is consuming too much resources compared to available resources in the SharePoint online at the time of the execution. This can result exceptions to be raised from the SharePoint Online. This web cast concentrates on covering the reasoning behind of this behavior and how you should deal with it in your customizations.

Code example used in the demo is available from the PnP sample library and is called as Core.Throttling

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


Video at PnP Channel 9.

Additional resources

See following links for additional details around covered topics.



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

We have started this weekly Office 365 Developer Patterns and Practices (PnP) web cast series to cover 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 our GitHub project 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

Viewing all 429 articles
Browse latest View live