Posted on:
Categories: Business;Office 365;SharePoint
Description: This blog post describes how to use calendar overlays in SharePoint
​Calendars are very popular in SharePoint. They get added to many sites and subsites in various SharePoint portals, especially to team and project sites. Although calendars are widely used in SharePoint, not many site owners spend time planning how to use them. I often see subsites with a single calendar crammed with many appointments of different kinds. My usual recommendation is to use one calendar for each type of appointment, but when suggesting this improvement, many site owners are afraid it may affect usability. This is where calendar overlays come into play. What are calendar overlays in SharePoint? In a nutshell, with calendar overlays, you can merge multiple calendar views. Those additional views can come from different calendars or from just one calendar. Each overlaid calendar can be displayed in a different color. How can overlaid calendars be used in SharePoint? I see two typical use cases for calendar overlays in SharePoint. The first one is to aggregate appointments from multiple calendars into a single view. Here is an example a marketing team uses one calendar for vacations, another for stat holidays and a third calendar for managing events. With overlaid calendars, the event planning will become much easier as holidays and vacations are superimposed on the events calendar, even though they are managed in different calendars. The second use case is the popular color coding with different types of events being displayed using different colors. This can be achieved by creating a view for each type of appointment, even if only one calendar is used. Overlaying these views will result in a single calendar view displaying different types of appointments in different colors. How are calendar overlays created? Let me show you this by using an example you can recreate in your environment easily. In my demo, I have a subsite with three calendars, a primary calendar, a calendar listing stat holidays and a calendar for vacation requests. I would like to superimpose the calendar with the stat holidays and the vacation calendar on the main calendar. Both calendars are providing a calendar view called 'All Items'. Before I continue with some screenshots, I should mention that calendar overlays only work with calendar views. List views cannot be overlaid. In my example, I have added Easter Sunday to the stat holidays calendar and a vacation request to the vacation calendar. To create the overlays, I turn to the primary calendar, open the ribbon and select 'Calendar Overlays' The following dialogue shows up, and I click on the ‘New Calendar’ link I create a new calendar overlay for vacations as shown in the next screenshot (don’t forget to click on ‘Resolve’ to be able to select an additional calendar list) I repeat this step with the stat holidays calendar. After I have done that, the list of overlaid calendars looks like this Let's switch back to the primary calendar and see what the overlaid calendars look like Here you can see that the view from the vacation calendar (red) is added to the primary calendar and the view from the stat holiday calendar shows up in green. Keep in mind that both appointments are NOT part of the primary calendar. They are still managed in their own calendars. On the left side, SharePoint shows a legend explaining which calendar is displayed and in what color. To navigate to one of the overlaid calendars, click on the calendar name in the left navigation. As you can see, it just takes a little additional configuration, to create calendar overlays which improve usability and maintainability. That's why calendar overlays are my hidden gems in SharePoint.




Posted on:
Categories: Business;Office 365;SharePoint
Description: Migrating content and configuration from SharePoint 2007 to SharePoint online can be done, but there are some important things to consider. This blog post provides my recommendations and outlines important topics which need to be considered before starting the migration.
​Although Microsoft released SharePoint 2016 many months ago, there are still some companies out there which are using older SharePoint versions (like SharePoint 2007 or SharePoint 2010). A SharePoint migration from an older version of SharePoint (like SharePoint 2010 or SharePoint 2007) to an up-to-date version of SharePoint (like SharePoint 2016 or SharePoint online) is not an extraordinary process. If content from an older version of SharePoint is to be migrated to SharePoint online, there are some things that should be considered, before starting the migration. 1. Pre-Migration Assessment Although a pre-migration assessment usually is an important part of the pre-migration planning, it becomes more important, if content from an older version of SharePoint needs to be migrated. A pre-migration assessment is helpful to find out if the selected migration tool can migrate content and settings faultlessly. Usually, the log files of a pre-migration assessment provide valuable hints which list, library, or web part might cause problems during the migration. I recommend doing a pre-migration assessment as it is needed to plan the migration process thoroughly. 2. Review site and subsite structure With SharePoint 2007 it was common to create the site structure similar to the structure of the organization. In other words the site structure in SharePoint was reflecting the organization's structure one to one. At that time this was the usual approach, but today a site structure does not reflect the structure of the organization anymore. Instead, structures are reflecting internal procedures or are focusing on department-comprehensive projects. In other words today's site structures are user-centric and are based on processes and internal collaboration rather than copying the internal structure of an enterprise. That's the reason why the site structure of an older SharePoint farm needs to be reviewed very thoroughly. In most cases, it makes sense to create a kind of mapping table for sites and subsites. This mapping table lists all the sites and subsites in the old portal and describes how this translates to the new site structure in SharePoint online. 3. Review existing business applications Although SharePoint 2007 was not used as a platform for integrated business applications like newer versions of SharePoint, many companies created what I like to call 'Mini Applications'. Those mini applications are not based on custom code, but on joined lists with lookup fields, content types, and sometimes calculated fields. Some enterprises created very complex structures by just using multiple generic lists which are joined by lookup fields. The problem with that kind of applications is, that they have been used for many years and that employees have become accustomed to them. While these applications can be migrated to SharePoint without major issues, it makes sense to check, if these applications can be updated or modernized before migrating them. Sometimes a SharePoint-hosted add-in (which wasn't available to previous versions of SharePoint) can be used to replace some functionality and to improve the usability. If a mini application is frequently used, it can be beneficial to rethink its internal structure and use-case to see if it can be replaced by a SharePoint-hosted add-in or a Provider-hosted add-in. 4. Review branding If you compare the out-of-the-box branding of SharePoint online with the out-of-the-box branding of SharePoint 2007, you'll notice a huge difference - and that's true for the user interface as well. If a company has invested a significant effort in creating a corporate SharePoint branding and wishes to migrate this, it will be problematic. Due to the massive changes in SharePoint online compared to SharePoint 2007, an old SharePoint 2007 branding can't be migrated to SharePoint online completely. My recommendation is to take the old SharePoint 2007 branding as a basis and create a new corporate branding for SharePoint online which is adapting the modern user interface of SharePoint online in a beneficial way but still looks similar to the old branding. 5. Review the size of lists and libraries At the times when SharePoint 2007 was popular, there was no such thing as a 5000-items limit like it exists in SharePoint online today. As a result many enterprises created generic lists which contained over 5000 items, which resulted in a decreased performance, but still worked. While these large lists can be migrated to SharePoint online, problems will occur as soon as these lists have been migrated to SharePoint online. If a view is returning more than 5000 items, SharePoint online is displaying an error message. If there are lists with several thousands of items in the old SharePoint farm, I highly recommend reviewing those lists before migrating them. Sometimes the problems can be solved by creating additional filtered views which are based on indexed columns. Sometimes it makes more sense to split up those large lists into multiple lists based on particular topics or to create annual lists. 6. Plan timelines thoroughly Migrations are usually done with the help of tools (like ShareGate or Metalogix). If these tools are used to migrate content from SharePoint on-premises to SharePoint online, these tools need to utilize the Client-side API which is significantly slower compared to the popular and powerful SharePoint Server-side API. The Client-side API is not the only factor which affects the time needed to migrate content and settings to SharePoint online. The varying performance of Office 365 and the throughput rate of the internet connection used during the migration can also affect the duration of the migration. To get some basic time estimates, a look at the reports of the pre-migration assessment can be helpful as they include information about the amount of data and throughput rates. 7. Prepare user training As I have mentioned earlier, the user interface of SharePoint online has been changed dramatically compared to SharePoint 2007. Although the basic functionality (like adding items to a list or updating the metadata of a document) still exists in SharePoint online, the way that functionality is exposed through the user interface has been changed considerably. Without an aligned user training, the user acceptance of the new SharePoint online portal will suffer significantly simply because the employees feel confused or overwhelmed by the new user-interface.




Posted on:
Categories: Business;Azure;System Center
Description: After our recent collaboration with Microsoft for their OMS Roadshow Event in Vancouver, it came to our attention that road to adopting Microsoft's Operations Management + Security Suite isn't quite evident.
​After our recent event with Microsoft for their OMS Roadshow Tour, it came to our attention that road to adopting Microsoft's Operations Management + Security Suite isn't quite evident. In case you're still twiddling your thumbs thinking of how to get started with a cloud-based IT management solution... we have listed the tools and steps you can take get started - even some that are free!Webinars Azure Site Recovery and Backup Demo and Deep Dive Date Thursday, February 16 | 9am-10am PST Host Chris Hall, Azure P-Seller - Softlanding Learn More​ Operations Management Suite (OMS) Demo and Deep Dive Log Analytics and Azure Automation Date Tuesday, February 21 | 930am - 1030am PST Host Chris Stelzer, Azure P-Seller - Softlanding Learn More ---- Workshops/Funded Deployments DPS Vouchers in EA Licenses By leveraging your remaining DPS days within your EA Agreement, your organization can engage in either a workshop or funded deployment with a recognized Microsoft Partner. Need help finding your DPS days? Send us a quick email We can help you find out! Codename Microsoft "OMS Accelerate" Funding Microsoft is incentivizing the Operations Management + Security Suite for organizations looking to leverage Microsoft Partners to assist in their deployment and set-up. We can help you acquire this funding! Let us check if your organization is eligible We can work our Microsoft magic ---- Quick LinksAzure Services by Region OMS Home OMS Learning OMS Pricing Calculator​




Posted on:
Categories: Office 365;PowerShell;SharePoint
Description: How to activate a hidden feature in SharePoint online
Recently I was faced with an error message in our SharePoint online tenant when trying to activate the Community Site feature. The error message looked like this Site The Site scoped feature being activated has a dependency on hidden Site Collection scoped feature 'FeatureDefinition/15/4326e7fc-f35a-4b0f-927c-36264b0a4cf0' (ID '4326e7fc-f35a-4b0f-927c-36264b0a4cf0'). Hidden features cannot be auto-activated across scopes. There may be one or more visible Site Collection scoped features that auto-activate the dependent hidden feature.​ Obviously, a feature was missing, but the error message did not tell what feature exactly was missing. Only the GUID of the feature was displayed. To solve this problem, the ​SharePoint Online Management Shell can be used. If this helpful shell has not been installed, you can download the installer from this site https//www.microsoft.com/en-ca/download/details.aspx?id=35588​ After the shell has been installed, be sure to run it as an Administrator! To activate a feature by it's feature ID, you can use this script $$programFilesDirectory = [environment]getfolderpath("programfiles") add-type -Path $programFilesDirectory'\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll' Write-Host 'Enter credentials and site URL' $siteurl = Read-Host "Site Url" $featureGUID = Read-Host "GUID of feature" $username = Read-Host "User Name" $password = Read-Host -AsSecureString "Password" [Microsoft.SharePoint.Client.ClientContext]$ClientContext = New-Object Microsoft.SharePoint.Client.ClientContext($siteurl) $ClientContext.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password) $site = $ClientContext.Site; $feature = new-object System.Guid $featureGUID $site.Features.Add($feature, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]None); $ClientContext.ExecuteQuery(); Write-Host 'Feature enabled​' Simply copy and paste this script​ to the SharePoint Online Management Shell and run it. Be sure to enter the the site URL, the GUID of the feature and proper credentials. Usually it will take a little time (about 10-15 seconds) for SharePoint online to activate the feature. If you do not get an error message (and see 'Feature enabled'), the feature should have been activated. ​​




Posted on:
Categories: Business;Azure;Office 365
Description: It's as easy as flipping a switch. Migrate your Exchange, SharePoint and Skype for Business into the Canadian Datacentres for free before October 31, 2016. Find out how!
It's a great time to think about migrating your existing US Cloud Tenancies to Microsoft Canada's datacentres! From now until the end of October 31, 2016 cross-tenancy migrations will be complimenatarily provided through Microsoft to clients on EA licenses. It's as simple as flipping a switch!​ If you choose to take advantage of this free migration, Microsoft will do the work for you within the next two years - just as long as you meet the October 31st deadline. However, if you can't wait two years to make the switch, miss the deadline or hold an Education EA SKU, you can rely on a migration partner to plan and migrate your existing Exchange Online, SharePoint Online and Skype for Business workloads to the Canadian datacentres in less than a week! Since the opening of the Canadian datacentres, Softlanding has facilitated​ the migration of Exchange, SharePoint and Skype for Business workloads for many enterprise clients, public sector organizations and school districts. The cost-benefit of engaging with a trusted Cloud Partner can ensure your migration project will be hassle-free with a clear directional goal in reducing down-time and maximizing productivity in the Cloud. The many advantages of moving to the Canadian Cloud extend past organizational cost savings and data sovereignty - it provides a stepping stone into using technology-as-a-service - paying for the services you actually consume. ​For more information, read through Microsoft's general FAQ regarding Data migrations​ or reach out to us to help you plan your migration to the Canadian Cloud.




Posted on:
Categories: Azure
Description:
​When working with multiple developers on a project there’s always the potential of stepping on each other’s toes unintentionally. When a configuration setting is changed, or maybe a package for the project is updated it could cause havoc for the other developers without anyone knowing what caused the issues.Think of Source Control Internally we use Team Foundation Server (TFS) for our source control with our projects. When developing web applications using Visual Studio and ASP.Net you can use NuGet to grab packages for your projects. This is very useful as it enables easier management for adding in references and components required for your solutions. Such as adding in the SharePointOnline CSOM or jQuery. The issue that can arise from using NuGet and TFS, is that by default TFS will add all the files to source control. This can become a headache especially if developers are updating the NuGet packages at different times which can cause issues checking in changes as well as compiling your solutions. To get TFS to ignore NuGet packages Add a file named .tfignore to the solution folder with the following content (This will tell TFS to ignore all the NuGet package files) \packages Now create a folder under the solution folder named .nuget In the .nuget folder create a text file named NuGet.config and add the following content <?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration> Now once you add your solution to TFS you won't have the future headaches related to NuGet packages!Multiple Web Configs and Build Configs By default, a web application project already has a couple build configurations set up with their own web configuration transforms created (Web.Debug.config and Web.Release.config). As we were building a SharePoint provider hosted Add-in with Azure hosting the web application there was a number of configuration settings required that were unique for each developer. To simplify this a new build configuration was created for each developer for use during the development of the web application. To go along with these build configurations a new web configuration transform was added to the solution for each developer (e.g. Web.Dev1.config). This enabled us to have all our unique settings configured separately, as well, these web configuration transforms could be excluded from checking in to TFS to ensure security of all our own Azure applications. For example, the following web configuration transform enabled me to target my own Azure Redis cache, as well, store the client secrets for my SharePoint Add-in separately from the other developers.<?xml version="1.0" encoding="utf-8"?> <configuration xmlnsxdt="http//schemas.microsoft.com/XML-Document-Transform"> <!-- My App settings --> <appSettings> <add key="ClientId" value="GUID" xdtTransform="SetAttributes" xdtLocator="Match(key)"/> <add key="ClientSecret" value="Shared Secret" xdtTransform="SetAttributes" xdtLocator="Match(key)" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> <system.web> <customErrors mode="Off" xdtTransform="Insert" /> <sessionState mode="Custom" customProvider="RedisSessionProvider" xdtTransform="Replace"> <providers> <add name="RedisSessionProvider" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="my host.redis.cache.windows.net" port="6380" accessKey="my key" ssl="true" xdtTransform="Replace" /> </providers> </sessionState> </system.web> </configuration> A good walkthrough on how to set up build configurations can be found here https//msdn.microsoft.com/en-us/vs2010trainingcourse_webdevelopment_topic4.aspx Publishing Profiles Last but not least was managing the publishing of our web application to our personal Azure App Services. By accessing the Azure portal and navigating to the App Service that is hosting the developing web application you can download the publishing profile directly from the …More menu in the Overview tab. In Visual Studio, when you go to publish an Azure web application, you get prompted with a Publish Web dialog that allows you to import a new publishing profile. If you Right click your solution and select Publish you will get the Publish Web dialog Select Profile on the left of the dialog Now you can select Import under the Select a publish target menu Just browse and select your publishing profile file and click OK You will now be able to select that profile for publishing your web application to the target app service To further ensure security, the publishing profiles for each developer can be excluded from TFS. These files are located under the ProjectFolder\Properties\PublishProfiles.Final Thoughts By setting up the Visual Studio Solution and Azure Web Application project as described, we eliminated a lot of the headaches that can happen collaborating with multiple developers. This enabled each developer to just select their own Build Profile and then publish their web application with their own Publishing Profile easily.




Posted on:
Categories: Office 365;SharePoint
Description:
​I’m currently working on a provider hosted SharePoint Add-in for a client and I ran into an issue creating list item attachments through our custom code. This issue was related to attaching large files as attachments to the list item via CSOM. The issue I encountered was that if it was a large file I needed to attach I needed to have the attachments folder already created before I could upload the large files. I created something similar to the large file upload solution that is posted in the Office Dev Patterns and Practices samples (https//github.com/OfficeDev/PnP/tree/master/Samples/Core.LargeFileUpload). This enables you to add files larger than 2 MB in pieces (Option 3). Using this method requires that the attachments folder for the list item already exists, if not it will fail and throw an error. After trying a few ways of creating a folder for the list item, such as getting the list and trying to add a folder directly via CSOM which throws an error. I did some research and found some workarounds using the lists.asmx web service to create the folders. Since the older web services are going to be phased out in favour of the newer REST services I decided that wasn’t the best option for a long term solution. Since the issue was only related to adding large files, I decided that adding a small temporary file as an attachment first. This would then create the folder for me, and then I could delete the temporary file and move onto uploading my large attachment.//get the list item and the list's root folder with subfolders var list = clientContext.Web.Lists.GetByTitle(listName); var item = list.GetItemById(listItemId); clientContext.Load(item); clientContext.Load(list.RootFolder.Folders); clientContext.ExecuteQuery(); //get the attachments folder for the list var rootFolder = Enumerable.FirstOrDefault(list.RootFolder.Folders, folder => folder.Name == "Attachments"); clientContext.Load(rootFolder, rf => rf.Folders); clientContext.ExecuteQuery(); var attachmentFolder = Enumerable.FirstOrDefault(rootFolder.Folders, folder => folder.Name == listItemId.ToString()); // if the list item doesn't have an subfolder under the attachments folder, then add a temp file to create the folder if (attachmentFolder == null) //create dummy attachment to force creation of the attachment folder for the list item //note this is needed due to limitations in CSOM and creating folders using ( var dummyFileStream = new FileStream(HostingEnvironment.MapPath(“path to dummy file”), FileMode.Open)) var fileInfo = new AttachmentCreationInformation ContentStream = dummyFileStream, FileName = "tempfile.txt" ; var tempUploadFile = item.AttachmentFiles.Add(fileInfo); clientContext.Load(tempUploadFile); clientContext.ExecuteQuery(); //delete temp file tempUploadFile.DeleteObject(); clientContext.ExecuteQuery(); At this point the folder for the item’s attachments is now created, and I can proceed to upload the large attachment.




Posted on:
Categories: Office 365;SharePoint
Description:
​The term Software as a Service (SaaS) means that software is not installed locally anymore. Instead, software is installed to the cloud (like Windows Azure) and made available through the internet. One prominent example of this new approach is Office 365. Software as a Service does not only have advantages for the users as consumers of the software but also for the service providers – like Microsoft as the service provider for Office 365. Because Office 365 is provided as cloud software, Microsoft can publish updates very easily in a centralized manner, and one of the recent updates caught my attraction. I'm talking about the new look for lists and libraries. The following screenshot shows this new look and feel The above screenshot shows a document library with the new look and feel which Microsoft is referring to as New Experience – in contrast to the Classic Experience. The following screenshot shows the same document library, but with the Classic Experience. I think the New Experience looks very tidy and less cluttered. It helps users to focus on the documents and list items and does not sidetrack users by showing too many available actions that can be triggered. With the New Experience, the items which are shown in the gear menu changed as well. As you can see in the following screenshot, the library settings are also shown in this menu now. Compared to the gear menu which is shown in the Classic Experience, the new gear menu is less extensive and focuses on the actions that are most important for users. To switch between the Classic Experience and the New Experience, users have several options. If the New Experience is active, users can click on the link Return to classic SharePoint which is shown in the lower left corner (see first screenshot). If a user clicks on this link, the Classic Experience becomes active immediately. If the default experience is set to New Experience, the new look becomes active again the next time the user opens a browser and navigates to that library. For each library, site-owners can choose which look to use as a default by navigating to the Advanced Settings of a list or a library. Here a site-owner can select whether to use the Classic Experience or the New Experienced for a library or list. To ensure a consistent look and feel of a whole SharePoint farm, a SharePoint administrator can provide a primary setting. This is done in the SharePoint administration of Office 365. Sometimes the switching between the Classic Experience and the New Experience does not work properly. In those cases, I was able to reactivate the New Experience by closing the browser and reopening the browser again. It looks like the information with experience to use is saved to session state objects. Besides the new look and feel of the New Experience, there is another cool new feature documents can also be displayed as tiles with a small preview image just like images with previews in image galleries. Sometimes it can be helpful for users to pin important documents to the top of a SharePoint library – just like important threads in discussions or forums. By using the New Experience, this can be done with SharePoint documents as well. A maximum of three documents can be pinned to the top area. The New Experience is offering an improved version of in-place-editing called the Details Pane. To activate the Details Pane you simply need to select a document or a list item, open its context menu and select Details. With the new Details Pane, users can edit metadata of documents or list items without changing the current view. The following screenshot shows the Details Pane Accessing data on mobile devices has become a mandatory request of enterprises. To meet these requirements, the New Experience is also providing a great mobile view. The following screenshots were taken on a Windows 10 smartphone to show how the New Experience looks like on a mobile device.​​​ Currently, Microsoft is rolling out the New Experience feature to more and more tenants and for some time both experiences will be available. But, you should keep in mind that the Classic Experience might not last for long. Do you like the New Experience look? Let us know what you think.




Posted on:
Categories: Azure;Business;Office 365;SharePoint;Skype for Business
Description: Moving to Office365 or deploying Microsoft's Enterprise Mobility Suite? Your organization may be qualified for funding to help you save costs. Find out how!
With the two Canadian Microsoft data centers in full effect for Canadian public and private sector businesses, the momentum to move to the cloud through Office 365, Cloud PBX (Skype for Business) and Azure are rampant. At Softlanding, we're seeing demand from public sector industries including school districts, government and finance to migrate their workloads to the cloud utilizing complimentary funds allocated through Microsoft under a tool called Fast Track. So what is Fast Track?​Fast Track is a customer-success service designed to help customers move to Office 365 with the assistance of qualified Microsoft partners to road-map and carry out engagements faster and more cost-effectively. Available for organizations with 50 or more seats of Office 365 Business, Business Essentials and Business Premium SKUs purchased within September 2015 to June 30, 2016 - Fast Track offersFunding ​​To help deliver value and drive adoption, Fast Track funding for ​Office 365, Cloud PBX and Enterprise Mobility Suite (EMS) are available for organizations looking to create a new tenant in Office 365. Funding can range up to $60,000 USD per eligible organization. ​Data Migration All qualifying customers are eligible to use the remote services to migrate their files to One Drive for Business and SharePoint Team Sites from file shares or Google Drive as well as Exchange Online as a complimentary service. Onboarding and Adoption Assistance ​​​Receive onboarding assistance with Microsoft's Enterprise Mobility Suite of products including Intune, Active Directory Premium and Azure Rights Management as well as the Onboarding and Adoption planning for Office 365 (Exchange Online, SharePoint Online, Skype for Business, One Drive for Business, Office 365 Pro Plus and Yammer Enterprise). Sandboxing in Office 365 ​Trial a Sandbox environment to see the experiences and the value that Office 365 can deliver. This trial tenant available for up to 250 users for 90 days allows organizations to try Enterprise E5 licenses with PSTN conferencing capabilities.​ ​Are you Eligible?​​ Fast Track funding are enabled through engaging with Microsoft Gold Partners, like Softlanding, to carry out engagements related to Office 365, Cloud PBX and Azure. Softlanding can assist in migrations and drive adoption working alongside Fast Track services to reduce costs. If you would like to explore the opportunities available with Fast Track, but are unsure whether your organization qualifies for funding and for how much, contact us​ to find out.​




Posted on:
Categories: SharePoint;Office 365
Description: Strange behaviour can be seen when making a project summary responsive. Let's take a look as to why that's happening
Setup​To gain understanding of the observation and to see first-hand, here are the things I’ve done to reproduce the weird project site timeline summary issue. Create a new site collection with Publishing template. Create a Project site subsite. Edit the page and remove all the generated web parts except for the Project Summary web part on the home page. Set these tasks (note they are all expired) Use these rules (I set it as alternate CSS for quick reference) #s4-workspace width auto !important; #contentBox min-width 0; #DeltaPlaceHolderSearchArea display none; That is all in terms of setup. To elaborate on the CSS rules, there are defaults for each of those elements. s4-workspace has a default width that SharePoint sets via Javascript; for me, it was 1061px. Contentbox’s min-width is set by core15.css, which is 703px. These two elements need to be overwritten so that the inner contents can be exposed to the changing window size. Similarly, the search box is removed simplicity because after a certain width, the search box prevents the page from shrinking.Behaviour When you land on your project page, Project Summary’s default behaviour will display the timeline view, then the late/upcoming view for a second, and then switch back to the timeline view automatically. Of course, users can use the pagination arrows to manually navigate through the views as well. We want a responsive project site; using the CSS above makes the project summary an overly simplified responsive site for this blog’s purposes. Meaning, the Project Summary web part will shrink according to window width. With a little more work, the timeline view can be fully responsive, but the problem lies with the late view. If you resize the window, at some point, the late view items disappear, where everything else stays the same. It’s easy to point fingers at the branding or customizations, but in fact, the disappearing act is something that SharePoint Online does natively and this can cause a problem for the end user given the behavior. Inspecting the page, and on the late area, the focus is brought to As you resize the page, an additional "display none" is added on dynamically via javscript. Searching the source code for the full ID will return nothing. Luckily, if we search for _LatePanel, we have a single result from a SharePoint Online .js file Using the Pretty Print function that comes with Chrome, we have resulting code that looks like this function i() var e = $get(a._controlId + "_LatePanel"), d = $get(a._controlId + "_UpcomingPanel"), g; //... some code here … if (d) if (b > 0) d.style.display = ""; ​ d.style.width = k * b + "px"; m("UpcomingPanel", b) else d.style.display = "none"; if (e) if (c > 0) e.style.display = ""; e.style.width = k * c + "px"; m("LatePanel", c) else e.style.display = "none"; //... some code here … return (b + c) * k And by connecting the dots, you see that here, SharePoint is using a if-else statement to dynamically set the display (back from none if it was attached earlier), and width, otherwise, hide the panel. As for why SharePoint decides to do that and what purpose that served, we have no idea. Perhaps it was a left-over artifact from SharePoints prior, but keep in mind, we had to remove 3 “levels of fail-safes” in the form of set width, min-width, and unshrinkable search bar, to figure find out this oddity.