Office 365 outlook groups features comparison

Office 365 is a way that helps us use Exchange and SharePoint online together to give your teams or group of people a way to work together using the best parts of what’s available in Office 365. Office 365 groups don’t exist in the on-premises space but in hybrid deployments, Office 365 Groups can be synchronized back to on-premises Active Directory via the AAD Connect tool, where they function as distribution groups. Microsoft has made it very clear that Office 365 Groups are a cloud entity that will not appear on-premises.

Below is a comparison of outlook group features for different platforms i.e. showing the availability of the different outlook group functionalities in each client platforms:

Outlook-Groups-on-all-platforms-Sep-2015

Bulk exporting of External contacts to Office 365 Exchange online

The non-profit organization that I support uses a Google group account to host its members email address. The organization has hundreds of email addresses in this group account. As soon as the organization started using Office 365 it soon become apparent that it needed to import those email addresses into Exchange Online in bulk so that we can add these emails into a distribution group (DG) account.

How do you go about importing these external emails into Office 365 Exchange online?

  1. Go to Google Gmail account, export the email addresses and save as csv inside the c:\temp folder or wherever you like.
  2. Make sure the following fields have values inside the above-mentioned csv file:
    • ExternalEmailAddress
    • Name
    • FirstName
    • LastName
    • OtherTelephone
    • Manage
  3. Start windows PowerShell as admin and connect to your office 365 Exchange online tenant. You can connect to Office Exchange online using the below scripts. You will be asked to login and make sure you use your Office 365 admin account and password:

$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection

Import-PSSession $Session

PS-email-export-01

4. Next run the following command:

Import-Csv c:\temp\ExternalContacts.csv|%{New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}

The assumption is you saved your csv file under the folder c:\temp

As you ca see below now you should see each external users being exported to Office 365 Exchange online.

PS-email-export-02

5. Go to your Office 365 Exchange online admin center to check exported contacts

6. Click recipients from left navigation and then contacts from top tab. Now you see all your external contacts populated inside Office 365.

PS-email-export-03

Options for setting up dev environment to create SharePoint 2013 provider-hosted app

The two options that, I think, we have for creating provider-hosted apps are the following. Having said that you may have a 3rd option which is a hybrid scenario:

  1. Using a locally installed SharePoint 2013 environment (Azure or a local SP box) and configuring for a high-trust apps for SharePoint. You can have a local Sharepoint farm either by spinning an Azure VM image which has all the nuts and bolts required to setup SharePoint, AD, etc.. (this can be cheaper if you have MSDN subscriotion) or having an expensive machine where SharePoint 2013 is installed.
  2. Using Office 365 SharePoint tenant where all the configuration is setup for you via ACS – OAuth.high-trust

Here are relevant videos:

TechEd 2014 video on setting up your on-premises environment for app development.

Using an existing Windows Azure AD Tenant with Windows Azure.

Error occurred in deployment step ‘Install app for SharePoint’: SideLoading of apps is not enabled on this site

In order to publish a SharePoint hosted app to a site collection the site must be based on the developer site template or have the “Developer” Feature enabled on it.  The “Developer” Feature is marked as hidden in its definition so you must use PowerShell to enable the Feature. This error is caused when you try to deploy in a non-developer template site collection.

To avoid this error, either for SharePoint online or On-premise development, try first to create a site collection based on the Developer template and deploy your SharePoint-hosted app to this site collection. If you are deploying to a non-developer template site collection, which is something you shouldn’t be doing then here are the live links to download the SharePoint Online Management Shell i.e. for SharePoint online scenario and associated PowerShell scripts as described in the screenshot below:

side-loading

My approach for mastering SharePoint 2013 apps development

SharePoint development in the 2013 version has drastically changed leaving us to scratch our head as there is a lot to learn to catch up with the best process/technique of developing SharePoint apps. To make matter worst, Microsoft is push enterprise SharePoint development from on-premise to Office 365. Meaning we need not to forget the old way of writing trusted, server-side code, solutions as well as the new/future way of writing client-side code or apps in short. Having said that this blog post only refers to the latter SharePoint development scenario, which is creating SharePoint apps. The following is how I mapped my learning process. If you have a different one please let me know.

  1. Sign up for Office 365 environment and install Visual Studio 2013 update 3 in your local dev machine – done
  2. Signup for Azure as the provider hosted app that you develop will require you to have a  website where you would deploy your custom code – done
  3. Set up on-premise SharePoint 2013 development environment by forking at least a 16 GB memory laptop, which can be very expensive but effective – done
  4. Install Apps for Office sample packs as well as Office Dev Github projects and start playing with the code. I preferred to run these codes in my Office 365 tenant so that it would be much faster to start the work – in progress
  5. First plan is to master SharePoint-hosted apps development and later move into provider-hosted apps.
  6. Learn JavaScript frameworks such as jQuery and Angular JS as they can be valuable tools in the SharePoint-hosted apps development life cycle.

In the next blog post I will share some of the experiences I got in my learning endeavor.

Important Online resources/links

These are links that I put together as a reference for myself. It includes links that have multitude of resources or individual blog post links that I would like to use in my future projects.

  1. http://dev.office.com/training
  2. http://juliepagano.com/blog/2014/05/18/javascript-debugging-for-beginners/
  3. https://www.udemy.com/angularjs-jumpstart
  4. http://www.microsoftvirtualacademy.com/product-training/sharepoint
  5. http://sharepointfieldnotes.blogspot.ca/2014/07/uploading-large-documents-into.html
  6. http://eloquentjavascript.net/
  7. Office 365 tip – Provide a contact both internal and external mail address
  8. AngularJS JumpStart with Dan Wahlin
  9. Introduction to Object-Oriented JavaScript
  10. A Drip of JavaScript
  11. .NET and JavaScript libraries for Office 365 APIs
  12. JavaScript API for Office (v1.1)
  13. John White, BI guy
  14. The Data Queen