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 🙂

YOU DON’T HAVE ADD AND CUSTOMIZE PAGES PERMISSIONS REQUIRED TO PERFORM THIS ACTION

I was working in the SharePoint 2013 OOTB “Task List” and developed a custom visual web-part for the “Newform.aspx” and “EditForm.aspx” , having all the control as present in the OOTB forms. (You must be thinking that why I developed custom forms, however this question is out-of-context for this blog). Since I was the site collection administrator, I never faced any issues while adding new items or editing the existing ones.

However, users who are having the “Full Control” or “Contribute” permissions at the task list level , reported that they are facing the following issue which says that they do not have permissions to add new items. On the first thought,  it seemed to me a permission issue but I found that if I click on new item from my machine, they were able to open the form from their machines and can add new items in the task list ….Strange enough !!

Error message – “You don’t have Add and Customize Pages permissions required to perform this action”

Web part error

Web part error

 

 

 

 

Solution 1:-

1. Add a new permission level which only includes “Add and Customize Pages” permission, and then create a new SharePoint group with this permission level.
2. Add the users into the SharePoint group and these users will get the “Add and Customize Pages” permission from the site level (site permission).

Solution 2:-

If above solution does not work in your system, then give “Full Control” permission to the users at the Site Level.

Hope this blog helps many 🙂

Google Spreadsheet – How to put indent to a spreadsheet cell

Today I was working in Google spreadsheet (Google Sheet) for preparing effort estimation for one of the project. Then I realized the need of indentation to move the text of one of the cell to right (to visually show grouping), however I struggle with this for so long but didn’t found any option. After more of exploration on Internet, found a very interesting solution and thought of sharing the same in this blog.

The best solution is to write a script.

To do this open up the spreadsheet and select menu item “Tools” –> “Script Editor”
Once the script editor opens copy and paste the following code into the “Code.gs” window:

var ss = SpreadsheetApp.getActiveSpreadsheet();

function indentText() {
  var values = ss.getActiveRange().getValues();
  var newValues = new Array();
 
  for (i = 0; i < values.length; i++) {
    if (values[i][0] != ”) {
      newValues.push([‘=CONCAT(REPT( CHAR( 160 ), 5),”‘ + values[i][0] + ‘”)’]);
    } else {
      newValues.push([”]);  
    }
  }  
  ss.getActiveRange().setValues(newValues);  
};function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : “Indent Text”,
    functionName : “indentText”
  }];
  sheet.addMenu(“Indent Text”, entries);
};

Go to menu “File” –> “Save”

Return to your spreadsheet and reload the browser.  You should now see a new menu item called “Indent Text” to the right of the “Help” menu.

What this code does is add a menu to the spreadsheet document called “Indent Text”.
Within this menu it will create a menu item called “Indent Text”.
When the “indent Text” menu item is selected any cells within a single column selection will be indented by 5 spaces.

You can increase or decrease the number of spaces the text is indented by changing the line below so that the “5” is changed to a larger or smaller number (depending on your preference)

newValues.push([‘=CONCAT(REPT( CHAR( 160 ), 5),”‘ + values[i][0] + ‘”)’]);

Hope people find this useful. 🙂

Restore items from the SharePoint 2013 Recycle Bin

Interestingly, An item was deleted from a list (Task List) by a user, and to restore that item, users went to Recycle Bin and also to Site Collection Recycle Bin, but no avail. I was told to investigate the date of deletion and by whom.

So, the question asked to me was – Is there any other way to get the details of the deleted item or where the deleted item can be found?

Answer – Yes you can find out the user. Login to the content database, there you will have a table “dbo.RecycleBin”. Query this table for DeleteUserID and then query the table “dbo.UserInfo” with this deleteUserID to get user details. You will get other details as well from this DeleteUserID table.

dbo.RecycleBin:-

 

 

 

 

dbo.UserInfo:-

 

 

 

 

Point to Note – Recycle Bin does not keep deleted items for ever. The default setting in SharePoint is to keep content in Recycle Bin for 30 days after deletion, this can be changed by the SharePoint farm administrators. When this grace period is over, items are moved to the second stage aka Site Collection Recycle Bin.

Two Stages of Recycle bin:
Yes, SharePoint offers Two stages in recycle bins,

First-stage recycle bin – When users delete Files/List items it goes to First stage recycle bin. Also called “End user Recycle bin”. Content in this recycle bin is counted on Site quota, so when you delete a file, it goes to recycle bin, But you wont get any additional free space, still it occupies site quota. This recycle bin is accessible to the end users, and its Security trimmed (Even a site collection admin can’t see end user’s recycle bins, He/She needs to use “Site collection Recycle bin” to see end user’s recycle bin.)

Second-stage recycle bin – When the content deleted from First-stage recycle bin, its moved to Second stage recycle bin. Here Items not counted on Site quota, But total space occupied by second stage recycle bin is based on Central administration setting “Second stage Recycle bin Percentage in Live site’s Quota”. This Recycle bin acts at site collection level, and can be accessed only to site collection admins.

I hope this will help you out.

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