An example Regex for validating e-mail addresses

JavaZone 2014, Regex dissected

My relationship to Regex (or Regexp) has always been of the type "google it, copy and paste it, never change it, can't understand anything of it". But so, finally, after years of "copy paste" I went on this talk about Regex on JavaZone and actually began to understand it. And now I'll share this introduction with you.


JVM tools

Java ships a bundle of nice tools for getting to know what´s going on with you JVM. A lot of these are probably - despite their obvious usefulness - little used by most developers. Hardy Ferentschik from JBoss made an effort to bring some of these to light again with a talk called "Using the right tools to get back into the driver's seat of your JVM" at JavaZone 2014


Cleaning up datasets with the Datarefine plugin

Cleaning up datasets can be fustrating and time consuming, and mass editing of data in Enonic CMS directly is not supported. This plugin is a working starting point to make it possible to perform basic edit operations on multiple content in a single category folder. You can for example replace sub-strings, change casing to lowercase, uppercase, titlecase - or normalize whitespace. It is also open source and you are free to add your own operations.

"Accessibility Directory" by David Vignoni, licensed under LGPL

Common Accessibility Traps and Solutions

Web accessibility has gained momentum recently, both due to governmental policy and also recent additions to the HTML 5 specification. Yet, when web developers create websites, there are many misconceptions regarding how content is presented for users with disabilities. This article presents some of the most common mistakes that are made, and possible ways for web developers to spot them and then solve them.

Plastic Dart

Web Development in Dart with Enonic CMS

Traditional programming of Enonic web pages involves XML, XSLT, HTML, CSS, and JavaScript. But JavaScript is a language that, although turing complete, is more oriented towards smaller web development projects than larger applications. Trying to do proper object-oriented programming can be more difficult in JavaScript than in many other popular programming languages today. In order to rectify some shortcomings in JavaScript when it comes to app development, there have been many extensions and alternatives to JavaScript that have been put out on the market. Google's attempt at a web development programming language is Dart, so is it possible to use Dart in an Enonic project? The target was "Edna", Enonic's internal invoicing and hour registration system.

HTML5 Video

HTML5 video

In this blogpost I will show some simple examples of how easy it is to start using the HTML5 video standard. Some of the challenges surrounding this will also be adressed.

Elastic Events

Real-time indexing of events with ElasticSearch

A common need in many applications, including Enonic CMS, is the possibility to store and retrieve events. What differentiates events from other types of content or data, is the requirement to be stored quickly and transparently. Often, there are hundreds or thousands of events produced per second. They might not be the main purpose of the application, but still it's important to be able to access and analyze the information later on. Events can be useful for tracing and debugging; they can also be mined to discover interesting trends and patterns.


Enonic Resource Tool: Building a custom gradle plugin

For some time, people working with Enonic CMS sites have asked for a easier way of handling resources (xslt, css, js etc) using a Version Control System, and across multiple installations. As an example, it would be nice to be able to check out resources from a VCS to my local file system, edit files, push changes to a server and then commit them back into the VCS. The ert-gradle-plugin is an attempt to ease this and other tasks.

Enonic Monitoring

HTML based digital signage

Digital signage has become a natural part of most people's lives in the last few decades. All around us we are surrounded by electronic displays that present all kinds of information; advertisements, weather forecasts and travel routes. In this article, we show how Enonic CMS can be used for this purpose.