battis.net and I'm all out of bubble gum…

Background

So… a bit of background: Outlook is a terrible program, and reasonable people might choose to use something better to interact with their emails. In so doing, one often has to fall back on the IMAP protocol to interact with one’s Exchange server.

And, if one’s Exchange server is hosted on Office 365, it appears that all of your data is served up via IMAP. By “all”, I mean not just email (which you expect), but also contacts and calendar events. In general, these should show up on the eponymous folders within your directory (“Contacts” and “Calendars”, and various subfolders within that). This means that your email program can, potentially, allow you to do things with your contacts and calendar events as though they were emails… things that Exchange/Office 365 might not necessarily recognize as “valid” and could result in serious data corruption and deletion. This. Is. Bad.

The Problem

Suppose one connected a client such as MailSpring via IMAP to Office 365. Hypothetically. Not that anyone near and dear to me might have done such a thing, but let’s suppose. It turns out that MailSpring will (correctly) recognize that the calendar events and contacts are not mail messages, and then fail to download them. In fact, the various folders would be filled with messages (one per contact or calendar event) that read:

Retrieval using the IMAP4 protocol failed

This looks like junk. So one might be forgiven for, say, deleting the message. Curiously, MailSpring then deletes the original (unretrieved) file from the server… deleting the contact or calendar event.

As an aside: I observe that many other mail clients (Outlook, Mail.app, etc.) choose to simply hide these files, rather than presenting this confusing message.

As a further aside: these IMAP-error-message messages, in our scenario, confusingly appeared in the Sent Items folder, rather than a calendar folder. No explanation has thus far been found for this…

So. Maybe a few hundred or thousand calendar events get deleted from an Office 365 account. How to get them back?

The “Solution” (incomplete, unfortunately)

In the end, it was a multi-step process:

  1. Undelete the deleted messages. We did this via the the Office 365 web client for Outlook. We went into the Deleted Items folder, followed the link to recover deleted items, selected everything, and recovered it. This recovered about 700 of the deleted events (not all, but some). At this point, all the previously deleted events are now in the Deleted Items folder, but not fully deleted. (I’m not 100% confident, but I believe we could have done this step in either the old or the new web interface for Outlook.
  2. Restore the messages to the calendar itself. This was harder, because it turns out that — since most email clients, including the new Office 365 Outlook web interface correctly don’t display calendar events in their mail interface — this could only be done in the old Office 365 Outlook web interface. Which means this solution may not last forever. In the old interface, we were able to select batches of items and then, via the “Move…” menu icon, move them back to the calendar. We couldn’t move them all at once, since the web interface couldn’t track selections larger than about 30-40 items at once. At this point, all recovered calendar events now exist in the default calendar.
  3. Clean up by hand. Since multiple calendars were actually involved, we had to go through the recovered items by hand, deleting them from the default calendar.

Further Work

This takes us through midweek. At this point, it appears that this process is not 100% successful: new edits to the calendar are not always “sticking”. Our surmise is that Outlook views the calendar files as corrupted. This is further complexified by the fact that not one, but several calendars were involved. The subscribed calendars come from a separate Outlook.com account (not Office 365) and changes (including the original deletions) seem not to have transfered consistently upstream (although some new additions and moves from the default calendar have).

This is a pain.

Our next step, we think, will be to export the default calendar to an ICS file, unshare the Outlook.com files with the Office 365 account, and basically purge all calendar data from the Office 365 account. Then we’ll reimport the ICS file of exported items to the calendar, and reshare the calendars from Outlook.com.

Confidence is not super-high. But I figured that posting this process could be helpful to others in our boat.

May 10th, 2019

Posted In: How To

Tags: , , , , ,

I’m working at a school using Office 365, and OneNote is the main event. I notice, however, that there don’t seem to be many clear, declarative answers to questions that I have about OneNote Class Notebooks, so I did some fiddling to find out.

As of the date of this post, the following questions and answers are empirically true of OneNote 2016 and the most current version of the Class Notebook plugin:

Can I create a class notebook in a custom location?

No (mostly). The motivation for this was that it would be really keen for class notebooks to live in our departmental shared OneDrive folder, so that we can both archive old classes and peek into each other’s notebooks with ease. It turns out that class notebooks can only be created in your personal OneDrive, in the Class Notebooks directory.

If you create the class notebook and then move it to a more desireable location (via OneNote’s ability to sync a notebook to a different location), it will totally make a copy of your notebook in that new location, but all of the students will still be accessing the original location, so it’s not gonna work for actually moving the OneNote.

If you move the class notebook (i.e. sync it to a new location and delete the original), you can no longer manage the notebook via the web interface that you need to use to add/remove students, lock the Collaboration Space, generate parent/guardian links, etc., etc. Essentially, it is dead to the web management interface. (But this does seem like a good way of archiving old class notebooks to a shared space at the end of the year.)

If you move your class notebook back to the Class Notebooks directory where it is supposed to be, the web management interface will not recognize it as a class notebook. And there is no path for (re)converting a seemingly normal OneNote notebook into a class notebook (again).

So, basically: no.

Can you rename the default underscore section groups?

Sort of, but it’s probably not a good idea.

I really don’t like “_Collaboration Space” and “_Content Library” (or “_Teacher Only”), which are the default names of those sections in class notebooks (and for which there is no management interface for renaming them).

You can, of course, just rename them in OneNote. And they’ll get re-alphabetized into the mix with the students’ section groups. And they seem to continue to behave with the proper permissions. Which is good. However, the Class Notebook plugin will now interpret those sections as being additional students (who seem to not have the right sections within their section group, to boot), so that when you try to distribute a page to your students, you need to be careful to not distribute it into your renamed Collaboration Space or Content Library. This is a little confusing.

If you rename them back to their original names, the Class Notebook plugin reverts to treating them as “special” section groups that are not representative of students.

Probably better not to rename them.

Can I put student collaboration sections into a section group after the fact?

Yes.

You can now create these nifty little collaboration sections within your Collaboration Space that are limited to a specific group of students. You have to create these sections through the web interface. By default, these new collaboration sections are created at the root of the Collaboration Space.

If you move these sections into a new section group (e.g. “Last Week’s Groups”), the permissions appear to carry over into their new location.

In fact, if there are section groups created inside the Collaboration Space, you will have the option of creating new collaboration sections directly inside those section groups, through the web interface. W00t!

What does a parent/guardian link to a student section give access to?

These are created through the web interface.

It legit only gives access to that particular student’s section group. None of the shared section groups (Collaboration Space, Content Library) are visible through that link.

I did not explore what happens if you post a link into one of those section groups into a student section group… I doubt the link would be follow-able.

What does a link to the Content Library give access to?

Also created through the web interface.

This is also tightly restricted: just the Content Library. There doesn’t seem to be a built-in mechanism for sharing access to the Collaboration Space.

August 31st, 2018

Posted In: How To

Tags: , , , ,

css.php