Tim Murphy's .NET Software Architecture Blog

Development

Starting An Umbraco Project

As I have been documenting Umbraco development I realized that people need a starting point. This post will cover how to start an Umbraco project using an approach suitable for ALM development processes. The criteria I feel a maintainable solution include are a customizable development project which can be easily in source control with a robust and replicatable database. Of course this has to fall within the options available with Umbraco. For mean this means an ASP.NET web application and a SQL ......

Relating Umbraco Content With the Content Picker

After addressing Umbraco team development in my previous post I want to explore maintaining relationships between pieces of content in Umbraco and accessing them programmatically here. For those of us who have a natural tendency to think of data entities and their relationships working within a CMS hierarchy can be challenging. Add to that the fact that users don’t only want to query within that hierarchy and things get even more challenging. Fortunately we will see here that adding the Content Picker ......

Umbraco Team Development

The Umbraco CMS platform give you the ability to create a content managed site with the familiar development process of ASP.NET MVC. If you are the only developer things don’t get too complicated, but the moment you are sharing your solution with a team you gain a few wrinkles that have to be addressed. Syncing Content and Document Types Umbraco saves its content partially to the file system and partially to the database. This complicates sharing document types, templates and content between developers. ......

Query Application Insights REST API To Create Custom Notifications

Application Insights is one of those tools that has been around for a number of years now, but is finally getting understood as more companies move to Azure as a cloud solution. It has become an amazing tool for monitoring the performance of your application, but it can also work as a general logging platform as I have posted before. Now that you are capturing all this information how can you leverage it? Going to the Azure portal whenever you want an answer is time consuming. It would be great if ......

Logging To Application Insights In Azure Functions

In my last post I covered logging in Azure Functions using TraceWriter and log4net. Both of these work, but Application Insights rolls all your monitoring into one solution, from metrics to tracking messages. I have also heard a rumor that in the near future this will be an integrated part of Azure Functions. Given these factors it seem wise to start give it a closer look. So how do you take advantage of them right now? If you go to GitHub there is a sample written by Christopher Anderson, but let ......

Application Integration: Azure Functions Vs WebJobs

[Updated]UI development gets all the attention, but application integration is where the real work is done. When it comes to application integration in the Azure ecosystem you better learn how Functions and WebJobs are developed and under what conditions you should use each. In this post I will try to answer those questions. For me it is important that a solutions is reasonably maintainable, deployable through environments and can be easily managed under source control. Both products are built on ......

Implementing Logging In Azure Functions

Logging is essential to the support of any piece of code. In this post I will cover two approaches to logging in Azure Functions: TraceWriter and log4net. TraceWriter The TraceWriter that is available out of the box with Azure Functions is a good starting point. Unfortunately it is short lived and only 1000 messages are kept at a maximum and at most they are held in file form for two days. That being said, I would not skip using the TraceWriter. Your function will have a TraceWriter object passed ......

Building Azure Functions: Part 3 – Coding Concerns

In this third part of my series on Azure Function development I will cover a number of development concepts and concerns. These are just some of the basics. You can look for more posts coming in the future that will cover specific topics in more detail. General Development One of the first things you will have to get used to is developing in a very stateless manner. Any other .NET application type has a class at its base. Functions, on the other hand, are just what they say, a method that runs within ......

Pay It Forward

One of my hobbies is photography (webshots, zooomr) and I was listening to The Digital Photography Show podcast where the guest was Kevin Kubota. He presents photography seminars and is offering scholarships to his seminars. The interesting part of the application is that you have to describe what charity work you do. He said that he figures if he is doing something for you then you should be doing something for your community to show that you are serious. So how does this relate to architecture ......

Building Azure Functions: Part 2–Settings And References

This is the second post in a series on building Azure Functions. In this post I’ll continue by describing how to add settings to your function and reference different assemblies to give you more capabilities. Settings Functions do not have configuration files so you must add app settings and connection strings through the settings page. The settings are maintained at an Function App level and not individual functions. While this allows you to share common configuration values it means that if your ......

Full Development Archive