SharePoint Design Manager – Add an App Page Issue

Recently, I was working on creating a custom master page for Office 365 Application (SharePoint Online). I created Site and System Master Pages using Design Manager and customized as per the business requirements.

Issue – It was very interesting to see that when you create a custom master page using Design Manager, the “Add an App” Page will not show the complete list of apps or will not allow you to add the apps. Sometimes, you will see “Noteworthy” apps only or “Working on it” message.

How to Fix this issue:-

Make sure your master page includes the following placeholders and that each of them is not set to Visible=False. However, if you have implemented custom breadcrumb, you might need to hide any of the particular placeholders. For that, include a HTML element like <div> and apply the “style=display:none”, as shown below:-

  • DeltaPlaceHolderLeftNavBar
  • PlaceHolderLeftNavBar
  • DeltaPlaceHolderPageTitleInTitleArea
  • PlaceHolderPageTitleInTitleArea

Once I added the above highlighted code-snippet in system master page file, the Apps you can add started showing up again. 🙂

Hope this helps SharePoint developers 🙂

SharePoint Branding – Hiding Header/Footer in Dialogs (Modal-Popup)

Recently, I was working in an Office 365 application and wanted to open a modal-pop on the click of an anchor tag from a custom publishing page. The requirement was to show a new item form in the modal pop-up. Although, I worked on this kind of requirement back in SharePoint 2010, but not in Office 365.

SharePoint allows us to hide elements from dialogs, however the CSS class to change such elements has changed from SharePoint 2010 to SharePoint 2013 & Office 365.

So, for example, when we create a custom master page, we usually add custom header and footer to System Master Page. This starts appearing the modal-pop which is not required. So the solution for this problem is:-

  1. In SharePoint 2010, the CSS class name was “s4-notdlg”. This class needs to be added to an HTML element which we want to hide in the modal-pop.
  2. In SharePoint 2013 or Office 365, we use the same method, just a different CSS class “ms-dialogHidden”.

NOTE:-

  1. You can add the ms-dialogHidden class to any HTML element in your Master Pages and Page Layouts.
  2. If you have created separate master pages for Site and System (Option available in site Settings Master Page), then you need to specify this class in System Master Page HTML.

Microsoft Releases Office 365 Public CDN for SharePoint

Earlier in September 2016, Microsoft released the preview version of Office 365 Public CDN. Microsoft has also announced a preview of its Office 365 Private CDN with a new “Publising Feature Auto-Rewrite Integration” capability.

Companies can use Office 365 Public or Private CDNs to enhance the latency and performance of their applications by uploading JS files, CSS files and images on CDN.

General availability of Office 365 CDN

Azure AD Connect – Connect Active Directory with Azure Active Directory

How to sync or connect Local Active Directory with Azure Active Directory (Office 365)

Follow this link having all details of Azure AD Connect : Azure AD Connect

4 points which I want to highlight are as follows:-

  1. Will the accounts which are disabled in local AD be synced to Office 365 ?
    Ans – Yes, the accounts which are disabled in the local AD will be synced to Office 365, however they will be in blocked state which means they will not be able to login in any O365 applications, unless they are enabled.
  2. How to merge two same accounts which are their on local AD as well as in Office 365?
    Ans – To merge the accounts, you need to update the “proxyaddress” attribute in Local Active Directory with the email address of the user which is available in Azure AD (Office 365). For updating the proxyaddress attribute, go to user properties and click on “Attribute Editor”. Follow the below convention to set the value:-
    SMTP:<email address>
    E.g. – SMTP:abc@xyz.com
  3. Is there a control panel of some type that allows us to force a synchronization of accounts and passwords, or is it set to a schedule?
    Ans – The software Azure AD Connect, will automatically schedule itself for every 30 mins of sync.
  4. Before we perform the live account sync, which password (on-premise or Azure) will take precedence?
    Ans – On Premise password will take precedence.

Hope this blogs helps many 🙂

Anonymous Site Access in Office 365 (SharePoint Online)

Recently, I have been asked a question about Anonymous Access in Office 365 (SharePoint Online). The question was – Can we give anonymous access to users within and outside the organization, so that just like any other Internet facing website, users will not enter their credentials and can directly see the SharePoint site contents ?

The requirement was – To share a Video Library/Document Library with all users (internal & external).

WOW. My first reaction and response to the question was “NOT POSSIBLE”. We can apply anonymous access in on-premise SharePoint Site/List/Library, but not in Office 365. There might be some third-party web-parts or sandbox solutions to deal with this, but there is no direct way to give anonymous access in Office 365.

To confirm my statement, I explored on Internet and found the same answers. We can only share list items with external users but cannot share a site/list anonymously. Also, I was sure that even Public facing sites cannot solve this purpose. Then I explored more on Public facing and Private sites in Office 365 and surprisingly, found the following facts from MS sites which details about Office 365 updates and plans:-

  1. Beginning May 1, 2017, anonymous access for existing sites will no longer be available.
  2. On September 1, 2017, when Microsoft deletes the public site collection in SharePoint Online, customers will no longer have access to the content, images, pages or any other files that reside on their public website. Before September 1, 2017, customers should make a backup copy of all their public website content, images, pages, and files, so they don’t lose them permanently.
  3. On March 31, 2018, Microsoft will delete all public sites that have been postponed.

I have listed only few updates and announcements from MS, the complete information, you can get on this site – Information about changes to the SharePoint Online Public Websites feature in Office 365

Finally, to conclude on anonymous access in Office 365, I will say that you can use external sharing features of SharePoint Online to share content with people outside your organization who do not have licenses for your Microsoft Office 365 subscription. However, that is just a sharing and not anonymous access, which means every user has to enter username and password to access the site resources. Share sites or documents with people outside your organization

Pros and Cons of Office 365

This article will help you to determine whether Office 365 is good or not for your organization, because moving to the Cloud can be a big decision for any business. Below are some of the Pros (advantages) and Cons (disadvantages) of using Office 365.

Pros

  1. Work Anywhere
  2. Email hosted in the cloud
  3. Easy and simple file storage and synching
  4. Easy Collaboration
  5. Always have access to latest products and applications (Always up-to-date)

Cons

  1. Less flexible infrastructure
  2. Subscription based
  3. Data privacy – All your private business data will live on Microsoft’s servers. This might not be a concern for everybody, but for certain use cases it might be even impossible (due to legal reasons) to have your data hosted outside your organization.
  4. If the internet is down, you may not be able to access work.
  5. It can be hard to keep up with changing feature set – The features in Office 365 do change fairly frequently. On one hand, you always have access to the latest and great versions.

Cascading drop-down in SharePoint OOTB list forms

In one of my recent project in SharePoint Online (Office 365), there was a requirement to implement cascading of drop-down. In my case, the two drop-downs are of Lookup Type getting values from a Master list. The two drop-downs were:-

Drop-down 1 – Event Type
Drop-down 2 – Event Category

cascading

 

 

 

 

The code used to implement the above functionality is:-

var userEntry = [];
var results = data.d.results;
//alert(JSON.stringify(results));
$.each(results, function(index,dataRec) {
userEntry.push({
id:dataRec.Id,
name:dataRec.Title
});//End of push
//alert(“In each userEntry”+ JSON.stringify(userEntry));
});//End of each
for(var j=0;j<userEntry.length;j++){
$(‘select[title=”Events Category Required Field”]’).append($(‘<option>’, { value: userEntry[j].id,text : userEntry[j].name}));
}//End of for