Logging is used to track the execution flow of the programme. It’s is also useful for debugging your application when an interactive debugging is not available (e.g. in web-applications).

All good and sophisticated programmes have logging. Just look into Windows Event log and you will find a lot of interesting things, which are happening under the covers of friendly GUI of this amazing OS. 😉

The simplest way to log is to write what is happening to Console or to file. But you always have to think about the format of log. And there is a problem of storing log files on disk. Today, there are lots of logging engines for different programming languages and platforms, which significantly simplify dealing with logs. In Java the most popular are Apache log4j, SLF4J, LogBACK. Last two ones are becoming more and more popular, but I’d like to be conservative and tell…

View original post 560 more words

Configuring Glassfish JDBC Connection

We use PostgreSQL database in our project, so if you want to proceed, download and install the latest version of PostgreSQL. You will also need the PostgreSQL JDBC driver which can be downloaded here.

I assume that you have already downloaded all necessary files, installed Glassfish 3 server, and opened the project in NetBeans IDE.

  1. Copy downloaded JDBC friver to library folder of your Glassfish server. In windows it is %GLASSFISH_HOME%\glassfish\lib
  2. Start glassfish server
  3. Go to Glassfish Admin Console and open JDBC Configuration
  4. Add JDBC connection pool as shown in the pictures.
  5. Add JDBC Data Source with the name jdbc/PostgreSQL
  6. Deploy the project.

Start Glassfish Server and go to Admin Console

Start Admin Console

Configure JDBC Connection Pool

Configure Connection Pool 1

Configure Connection Pool 2


Test Connection

Test Connection

Create JDBC Data Source

Create Data Source

Tagged , , ,

[JSF 2] [Overriding Renderer] How to add custom attributes to component

A simple and clean way of how to enable “placeholder” and “type” HTML5 attributes in JSF components!


I’ve been working with JSF for almost a year, and sometimes standard components are not enough for rendering rich  HTML5  pages.

For example, if we need to have a placeholder attribute on a particular HTML5 input element, we just write:

Unfortunately, standard JSF 2 library’s component InputText was designed for HTML4 and doesn’t support attribute ‘placeholder’ (as well as other non-standard attributes, such as ‘autofocus’, ‘autocomplete’). So, the following code won’t work because the ‘placeholder’ attribute will be ignored by standard JSF TextRenderer.

What if we really need to have placeholder in our input components? One solution would be using third-party libraries, such as PrimeFaces, or RichFaces. The provide placeholder (they call it ‘Water Mark’) and a lot of other features out of the box.

This solution has its drawbacks. Third-party libraries (like PrimeFaces) are quite difficult to cusomize, for the one thing. Besides, they have got their own…

View original post 188 more words

Tagged , ,

Metro Style Template

EasyTag will use cool Metro Style HTML5 template:

It can be easily adjusted to meet requirements of our project. Menu in the left panel, search field, large space for photos.

Metro Style HTML5 Template for EasyTag

Metro Style HTML5 Template for EasyTag

Also, it has plenty of advanatages:

  • Modern and responsive.
  • Uses HTML5 + CSS3 but works in IE 8.
  • Works perfectly in mobile browsers.
Tagged , ,

Milestone #1

According agile software development methodology mentioned in the previous post, we need to divide our development process into several secuential releases (milestones, iterations). Each iteration in our project will last about a month, and at the end of the iteration we should have a working release.

01.03 – 01.04. A simple photo hosting.

Features to be implemented:

  1. Registration and log in  at least by email.
  2. View / edit personal profile.
  3. Uploading photos and editing parameters
  4. Search by name
Tagged , ,


Our project will use state-of-the-art technologies.

The following tools will be used:

We will try to practice Agile development methodology.

Tagged , , ,

EasyTag Prototype

We have very huge plans but our time and resources are limited, so this term we are going to implements a part of feauters declared.

Our prototype will be a web-site which meets the following requirements:

  • Provides two ways of registration and login:
    • E-mail
    • OpenID
  • Allows to upload photos and tag fragments:
    • photos are organised  in albums
    • supports custom ordering
    • editing tags (should work at least in Google Chrome)
  • Public albums and sharing (other users should be able to view albums that you shared)
  • Has simple user interface for searching photos and fragments by tags
  • Works in most browsers, including MS Internet Explorer 8 and mobile browsers (such as Opera Mini and Chrome)
  • Available in two different languages (English and Russian)

All this stuff is to be implemented by May, 15. Let’s do it!

Tagged , ,

Long term development plan

As we decided to try agile development, I am not going to go into much detail here – just give you a brief outline. In short, our long-term plan looks like this.

  1. Implement a prototype.
  2. Create mobile app(s).
  3. Start promotion compaign (mostly by advertising in social networks).
  4. Attract investments.
  5. Expand

May, 2013

A prototype is the first version of the web-site that provides minumum features but still can be used for its main purpose. Our first version of the site will be launched by June, 2013 and it will be available for free. For more information go to EasyTag Prototype.

October, 2013

Then we are planing to start development of mobile apps. As we are all Java developers, Android will be the first platform to run our app. We are planning to launch its first version in October, 2013. This is when we are going to earn our first money from the project, because the app won’t be free.

Simultaneously, we are going to start an advertising compaign on the internet. We will create a couple of virus videos, and funny pictures in order to amaze or even shock the audience.

December, 2013

By the end of December we want to have a running service with at least 1000 active users! And that’s when we are planning to start searching for investments.

Good luck, EasyTag!!!

Tagged , , ,