Skip to content

Instantly share code, notes, and snippets.

Sebastiaan Janssen nul800sebastiaan

Block or report user

Report or block nul800sebastiaan

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
nul800sebastiaan / gist:c3459731791577582e38254fa6e0ccd6
Last active Jul 30, 2019
Example of catch-all route and added constraints
View gist:c3459731791577582e38254fa6e0ccd6
RouteTable.Routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" },
//Constraints (controller cannot start with UmbProfile, UmbRegister, UmbLogin, UmbLoginStatus or Tags)
new { controller = "^(?!(UmbProfile|UmbRegister|UmbLogin|UmbLoginStatus|Tags))" });
View gist:0aa1fc02911604bf11eeb4a5c15b7d51
using System.Web.Routing;
using Umbraco.Core.Composing;
using Umbraco.Web.Runtime;
namespace RemoveRoutes
// This is required to ensure this composer runs after
// Umbraco's WebFinalComposer which is the component
// that creates all of the routes during startup
View gist:927dcf155439fcc867e97a4d8dda6e16
using System.Web.Routing;
using Umbraco.Core;
namespace RemoveRoutes
public class RemoveRoutesStartupHandler : ApplicationEventHandler
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
// Reference:
View SetMediaNameToFilename
using System;
using Umbraco.Core;
using Umbraco.Core.Services;
namespace My.Namespace
public class EventHandler : ApplicationEventHandler
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
nul800sebastiaan / Rss.cshtml
Last active Nov 9, 2018
Simple altTemplate RSS feed - see comments for usage instructions.
View Rss.cshtml
@inherits UmbracoTemplatePage
Response.ContentType = "text/xml";
// The variables in this code block are the only ones you might need to change a little to get it to work
var blogName = "Cultiv";
var currentUrl = string.Format("https://{0}", Request.Url.Host);
// Find first node under the root of document type BlogOverview
var blogNode = Model.Content.AncestorOrSelf(1).Descendants("BlogOverview").First();
View gist:53ae1903491cdc70c072a21b9a7d16db
<assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="" newVersion="" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="" newVersion="" />
View gist:1b838b33fca257467b831ebd77d8e43b
<smtp deliveryMethod="SpecifiedPickupDirectory" from="">
<network host="localhost" />
<specifiedPickupDirectory pickupDirectoryLocation="D:\Temp\Umbraco-CMS\src\Umbraco.Web.UI\App_Data\mail\" />
View gist:d86c2dcd515040fb5d2701c67d9a513e
### Keybase proof
I hereby claim:
* I am nul800sebastiaan on github.
* I am cultiv ( on keybase.
* I have a public key whose fingerprint is A91D 058D 06E9 1CA5 5EA2 E6F5 35A8 8B3E 0346 40B7
To claim this, I am signing this object:
View gist:37dc25597a4761af4db4dd0d58f17425
Changes to the XML Schema
If you ever had to test the Document Type in XSLT, you would've probably used @nodeTypeAlias. Since the new 4.5 Schema however, this has changed.
Consider a Document Type with an alias of subPage. In the old Schema, the umbraco.config XML file would look something like:
<node id="1204" nodeTypeAlias="subPage" .... >
And in the new schema, nodeTypeAlias no longer exists but it is rather used as the actual XML node name. So it becomes:
<subPage id="1204" .....>
View CreateCertificateController.cs
using System;
using System.IO;
using System.Web.Hosting;
using System.Web.Http;
using Umbraco.Core.Logging;
using Umbraco.Web.WebApi;
namespace Cork.Core.Controllers
public class CertificateController : UmbracoApiController
You can’t perform that action at this time.