CHUVASH.eu

CHunky Universe of Vigourous Astonishing SHarepoint :)

Tag Archives: app

My first Office Add-In

Yesterday I participated in the Hackathon at European SharePoin Conference in Stockholm. The main goal was to learn more about Office Add-Ins. I wanted to create a very very simple app to learn the basics. Here in this post I’ll provide some links and describe the steps needed to start developing your Office Add-Ins.

The Add-in I created is an Outlook Add-In, it is called “Joke Inserter” and with it you can insert a random Chuck Norris joke. It is just for fun, but it demonstrated how an add-in can be installed, made available in “New E-mail” and interact with the e-mail you are writing.

All the code is on github. The random jokes come from The Internet Chuck Norris Database. As I said, the jokes were just for fun, this add-in is of course, not a business app. During the hackathon I got help from Pretish Abraham, Jeremy Thake and …

This is the result:

joke-inserter-video

Prerequisites

  • Any OS, I happened to have Windows 🙂
  • git, nodejs, npm (they should be in the $env:PATH)

Install following npm packages globally:

npm install -g tsd yeoman generator-office gulp

Creating the Add-In

Now with the yeoman support it is very easy:

Create a folder and scaffold an app:

mkdir joke-inserter
cd-joke-inserter
yo office

After that update the manifest file: Icon Url, and Support Url

Start the application on localhost:

gulp serve-static

Go to your Outook.office365.com. Click on Manage Apps and add the manifest file from your solution. I uploaded this app on azure: https://kultar.azurewebsites.net/appcompose/home/home.html. You can try this app by installing the manifest file in you Outlook client.

Now when one is done with that simple fun add-in, it is very easy to go ahead and create real add-ins that provide value to you and your colleages.

joke-inserter-video

 

Resources:

 

Advertisements

What is a SharePoint application

SharePoint Artefacts in a meaningful assembly like a lego toy

A meaningful collection of Lego bricks is a toy. A meaningful collection of Lists, Fields, Files and other SharePoint artefacts becomes a SharePoint Application. Private picture.

App, Add-In, List, Web, Site, Sandbox solution, Workflow. There are too many words flying around in SharePoint that confuse users and Non-SharePoint-Developers. I want to introduce a “new” concept that is so simple and that a company can understand and govern: a SharePoint Application.

That is so simple. It can be called a tool, a functionality. That can be a SharePoint list, a document library with a workflow, or a document library with custom jslink. All they can be SharePoint Applications. Let’s use lego as a metaphor. Have you seen this?

SharePoint Artefacts as lego bricks

The same toy car in just brics. SharePoint Artefacts like Webs, Lists, Fields, Content Types, JSLink etc are just lego bricks. Private picture.

These lego bricks together become a cool toy that you can play with (as you can see in the picture above). So it is with SharePoint Applications, too. SharePoint Applications solve actual business needs. A List, or a JSLink by themselves do not solve a business need. It must be a meaningful collection of SharePoint Artefacts that becomes a SharePoint Application.

Example

Does the lego metaphor make sense to you? To go back to SharePoint, I’ll give you an example of a SharePoint Application. I would say everybody has done such Applications. In a project we created a document library for product icons that were used for all products in a company. Easy? Yes. But the icons had several states (active, inactive…). Versioning and Approval was required. A workflow for new requests and submits was implemented, too, permissions for different roles, metadata navigation in the document library and so on. Sure, SharePoint provided us with great “lego bricks”. But we created a tool, a functionality – a SharePoint Application, that makes sense to our business.

What’s new then? Well, we all have done such applications. The new is to understand SharePoint Applications as an own alternative and quality assurance. See more below.

Another example is an “App” for SharePoint Online that I converted into a SharePoint Application by adjusting it for SPO and OnPrem. That’s when I came up with the idea of the SharePoint Application.

Definition

A SharePoint Application is a meaningful collection of SharePoint Artefacts, like Webs, Lists, Fields, Views etc that becomes an entity and solves a business need. SharePoint Applications follow best practices and quality policies as all other applications.

To understand more, let’s compare with the related concepts:

SharePoint Application vs SPList

An SPList (an “app”) is often only a part of an entity. Users often create two or more lists, update views and so on. A SharePoint Application contains a list and everything else ready for satisfying business needs.

SharePoint Application vs. SharePoint Hosted App (Add-In)

An SP Hosted App resides in a different domain, it is a subsite that is only trusted to do some predefined actions. An SP Hosted App allows separation of trust, it can be uninstalled easily and it is always a separate site (Web). A SharePoint Application is more flexible (it might be a list in the same site). It is closer to the actual site where users need this functionality. A SharePoint Application is in the same domain name and has the full user trust. A SharePoint Application does not require App Infrastructure and separate domains. It is searchable and can benefit from BlobCache (Style Library) to ensure good web performance.

SharePoint Application vs. Provider Hosted App (Add-In)

SharePoint Application uses SharePoint Templates, Information Architecture, Search, Identity Management etc. A Provider Hosted App is a dedicated web application outside SharePoint. A Provider Hosted Application is powerful because it is not bound to SharePoint. All advantages and disadvantages are the same as the ones for a custom ASP.NET application. A Provider Hosted App has a connection to SharePoint, it requires a Trust and App Infrastructure in your environment. A SharePoint Application is not that powerful, but as long your business need can be solved by SharePoint lists, Page Layouts, Workflows, then a SharePoint Application is the right choice for you.

Quality and Governance

To ensure quality, every SharePoint application should comply with policies and fit into the overall Govenance model. Treat them as they were other Applications. They must have system documentation, application lifecycle management including versions, upgrades and rollbacks. They must be staged and tested before going to production. Another example of a quality policy is that a SharePoint Application is provisioned, maintained and operated using only Client Side Object Model – no farm solutions. All SharePoint Applications are tracked in a system for a better supportability.

Provisioning Framework for SharePoint Applications

I would strongly recommend using a framework for provisioning your SharePoint applications. My favourite is SPMeta2. There is also PnP which is a strong community. It might be okay with manual setups (click-click in SP) for smaller applications. My advice, though: Require code based, repeatable, code-documented and tested provisioning of SharePoint Applications even for smaller ones.

Summary

SharePoint Applications have been around for a long time. My goal is to give them a name so we don’t need to be confused by apps, add-ins, lists. A SharePoint Application is not a technical term, it is just a meaningful solution for a business need, done in SharePoint that leverages high quality by following policies and standards within a company.

Http to Https Redirect in Provider Hosted Apps

It is strongly recommended to use https in SharePoint Provider Hosted Apps. In many provider hosted apps I have seen, only https works. I would recommend to configure a simple http to https redirect in IIS and make solutions better. Many Provider Hosted Apps can be done in that way that they are available without SharePoint Context, e.g. for browsing information. In that case that is important to have an easy url and an automatic http -> https redirect.

In this post I’ll give a short manual for doing that. I would recommend this step for all provider hosted apps.

1. In the Provider Hosted Apps Server install the URL Rewrite IIS Module using Web Platform Installer:

http-https-001

2. Next step is to add the http binding to your solution (this is needed for the future redirect):

http-https-004

Then you can configure the automatic http to https redirect using the GUI or the web.config update. My instructions originally come from JPPInto.com blog.

I suggest updating the web.config file directly in the Provider Hosted App:

http-https-002

3. Add this section to the web.config file:

http-https-003

<system.webServer>
  <rewrite>
   <rules>
    <rule name="Redirect to HTTPS" stopProcessing="true">
     <match url="(.*)" />
      <conditions>
       <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
    </rule>
   </rules>
 </rewrite>
</system.webServer>

It is important to know that his web.config section will cause failure on the server if URL Rewrite module is not installed.

Summary

These steps are very easy to accomplish and I recommend it for every Provider Hosted App, especially those ones that are accessible without going through SharePoint (Web Content -> Apps). This also reflects the configurations in Azure Apps (WebSites).

Kom igång med SPMeta2

SPMeta2 (eller bara M2) är ett relativt nytt ramverk för provisionering av SharePoint-artefakter. Bakom ramverket ligger ett gediget arbete. I den här posten vill jag skriva upp mina steg för att sätta upp ett litet projekt. För mig är SPMeta2 nytt och huvudprincipen i den här bloggposten att få en fungerande lösning så snabbt som möjligt. Informationen här kan snabbt bli inaktuell, eftersom SPMeta2 förändras och förbättras väldigt snabbt.

Vad är SPMeta2
SPMeta är ett ramverk för att provisionera SharePoint-artefakter, allt från fält, innehållstyper, listor, dokumentbibliotek, user custom actions, ladda upp filer med mera. Klassiskt har vi gjort provisionering med hjälp av XML-baserade moduler och features. SPMeta2 erbjuder ett Fluent API som är kodbaserat. Med hjälp av SPMeta2 definierar man en modell (enkla objekt POCOs) som inte har beroendet till SharePoint. Modellen används sedan av Provision-delen som anropar modellen för specifika versioner: SharePoint 2013, SharePoint 2010, Office 365 med mera. Man kan välja CSOM och SSOM. Provision är också flexibel vad som gäller paketering: det kan vara en konsolapplikation, en SharePoint-app, ett wsp-paket, en PowerShell-modul. Se följande länkar:

Testmiljö

För att testa behöver vi en site. Jag använder min http://dev/sites/004 som jag skapat just för det här. Av någon anledning gick det inte att använda Visual Studio 2015. Så jag har min Visual Studio 2013 på en virtuell maskin med SharePoint.

Målet

Provisionera jQuery och ett enkelt skript till min site collection.

Process

Installera Visual Studio Template

m2-001

Det här kommer leda till github. Ladda ner den därifrån:

m2-002

Godkänn och Installera

m2-003

Skapa ett nytt projekt. Solution ska vara Takana. Projektet ska vara Takana.Model

m2-004

Välj “Pocos only” och Takana som prefix och gruppnamn (i mitt litet labb kommer de här inte användas, men det går så snabbt att ställa in dem här):

m2-005

Man får en bra struktur över modellen, allt prefixat och enligt best practices.

m2-006

Jag kommer att använda de här modellerna sedan:

m2-007

Nästa steg är att skapa Provision-delen. Skapa ett nytt projekt i samma VS Solution. Kalla det Takana.Provision:

m2-008

Välj SharePoint Standard och SP2013 CSOM

m2-009

Efter det har vi en VS Solution med två projekt: Takana.Model och Takana.Provision. I Takana.Provision finns CSOMProgram.cs som startar provisioneringen:

m2-010

För att börja med, behöver man sätta Takana.Provision som Startup Project (blir fetstilt)

m2-011

Efter det måste ett tillfälligt problem lösas – referensen 16-foldern. Det här ett känt problem och kommer förmodligen lösas inom kort.

m2-012

Den snabbaste vägen till att ersätta referensen är att installera ett nuget-paket som heter SharePoint Online Client Side Object Model. Även om det är för SharePoint Online, funkar det alldeles utmärkt för OnPrem också.

m2-013

Efter det lägg till Takana.Model som referens

m2-014

Byt ut siteUrl, siteModel och rotWebModel:

m2-015

Det går fort att köra den här konsolapplikationen. Nu när jag går in på min site, ser jag att jQuery har provisionerats och ett litet skript också som skriver till konsolen.

m2-016

Sammanfattning

Det här en liten manual för hur man lätt kan komma igång och prova SPMeta2. SPMeta2 är ett kraftfullt ramverk som kan användas för provisionering och uppdatering av SharePoint-applikationer. Det kan finnas en tröskel i att börja använda det. Jag hoppas att med den här bloggposten jag kan göra fler nyfikna på att prova SPMeta2 och kodbaserad provisionering för att det är ett framtidssäkert sätt att arbeta med SharePoint.

Onpremifying SharePoint apps

onpremify-001

We want to make an app available in SharePoint OnPrem, we want to onpremify it. Rethink SharePoint apps and provisioning SharePoint artifacts.

It has been a while since I updated my blog – Chuvash.eu. I had my vacation, I visited the sunny and green Chuvashia. Now I am back and I am looking forward to an awesome SharePoint Autumn. One of the first things I had to deal with in this SharePoint Autumn was Onpremifying of a SharePoint Online App. We have an app that has gained popularity and we want to make it available for SharePoint OnPrem. There is no such word Onpremify (yet?), I know, it is a Swenglish happy word making (onpremifiera), but I like the word “onpremify” a lot.

There is still uncertainty around the purpose of SharePoint apps. One app type, though, has been used a lot in our company: an app that provisions SharePoint Artifacts – that creates SharePoint Applications. What I mean by SharePoint Applications can be read in my blog post:

The successful app type creates SharePoint Applications – by provisioning needed SharePoint artifacts (Fields, Content Types, Lists, Page Layouts, Styles, Scripts, Web Parts, Pages…). Often it is a one time job: When the SharePoint application is provisioined, it is finished.

onpremify-002

When you’re about to onpremify such an app, you have three main choices:

  1. Install app in OnPrem. Requires the App Infrastructure in place and a separate build of the app (15.0.0.0 version)
  2. Make a parallel version of the app using a farm solution (not good at all)
  3. Invoke the provisioning code from a console app (I recommend this one)

The choice 1 might seem obvious, but not all companies have a functioning app infrastructure (a dedicated server for Provider Hosted apps, S2S Trust and Governance around it). The choice 2 splits your app into two variants and makes it hard to maintain.

On the other hand, the choice 3 might seem crazy, when you hear it for the first time. A Console App? But give it time, think about it. The idea comes from the awesome SharePoint Provisioning Library SPMeta2, where the Model (SharePoint Artifacts) and Executing are separated. Your model for Fields, Content Types, and Lists and so on, is an agnostic code based definition that can be used for SSOM and CSOM, for SharePoint 2013, SharePoint Online, SharePoint 2016 and SharePoint 2010. SPMeta2 eliminates the need for XML and wsp packages.

So my recommended approach for onpremifying SharePoint apps where the main goal is to provision SharePoint Applications is to move the provisioning code into a separate VS Project. The SharePoint App Project (mainly AppManifest.xml) remains the same, The App Web Project is made to a “stupid” interface that invokes the Provisioning Library. We also create a new interface – a Console App. You can replace the console app with a Windows Application, a Web Application, PowerShell Script, An admin page in Central Admin – whatever suits you. The Console app can be used not only in OnPrem, but also in SharePoint Online.

SPMeta2 vs. PnP vs. Own Framework

Every developer with Self-Respect uses a framework for provisioning SharePoint artifacts. It might be some own utilities or preferably public framework, because you don’t want to repeat yourself, especially in SharePoint. When SPMeta2 and PnP are available it is not smart to reinvent the wheel. I usually recommend to use one of them. I personally prefer SPMeta2 because… mainly because it is more complete and consistent. Read more about SPMeta2 vs. PnP comparison.

Announcing web based SQL Max Memory calculator

sql-max-logo

Today I want to announce a tiny web application for calculating max memory in the SQL Server to improve the overall performance in you SharePoint environment:

SQL Max Memory Calculator.

One of the important actions to improve the performance in SharePoint is fine tuning of the SQL Databases. Regarding the databases one of the crucial settings is the Max Memory Setting. You can read more about database optimizations for SharePoint in a whitepaper written by SharePoint MVP Vlad Catrinescu. The document is available on the SharePoint Community Web Site:

Vlad Catrinescu also created a windows application for calculating the max memory for SQL which can be downloaded from codeplex (GPL v2):

This windows application has inspired me and my colleagues to create the web based application SQL Max. The goal of the SQL Max web app is to take Vlad’s idea a step further and make it available directly in your browser, on desktop at work, or on the go in your mobile. This mobile web app will also be available for offline access. Simply put, why should you dowload a zip file, extract and run the .exe file? Perhaps you cannot run executable files due restrictions, or perhaps you are not running Windows at all.

How it works

The web application is completely javascript-based. It is open source (MIT license) and the code is freely available at github:

The most important part of the solution is the formula. The original formula (C#) is provided by Vlad Catrinescu is as follows:

SQL Max Memory = TotalPhyMem – (NumOfSQLThreads * ThreadStackSize) – (1GB * CEILING(NumOfCores/4)) – OS Reserved
NumOfSQLThreads = 256 + (NumOfProcessors*- 4) * 8 (* If NumOfProcessors > 4, else 0)
ThreadStackSize = 2MB on x64 or 4 MB on 64-bit (IA64)
OS Reserved = 20% of total ram for under if system has 15GB. 12.5% for over 20GB

When you’ve filled in the values in the form, you’ll see the max memory in the blue box above:

sql-max-001

How to apply this setting in the SQL Server

To apply the max memory follow these steps, the instructions come originally from technet:

  1. In Object Explorer, right-click a server and selectProperties.
  2. Click the Memory node.
  3. Under Server Memory Options, enter the amount that you want for Minimum server memory and Maximum server memory.Use the default settings to allow SQL Server to change its memory requirements dynamically based on available system resources. The default setting for min server memory is 0, and the default setting for max server memory is 2147483647 megabytes (MB). The minimum amount of memory you can specify for max server memory is 16 MB.

Contributors

AppLoader Concept for SharePoint apps

In this post I want to share an unusual, nevertheless interesting conceptual idea of loading content from SharePoint 2013 apps on many pages. The original awesome concept was proposed and developed by my colleague Martin Villysson at Bool.

The problem we are trying to solve

SharePoint apps are great to extend functionality in SharePoint and integrate other systems (full page apps available through Site Contents), they also provide tools to enrich the default SharePoint experience by App Parts (Client Web Parts) and Custom Actions (additional menus).

One of the biggest shortcomings of that model is the need to add app parts on all pages where it is needed. Let’s say, we want to have some app parts present on every single page in our whole SharePoint tenancy, to provide a consistent look and feel (e.g. navigation, notifications). Traditionally, on premises, we have added user controls in our customized master page. In SharePoint Online that is impossible. The complicated workaround is to add those client web parts (app parts) on every page, be it manually or by automating it (powershell or app). It will require updating all pages. Nevertheless, it will not work on Out-of-the-box application pages (pages from layouts folder). It becomes even more unacceptable when you realize that your app must be added as an app instance on every single site (SPWeb) in your tenancy. 

Towards a solution

Allright, we don’t want to have thousands of app instances of the same app. What we can do is to use Tenant scoped apps (Tenant Apps). Then we’ll need only one app instance. But wait, app parts from a tenant app are only available in the parent site (HostWeb), meaning – App Catalog. That’s not good. So what Martin found in the SharePoint internal javascript code is using of _layouts/15/TenantAppInfo.ashx, a http handler that provides information about all Tenant Apps and their custom actions.That’s how the idea of the AppLoader was born.

Vesa Juvonen

After we had created a working Proof-of-Concept of the AppLoader concept, I met Vesa Juvonen at the SharePoint Conference in Las Vegas and introduced this idea to him (although I didn’t call it AppLoader). He liked it although he pointed out that this TenantAppInfo.ashx is an internal utility only in SharePoint and it is not supported by Microsoft. That’s correct. There is even almost no information about it on the Internet. But I got a feeling of Microsoft that they are willing to hear feedback and improve the product. Vesa encouraged me also to blog about it. So now I am telling about this idea. I hope to hear feedback about it. Unfortunately I cannot share the source code of the working Proof-of-Concept solution.

AppLoader Concept in colors

The AppLoader Concept is quite simple. Look at this picture:

apploader-concept

 

The solution contains a custom Master Page (blue) that references a javascript file called apploader.js (red). This file initializes the whole process. Tenant Apps (green) are the apps that an administrator has installed in the App Catalog and deployed to the whole tenancy. TenantAppInfo.ashx (black) is a handy but officially unsupported OOB service utility (http handler) that returns a json-formatted list of all Tenant Apps (green). AppLoader (red) receives the app list (black) and renders it on the Page (blue) inside new iframes (red). The page a user has navigated to can be any page (wiki page, publishing page, application page, really any page).

To summarize the colors in the diagram: red is our javascript code, green are all the tenant apps and their content, black is the utility and its output, blue is a sharepoint page and its underlying component (master page).

The steps in the AppLoader process:

  1. Make an ajax request to TenantAppInfo.ashx using XHR (XmlHttpRequest)
  2. Receive the app list
  3. For every app information, render app part, or inject css and javascript references. 

 

Reading what to render on the page

You probably have already have tried to navigate to _layouts/15/TenanAppInfo.ashx while reading this post, I know you are curious. Then you’ve noticed that there is no information about app parts. So you may ask: how do we know what app parts to render and where to put them in the page, and how do we know what resources (css and javascript files) to inject on the page. Well there is no information about it in the apps list. But if you have an app with custom actions you’ll see that they are listed in this json-formatted list we receive from the TenantAppInfo.ashx. So the solution is the brilliant idea of my colleage Martin to define custom actions in the app. CustomActions contain a ActionUrl. The ActionUrl points to the url to render (app part page) or to inject (javascript or css file). The apploader.js reads the ActionUrl in the Custom Actions for every app information and takes action upon it (rendering an app part iframe, or injecting a javascript or css file). That’s it. 

Usage and Limitations

This bright idea takes advantages from a huge SharePoint API (that contains a lot of good but not supported parts) to make using of apps in Client Application Model solutions more pragmatic and still provide a consistent design and behavior. By consistent design I mean same parts like additional navigation, notifications etc in the whole Intranet. The AppLoader renders and injects whatever you have rolled out to your whole tenancy (Tenant Scoped Apps) and that on every page (!). It also improves the perceived performance of the page load, because it renders app parts (iframes) after the main page has been loaded preventing freezing of the page. 

There are of course some limitations in the AppLoader Concept. Today we cannot rely on the TenanAppInfo.ashx API (because it is not supported and future updates can break solutions). We have to define our own custom actions in the apps. That means we can only use our own apps, it will hardly work with the apps installed from the Office Store. On the other hand, your customer will not want to have generic apps from the Office Store to be a part of every page on their intranet.

Configuring VirtualBox for SharePoint-Hosted Apps

Recently I have switched from VMWare to VirtualBox for my SharePoint Development. So far it really works good. I have prepared this guide for configuring VirtualBox for SharePoint-hosted apps. That means we need a new adapter with a static ip address. All the steps done inside the virtual machine are applicable for VMWare and Hyper-V, too. This guide does not cover the full configuration of the app environment, it covers only the network and dns settings needed for SharePoint-hosted apps on Premises in a Development machine.

In VirtualBox open Preferences:

002-vbox

In Preferences, click on Network, then on Host-only Networks, click on “plus”

003-vbox

After a new host-only Network adapter has been created, click on the screwdriver image to configure the network:

004-vbox

Remember this ip address, you can alter it, of course. Or use this: 192.168.64.1, then you can have the same settings in your environment as I have:

005-vbox

Go on to the settings for your Virtual Machine. Enable Adapter 2, as shown on the picture below.

006-vbox

The rest are the settings in your virtual machine. Open Network Connections in the Control Panel. For the newly added Network Adapter (Ethernet 2), open Properties:

007-vbox

Then open Properties for “Internet Protocol Version 4 (TCP/IPv4)”

008-vbox

Remember the ip address for you VirtualBox host-only Network? I have 192.168.64.1. Increment the last number (192.168.64.2) and use it as the ip address for your adapter. The default gateway is 192.168.64.1 as the the VirtualBox host-only Network. The DNS Server should be the same as the virtual machine, the same adapter: 192.168.64.2:

009-vbox

Open DNS Manager, right-click on Forward Lookup Zones and start the New Zone Wizard by clicking on “New Zone…”:

010-vbox

Follow the steps in the wizard:

011-vbox

Choose “Primary Zone”:

012-vbox

Keep the default setting: “To all DNS Servers running on domain controllers in this domain:

to-all-servers-vbox

Write your app domain. I use takanaapps.local:

014-vbox

Choose “Do not allow dynamic updates”:

015-vbox

Then finish the New Zone Wizard:

016-png

In the new forward lookup zone (takanaapps.local), add a new wildcard cname entry (alias):

017-vbox

Just add an asterisk and point it to your main domain (takana.local in my case):

018-vbox

After that you should be able to ping any subdomains of your app domain (xyz.takanaapps.local, abc.takanaapps.local):

019-vbox

When you start adding apps to your sites, you should add app sites to your local intranet zone (to be automatically signed in in apps webs). This setting in IE will affect Chrome as well. Go to the Options in the Internet Explorer:

020-vbox

In the Security tab -> Local Intranet, click on Sites:

021-vbox

Click on Advanced button:

022-vbox

Add your new app domain with an asterisk in front of it to the “Websites” of the Local Intranet:

023-vbox

Sources

What about the SharePoint app domain?

This is an open question about the domains for SharePoint apps. On Technet: Configure an environment for apps for SharePoint (SharePoint 2013) we can read the following:

You must configure a new name in Domain Name Services (DNS) to host the apps. To help improve security, the domain name should not be a subdomain of the domain that hosts the SharePoint sites. For example, if the SharePoint sites are at Contoso.com, consider ContosoApps.com instead of App.Contoso.com as the domain name.

Does it apply to SharePoint Online? Well, apparently not 🙂 So why should we do it on premises?

subdomain

As we all know, sharepoint.com is used for our Office 365 tenancies and for apps.

My five takeaways from the SharePoint Conference 2014

spc14

The SharePoint Conference 2014 was an astounding event. Over 10 000 like-minded SharePointers that met, learned a lot and shared new ideas, couldn’t be better. It was also the first time I was to the U.S. and Las Vegas. What a country, what a city! This place must burn people’s lives faster than anywhere else in the world 🙂

I want to share my five takeaways from this conference. I’ll keep it short:

Yammer will be the main social platform. The development of the Newsfeed will be discontinued. I remember the many questions and the ambiguity about what would happen with the newsfeed and Yammer in 2012. Now it has been clear. It will be Yammer and and it will be the cloud.

SharePoint Community is getting really mature. On the conference the the presence of the community was huge. The founders of the SharePoint-Community.net gave an interview on the SharePoint Conference TV (SPCtv). Microsoft introduced new open source projects on codeplex like for example officeams.codeplex.com and on github like for example SharePoint SDK for Android. Many speakers published their demos and the source code on github. All the organizers, speakers and attendees “worked like a network” on the SPC Yammer Network.

SharePoint is here to stay. More and more people work with SharePoint and Office 365. Office 365 is Microsoft’s fastest growing commercial product. The presence of former president Bill Clinton is just another statement that it is a “serious” business.

Apps will evolve and be the main type of solutions. We have not seen the final version of the App Model. There are still many questions and misunderstandings. Although I see a strong will to use solutions using Cloud App Model (CAM) opposed to Full Trust Code (FTC). Pioneers like Vesa “Vesku” Juvonen test the App Model and make the best of it. There are still many shortcomings that force us developers to find workarounds and some hacks. On the other hand, since I talked to the App Model Developers from Microsoft, I feel a sincere will to continuously improve the App Model. Provider-Hosted Apps (mostly written in .NET) will dominate the apps. Applications like the SPHelpDesk will be isolated applications which will be able to run independently from SharePoint and take advantages of the SharePoint environment (like user information and more) when they are opened from a SharePoint site.

SharePoint will go on a diet. We have already seen the divorce of SharePoint from the Workflow Services, from the Office Web Apps, from the App Fabric Cache. It won’t stay there. SharePoint will be redefined as a well-defined part of Office 365. All surrounding products will be separate products.

Вула Чăвашла

VulaCV - Чăвашла вулаттаракан сайт

Discovering SharePoint

And going crazy doing it

Bram de Jager talking Office 365, SharePoint and Azure

My view and thoughts on Productivity and more.

My programming life

and everything in between

SharePoint Development Lab by @avishnyakov

It is a good place to share some SharePoint stories and development practices.

SharePoint Dragons

Nikander & Margriet on SharePoint

Paul J. Swider - RealActivity

RealActivity is a specialized healthcare services and solution advisory firm.

Mai Omar Desouki - Avid SharePointer

Egyptian & Vodafoner - Senior SharePoint Consultant

Cameron Dwyer | Office 365, SharePoint, Outlook, OnePlace Solutions

Office 365, SharePoint, OnePlace Solutions & Life's Other Little Wonders

paul.tavares

Me and My doings!

Share SharePoint Points!!

By Mohit Vashishtha

Jimmy Janlén "Den Scrummande Konsulten"

Erfarenheter, synpunkter och raljerande om Scrum från Jimmy Janlén

SPJoel

SharePoint for everyone

SharePointRyan

Ryan Dennis is a SharePoint Solution Architect with a passion for SharePoint and PowerShell

SharePoint 2020

The Vision for a Future of Clarity

Aharoni in Unicode, ya mama

Treacle tarts for great justice

... And All That JS

JavaScript, Web Apps and SharePoint