Education Management in O365

Continuing On…

Many day-to-day activities for the Machine Technology program are now being manged using OOTB features in SharePoint and O365. And, those features are complemented by custom page layouts, such as the G-Code App, and a Provider Hosted Add-In to manage grading and submission of documents related to homework assignments.  Each time new features and components like these are added to the environment one should carefully consider the right way to implement and build those components based on several factors ranging from general best-practices and SDLC management/cost to the specifics required by the scenario, its participants, and the best way to create their user experience.

Now, we know that students’ final grades are made up of more than the scores they receive for documents and homework assignments. We are also all familiar with the fact that artifacts like quizzes, tests, mid-terms, and finals feed into students’ final grades. And, though some students do dread tests, at least O365 made them easy to create, distribute, and submit.

Let’s look at a designing forms in O365 for Education with Microsoft Forms – for our scenario we’ll focus specifically on forms for Test and Quizzes.

Microsoft Forms in Office 365

The word “ubiquitous” comes to mind when thinking about forms and the web. Microsoft has long been focused on web-forms scenarios…whether it be for the Internet, intranets, extranets, stand-alone apps, and so on. They often refine and reshape the design, publish, fill[ing], and follow-up data mining experience around web forms…in multiple software suites and platforms.

And, with the deprecation of InfoPath in SharePoint, it was obvious that Microsoft would be implementing new-and-improved functionality for the forms experience in O365 to coexist with Microsoft Access, SharePoint forms, and others that still have a mid-to-high bar for entry. We see that new-and-improved functionality in the Office 365 Education portal dashboard as “Forms”:

Microsoft Office 365 Forms
Microsoft Office 365 Forms

Creating a Microsoft Office 365 Forms Quiz

When clicking on this new entry point, Microsoft makes the first steps obvious and consistent with what we see in other newer applications like Microsoft O365 Planner.

Microsoft O365 Create FormIt’s very basic (by design I presume).  When continuing on to the add questions to the test/quiz, again we see little opportunity to get confused as shown below.

Quiz Questions

There are a few types of questions that Teachers can add. Of concern for our scenario is the “Quiz” type of question. It comes with two features that are particularly useful:

  • “Correct Answer” – lets the Teachers specify which of the options is the correct choice.
  • “Points” – assign points to a question, and those point values can vary from question-to-question in the quiz allowing the teacher to weight questions.

Adding Office 365 Forms Question

O365 Forms Correct Answer and Points

Sending the Quiz

After all questions are added, Teachers need to publish the quiz for their Students. Yet again, the UI is very straightforward and we see help toast as is consistent with the Office 365 experience:

Send the Office 365 Forms Quiz
Send the Office 365 Forms Quiz

Teachers have all of the choices for distributing the quiz they expect and some they will not (e.g. QR Code):

Send the Office 365 Form

One potential shortcoming for Teachers is that the “Email the link” supports client “mailto:” behavior. Teachers are often working in the Outlook O365 web application and do not have the client installed or launched. This and other opportunities for improved integration with the O365 ecosystem are open for Microsoft to tackle, and with the Evergreen cycle at full-speed I’m sure we’ll be seeing such enhancements in the near future (whether we’re ready for them or not).

Taking the Quiz

The most effective choice for distribution in our scenario was to take the link and surface it through a web part on the home page. Students navigate to the EMS home page at their desk and click the link to launch the quiz form. Aside from being simple and automated, students also get immediate feedback after submitting (this is an option you can enable/disable when sending the form. Note, “See all settings” in the previous diagram.):

Office 365 Forms Results

Viewing the Quiz Responses

To view the quiz, Teachers click the “Responses” tab, and they are given several useful views of results:

  1. Summary: shows reports over all submitted responses.
  2. Individual: lets the Teacher select a specific Student and traverse over submission(s) for the quiz. Allowing multiple submissions is another publish option.
  3. Details: shows all Students’ responses for a given question.

These reports and drill-ins render quickly, are clean, and provide relevant/useful data through which the Teacher can easily identify patterns where certain subject matter are misunderstood, certain students consistently fail to perform, and if the Teacher wants to go deeper into reporting s/he can export to Excel and manipulate the data through powerful Excel reporting and BI features.

Reviewing Microsoft Office 365 Forms results.Next

In previous posts, we’ve covered:

  • Basic Information Architecture and Aligning IA with Search.
  • Bootstrap and custom navigation added to promote intuitive discovery and a standard mobile user experience.
  • Important reference information apps accessed on the shop floor through custom page layouts.
  • Assignments being submitted and graded through a combination of SharePoint OOTB Document Set architecture and a Provider Hosted Add-In.

And, now we have the broader Office 365 Education tenant providing access to a simple yet powerful forms designer, filler, and reporting UI for Tests/Quizzes, general surveys, and date specific feedback – Microsoft Forms.

It’s still a priority to cover portions of the SQL BI side of our EMS – hopefully enough of that stack will be built-up in time for the next post.

SharePoint Project Task Tracker Update

This is a brief post regarding a new update to the SharePoint Project Task Tracker app.

The update was deployed to fix a bug wherein all content on the Reports tab was collapsed when clicking the “Project Views” section header. The intended behavior was that it should only collapse the “Project Views” section and not the “Task Views”.


This issue is now resolved.

When loading the app, you may not see any UI for upgrading. If that’s the case, you can manually check for updates by using the “Details” option in the fly-out menu available in Site Contents:


This will forward you to the app details page where you can click the “GET IT” button to start the update.


Thanks for using the SharePoint Project Task Tracker app.

SharePoint Calendar: Managing Exceptions in a Recurring Event Schedule

The object returned by the SharePoint JavaScript CSOM for a recurring event schedule is very intuitive. For example, an event which occurs every day for the next year (up until 2017-02-21) reads as follows in the RecurrenceData field of the SP.ListItem.fieldValuesAsText property:

RecurrenceData: "<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><windowEnd>2017-02-21T01:00:00Z</windowEnd></rule></recurrence>"

I used something similar to the above schedule to start a daily timecard entry event in a SharePoint Calendar. The scenario is basically to track a daily task to submit a timecard, but there are a lot of exceptions. Take for example an employee named Karen. She has alternating Monday-Tuesday and then Thursday-Friday off and works weekends. Bob happens to be putting in a bit of overtime for the next week before going on vacation. Again, exceptions occur often, so we see variable schedules for Karen and Bob:

SharePoint Calendar
Schedules for Karen and Bob.

If we were to process the RecurrenceData XML rule above in order to build logic which triggers an e-mail or reminder to Bob/Karen to enter their timecard, we’d end up triggering the activity on dates when they were off (days like the exceptions above, holidays, sick days, and so on). Fortunately, the exceptions are also stored as list items in the SharePoint Calendar list item collection – they’re just not shown on the calendar view. In the above Calendar, we’ll get back 6 list items: the recurring event schedule for Karen, the recurring event schedule for Bob, and then the four exceptions to Karen’s schedule.

Calendar Objects in Debugger.
Calendar Objects in Debugger.

The first thing to do is to group the exceptions with their parent event. As noted, this is very intuitive:

  1. Group the list items on the UID property or match them by the MasterSeriesItemID property
  2. Then, sort the items in ascending order by the Order property or ID property
  3. There are even more creative ways to match and order and identify the exceptions you want to work with. See below for examples of use fields…SharePoint even prepends “Deleted: ” to the Title property of the exception

Finally, you can now use the EventDate or RecurrenceID property to identify the exact date of the exception to the schedule and prevent the e-mail or reminder from going out.

Useful Exception Item Properties
Useful Exception Item Properties

Monetizing SharePoint and Office Apps

Monetizing an app involves specifying the billing model, how to go from user to site pricing, as well as other options around trials and so forth. These are common things one expects to consider when looking at selling apps in a market place.

When it comes to SharePoint and Office apps, I found some clear documentation explaining their market’s options around these kinds of monetization settings. Take 5 minutes to read the following article and you’ll likely have a majority of your questions answered on setting a pricing model and monetizing your apps in the SharePoint and Office app market place: