Host Multiple Provider-Hosted SharePoint Apps Within a Single Assosiated Web Application


While developing Provider Hosted Apps for our clients I noticed a lot overhead in our projects. Packaging, deploying, same code distributed over all provider hosted apps. In previous version of SharePoint we were getting used to provide a structured solution (WSP), providing a great set of features to our customers. The code was hosted within a single solution and solution package for easy release management. Although there are reasons why you should not do this, it is still a tradeoff between an easy to deploy solution and a structured way to deploy different features within a different release cycle. I don’t want to start this discussion here, but let’s take a look if it is even possible. Can SharePoint Provider Hosted Apps run within a single Web Application Project? In short, yes, it can work, although there are several reasons why you don’t want to get in to this! What we want to achieve is a solution structure were we have multiple App Manifest bound to a single App Web. In the example we have HighTrustSampleApp1 and HighTrustSampleApp2 added to the project and a Single App Web. How to accomplish this Ø Create a new solution Ø Add a SharePoint 2013 App (provider hosted); two projects will be added to you solution Ø Add a second SharePoint 2013 App (provider hosted); again, two projects will be added Ø Remove one of the webapplication Ø Select the Second App (App project) and go to properties Ø Set the Web Project the same as the Web App created with HighTrustSampleApp1 Ø Add a Second ASP.Net webpage to the project for your second app (App2.aspx) Ø Copy & Paste the codebehind from Default.aspx in the App2.aspx.cs Ø Open the App manifest of HighTrustSampleApp2 Ø Set the start page to App2.aspx Ø Ready for now! When we build and deploy this solution it will half work J. When pressing F5, to browser will pop up. If you press Trust on the second App in your project, both app will work! But effectively it is reusing the access token from the other app. Things to do in the SharePointContext & TokenHelper To authorize your App access to SharePoint your AppWeb has a library with some bunch of code to handle this OAuth handshake. Before you start believing in magic please make sure you know how OAuth works and how SharePoint authenticates your app using high or low trust techniques. The library has been delivered by default to host a single app, but in our case we are interested in hosting multiple apps in a single web app project. ClientId One of the things we need to deal with is the ClientId, which is (normally) different for every single App. The IssuerId can be shared between apps, so we can leave that one as is. The clientId is grabbed from the web.config where the clientid is registered. The ClientId should be different for the different apps, so you would need to develop a way to differentiate the app calls SharePointContext The Tokens are cached into the Http Context, so here you would need multiple session variables, one for every app Visual Studio So it looks pretty straightforward to update the code the get different different apps working within a single webapplication. But you will get annoyed by Visual Studio, because it has no support for developing multiple apps in a single Webapplication. When you are developing locally the ClientID is continuously updated to a new one on every deploy. Visual Studio registers your app for you in SharePoint and you’re good to go. Unfortunately this will not work. Conclusion For now, I have stopped my journey in exploring the ability to host multiple provider-hosted SharePoint Apps in a single web application project. Technically you can make it work, but there will be some issues on the way. We decided to continue to deploy our apps as a Virtual Application/Directory in IIS in a single Web Application for provider hosted Apps. Works great, with great support within Visual Studio. Define your apps in a scope which need to be deployed together, to minimize the App overhead. Get started with Provider Hosted Apps How to: Create high-trust apps for SharePoint 2013 (advanced topic) http://msdn.microsoft.com/en-us/library/office/fp179901(v=office.15).aspx Scripts to configure you development and production environment http://msdn.microsoft.com/en-us/library/office/dn579380(v=office.15).aspx Packaging and publishing your Provider Hosted App http://msdn.microsoft.com/en-us/library/office/jj860570(v=office.15).aspx

Download SharePoint 2013 SP1 now! It has been released!


With the realase of Service pack 1 for SharePoint and all other Office products some new features are availlable!

New in SP1

  • Compatibility fixes for Windows 8.1 and Internet Explorer 11.
  • Better support for modern hardware, such as high DPI devices and the precision touchpad.
  • New apps for Office capabilities and APIs for developers.
  • Power Map for Excel, a 3D visualization tool for mapping, exploring, and interacting with geographical and temporal data in Excel, is now available to Office 365 ProPlus subscription customers. You can learn more about Power Map general availability on the Power BI Blog.
  • Improvements to the Click-to-Run virtualization technology that installs and updates Office 365 desktop applications.
  • SkyDrive Pro is now OneDrive for Business. You can now integrate OneDrive Office 365 with your Onpremise SharePoint 2013.
    2014-02-26_07h25_42
  •  Replace Newsfeed with Yammer, to use the best social collaboration tools for your organisation

Fixed in SP1

  • Metadata is lost when documents that use a custom content type with a “Description” field are opened for editing.
  • When an item is deleted, restored from recycle bin, and then deleted again, there is a primary key constraint error.
  • An error occurs when files are moved between document libraries and the web time zone is behind that of the server.
  • Metadata filtering at list level always lists all metadata terms.
  • The hyperlink popup window drops the selected word to be linked when there is a delay of more than one second in opening the window.
  • Multiple-column, SummaryLinkWebParts with a group heading style of “Separator” are rendered incorrectly.
  • A hash tag that contains a full width space does not get created successfully.
  • Search schema compression is now enabled by default to allow larger search schemas.
  • Highlighting for FQL queries is now enabled for FQL as well as KQL.
  • Opening a custom SharePoint list in datasheet view and applying multiple custom filters, where each filter has more than one condition, can result in an incomplete set of list items.
  • When the “Export to Excel” button is clicked in a SharePoint document library that has the Content Type field displayed, the Content Type field does not appear in the Excel workbook.
  • An error occurs after changing the “Manager” property in EditProfile.aspx page when the My Sites WebApp is not in the same farm as the UPA.
  • SharePoint REST API does not return a well-defined error response for a duplicate key exception.
  • Developers are unable to specify a Content Type ID when creating Content Types in the client object model.
  • On list views in SharePoint sites, the Connect to Outlook button in the ribbon may be erroneously disabled.
  • In some non-English languages of SharePoint, the text displayed in the callout UI for a document or list item, describing who last edited the item, may not be grammatically correct.
  • Copy and Paste in a datasheet does not work correctly with Internet Explorer 11.
  • Pages do not render in Safari for iPad when private browsing mode is used.
  • When editing rich text fields in SharePoint, if the editing session exceeds 30 minutes, the edits may not be saved.
  • An error that says “SCRIPT12004: An internal error occurred in the Microsoft Internet extensions” may occur intermittently when users visit their SkyDrive Pro or other pages on their personal site.
  • InfoPath may crash when a form that points to a SharePoint list, with a lookup to another SharePoint list, is opened.
  • An InfoPath form with extended characters in its name fails to open.
  • An error that says “Security Validation for the form has timed out” may occur when an InfoPath form is digitally signed and hosted in a SharePoint site collection that uses the SharePoint version 2010 user experience.
  • “Show document icon” remains unchecked and the document icon does not show in Edit Properties for a list item.
  • A “Failed tagging this page” error occurs when the “I like it” button is clicked.
  • The wrong term is removed when manually editing a multi-valued taxonomy field.
  • When tagging list items using a language that is different from the term store default language, suggestions for labels are offered in multiple languages. The suggestions appear confusing because both language
  • suggestions are listed without any identification of the language.
  • An error that says “There was an error processing this request” may appear when editing the user profile.
  • Times are missing from Date/Time results in certain filtered list web service calls.
  • Minimal and no metadata are now enabled as supported JSON formats.
  • Actions4 schema workflow actions can’t be deployed to SharePoint.
  • Using Client Object Model, Stream.Seek() to seek to a particular position doesn’t seek at the proper offset.
  • Refreshing a workflow status page generates the following error: “System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.”
  • Setting custom, non-English outcomes in web pages on tasks in a workflow fails to set the value.
  • Configurations of SharePoint using Azure Hybrid mode and Workflow Manager together can cause workflow callbacks to fail.
  • Workflow task processes on wiki pages won’t start.
  • Workflows won’t wait for changes to content approval status fields.
  • E-mails generated by workflow cannot be disabled for approvals in SharePoint workflows.
  • Workflows may fail to send an e-mail or send too many e-mails.
  • Association variables do not update correctly for auto-start workflows.
  • A KeyNotFoundException error may occur in a workflow when the associated task list uses unique permissions.
  • Incomplete tasks are deleted when workflow task activities complete.
  • Task activity is suspended when the task is completed using app-only credentials.
  • An error that says “This task could not be updated at this time” occurs when trying to complete a workflow task using the “Open this task” button in Outlook.
  • A workflow doesn’t respond properly when waiting for changes in specific types of list columns, such as Boolean, Date Time, and User.

Check here for the KB and download
http://support.microsoft.com/kb/2817429
http://www.microsoft.com/en-us/download/details.aspx?id=42008

Signs of Office 365 Preview ( 2013 ) getting to General Availability (GA)


Today I’ve noticed a slight change in our Office 365 Preview which seems to be a preparation step of Microsoft to get ready for general availability (release) of Office 365 version 2013.

In the top left corner we were used to see , but from the 23th January we have

It looks like we are moving from preview to production.

Although Outlook Web App and management portal still shows Office 365 Preview

First impressions of SharePoint 2013 on the SPC2012


On the first day of the SharePoint Conference 2012 we have heard a lot about Office365, Yammer, Apps, Upgrades and more. In this blogpost I will give you a summary of the most interesting items in my opinion.

Keynote

– Autohosted Apps running in Azure which require no additional configuration in Azure, OAuth and Azure services are setup right away

– Drag and drop files to sharepoint document libraries

– Easy design changes with the Design Manager, upload HTML from your favorite tool and it will be automaticly translated to a SharePoint masterpage.

– Yammer integration in Q1 of 2013 which will contain Document and Newsfeed integration. Next release it looks like Yammer will be completely integrated into SharePoint, which should be, because it looks a bit of the same kind when looking at the social features of SharePoint 2013

What´s new for developers

– Three different development scenario´s with access services for endusers, napa javascript development for prototyping and Visual Studio for the hard core development

– Outlook Apps will be compatible with Outlook 2013 and Outlook Web App 2013, so there is no different experience when using the web ui

– Napa web interface for developing apps, Open in Visual Studio when reaching boundaries of the interface

Upgrade overview

– The upgrade scenario´s are kind of the same as SP2010

– SP2010 Mode for backwards compatibility, even can create new sites with SP2010 mode

– Allthough you have a staged upgrade for site collections

– First the database schema is upgraded on attach

– Then you as IT, or the end user, has the choice to upgrade the site collection

– Build to build upgrades can leverage the functionality of SQL Snapshots, very handy to reduce outage during upgrade.

Building SharePoint Apps with Azure and Windows 8

– Neat integration between all these platforms with HTML5, JSON, XML Javascript, OAuth

– OAuth is the key integrater regarding authentication between SharePoint and Azure

– _API (yes, UNDERSCORE API) is the new Client Object Model api which is richer than before, now Profile and Taxonomy information can be accessed using this services and many more

– Windows 8 tiles can be build on HTML5 plus Javascript, called WinJS, really easy integration with SharePoint webservices

– SharePoint Workflows can be hosted in Azure, for greater scallabilty and stability

This is my summary of the first #SPC12 day, hope you like it as much as I do.

SharePoint 2013 RTM release available for download for MSDN subscribers


Even earlier than expected the SharePoint 2013, Office 2013, Lync 2013 and the rest of the office family has been published for download for the MSDN Subscribers!

Be the first to download your binaries from

http://msdn.microsoft.com/en-US/subscriptions/

Have fun!

First look at new Office 15 Preview with SharePoint 2013, Outlook Web App 2013, and metro interface


This blog post is just a bunch of screenshots of the new office online 15 preview (2013). All Office applications like SharePoint 2013, Exchange 2013, Lync 2013 and client programs are a real seamless experience!

Office 365 Preview Portal

Sharepoint

Sharepoint 15 Mysite (1)

Sharepoint 2015 Mysite (2)

Sharepoint 2015 Mysite (3)

SharePoint 2015 Newsfeed

Outlook Web App 15 (1)

Outlook Web App 15 (2)

Soon, I will discuss the several parts of Office 15 in detail!

Until then, you can check out this bunch of information from the microsoft websites!

SharePoint 2013 Download

SharePoint 2013 Documentation