How to add more users to your free Office 365 Developer tenant

One of the benefits of having MSDN subscription is to get a free Developer Office 365 tenant with 25 users. The challenge is that you have to go through some fiddling before you can be able to add more users into your tenant. Below is a screenshot that you can click to see how you can add more users into your shinny O365 tenant.

add-O365-users

How to update existing SharePoint External Content Types (ECT)

The question is you have created several External Lists inside SharePoint using ECTs and now the database where you used to create ECTs is moved to a different server. Besides the name of the database is changed. However, table names haven’t changed.

Instead of recreating new ECTs and then new External lists, I want to update my existing ECTs with the new Database server name, Database name and new Target Application ID so that my existing External Lists continue working. That is the plan.

Below are main assumptions before venturing in updating existing SharePoint External Content Types:

  1. Business Connectivity Service is configured in Central Admin.
  2. Secure Store Service is configured in Central Admin and you had a Target Application ID created inside the secure store called OldTargetApplicationID. Below is how it was created.April-11-2019-1Next we chose Windows user Account as we are using an Active Directory Account which is already given to the external database and now the plan is to add that AD account’s credential in here so that our SharePoint External list can surface content on behalf of the AD account.April-11-2019-2April-11-2019-3

While you are in the list of Target Application ID page, go to your ID and choose Credentials

April-11-2019-4

Add your AD service account and password. This is the ID that is already given access to your external database.

April-11-2019-5

3. Using SharePoint Designer, you created an ECT before and was consuming inside SharePoint. However, IT and Business decided to move the external Database that ECT is consuming into a new SQL server database and also changed the database name. However, table names haven’t been changed.

Now you do the following to update your ECTs:

  1. Create new Target Application ID called NewTargetApplicationID. Inside the secure store service application. Meaning new AD service account would need to be created and given access to the new database and using above steps new target application ID created.
  2. Go to your SharePoint Designer, ECTs and Edit ECT. In the dialog box update the following: Database Server, Database name and Secure Store Application ID (the assumption is you are using Impersonate Windows Identity option for Authentication mode.
  3. Click Ok.
  4. Now we need to go to Business Connectivity (BCS) service application and make sure permissions are set as expected. These two Microsoft blog posts have valuable information on this: Create external content types for SQL Server in SharePoint and Manage Business Connectivity Service Applications.
  5. Inside the BCS you see the list of ECTs. You click each one of them and configure permissions by choosing “Set Object Permissions”. Next you will add the right user who can have one of the 4 listed (see table below).
    Permission Notes
    Edit Allows the user or group to create External Systems and BDC Models, to import BDC Models, and to Export BDC Models. This setting should be reserved for highly privileged users.
    Execute Allows the user or group to execute operations (create, read, update, delete, or query) on ECTs.
    Selectable in clients Allows the user or group to create external lists for any ECTs, and to view the ECTs in the external item picker.
    Set permissions Allows the user, group, or claim to set permissions on the Metadata Store.
    At least one user or group must have this permission on every BCS connection so that permissions management can occur. With this permission, a user can grant Edit permissions to the Metadata Store. This setting should be reserved for highly privileged users

Office 365 and SharePoint Community Go-To Resources

I am cross-posting this so that I have the resource at hand for reference. Big thank you goes to Eric Overfield who I follow as one of my goto resource person.

The great thing about technology is that feeling connected is literally a click away and the Office 365 / SharePoint community is no different. Now, don’t get me wrong, conferences, user groups, and social meetups are a great way to stay connected, but on those days when you’re stuck at your desk I’ve got just the solution.

The following are the top 10 resources that I follow to stay in the loop on what is going on in the Office 365 / SharePoint community. I will readily share that not only did I have a tough time narrowing down my list to just 10, but also that this list constantly changes as community involvement waxes and wanes, new members / resources spring up, while others slow down. I hope you will find this line up to be either a good start, or a great way to help fill out your current references.

  1. The SharePoint Dev Ecosystem YouTube channel:
    https://www.youtube.com/channel/UC_mKdhw-V6CeCM7gTo_Iy7w
  2. Office Development blogs:
    https://dev.office.com/blogs/
  3. Waldek Mastykarz’s blog. If you want to know what is going on with SPFx development, this is your spot:
    https://blog.mastykarz.nl/
  4. Mikael Svenson’s blog. Mikael posts like a fiend and all his findings are fascinating:
    http://www.techmikael.com/
  5. Smashing Magazine. Some of the best bleeding edge web development insights:
    https://www.smashingmagazine.com/
  6. Andrew Connell’s blog. Andrew is a leader of the pack of SPFx trainers and his material around SPFx is outstanding:
    http://www.andrewconnell.com/blog
  7. SharePoint Team’s blog. Straight from MS:
    https://blogs.office.com/en-us/sharepoint/
  8. Marc Anderson’s blog. Marc tells you how it is.
    http://sympmarc.com/
  9. Chris O’Brien’s blog. An outstanding developer who provides in-depth posts, meaning long, in the right way:
    http://www.sharepointnutsandbolts.com/
  10. Stefan Bauer’s blog. Stefan’s design skillset when combined with his mastery of Sass is amazing and he shares his insights!
    https://n8d.at/blog/
  11. Eric Overfield: http://ericoverfield.com and http://blog.pixelmill.com/

 

Add Reusable Workflow in SharePoint Designer 2013

The way we  create reusable workflow in SharePoint Designer (SPD) 2013 is a bit different from 2010 and as a result most people thought that Microsoft disabled this feature. The fact is this feature is still available but the way you navigate to creating  a reusable workflow in SPD 2013 is a bit different from SPD 2010. This is how you create a reusable workflow in SPD 2013 :

  1. Open the site in SPD 2013.
  2. Now instead of using the ribbon, which is what we used to do in SPD 2010, click File menu as seen in screenshot below
  3. This will take you to this page where you can create a reusable workflow by clicking the “Reusable Workflow” icon as seen below:

 

How to change SharePoint List or Document Library URL using SharePoint Designer

There are two ways of changing your SharePoint list or library URL. The first one is, of course, using PowerShell which I am not going to discuss now. The second one is using SharePoint Designer. You need to have site collection admin access to do this.

Suppose you want to change the URL, http://sitename/sites/testsite/Lists/Bad List Name/  to http://sitename/sites/testsite/Lists/GoodListName/  using SharePoint Designer then follow these steps:

1.  Open your site using SharePoint Designer

2. Click All Files from left navigation menu

3. Click Lists from the list of All Files

4. Right click into Lists ->Rename and change it from Bad List Name to GoodListName.

5. This will change the URL of your list

 

That is it…

How to move SharePoint list items/documents with metadata properties intact

If you want to move contents of SharePoint Document Library or List with intact metadata then use Content and Structure that you can find under Site Administration page of your site. URL is http://YOURDOMAIN/sites/_layouts/settings.aspx.

Before using either copy or move actions make sure you create a destination library/list/folder names in your the destination site:

structure

actions

 

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.