SharePoint Page Approval Flow

With Microsoft Flow integrated with SharePoint, leveraging the power of Flow to manage page approvals become a snap. At the end of July 2018, Microsoft began rolling out the new SharePoint page approval flow for all modern SharePoint pages.

Simply described by Microsoft: “When a new page is submitted for approval everyone on the approvers list will receive an email.  Anyone on the approvers list can approve the page. When approved, the page will be published for all readers and the approval status of the page will be Approved.”

How Does this Work?

The standard publishing process for a site can be configured by a site owner on the approval page. The site owner can configure Page Approval Flow from the menu of the pages library. By adding the Page Approval Flow, new and updated pages will not be published instantly. Instead, the publication will occur once the approval flow is completed.

Creating a Page Approval Flow

Navigating from the SharePoint Site Pages Library:

1. Located on the command bar menu is the Flow drop-down menu. Select an item and click the Flow drop-down menu;

2. There are four Configure page approval flow options available:

a. Request sign-off;

b. Create a flow;

c. See your flows; and

d. Configure page approval flow

Additional flows that you created for this library will also appear in the drop-down;create-page-approval-flow.png

3.  When choosing Configure Page Approval Flow, prompts will appear on the right-hand side of the library page. The Submit SharePoint Page for Approval has several sections to it.  

The first section is to Create the Flow approval. The first portion requires the name of the Flow to be entered. The second portion requires the addition of one or more people to be added as Approvers.

 

https://melihubb.files.wordpress.com/2018/08/create-sharepoint-page-approval.jpg

 

 

The second section consists of the Details, which is where the above quote is taken from. The third section lists where this Flow will connect to, including Approvals, SharePoint, and Notifications. The fourth section visually shows the permissions that are assigned. If these are all satisfactory, then choose “Create” to create the Page Approval Flow;

4.  Once the Flow is created, the Publish button that appears on pages will be replaced with a Submit for Approval button;

5. Click Submit for Approval. Upon clicking this button, a dialogue box will appear prompting the submitter to add a message. Click Submit to submit the Page Approval Flow;

page-approval-approve.png6. An approval message is then sent to all the people that were configured as Approvers in the second section. Within the email is a link to the page.

 

Approvers have two options.

 

The first is to approve the page, which is then published and the status in the pages library changes to Approved.

 

The second option is to reject the page and the status in the pages library changes to either Rejected or Draft Status, so it can be reviewed and reworked.

 

Approvers can approve or reject the page from either the email (if action items are enabled for emails) or open a new page from the email to review and approve/reject in SharePoint. 

 

By integrating Microsoft Flow with SharePoint, another layer of control is granted to site owners to ensure that pages are approved before being published. With this type of control, pages containing communication to teams are ensured to comply with corporate and project requirements while providing the necessary communication for collaborative teamwork.  

Versioning Update for SharePoint Online and OneDrive


The Importance of Version Control

Version control, or versioning, allows a file or item to be restored to an older state that is chosen from the version list. With versioning enabled, items and files in the SharePoint list or library are protected from unwanted, miscalculated and inadvertent errors. 

Applications of Versioning

Track Version History: version history discloses information about when an item or file was changed, by whom, what was changed, and any comments that were made when files are checked into libraries

Restore Previous Version: file or items that are corrupt can be restored from a previous version. A previous version can also be restored if mistakes are made in the file or item, or if the previous version is more akin to what is wanted. The restored version becomes the current version

View Previous Version: Before reverting to a previous version, there is the capability to compare two versions within a Microsoft Office document, such as Word or Excel, to determine the differences between the two documents without overwriting the current version.    

What is New with Versioning

Versioning is becoming more crucial as software and technology advances, as exemplified by the evolution of AutoSave and Restore Your OneDrive. Leveraging versions allows greater confidence for users and administrators alike while delivering better user experience.

In line with development, Microsoft recently announced they will be enabling versioning on all Document Libraries in team sites in SharePoint Online and OneDrive for Business with a default of retaining a minimum of 100 major versions. If your library is set to retain 100 or more major revisions, then this update will not affect you. However, existing libraries that are set to retain less than 100 major versions will be updated to meet the minimum criteria of 100 events.

Roll out will begin in June for first release customers while remaining tenants worldwide will receive the update in July. The rollout is expected to be completed by the end of July.

Who is Impacted

As mentioned, all team sites for OneDrive for Business and SharePoint Online will be affected. Will you be impacted if your team sites are not connected to an Office 365 group? The answer is “yes”, the rollout will update to the 100 minimum major revisions if you are not set to be 100 or above.

What if we are On-Prem for SharePoint? Will this affect us? The answer is “no”, this will have no impact on your SharePoint document libraries.   

What Else Changes

Once the update is rolled out to your tenant, site owners and administrators will not be able to set a versioning limit of less than 100. In addition to this, they will not be able to disable document library versioning as it will now be standard practice to have it enabled.

What About Storage Space?

Prior to the redevelopment of the flat collection sites with Office 365, versioning of document libraries required large storage sites. This, in turn, created issues for the allocation of storage for site collections. The result of limited storage was the stringent, low versioning limit. With the new approach of flat collection sites, storage is less of a concern than it was in the past; however, with audits, the speed of change in technology, and the increase in collaboration between teams and individual members, errors and corrupt files can be incurred, which places a priority on the ability to restore and recover these files and items. Hence, the rollout of the new higher, minimum versioning limit of 100.    

SharePoint Online: Managing Access Requests

When a user requires access to a site that they do not have access to, what do they do? This is where the access request feature comes into play as it provides the user the option of requesting access to the site. How will the site owner know that someone is requesting access? As the site owner, one can configure the settings so that an email is sent once someone requests access to a site. Upon receipt of this email, the site owner or the delegate(s) will have the authority to approve or decline the request. In addition to approving the request, the delegate will have the opportunity to assign a specific level of permission for the user.

The access request feature also works with the Share command for sites. If someone who does not have full control for a site (a non-site owner) uses the Share command to invite other users to view the site, then an access request email will be generated and sent to the site owner. As with the access request feature, the site owner will then be able to approve or decline the request. If the site owner is approving the request, then he will have the opportunity to assign a specific level of permission to the user.

How to Change Access Request Settings

As the site owner, you will have to decide whether you would like members of your site groups to have the ability to invite non-members to access the site contents. These features can be enabled or disabled.  If you choose to disable this option of sharing, then an error message will appear if a team member tries to Share the site as the Share option remains available on the menu.

To disable or enable sharing by team members with non-team members, follow these steps:

  1. Go to Settings;
  2. Choose Site Permission;
  3. Click on Advanced permission settings;
  4. On the Permissions tab, choose Access Request Settings;
  5. The Access Request Settings dialogue box will appear. In this dialogue box, you can either select or de-select Allow members to share the site and individual files or folders.
    The checkbox for Allow members to invite others to the site members group, Team Site Members, must be selected in order to enable members to share the site. Note that this will be automatically selected or deselected depending upon the option you choose; and
  6. Click OK.
Image: Office Support – Office 365
Image: SharePoint.stackexchange.com  

How to Set Up Access Requests

How will a site owner know if a user is requesting access to the site? Managing these requests can be accomplished by configuring the access request feature to send an email to the site owner when an access request is submitted.

It is simple to set this up:

  1. In Settings, choose Site Permissions;
  2. Click Advanced permission settings;
  3. Choose Access Request Settings located on the Permissions Tab;
  4. The Access Request Settings dialogue box will appear. In this box, select the check box for Allow access requests;
  5. There are two different paths here to take and is dependent upon whether you are implementing SharePoint Online or SharePoint Server 2019.

    For SharePoint Online, you can choose access requests sent to either members of the Admin Group, the Owners group, a specific user, or a distribution list. Remember that only members of the Admin Group or Owners group can approve or decline access requests.

    For SharePoint Server 2019, add an email for a specific user or for a distribution list;
  6. For SharePoint Online, an optional custom message can be included to show users on the access request page; and
  7. Click OK.

Approving or Declining Access Requests in SharePoint Online

To approve or decline an access request in SharePoint Online, follow these steps:

  1. Click on Settings;
  2. Choose Site Contents;
  3. Click Access requests;
  4. Find the request you want to update under Pending Requests;
  5. Open the menu by clicking on the three ellipses (…);
  6. If the access request is being approved, assign the permission level for the user. This can be found under Permissions. To document your decision, you have an option to write a message to the person requesting access; and
  7. Depending upon your decision, click either Approve or Decline.

If you want to see past access requests, click Show History.

One advantage of SharePoint Online is the ability to manage invitations to external guests who do not have an Office 365 subscription. As an Office 365 customer using SharePoint Online, the Access Requests page provides the resources to manage guest user invitations to Office 365 non-subscribers.

Managing Invitations to External Guest for SharePoint Online

If an invitation has been sent to an external user, but you would like to withdraw it before their acceptance, then follow these steps:

  1. Click on Settings;
  2. Choose Site Contents;
  3. Click Access requests;  
  4. Find the guest you would like to uninvite;
  5. Open the menu by clicking on the ellipses (…);
  6. The Properties window will now open; and
  7. Click Withdraw to uninvite the guest.

What happens if the guest has already accepted their invitation and you want to uninvite this guest? You will not be able to uninvite them, but you can remove them from the SharePoint permissions group that you assigned them. Another workaround is to request your Office 365 Admin or SharePoint Online Admin to remove the guest from the list of users for your environment.

Resending Invitations

All invitations sent to external users expire in 90 days. Within the 90 days, the invitation can be re-sent but the expiration date is not extended. Once the 90 days have lapsed, the invitation cannot be re-sent. A new invitation will have to be sent.

To resend an invitation, simply:

  1. Choose Settings;
  2. Click Site Contents;
  3. Click Access requests;
  4. Find the invitation that you want to resend under Guest User Invitations;
  5. Open the menu by clicking on the ellipses (…);
  6. Confirm the selected group is the permission group you want to add the guest to under Permission. If it is a different one than from the original invitation, then you have the opportunity to change it at this point; and
  7. Click Resend.

The external invitation has now been re-sent. Managing access requests in SharePoint Online is very straightforward and puts some control in the site user’s hands while providing full control to the site owner. Though site users have the capability to invite internal and external users to collaborate on sites, the site owner continues to maintain full control of who can access the site and at what level of security they are able to access the site at. The added flexibility of Office 365 and SharePoint Online is the capability to withdraw external invitations and to resend them when needed. By combining the features of the Share command and access request features, the process of managing who has access to a site and at what permission level has been greatly simplified for the site owner.

Search Web Parts – Collab365 Global Conference

 

Have you heard about the virtual Collab365 Global Conference 2017 that’s streaming online November 1st – 2nd?

Join me and 120 other speakers from around the world who will be bringing you the very latest content around SharePoint, Office 365, Flow, PowerApps, Azure, OneDrive for Business and of course the increasingly popular Microsoft Teams. The event is produced by the Collab365 Community and is entirely free to attend.

Places are limited to 5000 so be quick and register now.

During the conference I'd love you to watch my session which is called : 'Search Web Parts'

Content Search Web Part (CSWP) is one of the great web parts in O365 and on-premises. In this session, Mike will demo how to configure a​nd use the CSWP, and build a dynamic O365 branded portal with CSWP only. In this session, we will review: 1.Creating Queries using Keyword Query Language (KQL) 2.Building dynamic queries 3.Creating and customizing HTML Display Templates​​.​

If you join me, you will learn:

  1. Creating Queries using Keyword Query Language (KQL)
  2. Building dynamic queries
  3. Creating and customizing HTML Display Templates
  4. Building Search Driven Portals

Topic(s):

  1. Office365
  2. SharePoint

Audience :

  1. IT Pro

Time (in UTC) :

  1. Thursday, November 2 2017 5:00 PM

How to attend :

  1. Register here.
  2. At the time listed above go here to watch my session. (you can also add me to your own personal planner from the agenda.
  3. Be ready to take notes!

SharePoint Hub Site Announced at Microsoft Ignite


A new SharePoint site, SharePoint Hub Site, was announced at Microsoft Ignite 2017 in Orlando. The purpose of the SharePoint Hub Site is to provide a point of organization for content across SharePoint sites. Hub Sites allow you to associate SharePoint Team Sites and Communication Sites with a parent thereby streamlining and alleviating the issues of locating related content across the organization that appears in other sites. Associating multiple Team Sites and Communication Sites provides the flexibility to model and promote an intranet that reflects the way that your people in your organization organize.  Across associated sites, Hub Sites provide a common navigational structure, look, and feel.  Hub Sites also aggregate news and activities, displaying the roll-up on the Hub Site’s home page. SharePoint Hub Sites can be used to organize content, teams, divisions or resources throughout your business. 

Hub Sites

 

How do SharePoint Hub Sites work?

Newly created SharePoint Hub Sites propagate the navigation to all the associated sites, creating parent/subsite relationships.  Consistency across sites go from the top down so that all team sites or communication sites inherit common characteristics from the Hub Site. These characteristics include:

1. Navigation: Define top navigation in the hub site that is inherited by associated sites

2. Themes: Define the look and feel of the hub site. This theme remains consistent across all associated sites

3. Logo: The logo is the most important identifier of the site you are visiting.  The logo remains consistent across all associated sites providing the message that says, “You are here, and you have not left”

Hub SiteSharePoint is a tool for collaboration and the sharing of information. Within an organization, there can be numerous project teams working on a variety of projects and it is important to increase awareness, visibility, and discoverability to encompass those who are not part of the core team.  It would be unreasonable to expect your audience to search and drill down for the information, but having access to clear, concise communication that expresses in a broad sense of what is happening with the projects and initiatives would be valuable.  Team sites and communication sites push information and content up to the hub site level with rollup web parts.  These parts can surface content from all your associated sites into one place, allowing the flexibility for you to shift your content and associate it where it makes the most sense, unlike rigid hierarchy.  

Content is pushed up to the hub site level with news aggregation, combined site activities, and scoped search. 

News Aggregation: After creating and publishing a news article on an associated site, the news article will surface on SharePoint home, in the SharePoint mobile apps, and on the hub site’s home page.

Combined Site Activities: Site activities are visible on a team site’s home page as well as on the site’s card on SharePoint home. Site activities will roll up from each associated site, becoming visible on the hub site’s home page. This provides the ability to see what is happening across related sites in one view rather than going site by site.  With this information, you can now prioritize and focus your time.

Scoped Search: Searching content from a hub site will result in content from all associated sites which in turn increases relevance and enhances content discovery.

Creating SharePoint Hub Sites

Hub sites can either be created by Administrators who then associate existing team and communication sites to the newly created Hub Site from SharePoint home in Office 365. You can also create an associated site directly from within the hub site itself.   

The site owner can associate an existing team site or communication site within a hub site by following these steps:

1. Click the gear icon located on the upper right of the site

2. Click Site Information

3. In the Edit Site Information, click Hub Site from the drop-down menu.  Choose the right hub site to join.

It is important to note that team sites and communication sites can only be associated with one Hub Site.

As intranets are dynamic, associations may change as projects come to completion and new projects added. It is easy to un-join a Hub Site as it is to join it, allowing you the flexibility to adapt to the ever-changing landscape of the intranet. 

 

SharePoint Hub Sites and SharePoint Mobile App

Team collaboration and the sharing of information launched itself off the desktop onto mobile devices and SharePoint Mobile App is being updated to render hub sites, their pages, news, and content with smooth navigation between associated sites and scoped search. SharePoint Mobile App will continue to provide quick access to all your sites, news and team members you work with but now with added, enhanced search for content and people across your organization. 

Hub Site Mobile

The building blocks for your intranet have now expanded from the classic publishing sites and sites for application to include team sites, communication sites, and hub sites.  Sharing, managing, finding content, knowledge, and apps, on any device, is easily accomplished with SharePoint, the solution that connects your workplace with its people.

Big SharePoint, OneDrive and Office 365 Announcements


This year’s Microsoft Ignite unveiled exciting new products and innovations that span across its entire business software and cloud spectrum.  Focusing on empowering the modern workspace, Microsoft has made advancements in management, security, and intelligence as well as recognizing new groups of users. 

Office 365 targets two new groups of users through its two special packages. The first is for education, Microsoft 365 Education, and the second, Microsoft 365 F1, for first-line workers.

Microsoft 365 Education

Microsoft 365 Education provides the tools for students, faculty, and staff to create and work together securely in the classroom.  Office 365 brings its productivity applications and combined with Enterprise Mobility + Security, Minecraft: Education Edition and Windows 10, students and teachers alike have a powerful system to create, learn and grow together in the classroom.  Microsoft 365 Education is offered in three different plans as Microsoft 365 A1, Microsoft 365 A3, and Microsoft 365 A5.  The fourth plan for non-profit organizations is in the works.  There are price point differences between the plans, and the differences between each are compared below.

Microsoft 365

Microsoft 365 F1

Who are first-line workers?  Any staff who has direct contact with a customer while providing a service or care to the customer is a first-line worker. First-line workers account for nearly 2 billion workers worldwide. Microsoft 365 F1 promotes the growth and development of the community and culture amongst first-line staff. It also trains and upskills employees, digitizes business processes, delivers real-time expertise with minimized risk and cost. Many first-line workers work shift work and to help manage their schedules, Microsoft 365 F1 offers a new feature – StaffHub. Combined with Windows 10, front-line staff is now able to stay connected, automate device deployment and manage single-purpose devices. In response to the need for devices for first-line workers, Microsoft is offering through its OEM partners HP, Lenovo, and Acer, streamlined and secure devices loaded with Windows 10S.  Through its OEM partners, the total cost of ownership is reduced, and these select entry-level devices (HP Stream 14 Pro, available in October, and the Lenovo v330, available in February) will provide cloud-based identity and management for the first-line environment.

Microsoft 365 F1

 

Office 365 continues to evolve, enhancing and supporting employee creativity.  With the emphasis changing from routine tasks to creative problem solving, Office 365 is adapting, providing users the tools to express their ideas effectively and the ability to build upon the work and expertise of others, resulting in the creation of compelling content. 

The Improved Excel

Harnessing the abilities of AI and combining it with Excel has resulted in a powerful, sleek, and fresh Excel that will understand new data types, beyond numbers and texts that are currently recognized, and augment these new data types based on public and enterprise information.  For example, Excel will now recognize that “India” is a country and the acronym “MSFT” is a stock.  Also, releasing in the spring of 2018, Insights, a service reserved for Office Insiders, will derive insights from complex data using AI to find and recommend patterns. 

Searching with Results

Searching capabilities can now be initiated from SharePoint, Office.com, the Windows taskbar as well as Bing for Business.  From so many sources to initiate your search, it becomes simplified to find your information from across your organization and beyond.  Whether you are searching for a person, content or a site, Microsoft Graph powers the engine and provides consistent and personalized results.

Linking in with LinkedIn

From within Office 365, you can now view LinkedIn profiles in Microsoft apps and services.  Currently rolling out to first release customers, this ability provides rich insights about the people who you work with, whether they are within your organization, or external to your organization.

Threats and Protection

With all the new and enhanced features of Office 365, security and protection have been addressed through advanced threat protection, including features that address phishing, impersonation and domain spoofing. Preventative measures including multi-factor authentication, including third-party access, expansion of conditional access capabilities, encryption of emails and documents when using consumer email services such as Outlook.com and Gmail, protection of information (detect, classify, protect and monitor your data wither it is stored or shared), and applying compliance measures as per regulations.  

SharePoint and OneDrive

The biggest announcement at this year’s Ignite: SharePoint 2019 is coming! Productivity applications include Word, Excel, PowerPoint, and new versions of Skype for Business, SharePoint and more!

OneDrive is a powerful feature which provides the ability to securely share files across Office 365 not only with people who are within your organization but also with those who do not have an account and are external to your organization.  Not only can you share content, but you can now see who has viewed the shared files in OneDrive. Web versions of Office now open faster than ever.  Supported in the desktop version of Excel for Office 2016 is co-authoring.  Thumbnails and previews have been improved along with the ability to connect existing sites to Office 365 Groups.  There is also deeper integration with Microsoft Team. 

The Combined Power of SharePoint and OneDrive

SharePoint and OneDrive are now integrated with PowerApps, Microsoft Flow, Power BI, and Microsoft Form, each of these provides the resources and capabilities to create and share custom forms, applications, and workflows that automate processes. 

Within SharePoint, rich forms can be built from blended data, retrieved from lists with over 160 online and on-premises data sources.  Custom forms with Power Apps provide solution‑creators the tools to build these forms within SharePoint.  The Column Formatter allows power users to add rich formatting and interactivity to data in SharePoint lists and libraries. If your lists are becoming large and unwieldy, Predictive Indexing in SharePoint automatically sorts, queries and indexes your information into workable lists and libraries. Simple forms and interactive visualizations can be added to any SharePoint page with Power BI & Forms web parts.  Finally, you can add PowerApps to any SharePoint page with PowerApps web parts. 

Flow for OneDrive provides you the capability to build and launch Flows directly from within OneDrive to automate processes for your personal files.  Triggering the Flow Launch Panel, an inline panel prompts the user to enter information that is used by the flow.  Routing a document for review and feedback is built in Flow, ticketed as Document/Item Review. Finally, custom processes can be built with Flow with the Custom Approval Action, which requires formal approval check-in and approval before content for libraries can be published.  

Microsoft Teams and Skype

As Microsoft Teams begins integrating voice and video capabilities, along with chat, to become the main workplace communications collaboration app, Skype continues to receive an enhanced infrastructure for improved video and voice communications.  Microsoft Teams now has the added calling features of call transfer, calling to and from external phone numbers and voicemail as well as insights from Microsoft Graph.  Teams will evolve as the primary client for communications in Office 365, and over time, will replace Skype for Business.

SharePoint and Yammer

The question of whether Yammer is a product that will stay or be replaced was partially answered at Ignite this year with the announcement of several new updates.  These include new mobile-ready web part for integrating Yammer conversations into SharePoint Sites, SharePoint documents have an enriched preview and editing experience with Yammer, Yammer Groups connected to Office 365 will have default SharePoint file storage and OneNote services, launching video and voice calls directly from Yammer, and the ability to see Presence straight from Yammer.

In addition to all these great features, there is one last improvement that was announced at Ignite.  This important piece of news is the new building block of the intranet – SharePoint Hub Sites, which we discuss in detail in this article.

SharePoint and Office 365: Patterns & Practices – Part 2 Contributing, Resources, and Sources

 

As the community and Microsoft work together to create sample code and guidance, they begin to form the libraries, or repositories, that store this information but before they can be stored, they must meet the PnP support guidelines and recommended techniques. These are then reviewed and approved by SharePoint Engineering.  Once approved, and depending upon their functionality, they are then released through the following channels:

1.   PnP Core Component:  significant functionalities and add-ons to increase developer productivity

 

2.   PnP PowerShell: maintain shipment deployment on-line or on-prem

 

3.   PnP Partner Pack:  starter kit for achieving certain functionalities on online shipment

 

4.   PnP JavaScript Core:  SharePoint library for JavaScript

 

5.   UI Responsive Package:  components and solutions for SharePoint online and on-prem 

 

6.   Other components and solutions 

Even though PnP is owned and coordinated by SharePoint Engineering, it is completely driven by the community both internally and externally.  The collaboration, sharing of knowledge and the opportunities provided for learning has and will continue to benefit those in the community.  The program is facilitated by Microsoft, but being community driven, Microsoft has reached out to the community, resulting in the appointments of multiple community members into the PnP Core Team. Microsoft is currently looking to extend the Core Team with more community members. 

Where do I start if I want to become more involved?

As they saying goes, “Sharing is caring”, and one can join the community and share one’s knowledge. The following are highly recommended if you want to become more closely involved:

a.    Wiki:  How to get started and contribute to Office 365 Dev PnP program

b.    Webcast: Office Dev PnP Webcast – How to get started with Office Dev PnP

c.    Video Blog: https://channel9.msdn.com/blogs/OfficeDevPnP

 

Why and How to Contribute to PnP Initiative

The PnP initiative is an open source community which is comprised of internal and external members of the Microsoft community.  Like all open source communities, the success of the community is driven by the members and their degree of contribution and active engagement.  In PnP, this is no different as every member who contributes is recognized during a monthly public recap of all things being contributed and implanted into the latest version of PnP. 

As a collaborator and member, you have opportunities to help others, whether they are just beginning to consider PnP to those who are advanced, whom you could recommend patterns to.  Being an active member of the PnP initiative provides the opportunities for networking where you will not only find peers who work on similar topics, but you will engage with customers and partners. 

Contributing and participating is made simple through the usage of three platforms.  The first being Yammer, as it is not only a great place to participate in the discussion, but it is the place to help others or to ask your own questions.  You can follow monthly releases and discussions on the latest topics from the second platform, Skype for Business.  In Office Hours, discussions revolving on the topics of needed capabilities within Yammer or Office Hours take place.  In addition to these, opportunities to discuss reporting and fixing issues, contributing new samples, guidance, and documentation feedback.  When there are submissions, they will be reviewed, and if approved, will be meshed with the existing components.

I’m in!  Now what?

The best way to contribute and participate is to become informed, committed and knowledgeable.  As an open source community, there are many members who contribute, teach, review and mentor others within the community.  The beauty of collaboration is that there is no one way of doing things as there are many avenues to reach that end goal, but with many minds on the task, that road becomes wider and more accessible, allowing the team to reach that goal more efficiently, quickly and with great focus. 

Where do I find Key PnP Resources?

At the Microsoft development centre, you can find code samples and guidance documentation.  At  https://dev.office.com, you can access code samples and guidance through the drop down menu under the heading Resources by choosing Patterns and Practices

How to find what is relevant to me in PnP?

As each contributors' needs are different and many times are dependent upon client needs, there are several ways to find what is relevant to your unique situation.  These resources contain many articles for support and how to's for:   

a.    PnP Web Castshttps://aka.ms/OfficeDevPnPVideos (aka Chanel 9)

Key topics that are discussed in consideration of your customization of Office 365 to on-prem include the following:

 

–      setting up on-prem add-in model infrastructure

–      remote provisioning vs. feature framework usage

–      JavaScript performance considerations with SharePoint

–      provisioning engine and references solution with AngularJS

–      SharePoint Nugent Packages and PnP Core Component

–      throttling mechanisms in SharePoint Online

 

b.    Blog posthttps://dev.office.com/ 

 

c.    Documentshttps://docs.com/OfficeDevPnP

 

Presentations and graphics that you will find here:

 

–      webcast presentations

–      community call presentations

–      seminar presentations

–      reusable graphics

–      PnP Graphics presentation contains over 100 slides and drawings for reuse

 

d.    Add-in Model transformation training packageaka.ms/OfficeDevPnPTraining

 

                     i.        Video, presentations, demos and hands-on demos

 

                    ii.        10 training modules on specific topics including the following:

 

1)       Introduction to Transformation

2)       Site Settings and JS embed

3)       Branding with add-in model

4)       Building UX components with add-in model

5)       Remote event receivers and timer jobs

6)       Site and site collection provisioning

7)       User personalization and OneDrive for Business

8)       ECM with add-in model

9)       Search with add-in model

10)    Transformation guidance from FTCs to add-ins

How do I keep up-to-date in PnP?

With the large community that participates in PnP, changes and additions occur at a fast and high rate.  To contribute, participate and keep abreast of new additions, one must keep current.  There are three sites that will help you to keep current and whether you are listening or asking questions, these three resources will prove to be invaluable:

      a. Yammer:  http://aka.ms.OfficeDevPnPYammer

A place where you can participate in the discussion while helping others with questions and answers.

b.  Bi-weekly office hours: http://aka.ms/OfficeDevPnPOfficeHours

Open mic theme for answering all questions with open discussion.

c.  Monthly community calls:   http://aka.ms/OfficeDevnPPCall

Held every second Tuesday on a monthly basis via Skype for Business, the community receives a recap of what has taken place the month before, thus bringing all its members up to date on the latest version.

Can I have a cheat sheet for all the information I will need?

There are four key sources for information, and they are as follows:

1.  Key resources:

https://aka.ms/OfficeDevPnPVideos

https://aka.ms/OfficeDevPnPMSDN

https://aka.ms/OfficeDevPnPYammer

https://aka.ms/OfficeDevPnPCall

2.  Repositories include:

https://github.com/OfficeDev/PnP

https://github.com/OfficeDev/Pnp-Sites-Core

https://github.com/OfficeDev/Pnp-Power-Shell

https://github.com/OfficeDev/Pnp-Tools

https://github.com/OfficeDev/Pnp-Guidance

https://github.com/OfficeDev/Pnp-Transformation

https://github.com/OfficeDev/Pnp-OfficeAdIns

https://github.com/OfficeDev/Pnp-Provisioning-Schema

3.  Presentations: 

https://docs.com/OfficeDevPnP

4.  Starter Kit:

https://aka.ms/OfficeDevPnPPartnerPack

5.  Twitter: @OfficeDevPnP

What are you waiting for?

Now with all the resources at your fingertips, empower yourself and become a participating force in shaping the content and future of Patterns and Practices in SharePoint and Office 365.

Microsoft Graph API – Part 3 – Customizing Queries for Results


This is our last article of 3 parts about Microsoft Graph API. In the first article, Microsoft Graph API – An Introduction, we had a quick overview of the Graph API and how it evolved from the Office Graph API. We also talked about what you need to know about setting up your endpoint API and tokens to build your custom solutions.

In part 2, Microsoft Graph API – Bringing it together, we showed you the structure of the Graph API that are composed of four layers: Data, Authentication and Authorization, Development Environment, and Solutions Layers. We also reviewed the importance of Active Directory and how organizations have started to build applications on the Graph API.

In this article, we will go a bit deeper in developing queries and syntax with the platform.

 

Common Microsoft Graph Queries 

Microsoft Graph API is currently available for preview only with two endpoint versions.  The first addresses users, groups, contacts, calendars, mail, and files.  The endpoint is https://graph.microsoft.com/v1.0 and is available for your production environment.  The second addresses tasks, people, OneNote, Excel, contacts (organization).  The endpoint is https://graph.microsoft.com/beta and is available for preview.  

Microsoft Graph API v1.0

Common queries that can be used to access the Microsoft Graph API is as follows:

Operation

Service endpoint

GET my profile

https://graph.microsoft.com/v1.0/me

GET my files

https://graph.microsoft.com/v1.0/me/drive/root/children

GET my photo

https://graph.microsoft.com/v1.0/me/photo/$value

GET my mail

https://graph.microsoft.com/v1.0/me/messages

GET my high importance email

https://graph.microsoft.com/v1.0/me/messages?$filter=importance%20eq%20'high'

GET my calendar

https://graph.microsoft.com/v1.0/me/calendar

GET my manager

https://graph.microsoft.com/v1.0/me/manager

GET last user to modify file foo.txt

https://graph.microsoft.com/v1.0/me/drive/root/children/foo.txt/lastModifiedByUser

GET unified groups I’m member of

https://graph.microsoft.com/v1.0/me/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(a:a%20eq%20'unified')

GET users in my organization

https://graph.microsoft.com/v1.0/users

GET group conversations

https://graph.microsoft.com/v1.0/groups/<id>/conversations

Source:  https://graph.microsoft.io/en-us/docs

Microsoft Graph API Beta

Queries that are available in the beta version are as follows, but is important to note that they are in beta and it is not suggested that these be applied in the production environment:

Operation

Service endpoint

GET people related to me

https://graph.microsoft.com/beta/me/people

GET files trending around me

https://graph.microsoft.com/beta/me/trendingAround

GET people I am working with

https://graph.microsoft.com/beta/me/workingWith

GET my tasks

https://graph.microsoft.com/beta/me/tasks

GET my notes

https://graph.microsoft.com/beta/me/notes/notebooks

Source:  https://graph.microsoft.io/en-us/docs

 

Syntax Patterns

For developers, the syntax patterns, at this time of publication, are as follows:

1.  Microsoft Graph API Endpoint:

{Graph Endpoint} https://graph.microsoft.com

2.  Target Service Version: 

{Version} such as v1.0 or beta

3.  Tenant Name or Specific Entities: 

{Tenants} such as users, groups, files

4.  Particular Item from Entity Set: 

{Id} such as single user and file

5.  Specific Property of Particular Object Selected from Entity Set: 

{Property}

Query Parameters

Microsoft Graph API supports the following query options which allow you to specify and control the amount of data that is returned in a response: 

  1. $Select – include in response comma separated list of properties:  https://graph.microsoft.com/v1.0/me/messages?$select=from,subject
  2. $Expand – include in response expanded comma separated list of relationships:  https://graph.microsoft.com/v1.0/me/drive/root?$expand=children($select=id,name)
    Note: maximum number of expanded objects for a request is 20 and if the query is placed on the user resource, the properties of only one child object or collection can be retrieved at a time. 
  3. $OrderBy – include in response comma separated list of properties used to sort order of items in response collection: https://graph.microsoft.com/v1.0/users?$orderBy=displayName%20desc(asc)
  4. $Filter – filters response based on a set of criteria:

    1. By name: https://graph.microsoft.com/v1.0/users/?$filter=startswith(displayName,{Name})
    2. By entity type: https://graph.microsoft.com/v1.0/me/messages?$filter=from/emailAddress/address%{Value}eq%{EmailAddress}%27
  5. $Top – Number of items to return in a result set: https://graph.microsoft.com/v1.0/users?$top={Number}
  6. $Skip – Number of items to skip in a result set:  https://graph.microsoft.com/v1.0/me/events?$orderby=createdDateTime&$skip={Number to be skipped}
  7. $skipToken – paging token used to get next set of results:

    1. https://graph.microsoft.com/v1.0/users?$orderby=displayName&$skiptoken=X%{value}%
    2. To return the next page of users within your organization, the syntax is: https://graph.microsoft.com/v1.0/users?$orderby=displayName&$skipTokes =%{value}
  8. $Count – A collection and the number of items in the collection: https://graph.microsoft.com/v1.0/me/contacts?$count=true
  9. $directReports – Gets user objects, each with up to 20 directReport objects in the directReports collection: https://grap.microsoft.com/v1.0/users?$expand=directReports

By applying custom queries and setting specific parameters, Microsoft Graph API can be customized to provide tailored solutions to your corporation on a platform of your choice, including Android, Windows, and iOS.

Microsoft Graph API is an excellent solution from Microsoft to meet the demands of businesses in today’s world of cloud computer based business.  Flexible, seamless and efficient, Microsoft Graph API is the solution for obtaining aggregate data from various Microsoft cloud-based services including SharePoint, SharePoint Mobile, Office 365, Outlook, Calendar and social media apps such as Twitter and Yammer.

 

Microsoft Graph API – Part 2 – Bringing it Together


In our first Part, Microsoft Graph API – An Introduction, we reviewed the evolvement of Office Graph into Microsoft Graph API.  We also looked at the reasons as to why a change in process for accessing data was required.  Next, we delved into how the transition of obtaining aggregate data from various cloud services with a complex system of individually specific APIs and multiple tokens became one singular endpoint API and one token.  Customizing app solutions has become easier with a single endpoint API, and the possibility to provide these solutions in Windows, Android, and iOS platforms is becoming a reality with the move to open source developer tools.   

The Structure of Microsoft Graph API Developer Stack

In order to develop applications based on Microsoft Graph API, a basic understanding of the developer stack in needed.  There are four layers:

1.  Data Layer

Office Graph and Microsoft Graph API reside in this layer.  Information regarding people, emails, notes, documents and relationships with each other is delivered from this layer. 

2.  Authorization and Authentication Layer

Authorization and authentication use OpenID Connect and OAuth2.0 to perform these functions.

3.  Development Environment Layer

Software Development Kits (SDK) for Windows, iOS, and Android reside in this layer.  Development tools such as Visual Studio, XCode, Eclipse, Android Studio and REST (Representational State Transfer) are available in this layer.

4.  Solution Layer

Your app or solution is deployed from this layer on either Microsoft Azure or on other hosting platforms such as LAMP and IIS while enabling the developer to use their choice of language such as .NET, JS, HTML, and Ruby depending upon the apps solution that is being targeted (Windows, Android or iOS). 

This is best illustrated in the infographic below (source: https://graph.microsoft.io/en-us/docs).

Microsoft Graph API Developer Stack

Microsoft Graph API Developer Stack – Illustration

 

The Importance of the Microsoft Active Directory (AD)

Microsoft Active Directory (AD) is a structure used on computers and servers running a Windows operating system.  The primary function of the AD is to store network, domain and user information, such as user accounts, passwords, and profiles, in a single, protected location.

The AD is only as useful as the information that has been submitted and entered.  The importance of having a complete and accurate user profile is the key to successfully accessing user and business information.  For many corporations, the AD is lacking substance and with the lack of key information, collaboration, communication, and efficiency is greatly decreased with collaboration tools such as SharePoint, Delve, and business processes built on flow. Achieving AD compliance has always been a challenge for organizations with the lack of Governance and AD maintenance. This particular issue is being addressed by Hyperfish.   

Recognizing this as a point of need for businesses, Hyperfish was developed to achieve corporate compliance with each user by interactively engaging the user to complete the necessary information fields.  Hyperfish monitors the AD, or the Azure Active Directory (AAD) for missing, incomplete or out of date information.  After analysis, the system will then contact the user at the most appropriate time and method to elicit responses from the user to complete their profile.  The user will be prompted with suggestions which are based on information gathered from email, social media, and other data sources.  An AD that is complete will improve the quality and speed of communication between team members, and can be combined with Workflow, Office 365, SharePoint and SharePoint Mobile to maximize the effectiveness of collaboration. 

The Microsoft Active Directory serves as the hub of corporate user information, allowing administrators to set rules and trusts according to teams and privileges and when populated correctly, provides pertinent information which ensures utmost proficiencies in collaboration and communication.

Our last part will be an in-depth look at the most common Microsoft Graph API queries, syntax standards and parameter settings in Microsoft Graph API – Customizing Queries for Results.