19 April 2016

AEA Webinar - Career as Disruptive Change Leader and Disruptive Change as an Opportunity

AEA is organizing webinar on following topic - "Career as Disruptive Change Leader and Disruptive Change as an Opportunity"

Description -

Executives that we come across often express two sentiments – Discontinuities in our market are presenting infinite opportunities for growth and prosperity but our organization lacks the necessary disruptive change leadership skills. We have lot of individual superstars, we need a super star team. How can we, the EA professionals, respond.

Learning goals -

  • Nature of Disruptive Change
  • Opportunities
  • Organization Challenges
  • Skills Gaps
  • Plan to Close the Skills Gap
  • Litmus test – are we making a difference?

Date:     Wednesday, April 20, 2016
Time:    17.00 GMT/ 12:00 EDT/ 10:00 CDT/ 9:00 PDT

18 April 2016

SharePoint 2013 App Permission Management


What is App permission management?

  • Managing the ability of apps to 
    • Access and use internal SharePoint 2013 resources.
    • Perform tasks on behalf of users.
  • Determining minimum permission levels required for an app.
  • Determining app authorization policy.

App permission requests

  • Collection of permissions that enable apps to perform specific tasks.
  • Following app permission request levels are supported – 

Permission Request
Description
Permissions included
1. Read-only
Enables apps to view pages, list items, and download documents.
·         View Items
·         Open Items
·         View Versions
·         Create Alerts
·         Use Self-Service Site Creation
·         View Pages
2. Write
Enables apps to view, add, update, and delete items in existing lists and document libraries.
Read-Only permissions, plus:
·         Add Items
·         Edit Items
·         Delete Items
·         Delete Versions
·         Browse Directories
·         Edit Personal User Information
·         Manage Personal Views
·         Add/Remove Personal Web Parts
·         Update Personal Web Parts
3. Manage
Enables apps to view, add, update, delete, approve, and customize items or pages within a web site.
Write permissions, plus:
·         Manage Lists
·         Add and Customize Pages
·         Apply Themes and Borders
·         Apply Style Sheets
4. Full control
Enables apps to have full control within the specified scope.
All permissions


App permission request scopes
  • Indicates SharePoint 2013 hierarchy levels where permissions given to app are valid.
  • Following permission request scopes are supported – 

Permission Request Scope
Description
SPSite
App permissions are valid at SharePoint site collection level and below.
SPWeb
App permissions are valid at SharePoint web site level and below.
SPList
App permissions are valid at SharePoint list level and below.
Tenancy
App permissions are valid at level of set of site collections that are configured and administered as a single unit.


App authorization policies
  • Authorization policy is required to ensure that app functions correctly and complies with specified authorization requirements.
  • Following authorization policies are available – 
App Authorization Policy
Description
User and App policy
Both logged-in user and app should have sufficient permissions for app to run
App-only policy
Only app is required to have sufficient permissions for app to run
User-only policy
Only logged-in user is required to have sufficient permission for app to run

Managing app permissions

Permissions for an app can be managed in following manners – 
  • During app installation.
  • By using explicit permission management where website administrator manages app rights.
  • End user managing app permission.
  • During app removal.

How app permissions works
  • User signs in to SharePoint and is authenticated.
  • User choses an app to install from Office store/App catalog.
  • App requests for permissions during installation.
  • User grants permissions to app to access SharePoint resources on user’s behalf.
  • When app is launched, SharePoint 2013 provides a context token to the app based on permissions granted to app.
  • With the help of context token, app accesses SharePoint resources on behalf of user.

14 April 2016

Introduction to SharePoint 2013 App Model


Development options in SharePoint 2013

SharePoint Solutions (WSP)
  • Same as in SharePoint 2010 & earlier.
  • In SharePoint 2013, SharePoint solutions should be mainly used for creating customizations required for administrative functionalities for farm administrators.
Apps
  • New in SharePoint 2013
  • Apps should be used for creating customizations for end users.
Note – Sandboxed solutions have been deprecated in SharePoint 2013. They are however supported for backward compatibility


What is SharePoint App?

  • Stand-alone, self-contained piece of functionality.
  • Extends the features and capabilities of a SharePoint site.
  • Users can discover/download apps and then install them on their SharePoint site.
  • Apps can be uninstalled in an easy & clean manner.
  • Apps are available at – 
    • Public Store (SharePoint App store)
    • Corporate Store (Organization’s App catalog)
SharePoint Solutions Vs. Apps

SharePoint Solutions
SharePoint Apps
Code Model
Uses Server Object Model
Used Client side object model
Where code resides
Custom code resides on SharePoint server
Custom code resides outside SharePoint server
Where code executes
On the server within SharePoint execution environment
In a completely separate environment
(Browser or remote hosting environment)
Code Permissions
Same permissions as SharePoint environment
Limited permissions based on grant.
Deployment effort
More
Less
Recommended use
Customizations for administrative functionality
Customizations for generic functionality
Recommended usage by
Farm administrators
SharePoint end users


Features of SharePoint 2013 Apps

  • Can be installed, updated and uninstalled in easy manner.
  • As per SharePoint 2013 App model, custom server code will not be placed and executed on SharePoint server/farm. 
  • Custom code can be placed & executed at following locations – 
    • On client side (Browser)
    • On remote server (IIS/Window Azure) which is outside the SharePoint farm.
  • Uses following technologies to communicate with SharePoint Server
    • Client side object model (CSOM) 
    • Rest Services 
  • Authentication is done using OAuth.

Hosting options for Apps
  • SharePoint hosted apps
  • Cloud hosted apps
    • Provider hosted
    • Auto hosted
  • Combination of above

SharePoint hosted apps
  • All components of app are hosted on SharePoint farm (on-premise or Office 365).
  • App components are hosted in an isolated app domain of SharePoint farm.
  • This pattern is easiest to deploy.
  • App gets privileges of the signed-in user.
  • App can be developed in limited languages viz. HTML + JavaScript.
  • No server side code can be used in these types of apps 
  • SharePoint components can be accessed via JavaScript (using JSOM library) or REST APIs.

Provider Hosted Apps

  • App components are hosted outside SharePoint farm on any other web server/hosting service.
  • App gets authorized using OAuth or JavaScript cross domain library.
  • App can be developed in any language that is supported by outside web server/hosting service.
  • To interact with SharePoint followings options are available for app components - 
    • SharePoint client object model
    • JavaScript cross domain library
    • SP 2013 REST/OData based web service
Auto hosted apps
  • These are cloud hosted apps.
  • App components are provisioned and deployed on Windows Azure & SQL Azure.
  • App gets authorized using OAuth or JavaScript cross domain library.
  • App can be developed in any language that is supported by Windows Azure.
Hosting options - Comparison

SharePoint hosted Apps
Provider hosted Apps
Auto hosted Apps
App component hosting location
Isolated app domain of SharePoint farm
Any web server or hosting service
Windows azure & SQL azure
App authorization
Privileges of the signed in user
       OAuth
       JavaScript cross domain library
       OAuth
       JavaScript cross domain library
Supported Languages
HTML + JavaScript
Any language supported by web server/hosting service
Any language supported by Windows Azure web sites
Advantages
       Reusability of SharePoint items like lists, WebParts etc.
       Easy to create and deploy
       App can be hosted on any Microsoft/non-Microsoft hosting platform
       Supports many languages
       Resource provisioning, load balancing & other maintenance tasks are handled by Windows & SQL Azure infrastructure itself.
Disadvantages
       No server side code allowed.
       App only has authorization of signed-in user
       Remote components installation, upgrade and uninstallation is headache of developer.
       Only one hosting option available i.e. Windows & SQL Azure.
Good for
       Small apps
       Lower complexity apps
       Enterprise level apps
       Enterprise level apps

Authentication options in Apps
  • Authentication mechanism is dependent on where the app is hosted.
  • For SharePoint hosted apps, authentication is handled by SharePoint itself.
  • For Cloud hosted apps, following authentication option are available - 
    • Client side code along with cross site directory
    • Server side code along with OAuth.

App packaging and distribution
  • Apps are distributed as ‘App packages’.
  • App package may contain different components based on hosting option of App.
  • App Package installation Location –         
Hosting Type
Installation Location
SharePoint hosted app
SharePoint server
Provider hosted app
Remote server
Auto hosted app
Windows Azure cloud (Office 365)
App Licensing
  • An app license is a digital set of verifiable information stating usage rights of an app.
  • Usage right means – 
    • App is free or need to be purchased
    • App is available on per-user or site basis
    • App is a trial or full version
  • App license can be verified by querying Office store.
App permission management
  • Manage the ability of apps to 
    • Access and use internal SharePoint 2013 resources.
    • Perform tasks on behalf of users.
  • Determining minimum permission levels required for an app 
    • Read Only, Write, Manage or Full Control
  • Determining app authorization policy 
    • User & App Policy, App only Policy, User only policy
  • Determining app permission scopes
    • Site, Web, List etc.
Tools for developing SharePoint apps
  • Visual Studio 2012/13
    • For all types of SharePoint Apps
  • Napa (Office 365 development tool)
    • Can be used only for developing SharePoint hosted apps
  • Visual Studio LightSwitch
    • Can be used for both SharePoint hosted and Cloud hosted apps
How SharePoint 2013 App model changes customization methodology 

  • Apps should be developed for all customizations which are targeted towards end users.
  • SharePoint solutions should be developed only for administrative functionalities.
  • Sandboxed solutions should not be developed in SharePoint 2013. 
  • App development methodology will be dependent on your hosting option. 
  • Hosting option of 'Provider hosted apps' will be most suitable for enterprise level applications.

13 April 2016

OpenGroup Webinar - Business Capability Guide

OpenGroup is organizing a webinar on "Business Capability Guide". This webinar will explore how to develop Business Capabilities as a foundational building block for Business Architecture. Speakers will review the components of business capability, developing a capability model and finally mapping the capability to different stakeholder perspectives.

Date & Time -
Thursday, April 14, 2016
MDT - 1.00pm
EDT - 3.00pm
BST (GMT +1) - 8.00pm 
Speakers -

  • Stephen Marshall (IBM)
  • Alec Blair (Alberta Health Services)

Duration: 1 hour

Registration Link