The only 100% secure computer is turned off or disconnected from the internet. Unfortunately, this is not an option for a web-server or a CMS. In order to make sure Enonic CMS is at the forefront of the latest developments in this field, we hired an external white hat security expert to test Enonic CMS according to the OWASP testing methodology.
Many participants of developer 3 courses have said that the most difficult part of creating Enonic plugins is the configuration of beans and the project itself. This is no longer true.
At the center of Berlin in a back alley, through a space station entrance lies the premises of raumstation C-BASE. Among the relics of the mytholical space station Neo4j hosted a hackathon about graphs and their easy-to-use product Neo4J. A product which probably, with the right data, is able to map the fastest route to the origin of the C-BASE raumstation - somewhere in the universe.
A few things happened in the world of Enonic this week as well. Check it out in "This week at Enonic".
The fifth edition of Berlin Buzzwords was held in Berlin from 25th to 28th of May. This conference is about storing, analysing and searching massive amounts of digital data. Enonic was of course present to take the pulse of the search, scale and store community of Europe. Here are some highlights from my point of view.
New fixpacks for the current versions of Enonic CMS are soon to be released. The training calendar for second half 2014 has been set, make sure you book a seat before it is too late.
I've had btrfs on my radar for a long time, but never prioritized it because it was said to be unstable. Not quite what you want your filesystem to be. At Linuxcon Japan 2014, Marc Merlin from Google had a talk about how he's been using btrfs on his laptop and at home for a couple of years and why you should do it too.
More developers trained in the art of Enonic CMS and some nice progress for our new website.
Front Trends 2014 is over and it's time for a recap of the event. It was the first front-end conference for me as I usually go to backend related events. This is a little blog entry on what I tought was good and bad about this conference.
Front Trends 2014, the front-end conference in Warsaw, has finished and it is time to recap what I found particularly interesting.
This week we created a video where our CTO, Thomas Sigdestad, demonstrates Enonic 5 M4. We also attended a conference and trained several new developers in the art of Enonic CMS.
We are thrilled to deliver our first public demo of Enonic 5 with the release of Milestone 4. Enonic 5 is no longer just a CMS - but a full blown Platform for Digital Experiences.
If you allow your browser to remember what you write into forms it will pre-fill these forms when visiting again. That's very convenient. But Chrome forces a pale yellow background on all these input elements, likely messing up your design. And that background color cannot be overridden ... or can it?
We just tagged Enonic 5 Milestone 4. Today we had an internal presentation. Next week we will start external demos and proceed with Milestone 5.
Enonic was present at Funka Accessibility days in Stockholm 2014 together with two students from the Master Program in Universal Design of ICT at Oslo and Akershus University College (HiOA). This blog post comments on some of the great presentations concerning universal design that was held at the conference. There will be some practical tips & tricks for both developers and publishers.
Easter is closing in and we are just one bug away from tagging Enonic 5M4 - a major milestone for our upcoming release. We wish you all a happy easter!
What an exciting week for all developers, Java 8 was launched this Tuesday. Also, a new responsive web site went live on Enonic CMS yesterday. Want to have a look?
Lately there have been two issues in Enonic CMS that were impossible to recreate without a slow connection. In one situation, we needed to see what happened when a download of a large binary file was stopped by the user. In our office, even downloading a 16Gb file was so quick, we were not able to stop the download before it had completed. So, a tool to simulate a slow connection was needed. We found the Apache open source utility TCPMon.
The "milestone 4" development release is almost ready, we are eager to start implementing test sites for demonstration purposes. Have a look at a new screenshot from Enonic 5, as well as other news from last week.
The new Twitter API v1.1 requires OAuth which complicates things for using Twitter features on websites. You can still use widgets to embed user timelines, favorites, lists and search, but custom styling options are minimal. The Enonic Twitter plugin takes care of the authentication so you can focus on the content and presentation of your website. This article explains what the plugin does, what is required to use it, and how to set it up on your site. Code examples are included for showing tweets by hashtag and a list of resource limits.
We have another site launch this week, as well as a sneak-peak on the fully responsive interface of Enonic 5.
Bash is the default shell for Mac OS X and Linux. The name is an acronym for Bourne-again Shell, and is the command processor you typically use when you fire up "Terminal". Join the OP on his travel in this ancient and confusing environment, as he unveils the mysteries of bash-scripting.
Get the help of browser extensions to make Enonic's XML output a bit prettier and easier to handle. The benefits include improved visuals, support for search with xpath, and the ability to export xpath from nodes.
Two of our customers have launched their new websites this week. Want to have a look?
It has been a rather slow Olympic week, but we still have some updates from the office. Have you remembered to signed up for next week's developer courses?
It is Valentine's Day, but more importantly, it is Friday again. Here is the weekly update from Enonic.
When developing internal websites and using various QA environments, these are often isolated and not accessible from the public web, which can make browser and device testing very challenging. In these situations, BrowserStack and its Local Testing feature can be very helpful, and with the new browser extensions, this process has become very simple.
Keep reading to get a summary of what happened in the world of Enonic last week, including a sneak peek at the next version of Enonic CMS, the long awaited 5.0.
As one of the maybe last cavemen alive I used to manage all of my web projects with Notepad. The ease and speed of just typing my tasks, separating them with a line break was what worked for me. No fancy online tool or fancy project management thingy worked for me, not even my own todo webapp. It looked like todo.txt would survive the apocalypse. But then I found Asana and started improving my workflow. Same ease of use as before, but with a lot of added power.
It is Friday again, and of course time for a new weekly update from Enonic. We have great news regarding templating in 5.0. Also make sure that you don't miss next week's training events.
The fourth week of 2014 is coming to an end, and it is time to summarise this week's happenings at Enonic. Have you downloaded 4.7.5 yet?
One of my private labs projects here at Enonic has resulted in this collection of Less-mixins. They enable you to create a responsive website in a fraction of the time it normally takes.
From version 4.7.5 of Enonic CMS, JPEGs can be served progressively encoded for smoother loading of images. There are, however, problems incorporating this into a responsive website.
The weekend is almost here, and it is time for a new update from our main office. Keep reading to get the latest news about the upcoming 4.7.5 and 5.0 releases.
In a world of darkness, where no CSS standard ruled the world – one man had one destiny: To kill all nasty CSS hacks. Having defeated tables in an epic battle with divs, our hero witnessed a new enemy rise from the ashes. Known as floats, this ruthless enemy left a flaming trail of devastation whenever the people called upon him. But our hero had a secret weapon: the weapon of flex.
Welcome to "This week at Enonic". As you might have guessed, this will be a weekly (hopefully) update from our main office, with the aim of giving you more information on product updates, features in development, new website launches and upcoming events.
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.
Learn how LESS can help us create more semantic markup without bloating our CSS or spamming classes on every HTML-element.
"Grade F on Compress components with gzip". If you have done some work on website optimisation, you probably have seen your optimisation tools complaining about compressing your static resources. Now Enonic CMS takes care of this for you.
In the beginning, there were only web pages. As usage of the web exploded, the need for web applications grew proportionally. But the early web applications had a restriction: Every action had to be initiated by the user - there was no way for the server to tell the user when there was new data available. During the last 10 years, some solutions have been found, but they had drawbacks. Until WebSockets came along.
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.
Ever scrolled down a website and been amazed that objects doesn't behave like you expect them to? Instead of flowing static content upwards on the screen as we scroll we can now easily animate them in any way. Fly text sideways, zoom in images, fade out objects, and more!
"Cloud" has become a very interesting word in the IT-business lately, but what does cloud really mean, and how can you use it to host your Enonic CMS installations?
“Any sufficiently advanced technology is indistinguishable from magic.” - Arthur C. Clarke Scala is a wonderfully complex and simple language that combines object oriented programming with functional programming in a way that is especially suited for dealing with strings in different ways. It is complex, because it has so many built-in features, many of which are implementations of concepts that takes years to understand. It is simple because the implementation is so elegantly and powerfully made, and fit so well together, that many problems are easily solved with one command, where other languages would require complex algorithms. One of the tasks specifically suited to be solved with Scala is parsing. In Enonic, we have a query language for use in our datasources, that used to have a 10 page Java CC grammar description. Java CC would transform these 10 pages into 7 Java classes that were partially obfuscated and impossible to debug. All this was transformed to a simple one page Scala class.
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.
When working with big installations, where production, test and development environments are present and multiple developers are working at the same time, it's nice to know what's happening. Our diff tool shows a possible solution to track changes and visualize differences.
Semantic markup helps technologies such as search engines and web crawlers better understand what information is contained in a web page. Microdata is a specification used to nest semantics within existing content on web pages, used by major search engines Bing, Google, Yahoo! and Yandex to provide better search results.
A common task for Enonic consultants and site developers is to create contenttypes for storing content that will be displayed on a website. Almost every Enonic installation has contenttypes for articles, people, events, files, images and more. Contenttypes in Enonic CMS 4.x are defined with XML. This XML just looks like a bunch of code to non-IT people. Writing XML is error prone and time consuming, even for us tech-savvy web developers. We always have to check the documentation and copy/paste the parts we need and then make edits. For my labs project, I wanted to create a tool that would make my job easier by removing the need to write XML to define contenttypes. When this project is completed, anybody who can use a mouse will be able to define contenttypes for Enonic CMS without ever seeing any code.
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.
There is nothing more exiting than seeing how fast Enonic CMS can perform and there is nothing more valuable than discovering which pages run slow.
Imagine that you've come up with a conceptual model for a new application, and want to get started with visual prototyping. What should the first wireframes look like? How do we decide the basics of what goes where, and how do we test these results? Let's look at one example: A method that we used when creating a new user interface for the Admin Console.
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.
A simple guide to installing Enonic CMS 4.6 Community Edition.
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.