Posts

PowerApps Form for SharePoint and Access Denied Errors

Image
Error When using SharePoint's Online's customise form option to create PowerApps forms, we may encounter the error below: An error occurred on the server. Server Response: Access denied. You do not have permission to perform this action or access this resource.  This is often caused by lack of permissions on underlying lists. Scenario I was using multiple list data sources in a single PowerApps list form. Form had staged input screens for related data and a group of end users was not allowed access to the list corresponding to the last stage of input. Nonetheless, when the form opened for any user, PowerApps was trying to load all the data sources resulting in above error. The Fix I could conveniently fix the error by granting at least read-only access to end users on all lists. However, the list causing error had confidential data only restricted to few users.    An easy fix is to add an empty folder, break it's inheritance and assign less privi...

Information Architecture - How to Start a Smart Conversation

When you are thinking to move away from network file shares and heading towards utilizing a document management platform such as SharePoint, starting the conversation is often the hardest part. My blog post on State Of Matter website discusses an approach to initiate a document managemenent conversation and to design an effective information architecture using mind mapping. Click through to read... http://www.superfluid.com.au/articles/2017/3/22/information-architecture-how-to-start-a-smart-conversation

The Tue Digital: Documents in SharePoint

If you are one of many organisations still using network folders to organise company documents, my latest blog is for you. Check it out on State of Matter website: http://www.superfluid.com.au/articles/2017/1/13/the-true-digital-documents-in-sharepoint

Power to You - Building Mobile Apps for your Business using Microsoft PowerApps

Checkout my latest blog post on using Microsoft PowerApps: http://www.superfluid.com.au/articles/2016/12/20/power-to-you-building-apps-for-your-business-using-powerapps

SharePoint 2013 Design Manager Converted Master Page & Focus on Content

Image
Lets suppose a designer creates the design concepts first in html and then we try to convert the html into SharePoint 2013 Master Page using Design Manager. All goes well if your html meets the basic requirements detailed in the MSDN Article http://msdn.microsoft.com/en-us/library/jj822370.aspx . One problem I noticed is that "Focus On Content" functionality (as shown below) which hides the Quick launch bar, does not work properly. For focus on content functionality to work, a DIV with ID "contentBox" should be the outer DIV of the default content DIV because SharePoint uses the "contentBox" id to manipulate left margins as soon as the Quick Launch is hidden. See below screenshot of out of the box Seattle master page html file. Comparing the converted master page html from out of the box Seattle master page html revealed that this outer DIV is missing from the converted file. So, in order to make focus on content ...

Getting Page Field Value in custom publishing page layout

I wanted to create a custom publishing page layout which should render certain UI elements based on the page metadata. For e.g. a page metadata field called "Page Type" being used to display different links on pages (created with the page layout). Surprisingly, first step in the process i.e. reading the page field using SharePoint Javascript API proved to be rather painful as my good friend google wasn't willing to put it on my plate. Finally came up with some code to get this done so sharing below:---- Include this code into your custom publishing page layout to query page metadata fields within the layout: /**************************************************************************************/ var pageItem; //variable for list item of page being displayed (which uses this page layout) var pageFieldNameVar = '[internal name of a custom page field]' ; //variable for page field to be retrieved var context; // This variable will cont...