Category Archives: Office 365

Office 365 Summit is coming to Dubai on Nov 17th & 18th

Just wanted to drop a quick note about an upcoming Office 365 training opportunity that is coming soon to our region:
Dubai Office 365 Summit!

The Office 365 Summit is a series of limited invitation 2 day workshops for Microsoft’s most valued customers and partners providing deep-dive readiness on all productivity workloads from Microsoft product experts.

Office 365 Summit will feature over 60 breakout sessions with 300-400 level content across IT Professional, Development, Sales & CIE, Adoption and Education tracks. During the Summit, you will have the opportunity to interact and learn from your industry peers and representatives from Microsoft and participate in hands-on learning. Select a location below and register now to secure your spot!

In addition, the Office 365 Summit site has a plethora of Readiness materials!  Get the latest training materials and technical presentations from the Office team. Download presentations from Ignite events, get links to webcasts, Labs, and find other online training resources. 



[SP24 Conference] Automated Build-Deploy-Test Workflows for SharePoint 2013 & Office 365 Using VS2013 – Slides & Video Recording

I’m glad to announce that the slide-deck & video recording for my session at SP24 Conference are now available.

For watching my session recording, click here.
For viewing the slides, click here.
For the other sessions, click here.

Live Online SharePoint Saturday Gulf (#SPSGulf) – Full Schedule Announced

This is just a quick note to let you know that we’ve just announced the full schedule for SharePoint Saturday Gulf (Online). If you haven’t registered, you can still register from here.

Time
(GMT

Arabic Track

English Track 1

English Track 2

10:00 – 10:50 am

Transforming the way we work
Ulrika Hedlund
(BusinessProductivity.com)

11:00 – 11:50 am (GMT+4)

SharePoint 2013 Enterprise Search
Jamil Haddadin (MVP) & Iman Al Maskari

External Collaboration with SharePoint Online and Yammer
Jasper Oosterveld (MVP)

SharePoint Infrastructure Tips and Tricks for On-Premises and Hybrid Cloud Environments
Michael Noel (MVP)

12:00 – 12:50 pm (GMT+4)

Application Lifecycle Management in SharePoint 2013 & Office 365
Ayman El-Hattab (MVP)

Optimizing the release distribution process of SharePoint 2013 to minimize the impact on farm’s availability
Gokan Ozcifci (MVP)

Kinecting with your class: An interactive learning experience for Office 365 for Education
Stefano Tempesta

1:00 – 1:50 pm (GMT+4)

Exploring SharePoint 2013 Cross-Site Publishing
Marwan Tarek

What’s new in SharePoint 2013 Service Pack 1 (SP1)?

Knut Relbe-Moe

Introduction to SharePoint Cloud Business Apps
Usama Khan (MVP)

Break
3:00 – 3:50 pm (GMT+4)

Overview of Office 365 and Yammer
Ahmed Mahmoud (MSFT)

SharePoint Branding 101: Concept to Production
D’arce Hess

The Ultimate User Adoption Cookbook: 6 recipes for success!
Eelco Vink

4:00 – 4:50 pm (GMT+4)

Client Side Rendering in SharePoint 2013
Muawiyah Shannak

Keep SharePoint “Always On”
Liam Cleary (MVP)

Self-Service Site Creation in SP 2013, with SharePoint Designer: A Case Study for a Project Management Office
Jim Bob Howard

5:00– 5:50 pm (GMT+4)

SharePoint Server 2013 as a Digital Asset Management System
Ahmed Said

Getting Started with Office 365 and Power BI
Bjoern Rapp (MVP)

Introduction to Intranet Planning
Haaron Gonzalez (MVP)

6:00 – 6:50 pm (GMT+4)

Workflow Manager Tips & Tricks
Mai Omar Desouki

SharePoint Search – An Indispensable Tool
Saifullah Shafiq (MVP)

Winning Strategies for Successful SharePoint Backup and restore
David Toyne

Join from the links below :

Keynote : http://bit.ly/SPSGulfKeynote 
Arabic Track
 http://bit.ly/SPSGulfArabic
English Track 1 : http://bit.ly/SPSGulfEng1
English Track 2 :  ​http://bit.ly/SPSGulfEng2
Password for all tracks: spsgulf

 

Microsoft MVP for the 5th Year in a row – This time for Office 365!

Ayman El-Hattab MVPMy MVP award anniversary this year is special and deserves its own way for celebration. A few minutes ago, I received an email from Microsoft informing me that my MVP status has been renewed for another year but this time for Office 365 rather than SharePoint Server. I’m really glad about the change in my MVP expertise because it reflects a  switch in my area of focus during the past two years. Now that Office 365 has been announced during SharePoint Conference 2014 ( #SPC14 ) to be the fastest growing product in Microsoft’s history (a title that SharePoint held for quite some time), I’m even more excited to be aligned with the direction Microsoft is heading.

If you are not familiar with the Microsoft® MVP Award (I doubt), it is an award given by Microsoft to exceptional technical community leaders who actively share their high quality, real world expertise with others. Of more than 100 million users who participate in technology communities, around 4,000 are recognized as Microsoft MVPs.

 

My SharePoint MVP Journey

I received my first MVP award for SharePoint Server in April 2010 and have been renewed every year since then. It has been an honor to be associated with the fastest growing product in Microsoft history (Till Office 365 eclipsed) for four years and to be part of such a vibrant, knowledgeable and helpful community. My journey with SharePoint started back in 2006 and it took me around two years to publish my first article on Code Project, the article was titled “SharePoint Delegate Controls Unclouded” and the feedback I received from my colleagues was phenomenal and was the main reason for me to start the blog that you reading now. During the past six years, I’ve been very active in the online and offline communities but I’ll give you some examples for some of the best in terms of reach and impact:

Office 365, an exciting Journey ahead …

To be honest, I was not a big fan of Microsoft BPOS offering but when Microsoft officially launched Office 365 back in June 2011, I realized that something big is happening. It took Microsoft a few years though to announce its cloud first strategy. Microsoft was clear that, at some point of time, the new features will be released to the Service (Office 365) first rather than the Server (SharePoint On-prem, Exchange On-prem, etc…).

Fast forward a few years à At Microsoft SharePoint Conference 2014, Microsoft announced the following:

  • 500% increase in Office 365 users in the last year.
  • 60 % of Fortune 500 companies are currently using Office 365.
  • Office 365 has generated $1.5 B of revenue to Microsoft in the last year.
  • 75+ new features have been added to Office 365, some of them will not even be part of the upcoming on-prem releases.
  • Office 365 is now the fastest growing product in Microsoft history.

As mentioned earlier, I dedicated some of my time and focus in 2013 & 2014 to broaden my skill-set to include the different Office 365 workloads. I saw what was coming based on Microsoft’s “Devices + Services” announcements as well as the discussions I had with the Office & SharePoint Product Teams at the global MVP summits in Seattle. I launched a YouTube channel called O365ForAll and I spoke at many events and conferences (including #SPC14) about the Cloud App Model and how to apply Application Lifecycle Management practices to Office 365 Apps. I’ve also tackled other important cloud topics for developers like Visual Studio Online & Microsoft Azure throughout my speaking engagements & blog posts.

From this point onward, you will see more focus from my side on Office 365. This doesn’t mean that I’m moving away from SharePoint. In fact, only in April, I have two important speaking engagements on my schedule:

Last but not least, I would like to thank my family, my SharePoint community friends, the amazing MEA MVP Community,  my blog followers, all those who attended my sessions and all those who helped me progress in my career. Without you guys, I would have never been able to achieve anything.

Follow me on Twitter to keep updated on my upcoming activities
Stay connected via LinkedIn

 

Speaking at SharePoint Saturday Gulf on April 12th

Title: Application Lifecycle Management in SharePoint 2013 & Office 365
Description: There are several methods to customize SharePoint. Developers have the option of creating new cloud applications for SharePoint or maintaining legacy full trust code. Coupled with the complexity many organizations have in terms of managing SharePoint customizations across Office 365 and on-premises implementations, developers and solution architects will need to understand how to adjust application lifecycle management (ALM) techniques to support and deploy quality solutions. This series of blog posts will focus on the establishment of development, testing and deployment best practices for on-prem and cloud applications and solutions. This will also include concepts such as continuous integration & automated testing.
Language: Arabic
Level: 400
Date: April 12th
Time: 12:00 PM (GMT+4)

Register for SPS Gulf from here

Meet SP24 Conference Speakers!

I’m so excited about SP24 Online Conference and I very much appreciate the efforts behind it. During the past two weeks, the team behind SP24 has been publishing some short videos to introduce the conference speakers and sessions. Click on the image below to watch the videos and choose the sessions that you’re most interested in attending.

As you might know, I’ll also be speaking at the conference. Below my session details:

Title: Automated Build-Deploy-Test Workflows for SharePoint 2013 & Office 365 Apps

Description
: With the introduction of SharePoint 2013, there are different methods to customize SharePoint. Developers have the option of creating new cloud applications for SharePoint or maintaining legacy full trust code. Coupled with the complexity many organizations have in terms of managing SharePoint customizations across Office 365 and on-premises implementations, developers and solution architects will need to understand how to adjust application Lifecycle Management (ALM) techniques to support and deploy quality solutions.
In Visual Studio 2013, you can create a build-deploy-test workflow to deploy and test your SharePoint apps & solutions when you run a build. Over several demos, we will cover how to get started with automating the build, deploying the resulting packages to SharePoint Virtual Testing labs using PowerShell, then automatically running automated tests against the SharePoint Applications & Solutions.

Click on one of the pictures below to watch my introductory video.

Automated Testing Challenges for SharePoint Apps – Trusting the app!

Many architects are trying to establish a fully automated continuous deployment process for their SharePoint apps. While automating the build, packaging & deployment is fairly simple (check this), there is a big challenge that is preventing architects and developers from reaching the full automation stage. That’s is “Trusting the App“!

Following the deployment of the application components (to pre-prod environments), it is important to note that before anyone accessing the application, including automated tests that may be part of the build, a tenant (or site collection) administrator will have to trust the application on the app information page in SharePoint. This is usually a manual process and there is no way to trust your app through PowerShell or .NET CSOM but there is a trick that I use for achieving a full automation! PowerShell IE Automation!

Here is the script that I use from within my deployment script:

$url = “$($web.Url.TrimEnd(‘/’))/_layouts/15/appinv.aspx?AppInstanceId={$($appInstance.Id)}”
     $ie = New-Object -com internetexplorer.application
     try
     {
         $ie.visible=$true
         $ie.navigate2($url)
        while ($ie.busy)
         {
             sleep -milliseconds 60
         }
         $trustButton = $ie.Document.getElementById(“ctl00_PlaceHolderMain_BtnAllow”)         
         $trustButton.click() 
         sleep -Seconds 1
         Write-Host “App was trusted successfully!”
     }
   catch
   {
   throw (“Error Trusting App”);
   }
   finally
   {
        $ie.Quit()
  }

You just need to add the code above to your deployment script and VOILA. You no longer need to suspend the testing process until the application is trusted. Now a completely “Build-Deploy-Test workflow” is possible!

Finally, I would like to give some credit to Alexander Brassington, his blog post about automated publishing for content types using PowerShell IE Automation inspired me. Although, the post is completely unrelated to Build Automation, it helped a lot on coming up with the workaround!

Application Lifecycle Management in SharePoint 2013 & Office 365 using Team Foundation Server 2013 & Visual Studio Online – The Dev Environment(s)

This is the 3rd article of a series of posts on SharePoint 2013 & Office 365 Application Lifecycle Management:

  • Introduction
  • Infrastructure Overview
  • The Development Environment(s) à You are here!
  • The ALM Platform(s)
  • The Testing Environment(s)
  • Automated Build & Deployment for Full-Trust & Sandboxed Solutions
  • Automated Build & Deployment for SharePoint-hosted & Autohosted Apps
  • Automated Build & Deployment for Provider-hosted Apps (Azure-hosted)
  • Automated Build, Deployment & Testing for Full-Trust & Sandboxed Solutions
  • Automated Build, Deployment & Testing for Apps
  • Release Management Overview
  • Release Management for Apps
  • Release Management for Full-Trust & Sandboxed Solutions

Introduction

In the previous post, I have quickly given you an overview on the full ALM environment that we will be building. The environment comprises some on-premises components & services as well as some cloud services. The on-premises components & services will be combined & hosted in three Virtual Machines as explained earlier.

Here is a quick summary for our full ALM environment:

On-Premises

Cloud

VM1 : Development Machine

O365 Tenant for Development +
Windows Azure Platform

VM2 : TFS Build Machine

Visual Studio Online (TFS Service)

VM3 : Test Machine

O365 Tenant for Testing

O365 Tenant for Production

The reason for having the setup above might not be fully understood at this point. Don’t worry, this will become crystal clear as we move forward.

In today’s post we’ll start creating & provisioning the components & services needed to support our SharePoint Server 2013/ Office 365 development efforts. This will require some on-prem components as well as some cloud services.

Development Environment Considerations

At the end of the previous post, I’ve included some very important exercises. One of which was reading the “Development environment Considerations” section of this MSDN Article. If you haven’t done so, I’d encourage you to read it first before moving forward with this post.


Figure 1. Development environment components and tools
Source: SharePoint Server 2013 Application Lifecycle Management

Creating an O365 development site

With an O365 development site, you can start creating & deploying applications that will be hosted in Office 365, on-premises or on other infrastructure in a provider-hosted model. The benefit of this environment is that infrastructure, virtualization and other hosting considerations for a SharePoint development environment are abstracted by Office 365, allowing you to create applications instantly. A prime consideration for this type of development environment is that applications that require full trust code to be deployed to SharePoint cannot be accommodated as shown in the figure below:


Figure 2. Office 365 App Development
Source: SharePoint Server 2013 Application Lifecycle Management

If you are planning to develop Provider-hosted Apps with the Provider-hosted component hosted on Windows Azure, you will to get an Azure Subscription. Actually, I’m going to show you this scenario in one of the upcoming posts.

Use the steps below to obtain and provision an O365 development site & an Azure subscription:

  1. Get an O365 development site :
  1. Are you an MSDN subscriber? Visual Studio Ultimate and Visual Studio Premium with MSDN subscribers receive a 1-year Office 365 Developer Subscription as a benefit. Redeem your benefit today.
  2. Do you have a midsize business and enterprise (Plan E1 or E3) Office 365 subscription? You can provision a Developer Site from the Office 365 admin center. For more information, see How to: Provision a Developer Site using your existing Office 365 subscription.
  3. You can either start with a free 30-day trial, or buy an Office 365 developer subscription (with one user license for either option) by using one of the following links. This subscription costs $99.00 per year.

2. Provision the developer site by following the instructions explained in this article.

3. Get a Windows Azure trial subscription from here.

Now, you have all what you need to develop SharePoint-hosted, Autohosted & provider-hosted (azure-hosted) apps for Office 365!

Creating a Self-contained farm environment (virtualized farm development)

For those solutions that require the deployment of full trust code to run on a SharePoint farm, a full implementation of SharePoint Server 2013 will be required. In our case, we’ll be creating and using a virtualized development machine. I’ll refer to this as the Dev Machine from this point onwards.


Figure 3. On-premises development with a virtual environment
Source: SharePoint Server 2013 Application Lifecycle Management

SharePoint has always been known to require a good deal of resources, and that requirement continues to grow. A single server setup, running SQL Server and SharePoint, with all available services requires 24 GB of RAM. This is a rather large amount even for a production server, let alone a development environment. Microsoft states that for a single server development environment, 8 GB is required to run the minimum recommended services. If Visual Studio 2013 is also running, RAM the requirements increase to 10 GB. These requirements seem rather difficult to satisfy considering most SharePoint development is done on laptops with 8 GB of RAM. To get SharePoint 2013 to run smoothly on a VM with 4-6 GB, we will run only the necessary services. This means no Excel services, workflow services, or search. The most that can be done with an environment like this will be to configure sites and build simple solutions & apps. Use this guide to create a full self-contained development machine.

Before proceeding with the steps outlined in the guide, please note the following:

  • Once you create your Virtual Machine (using any Virtualization Technology), you will need to connect the machine to the two Virtual Network Switches that we created in the previous post.
  • The installation process can quickly get out of hand if you simply choose to install all features of SQL Server and SharePoint. The recommended guide will walk you through installing only what is required to get SharePoint running on a single server.
  • This guide is instructing you to install Visual Studio 2012 Premium, install Visual Studio 2013 Ultimate instead.
  • For a more convenient development experience, you might need to disable loopback security check as explained here.
  • (Optional) To optimize the performance of the Dev Machine, you might need to follow some of the instructions outlined in this post.
  • (Important) After following the steps outlined in the guide, you will need to configure the Dev Machine for Apps development & deployment. The exact steps are explained here.
  • If you’d like to exactly follow my steps and have a similar configuration like mine, I’m using the following :
    • Computer Name : dev, Domain Name : Cairo.eg


      Figure 4. Computer and domain configurations

    • Fixed IP : 192.168.150.128


      Figure 5. IP Configurations

    • When configuring your dev environment for Apps, use the following :
      • Forward lookup zone name : devapps.cairo.eg
      • App Prefix : dev
      • App Domain : devapps.cairo.eg


      Figure 7. Forward lookup zone with a wildcard DNS entry




      Figure 7. Configure App URLs using Central Administration

    • Use Cairo\Administrator for installing everything. Once you are done with the full installation and configuration processes, copy the “Cairo\Administrator” Active Directory domain user to create another account (cairo\sharepointer) then make sure to add the new user (Cairo\SharePointer) to the Farm Administrators Group from SharePoint Central Administration. This will be our primary user for performing development & deployment. The reason for this is that SharePoint will not allow you to install nor uninstall apps using the farm account (System Account).


      Figure 8. Clone an Active Directory User Account


      Figure 9. SharePoint Farm Administrators

Creating an On-Prem Development Site (Remote Development)

If you choose not to use Office 365 developer sites as a primary means for SharePoint application development, on-premises developer sites can be used to develop SharePoint applications. In this model, the Office 365 developer sites’ capability is replaced with on-premises developer sites hosted within a SharePoint farm. The on-premises developer site can be used to deploy SharePoint-hosted & Provider-hosted apps. You cannot use this model for deploying Auto-hosted apps.


Figure 10. On-premises app development with the developer site template
Source: SharePoint Server 2013 Application Lifecycle Management

To create an on-prem developer site, you can follow the steps outlined in this post. Please make sure first that you have properly configured your dev machine for SharePoint apps as explained above.

Summary:

In this post, we have created a self-contained virtualized farm (with an on-prem Developer Site) and an O365 tenant (with a SharePoint Online Developer Site). We have also obtained a Windows Azure Trial subscriptions. We will be using those Development environments to explain & try several ALM scenarios for both SharePoint Server 2013 & Office 365 SharePoint Online.

The crossed-out components in the table below are the ones we have created so far. In the next post, we will be building and provisioning our ALM Platform; that is VM2 (which will host Team Foundation Server 2013 on-prem) & Visual Studio Online (TFS Service or TFS Online).

On-Premises

Cloud

VM1 : Development Machine

O365 Tenant for Development +
Windows Azure Platform

VM2 : TFS Build Machine à Next Post

Visual Studio Online (TFS Service) à Next Post

VM3 : Test Machine

O365 Tenant for Testing

O365 Tenant for Production

Exercises:

While waiting for the next post, I would like you to do the following:

Exercise 1 Download the following Software:
Team Foundation Server 2013
Exercise 2 (Optional) If you are not familiar with Visual Studio Online, please read this article.
Exercise 3
(Optional)
If you are not familiar with Team Foundation Server, please read this article.

Application Lifecycle Management in SharePoint 2013 & Office 365 using Team Foundation Server 2013 & Visual Studio Online – Infrastructure Overview

This is the second article of a series of posts on SharePoint 2013 & Office 365 Application Lifecycle Management:

  1. Introduction
  2. Infrastructure Overview –> You are here!
  3. The Development Environment(s)
  4. The ALM Platform(s)
  5. The Testing Environment(s)
  6. Automated Build & Deployment for Full-Trust & Sandboxed Solutions
  7. Automated Build & Deployment for SharePoint-hosted & Autohosted Apps
  8. Automated Build & Deployment for Provider-hosted Apps (Azure-hosted)
  9. Automated Build, Deployment & Testing for Full-Trust & Sandboxed Solutions
  10. Automated Build, Deployment & Testing for Apps
  11. Release Management Overview
  12. Release Management for Full-Trust & Sandboxed Solutions
  13. Release Management for Apps

Throughout the series, we will be trying different scenarios for creating, deploying, building, testing & releasing solutions / applications that are based on SharePoint technologies, for both on-premises and in hosted or public cloud platforms. We will be also be switching between Team Foundation Server (On-premises) & Visual Studio Online (TFS Service) as an ALM Platform. This is to leave you comfortable with both platforms then you can decide later which option suits you the best.

In today’s post, I will give you a quick overview on the complete ALM environment that we will be creating in the next three posts. This infrastructure will then be used in our learning journey to apply the different ALM practices to SharePoint development.

Our ALM Environment

The environment that we will be creating includes some on-premises components & services as well as some cloud services.

Here are the main on-premises components & services needed for our ALM environment:

  • Active Directory Domain Controller
  • SharePoint Development Farm
  • Team Foundation Server 2013
  • Team Foundation Build Service
  • Visual Studio Test Controller
  • SharePoint System Integration & Testing Farm
  • Visual Studio 2013 Release Management Server

You can of course setup each of the above on-premises roles on a separate Physical or Virtual machine. In my case, I want to minimize the infrastructure needed therefore I will combine some of them to live side-by-side.

VM Name On-prem Components & Services
Dev Machine Active Directory Domain Services
SharePoint 2013 Development Farm
TFS Build Machine Team Foundation Server 2013
Team Foundation Build Service 2013
Visual Studio 2013 Test Controller
Release Management Server
Test Machine SharePoint 2013 Integration & System Testing Farm

As for the Cloud part of our ALM environment, the following services are needed:

  • Visual Studio Online (TFS Service)
  • Three Office 365 Tenants (For development, Testing & Production)
  • Windows Azure PaaS (Azure Websites)

And here is a combined view for the full environment:

On-Premises

Cloud

VM1 :   Development Machine

O365 Tenant for Developing O365 Apps +
Windows Azure Platform

VM2 : TFS   Build Machine

Visual Studio Online (TFS Service)

VM3 :   Test Machine

O365 Tenant for Testing O365 Apps

O365 Tenant for Production

Please note the following:

  • For the sake of simplicity and for reducing the number of Virtual Machines, I’ll install the Active Directory Domain Services on the Dev Machine then I will promote it to be my primary Active Directory Domain Controller, I’ll then connect all the other machines to this Active Directory Domain. In real-life of course, there should be a separate machine for AD.
  • The third column in the first table “On-prem Components & Services” is very much simplified for now, I’ll be explaining and expanding on this in the next posts.
  • The VM’s can also be hosted in Windows Azure IaaS. In my case, I’ll just host them in my local Hyper-V server.

Throughout the next three posts, I’ll walk you through the exact steps needed for creating the full ALM environment, this includes both; the on-prem part and the cloud part.

To get prepared for the next post, I would like to leave you with the following homework:

Exercise 1: Read the “Development environment considerations” section of this MSDN article.clip_image001

This section describes the development environment considerations for SharePoint application developers and development teams. I cannot stress enough the importance of reading this section before proceeding to the next post.

Exercise 2: Prepare the physical machine that will host the three Virtual Machines that we will start creating in the next post.
In my case I’m using Windows 8.1 with Hyper-V enabled. To enable Hyper-V on Windows 8/8.1, you can follow the instructions in this article.You will also need to create two Virtual Network Switches (Private & External) in Hyper-V as shown in the figure below :imageWe’ll connect our Virtual Machines to both switches in the next posts.Note: You can use other Virtualization Technologies (VMWare, Oracle VirtualBox, etc…) if you would like to.
Exercise 3: Download the following software:
Windows Server 2012·
SQL Server 2012 SP1
SharePoint Server 2013
Visual Studio 2013 Ultimate

Application Lifecycle Management in SharePoint 2013 & Office 365 using Team Foundation Server 2013 & Visual Studio Online – Introduction

There are several methods to customize SharePoint. Developers have the option of creating new cloud applications for SharePoint or maintaining legacy full trust code. Coupled with the complexity many organizations have in terms of managing SharePoint customizations across Office 365 and on-premises implementations, developers and solution architects will need to understand how to adjust application lifecycle management (ALM) techniques to support and deploy quality solutions. This series of blog posts will focus on the establishment of development, testing and deployment best practices for on-prem and cloud applications and solutions. This will also include concepts such as continuous integration, release management and automated testing.

If you think that you’ve read this introduction before, that’s true, it’s the description of my session at the upcoming SharePoint Conference:

clip_image002

While working with my co-presenter, Eric Charran (Microsoft), on the session content & demos, I’ve decided to put together a series of posts to cover the same topic in more depth while focusing on the How aspect.

  1. Introduction –> You are here!
  2. Infrastructure Overview 
  3. The Development Environment(s)
  4. The ALM Platform(s)
  5. The Testing Environment(s)
  6. Automated Build & Deployment for Full-Trust & Sandboxed Solutions
  7. Automated Build & Deployment for SharePoint-hosted & Autohosted Apps
  8. Automated Build & Deployment for Provider-hosted Apps (Azure-hosted)
  9. Automated Build, Deployment & Testing for Full-Trust & Sandboxed Solutions
  10. Automated Build, Deployment & Testing for Apps
  11. Release Management Overview
  12. Release Management for Full-Trust & Sandboxed Solutions
  13. Release Management for Apps

The full series is based on the best practices and guidance that was put together by some Microsoft folks (Eric Charran, Vesa Juvonen, & Steve Peschka) in this MSDN article.

image

The article applies common application lifecycle management (ALM) concepts and practices to application development using SharePoint & Office 365 technologies. This series is intended to complement the MSDN article by providing the “How” aspect of doing things. In fact, I’ll be referring to the article in almost every post instead of explaining the theory behind each task / exercise (I’m not a fan of reinventing the wheel).

One thing to note here is that the series is intended to be educational, the lab environment setup (will be covered in the next post) was done in a way that enables you to easily follow along, focus on what we want to achieve without spending too much time focusing on the infrastructure & security side of things. I’ve also broken some rules that are highly recommended to follow in production environments; you will find me ignoring the least privilege accounts principles and using the domain administrator account for setting up almost everything in SharePoint & Team Foundation Server (including all its components), you will also find me combining many services on one virtual machine. This is OK for educational purposes.

However, I’ll be giving you some guidance from time to time on how to setup a real-life Application Lifecycle Environment for SharePoint 2013 & Office 365 SharePoint Online. I’ll also provide you with some links for some of the best resources out there on the internet that can help you on installing & configuring the components needed for building a comprehensive ALM environment for SharePoint 2013 & Office 365. This means that you can still follow along in case you are willing to implement a real-life ALM environment.

Another thing also to note here is that I’ll be explaining how to apply the ALM practices using Team Foundation Server 2013 (on-prem), Visual Studio Online (The cloud offering of TFS) and a hybrid approach. So if you don’t have enough infrastructure or you’re a cloud fan, you can still follow along and choose the option that best suits you.

While you’re waiting for the next post, I’d like to leave you with the following small exercises:

Exercise 1

Read the “Overview of Application Lifecycle Management” part of the MSDN article. That’s only the first part.

clip_image004

Exercise 2 (Optional)

If you are not familiar with the new development options in SharePoint 2013, please refer to the following articles :

SharePoint 2013 development overview

Choose patterns for developing and hosting your app for SharePoint