PrimeFaces Extensions 3.0.0 released
Today, we released the PrimeFaces Extensions 3.0.0. It is built on top of PrimeFaces 5.1 and is fully compatible with PrimeFaces 5.1.x.There are new components: pe:countDown, pe:knob, pe:gravatar,...
View ArticleDynamic aria-live for better accessibility experience
Every web developer working with the web accessibility (WAI ARIA) knows or heard about aria-live. This is an attribute, which indicates a live region - any updatable HTML element - and describes the...
View ArticleDon't repeat expressions in facelets
Have you ever seen repeated EL expressions in JSF like this one? <h:inputText value="#{oneBean.name}" rendered="#{anotherBean.showPerson}"/><h:inputText value="#{oneBean.birthday}"...
View ArticleBuilding dynamic responsive multi-level menus with plain HTML and OmniFaces
Recently, I had to create a responsive multi-level menu with JSF 2.2. Requirements: the menu shouldbe created with dynamic structure from backendbe responsive, i.e. desktop- and mobile-friendlyhave...
View ArticleExtending PrimeFaces CSV with Bean Validation
Some of you already know that me and my co-author Mert Çalışkan are working on the 2. edition of the PrimeFaces Cookbook. The Packt Publishing allowed me to publish a small excerpt from one recipe of...
View ArticlePrimeFaces: Opening external pages in dynamically generated dialog
I already blogged about one recipe in the upcomming 2. edition of the PrimeFaces Cookbook. In this post, I would like to post the second recipe about a small framework called Dialog Framework. I...
View ArticleJavaScript Closures: Pass parameters to callbacks
Many JavaScript libraries allow to define callbacks. We often need to pass various parameters oder some context from outside to the same callbacks. JavaScript Closures makes it possible. The idea is to...
View ArticleHTTP web server for Chrome to test local web applications
If you are writing HTML and JavaScript on your PC and testing the output in your browser without setting up a server, you will probably get some error messages about Cross Origin Requests. Your browser...
View ArticleCaching of web content with Spring's cache manager
I this post, I would like to show basics how to cache and manage the caching of web content with Spring's CacheManager, @Cacheable and JMX annotations. Imagine a web shop which fetches some content,...
View ArticleA way to read properties with variable interpolation
Recently, I tried to define and read a global properties in an application server. The benefit of such property configured in the application server - it can be shared across all web applications that...
View ArticlePrimeFaces Extensions 3.1.0 released
Today, we released the PrimeFaces Extensions 3.1.0. It is built on top of PrimeFaces 5.2 and is fully compatible with PrimeFaces 5.2.Closed issues are available on the GitHub. Please consider some...
View ArticlePrimeFaces Cookbook Second Edition has been published
PrimeFaces Cookbook Second Edition was published today. This is an updated second edition of the first PrimeFaces book ever published. PrimeFaces Cookbook Second Edition covers over 100 effective...
View ArticlePrimeFaces Extensions 3.2.0 released
Dear PrimeFaces community,PrimeFaces Extensions 3.2.0 has been released! This is a maintenance release which is built on top of PrimeFaces 5.2. Closed issues are available on GitHub.Some notes to the...
View ArticleCreate source maps at project build time for JavaScript debugging
If you're doing front end web development, your web resources such as JavaScript and CSS files might be minificated, transpiled or compiled from a completely different language. If you now want to...
View ArticleMagic $parse service in AngularJS
AngularJS has a useful, but less documented $parse service which is shortly described in the Angular's docu as "converts Angular expression into a function". In this post, I will explain what this...
View ArticlePromises in AngularJS. Part I. Basics.
There are many blog posts about Promises in general and Promises in AngularJS in particular. Promises are a part of the ES6 (EcmaScript 6) specification, so it is worth to learn them. In this blog...
View ArticlePrimeFaces Extensions 4.0.0 released
Dear Community,A new 4.0.0 version of PrimeFaces Extensions has been released. Artefacts are available in the Maven central.Release notes there are as usually on the project's wiki page.This version is...
View ArticleMock responses to HTTP calls with network traffic simulation by using ngMockE2E
The AngularJS' module ngMockE2E allows to fake HTTP backend implementation for unit testing and to respond with static or dynamic responses via the when API and its shortcuts (whenGET, whenPOST, etc)....
View ArticleThe best way for sharing data between controllers in AngularJS 1.x
You may know the situation in AngularJS 1.x when multiple independent controllers need to share some data. E.g. one controller adds some data that should be available in the other controllers in the...
View ArticleInstalling Babel command line and playing with ES6
If you would like to play with ECMAScript6, you can install Babel CLI globally on your machine and run the babel-node command. babel-node is a version of the Node.js executable that understands ES6. It...
View ArticlePromises in AngularJS. Part II. $q service.
I have already blogged about Promises in AngularJS 1.x. This is the second part which describes the Angular's $q service. The $q service can be used in two different ways. The first way mimics the Q...
View ArticleClean architecture of Selenium tests
In this blog post, I would like to introduce a clean architecture for Selenium tests with best design patterns: page object, page element (often called HTML wrapper) and self-developed, very small but...
View ArticleNPM module Browser-Sync in Java / Web projects
Browser-Sync is a handy Node.js based NPM module which can be used for a faster web development. Browser-Sync synchronizes file changes and interactions across many devices. The most important feature...
View ArticleLazy inter-module communication with require() and webpack
MotivationCommonJS' modules can be loaded on demand with require.ensure(...). Example: require.ensure(["module-a"], function(require) { var a = require("module-a"); // module-a can be used now...
View ArticleSwitched to Medium
This is my last post on Blogger. I have decided to switch to Medium, a great and simple blogging platform.My future post will be available here: https://medium.com/@OlegVaraksinThanks!
View Article