A couple of years ago, I wrote an article about a similar topic, which explored how can we use Azure Devops pipelines to deploy solutions to any server which is not exposed to internet directly. That article was based on using classic release pipeline to configure the deployment steps. With YAML based pipelines being more powerful and recommended now, when I got a similar requirement, I explored how can we achieve this using the same. There was surely some good learnings along the way. Problem Statement In this case, the requirement was a bit different than the similar implementation I […]
Using Image Pull Secrets with Azure Container Registry
This topic may seem a bit outdated as there are better (and more recommended) ways now to work with Azure Container Registry (ACR). However, there are still many popular products in market, Sitecore in my case, which still use Image Pull Secret as the primary way to pull images from ACR. With Sitecore now supporting Container based installations, many organizations are choosing to go that way to be future proof. Sitecore has been busy updating their documentation related to installation and configuration on Azure Kubernetes Services (AKS) and has published a great installation guide. But this article is NOT about […]
Using Variables in Azure Devops Pipelines
Recently I got a chance to work a lot with Azure Devops, specially with various pipelines. I was pleasantly surprised by the breadth and depth of the features provided for various ALM stages and specially for developing build and release pipelines. I liked the ease of working with YAML based pipelines and how it gets integrated with repository, allowing us to maintain all the versions along with editing from within the code editor. However, one of the most powerful feature I liked was the use of Variables, which can make pipelines really dynamic and help keep many configurable parameters out […]
Deploy Solutions to On-Premise Servers using Azure DevOps
Recently I came across a requirement in which one of my teams had to deploy some code to servers hosted on AWS using Azure DevOps. Initially, it looked like not an issue as many articles are there explaining how to deploy solutions on AWS servers using Azure DevOps. However, there was a catch, none of those AWS servers were exposed over internet, i.e. there was no public IP assigned! And of course the servers were behind a firewall, essentially similar to any on-premise environment. To make things even more interesting, the solution required to be deployed had a mix of […]
Redirect to SharePoint Online URL using Azure Web App
With all the ongoing applications migrations to cloud, specially to SaaS destinations like SharePoint Online (SPO), at times it becomes necessary to provide a period of URL redirections between Old and New applications. For example, in an on-premise environment, we can use any URL like https://companyportal.company.com, but when the same content is migrated to SharePoint Online, we can’t retain the same URL. In SPO, the closest matching URL we can get would be something like https://companyportal.SharePoint.com. Also, because in the on-premise environment there are numerous site collections/subsites hierarchy, so just redirecting the root site may not be enough. Many business […]
Migrate Files Shares to Microsoft Cloud
File shares have been a beloved way to store and share documents around various groups for years. Even though, many organizations moved to collaborative solutions like SharePoint years ago, File Shares didn’t lose their charm. Because of the ease of usage and historical knowhow, it continued to grow both in size and usage over years. I know many organizations who store say 5 terabytes of data in SharePoint, still have four times more data in File Shares. But things are not all rosy with File Shares. Why Move out of File Shares Let’s a take quick look at why we […]
HTTP to HTTPS Redirection for Web Application on Azure VMs
Sometime ago, I wrote an article about how to achieve http to https redirection in Azure hosted VMs. That solution is still applicable if your Azure environment was built using Classic model and is using Cloud Services. Things are a bit different in Azure Resource Manager model and that’s for good, as it has become even easier to achieve the same. Problem Statement Let’s take a relook at what we are trying to solve here. You have web application (let’s say SharePoint, but this solution is valid for any other web application as well) hosted in Azure VMs, build using […]
Azure QnA Chat Bot with Waterfall Forms Flow
In my previous articles about Azure Chat bot, I talked about how to create a QnA chat bot using MS QnA maker service and use forms flow for a waterfall like conversation within the chat bot. I found many fellow ‘cloudizens’ looking for a simple solution based on QnA template which starts with a greeting to the user and then continues as a default QnA chat bot, like this one. Problem With the default QnA template, you get something like this [code lang=”js”]bot.dialog(‘/’, basicQnAMakerDialog);[/code] So, essentially a QnA Chat bot is just an unending sequence of your default dialog, which […]
Integrate Azure Chat Bot with SharePoint
In my previous article, I wrote about how can we create an simple Azure chat bot based on one of the default template, Forms Flow, that Azure Bot comes with. That is good to get us started but to make anything useful, we need to extend the bot. In this article I am going to talk about how can we extend the Azure Chat bot with Forms Flow, we created last time, and Integrate it with SharePoint. This logic can be used to integrate both with SharePoint on-premise (2013 and 2016) and Online. Problem Statement We are going to extend […]
Azure Chat Bot with Interactive Forms Flow
A few days ago, I wrote articles about Create your first Azure Chat Bot – Step by Step followed by Configure LUIS application for practical use in Azure bot and Create your first Azure Chat Bot with QnA Service – Step by Step. In this article lets explore how can we create an Azure Chat Bot which can have an interactive forms flow, i.e. a bot which can accept information as if filling a form and take some action based on provided inputs like booking a flight ticket or raising a support request. Half of the steps are similar to what you might […]