Tuesday, May 31, 2016

Handling Permissions in Workflows

Set item permissions

This action allows you as the workflow designer to decide to inherit or create unique permissions on the current item on which the workflow is running.  This works well in state machine workflows where the permissions at each state need to change (i.e. the current approver needs the ability to update an item whilst everyone else only has read access).  You can choose to inherit the permissions from the parent or stop inheriting as well as choosing to keep or delete any current item permissions (i.e. when someone needs adding to the permissions at a certain point).

SetItemPermissions.PNG

Pros

I like this action because you can define exactly which roles/people/groups can have access to an item at any given time during the workflow process.

Cons

If a workflow fails for whatever reason the permissions stay at the most recent set item permissions action.

It is difficult to control permissions to lists when the items have item level permissions.

Run as Workflow Owner

The action set action allows us to choose a configuration option of “Run as workflow owner”.  This means that all actions inside the action set container will run under the permissions of the account which published the running workflow.  This is a great workaround when you know that you have God-like permissions to do everything on your farm and don’t want to give any users access to certain lists of libraries.

ActionSet.PNG

Pros

Saves using the Set item permissions action and doesn’t impact on the item level permissions of the item the workflow is running on

Cons

This doesn’t work inside a state machine workflow; only a sequential workflow.  So if you are running a large process that you have designed with a state machine where the final approval means an item update, you cannot access the “Run as workflow owner” checkbox inside action set when it is placed on a state machine branch.

Created By and Modified By are always the same person for all instances of the workflow.  When running as workflow owner the credentials of the person who published the workflow are used.  This means that any items created or updated are effectively done by that person so you cannot quickly see who ran the workflow in the first place (and if you work in a blame culture, you will find people quickly asking you why you updated or modified an item!!).

If the workflow publisher leaves then the credentials and permissions will no longer work.

Call web service

An alternative way to deal with inserting and updating items without giving the initiator access to do so is to use web service calls which can run as a specified account.  As long as the account the web service is using has the permissions to perform the actions you are asking of it then there are no worries around who the initiator is and what permissions they may have.

Call Web service.PNG

Pros

Do not have to worry about the permissions that the initiator may have to perform the insert or update required.

Cons

A lot trickier to configure to achieve the same result.  I find that the Call web service action quite tiresome (because I don’t use it very often) so have to read up on what services and methods to use and spend a lot of time testing.

Again, if the account that the web service is using becomes locked out or deleted then the workflow will fail.

There are a lot of options for dealing with permissions in workflow.  I lean more heavily to the Set item permissions action although it doesn’t sit comfortably with me.  I would be really interested to hear your approaches here so please leave some comments and I may well revisit and update this blog post with your best practices.  

Sunday, May 22, 2016

SharePoint 2013/2016 Apps Interview Q & A

Below interview questions are prepared based on the SharePoint 2013/2016 app model architecture and topics covered are
  • SharePoint Hosted Apps
  • Client WebParts and Custom Actions
  • Provider Hosted Apps Client Side Code
  • Provider Hosted Apps Server Side Code
  • CSOM – Client Side Object Model
  • REST API in SharePoint
    • What query string element enables a client webpart to talk back to the parent?
      1. Such communication is not allowed due to security
      2. ParentId
      3. OwnerId
      4. SenderId
    Answer: 4
    • What JavaScript library makes it possible to load SharePoint branding in Provider Hosted Apps?
      1. ChromeControl.js
      2. js
      3. UI.Controls.js
      4. Controls.js
    Answer: 3
     Which of the following is accurate?
      1. The PFX cert is required by the App and the CER cert is needed by SharePoint
      2. Both SharePoint and the App need the CER and PFX cert
      3. The PFX cert is required by SharePoint and the CER cert is needed by the App
      4. Both SharePoint and the App need the PFX cert
    Answer: 1
    • How does SharePoint send context details to a SharePoint App?
      1. Cookies
      2. A Post request
      3. Query String
      4. None of these
    Answer: 3
    • What query string element strips out the chrome of a SharePoint page?
      1. IsDialog
      2. Dialog
      3. Dlg
      4. IsDlg
    Answer: 4
    • JavaScript Cross Domain calls in SharePoint need..
      1. A Certificate and IssuerID
      2. An AppWeb
      3. CSOM
      4. REST API
    Answer: 2
    • How does a provider hosted app adopt the SharePoint page’s look and feel?
      1. It uses the SharePoint master page
      2. It uses the Chrome Control
      3. This is not possible since the provider hosted app is a completely different app
      4. You have to manually copy over SharePoint’s _layouts folder to the App
    Answer: 2
    • The .app file is
      1. A 7z file
      2. A rar file
      3. A zip file
      4. A cab file
    Answer: 3
    • Your SharePoint server is hosted on http://sp.yourcompany.com. Which of the following is an invalid App URL?
      1. http://apps.sp.yourcompany.com
      2. http://myapps.yourcompany.com
      3. http://mycompanyapps.com
      4. http://ws-949121A.yourcompany.com
    Answer: 1
    • Every App needs an App Web
      1. true
      2. false
    Answer: 2
    • Apps run on the SharePoint Server
      1. false
      2. True
    Answer: 1
    • Which Powershell command do we use to generate and register an issuerid?
      1. New-SPTrustedSecurityIssuerID
      2. New-SPTrustedSecurityTokenIssuer
      3. New-SPTrustedTokenIssuer
      4. New-SPTrustedIssuerID
    Answer: 2
    • Sandbox solutions in SharePoint 2013 are,
      1. Encouraged to be used
      2. Disabled completely
      3. Deprecated
      4. Still supported, but user code is deprecated
    Answer: 4
    • What control allows a SharePoint Page to be shown in an IFRAME?
      1. It is not possible to embed SharePoint pages in an IFRAME
      2. WebPartPages:AllowFraming
      3. No control is necessary, you can embed pages at will.
      4. FramePages:WebPartPage
    Answer: 2
    • Provider Hosted Apps have a predictable URL
      1. false
      2. true
      3. true except for autohosted apps
      4. false in all scenarios
    Answer: 3
    • Custom editors for Client WebParts ..
      1. Inherit from EditorPart
      2. You cannot write custom editors
      3. You can do limited editing capability using CAML
      4. Client WebParts are not supposed to be edited
    Answer: 3
    • In provider hosted apps, one Issuer ID can be setup for hosting multiple client s/apps?
      1. True
      2. False
    Answer: 1
    • Which file Provider Hosted App Visual Studio project, makes developer work little bit easier? So, how do we authenticate our app to SharePoint? The underlying mechanics of that are somewhat complicated, so they visual studio made developer lives easier by giving us this file?
      1. cs
      2. xml
      3. Config
      4. xml
    Answer: 1
    • SharePoint-hosted apps, they can work with FBA, but they can’t work with Claims, or ADFS, or Azure ACS?
      1. True
      2. False
    Answer: 1
    • During development of Provider Hosted Apps, client ID generated is mentioned in two places?
      1. xml, machine.config
      2. xml and Web.config
      3. xml and Manifest.xml
      4. config and Machine.config
    Answer: 2
    • What API do Apps use?
      1. REST
      2. CSOM
      3. Server side API
      4. REST and CSOM
    Answer: 4
    • How can you create a ClientContext?
      1. Using the constructor
      2. By calling ClientContext.get_Current()
      3. By calling ClientContext.Current
      4. All of the above
    Answer: 4
    •  What is the preferred URL for REST API in SharePoint 2013?
      1. _api
      2. svc
      3. /_vti_bin/_api
      4. /_vti_bin/listdata.svc
    Answer: 1
    • What method in CSOM allows you to make a round trip to the server?
      1. $.ajax
      2. ExecuteQuery
      3. $.get
      4. $.getJSON
    Answer: 2
    • Where will you find the necessary DLL references for a thick client CSOM client?
      1. ISAPI folder
      2. on MSDN
      3. BIN folder
      4. Layouts folder
    Answer: 1
    • Which of the following requires a Form Digest?
      1. DELETE
      2. PUT
      3. POST
      4. All of the above
    Answer: 4
    • Which one of the below helps in concurrency handling?
      1. None of the above
      2. Promises
      3. Try Catch
      4. Object Identity
    Answer: 4
    • How does CSOM authenticate when not running as an App?
      1. It is preauthenticated
      2. It uses the user’s identity
      3. It asks the user to enter a username/password
      4. It works in anonymous mode
    Answer: 2
    • What serialization formats are used with REST in SharePoint?
      1. ATOM and JSON
      2. JSON and OData
      3. ATOM And OAuth
      4. None of the above
    Answer: 1
    • Which version of SharePoint was CSOM introduced in?
      1. 2013
      2. 2007
      3. 2010
      4. 2003
    Answer: 3
    • How do you specify last-in-wins concurrency checks?
      1. Don’t specify ETag
      2. Set ETag to *
      3. Set ETag to 0
      4. Set Etag to “”
    Answer: 2
    • What facility in REST API helps you deal with concurrency issues?
      1. Object Context
      2. client Context
      3. $.get
      4. eTAG support
    Answer: 4
Q1: What is new SharePoint 2013?
Ans: SharePoint 2013 is the next Version of Microsoft’s famous Collaboration and Document Management Software called SharePoint.This
Version follows SharePoint 2010 that was released back in May 2010.SharePoint 2013 was released (as Preview and RTM versions) with some new & exciting features such as Real-Time Social Feed, ShreddedStorage, SharePoint apps, Cross-site publishing, Out-of-Box PDF support, Minimal Download Strategy and lot more.See SharePoint 2013 Tutorial for Beginners to know more.
Q2: Why should a Company Migrate to SharePoint 2013?
Ans: Microsoft has added some Incredible features to SharePoint 2013 that can be of huge benefit to all the Companies that use SharePoint on a large scale. Most of the new Features are Introduced for Improving SharePoint Performance (for both Browser and SQL) and to enhance the famous Web Content management capabilities.There is an Improvement for all – end users, developers and IT administrators.Check out our free ebook on 101 New and Improved Features in SharePoint 2013.
Q3: What is the Licensing Model for SharePoint 2013?
Ans: With SharePoint 2013 Microsoft has Introduced User License Enforcement Capabilities – that means different licenses can be assigned to different users based on Active Directory security groups that are added in.A group of admins, for example, would need features that are offered by Enterprise license but a group end users, on the other hand, can work with Standard license and would not need to pay more.By default, the User License Enforcement is disabled and must first be enabled to begin assigning, using, and implementing user licensing capabilities.For more details see Introducing the Dual License Model in SharePoint 2013.
Q4: How does SharePoint 2013 Improve Performance?
Ans: SharePoint 2013 Introduces Minimal Download Strategy and Distributed Cache Service to Improve Page Load, and Shredded Storage to Improve Storage required for saving files.
Q5: What is Minimal Download Strategy?
Ans: Minimal Download Strategy is a new feature in SharePoint 2013 that improves client rendering performance and fluidity when navigating from page to page by download only the changes between two compatible pages. Fewer bytes will be downloaded and the page will appear more quickly.
 Minimal Download Strategy in SharePoint 2013 improves rendering performance when browsing content where large parts of the page do not change providing a more fluid navigation experience. For example, when navigating between a site’s home page and Shared Documents page only the Content that has changed between the source and destination page (controls and placeholders in the content area) are downloaded and Url subsequently updated where the chrome is persisted.
Q6: What is Distributed Cache Service?
Ans: The Distributed Cache service provides caching features in SharePoint Server 2013. The microblog features and feeds rely on the Distributed Cache to store data for very fast retrieval across all entities. The Distributed Cache service is built on Windows Server AppFabric, which implements the AppFabric Caching service. Windows Server AppFabric installs with the prerequisites for SharePoint Server 2013.
Q6: What is Shredded Storage?
Ans: With Shredded Storage feature enabled, every document and the Changes made to the document, is stored in SQL as multiple “Shredded BLOBS“. Whenever a new Version of a document is Created, only the BLOBs of the document that Corresponds to the Change are saved as opposed to the entire document as a new version.This feature helps to lower down the amount of storage required for saving files.
Q6: How does Shredded Storage Work?
Ans: Every Document in SharePoint 2013 is now stored as multiple “shredded BLOBS” in the new “DocStreams” data table.Whenever a new Version of a document is created, a new Record is written in this data table that contains only the “Shred BLOB” of the original document that corresponds to the Change, merged with the new Changes.In other words, a new Blob with Changes is added as a new row in the table.Each BLOB that gets added Contains a numerical Id that represents the source BLOB.At the end, it is the job of BLOB Index to keep the track of Blobs and to create a full file with the Combination of entries that point to the unchanged shreds of the previous version(s) and the entries that point to the newly added Changed shreds.
Q7: What is the new Analytics Processing Component in SharePoint 2013
Ans: The Analytics Processing Component in SharePoint Server 2013 analyzes both the Content and the way users interact with it.The results from the analysis are added to the items in the search index to be used by Search Web parts, recommendation reports, Most Popular Items reports and other web parts.
Q8: What analysis are done by Analytics Processing Component in SharePoint 2013
Ans: The Analytics Processing Component runs two main types of analyses: Search analytics and Usage analytics. Search analytics analyzes content in the search index, and usage analytics analyzes the user actions.
Q9: What are Device Channels in SharePoint 2013
Ans: With device channels in SharePoint 2013, you can render a single publishing site in multiple ways by using different designs that target different devices, for example, mobile devices etc.These device channels can each be given a different master page and CSS file to give users a more optimal viewing experience.For more Info see Plan device channels in SharePoint Server 2013
Q10: What is Device Channel Panel Control in SharePoint 2013
Ans: Device Channel Panel is a new control that you can include in a page layout to control what content is rendered in which channel. The Device Channel Panel is a container that is mapped to one or more channels.
Q11: How does Backward Compatibility work in SharePoint 2013
Ans: In SharePoint 2013 with the new “CompatabilityLevel” parameter of Install -SPSolution cmdlet you can now deploy your .wsp or Solution to either 14 hive or 15 hive or both. For more Info on CompatabilityLevel.
Q13: What’s new with Web Content Management in SharePoint 2013
Ans:For End users and Contributors, some very Interactive features such as Drag and Drop of documents,Convert to PDF(Print to pdf),Quick edit (datasheet view),Document Library Search(Find a File),Get Embed code for documents and Out of box PDF Support etc. has been added in
Web Content Management.
Q14: What is the new Out-of-box PDF Support?
Ans: SharePoint 2013 now offers Out-of-box PDF Support and what that really means is that PDF icon is now natively supported and PDF, when opened in SharePoint 2013, will try to open in the Adobe Reader and prompt user to either check out & open or open the file in PDF directly.
Q15: What is Embed Code and How do you get Embed Code for a document?
Ans: SharePoint 2013 provides a support to get “Embed Information” for documents and other digital Content types such as Videos, Audios etc. to be added on any SharePoint Page or in a Microblogging feed.
Q16: What are the new “Digital Content types”?
Ans: In SharePoint 2013 Microsoft has introduced a new set of content types called “Digital Asset Content Types” for better use of Audio, Video, and Images as Web Content.These content types can be added to any library and can be used as one of the item’s files.
Q17: How does the new Video Content type work in SharePoint 2013?
Ans: Video Content type added to SharePoint 2013 is a very useful addition for Content Authors.The Improved Assets Library provides support for Video Content Types and provides various Out-of-Box views like “Thumbnails” and Out-of-Box pages like “Video Page” to View Videos in a very Interactive way.
Videos in SharePoint 2013 are Organized in a manner similar to “document sets”. SharePoint Creates a stub (think of it as a folder) to hold a video and all the related contents, such as user-defined properties, thumbnails, video renditions, and other documents related to the video. You can use the Video Content Type in Assets Library properties.
Q18: What players are supported for playing SharePoint 2013 Video files?
Ans: SharePoint 2013 supports two Video players – HTML 5 player and a Silverlight player.SharePoint chooses the player automatically, depending on the video format that it encounters in the video set (the collection of files that are related to the video). If the format can’t be played on the HTML 5 player, the SharePoint uses the Silverlight player.
Q19: What is “Image Renditions”?
Ans: Image renditions enable you to render a single image in multiple ways. An image can be displayed in various sizes or with different cropping.
Q20: What is the new IFrame support in SharePoint 2013?
Ans: SharePoint 2013 was added with the new Out-of-Box Support for IFrames.Admins can now embed dynamic content from other sites, such youtube videos or maps to any SharePoint site by using IFrames. Admins would need to add the Domain for the external site in “HTML Field Security” first.For more Info on IFrames see How to use IFrames in SharePoint 2013 see How to use IFrames in SharePoint 2013
Q21: How would you use “Related Items” Column?
Ans: A new Column type “Related Items” has been Introduced in SharePoint 2013 where you can add a reference to another Item or a document from any List\Library as a related entity to one of the Items using Related Items column.
Q22: What Changes are Introduced in SharePoint 2013 Publishing
Ans: SharePoint Server 2013 has two ways that you can make published Content available to users: author-in-place and cross-site publishing.
Author-in-place – When users use a single site collection to author content and make it available to readers, Cross-site collection publishing –
Q23: What is Cross-Site Publishing?
Ans: Cross-Site Publishing is a new Feature in SharePoint Server 2013 that enables you to reuse content across site collections, web applications, and farms.You can use cross-site publishing to Create branded Internet, intranet, and extranet publishing sites.
Q24: What’s new with Social Capabilities in SharePoint 2013
Ans: In SharePoint 2013 Microsoft has Introduced new Social Capabilities to let users Collaborate Socially in the Company.My Sites have been enhanced Incredibly to Integrate these Social features.Some of the new Features added are Community Sites, Microblogging, Newsfeed\Site feed, Follow people and Follow Sites.
Q25: What’s new with Development in SharePoint 2013
Ans: Apart from the new App Model for Creating Custom Components, Microsoft has added a few new Namespaces to work with newly added – Social, EventReceivers, DelegateControls, Callout Popups and other Custom Components in SharePoint 2013.In addition to these classes, a few new templates in Visual Studio2012 has also been added to Create better solutions.
 Q26: What’s the new App model?
Ans: SharePoint 2013 Introduces a Cloud App Model that enables you to Createapps.Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. An app may include SharePoint components such as lists, workflows, and site pages, but it can also surface a remote web application and remote data in SharePoint.
 Q27: What kind of Apps Can Developed?
Ans: The Code for an app runs in different places, depending on where your app is hosted.They never run in the context of SharePoint Server, but they will run in the context of the browser or in the context of the hosted platform.You Can Develop three kind of Apps –
SharePoint-hosted apps, Provider-hosted and auto-hosted apps, Apps that have a mix of Components in SharePoint and in the cloud.
Q28: What’s new with Visual WebPart in SharePoint 2013?
Ans: A new Visual WebPart Template has been added to Visual Studio 2012 for Creating Visual Webparts for SharePoint 2013. In this new Template, both the User Control and WebPart Classes are merged to Create one template unlike SharePoint 2010 where you had a separate ascx and webpart file. Also, now you can Create both Sandbox and Farm solutions using Visual WebPart Template.
Q29: What’s the new TilesViewWebPart in SharePoint 2013?
Ans: SharePoint 2013 Introduces a new “Getting Started” WebPart that has “Tiles” to provide an easy access to some of the main links in the Site like – adding lists\libraries, Creatingmasterpageetc.To Programmatically Create this new WebPart a new abstract base class TilesViewWebPart has been added in SharePoint API.You have to Create a Custom Webpart and Inherit from TilesViewWebpart and Override GetTiles() to Create Custom tiles.
Q30: Can you Create & Deploy Sandbox Solutions in SharePoint 2013?
Ans: Sandbox Solutions are deprecated in SharePoint 2013.You can still Create them and deploy them but they are not supported by Microsoft.
Q31: Can we deploy Solutions Created in SharePoint 2010 in SharePoint 2013?
Ans: Yes. Most of the Solutions Should work fine but it is Recommended to Re-Create a Solution in Visual Studio 2012, Re-add all the features, Components and then deploy it to SharePoint 2013.
Q32: Why Would you Recommend Re-Creating Solutions?
Ans: SharePoint 2013 provides Support for both 14 Hive and 15 Hive.Both the directories are Created by default.So if you deploy a SharePoint 2010 Solution that refers to say _layouts folder, the reference will be made to 14 Hive and not 15 Hive by default. To make the solution refer to 15 Hive’s _layouts folder you need to Re-Create the Solution in Visual Studio 2012 and fix the _layouts reference to add ’15′ into it.
14 Hive – _/layouts/custompage.aspx, 15 Hive – _/layouts/15/custompage.aspx Notice the reference of 15 in _layouts folder reference.
Q33: How do you Force a Solution to be Deployed to 15 Hive and not 14 Hive?
Ans: If the solution was Created in Visual Studio 2010, you would add SharePointVersion=”15.0″ attribute in Solution’s manifest.xml file to force it to deploy in 15 Hive instead of 14 Hive.If the Solution, however, is Created in Visual Studio 2012, you don’t need to do anything, it gets deployed to 15 Hive by default.
Q34: How do you Deploy Solution to 14 hive or 15 Hive without modifying Solution.
Ans: In SharePoint 2013 with the new “CompatabilityLevel” parameter of Install-SPSolution cmdlet you can now Deploy your wsp Solutions to 14 hive, 15 hive or both.
Q35: Can you Deploy Master Page and Custom Css from SharePoint 2010 in SharePoint 2013?
Ans: Master Pages and Css has Changed a lot in SharePoint 2013.You can deploy a master page in Master page gallery but the styles from old core.css needs to be updated.
Q36: Can you use Fabulous 40 templates in SharePoint 2013?
Ans: As per MSDN, Microsoft is not Creating any New Versions of these Templates.The old Sites based on these templates Can be upgraded only if the Templates are Installed successfully in SharePoint 2013.You can try installing wsp of Fab 40 with CompatabilityLevel as 15 and upgrade the existing site collections.
Q37: Are there any Changes to Solutions deployed in \bin directory and GAC in SharePoint 2013?
Ans: You can no longer add partial trust Solution Packages to the \bin directory.Any files deployed to the \bin directory must be full trust. Any deployment scripts need to be updated to make sure that they specify the correct trust level. After the release of .NET Framework 4.0, the GAC was split into two, one for each CLR. c:\windows\assembly is the location for .NET versions 1.0 through 3.5 and c:\windows\microsoft.net\assembly is the location for all the dlls for project Created in .NET Framework 4.0.
Q38: How are Sandbox Solution Migrated in SharePoint 2013?
Ans: Sandbox Solutions are upgraded with the Content databases.
Q39: How would you a Migrate a Site Collection in SharePoint 2013?
Ans: 1. Backup and Restore SharePoint 2010 Content database in your SharePoint 2013 farm.
2. Run Test-SPContentDatabasecmdlet to identify missing Components along with potential errors and related warnings. Check the upgrade log and deploy any missing components and re-run the cmdlet to verify.
3. Attach the Content database to the desired web application using Mount-SPContentDatabasecmdlet.
4. After successfully mounting the content database to web application, the site should be accessible in 14 mode.
5. Next, to Upgrade the site to 15 Hive, Navigate to SiteUpgrade.aspx page in Site Setting of your site collection.
6. Click on “Upgrade the Site Collection” button.
7. During the upgrade, The SiteUpgrade.aspx page shows the progress and provides a link to an upgrade log for troubleshooting purposes.
8. Site Collection Should now be accessible in 15 mode
Q41: What is the new Delegate Controls in SharePoint 2013?
Ans: In SharePoint 2013, three New Delegate Controls have been Introduced for the purpose of displaying the new Top Suite bar (with links SkyDrive, NewsFeed, Sync, follow). These Controls are –
SuiteBarBrandingDelegate delegate Control, SuiteLinksDelegate delegate Control, PromotedActions Delegate Control.
Q42: What is SuiteBarBrandingDelegate delegate Control used for?
Ans: SuiteBarBrandingDelegate Delegate Control is responsible for displaying ‘SharePoint’ or ‘Office 365′ text on top left of the new SharePoint 2013 site (in the blue bar). This text can only be replaced by Overriding SuiteBarBrandingDelegate Delegate Control with a custom Custom Control Created using Visual Studio.
Q43: What is SuiteLinksDelegate delegate Control used for?
Ans: SuiteLinksDelegate Delegate Control is responsible for displaying Links “NewsFeed, SkyDrive and Sites” in the top right of the new SharePoint 2013 site (in the blue bar). These Links can be replaced by Overriding SuiteLinksDelegate Control using a Custom Control Created using Visual St
Q44: What is PromotedActions delegate Control used for?
Ans: PromotedActions Delegate Control is responsible for displaying Links “Share, Follow, SYNC, EDIT” in the top right below SuiteLinksDelegate Control. These Links can be replaced by Overriding PromotedActions Delegate Control using a Custom Control Created using Visual Studio.
Q46: What are Callout Popups in SharePoint 2013.
Ans: Similar to Dialog framework in SharePoint 2010, Microsoft has added a new Callout Popup framework to Create Hover Popups that you know as Preview Windows as well.This Notification\Tooltip\Help (whatever you call it..) Callout Popups can be fully Customized to add Custom Text & Actions for guiding End-users.For more details see The new Hover Over\Preview\Callout Popups in SharePoint 2013
Q47: Is Callout Popups a replacement to Dialogs in SharePoint 2013. Ans: No. Dialog Framework still exists.
Q48: Can we view PDF files in Callout Popups? Ans: Yes. A Custom Result type and Display template would be needed.
Q49: What’s the new “SPField.JSLink” property used for?
Ans: New “SPField.JSLink” property has been added to help specify any external JavaScript file Containing any Rendering logic for Out-of-Box or Custom field type.WithJSLink developers can now Control the Rendering (the presentation and validation) of any Field (Custom or Out-of-box) on List forms as well as in Views by simply adding a reference to an External or deployed JavaScript file.
Q50: What’s the new SPSecurityEventReceiver?
Ans: In SharePoint 2013, MS has added “SPSecurityEventReceiver” class to handle events for SharePoint Groups, Users, Roles and Permission Inheritance.For list of events that you can handle see SharePoint 2013 – New Event Receiver for Groups,Users,Roles,Inheritance

Q51: Can I turn off Social – Follow & Site Feed in SharePoint 2013?
Ans: Yes.You Can de-activate Follow & Social by disabling “Following Content feature” and “Site Feeds feature” on the Team site(in the written Order).By default, the Site feed feature on a team site is enabled.

Sunday, May 8, 2016

Tip/Trick: Enabling SSL on IIS 7.0 Using Self-Signed Certificates

SSL enables browsers to communicate with a web-server over a secure channel that prevents eavesdropping, tampering and message forgery.  You should always use SSL for login pages where users are entering usernames/passwords, as well as for all other sensitive pages on sites (for example: account pages that show financial or personal information). 

Configuring SSL on Windows with previous versions of IIS has been a pain.  Figuring out how to install and manage a certificate, and then associate it with a web-site, is something I bet most web developers don't know how to enable.
The good news is that IIS 7.0 makes it radically easier to configure and enable SSL.  IIS 7.0 also now has built-in support for creating "Self Signed Certificates" that enable you to easily create test/personal certificates that you can use to quickly SSL enable a site for development or test purposes. 
Using IIS 7.0 you can SSL enable an existing web site in under 30 seconds.  The below tutorial demonstrates how to-do this.
Step 1: Create a New Web Site
We'll start by creating a new web-site using the new IIS 7.0 admin tool.  This admin tool is a complete re-write of the previous IIS admin tool (and was written entirely in managed code using Windows Forms), and provides a more logical organization of web features.  It provides a GUI admin experience for all ASP.NET and IIS settings:
 
To create a new site on the box, right click on the "Web Sites" node in the left hand tree-view pane and choose the "Add Web Site" context menu option.  Enter the appropriate details to create a new web-site:
One nice feature of IIS7 on Windows Vista is that you can now have an unlimited number of sites on a box (previous versions of IIS on Windows Client only allowed 1 site).  The 10 simultaneous request limitation on Windows Client versions of IIS also no longer exists with IIS 7.0.
Once we've completed the above steps, we will now have a brand new site running on our IIS web-server.
Step 2: Create a new Self Signed Certificate
Before binding SSL rules to our new site, we need to first import and setup a security certificate to use with the SSL binding. 
Certificates are managed in IIS 7.0 by clicking the root machine node in the left-hand tree-view explorer, and then selecting the "Server Certificates" icon in the feature pane on the right:
This will then list all certificates registered on the machine, and allow you to optionally import and/or create new ones.
I could optionally go to a certificate authority like Verisign and purchase a certificate to import using this admin UI.  Alternatively, I can create a "self-signed certificate" which is a test certificate that I can use during the development and testing of my site.  To-do this, click the "Create Self-Signed Certificate" link on the right-hand side of the admin tool:
Enter a name to use for the certificate (for example: "test") and hit ok.  IIS7 will then automatically create a new self-signed crypto certificate for you and register it on the machine:
Step 3: Enable HTTPS Bindings for our New Site
To SSL enable the web-site we created earlier, select the web-site node in the left-hand tree-view, and the click the "Bindings" link in its "actions" pane on the right-hand side of the screen:
This will then bring up a dialog that lists all of the binding rules that direct traffic to this site (meaning the host-header/IP address/port combinations for the site):
To enable SSL for the site, we'll want to click the "Add" button. This will bring up an "add binding" dialog that we can use to add HTTPS protocol support.  We can select the self-signed certificate we created earlier from the SSL certificate dropdownlist in the dialog, and in doing so indicate that we want to use that certificate when encrypting content over SSL:
Click ok, and we now have SSL enabled for our site:
Step 4: Test out the Site
Add a "default.aspx" page to the site, and then try and hit it with the browser by typing https://localhost/default.aspx (note the usage of "https" instead of "http" to indicate that you want to connect over SSL).
If you are using IE7, you'll likely see this anti-phishing error message kick in
Don't panic if this happens - it is just IE being helpful by suggesting that a self-signed certificate on your local machine looks suspicious. Click the "Continue to this website" link to bypass this security warning and proceed to the site.  You'll find that your default.aspx page is now running protected via SSL:


Server Error in '/' Application when activating "Nintex Forms" web app feature.

Apparently "INSTALL-NFService" need to be run in SharePoint PowerShell to fix this problem.   When I installed Nintex Forms agai...