PrimeFaces 5.0 using Eclipse Juno with Maven

You would like to use PrimeFaces for that neat new project you were assigned. You want to ensure that everyone on the team can get the dependencies installed without a hitch, so you naturally choose to use Maven for this. I’ll describe a minimal implementation using Eclipse Juno that will get you started down the path to rich UI using Java.

The relevant links I used for this project are:
PrimeFaces –
PrimeFaces
Example code for PrimeFaces xhtml page –
Getting Started

JSF jars –
JSF-API jar
JSF-IMPL jar

I’ll assume you already have Eclipse installed. I tested this using Eclipse Juno Service Release 2.

Getting Started

Create a new Maven Project in Eclipse.

Screen Shot 2014-08-23 at 10.33.57 AMScreen Shot 2014-08-23 at 10.34.16 AMScreen Shot 2014-08-23 at 10.35.06 AM

You should now see the project in your Project Explorer view. First we’ll want to edit pom.xml to get a few things set up. I am using Java 7 for this project, but you can replace 1.7 with 1.8 in the source and target tags if you feel so inclined.

Screen Shot 2014-08-23 at 10.37.53 AM

Since we are already in pom.xml editing things, let’s add the JSF dependencies.

Screen Shot 2014-08-23 at 10.39.17 AM

We’ve got some error markers now, so we’ll need to fix those.

Screen Shot 2014-08-23 at 10.40.35 AM

You can fix the Maven Problems by updating your Maven Project.

Screen Shot 2014-08-23 at 10.41.24 AM

Alternatively, you could just use the Eclipse Quick Fix feature.

Screen Shot 2014-08-23 at 10.40.53 AM

Now let’s convert this to a faceted project so we can run it on Tomcat. Right click the project in the Project Explorer view and choose Properties -> Project Facets.

Screen Shot 2014-08-23 at 10.42.32 AM Screen Shot 2014-08-23 at 10.43.04 AM

Click OK. Your project will be reconfigured and will now look like this:

Screen Shot 2014-08-23 at 10.43.17 AM

We need to add the Maven Dependencies to the Deployment Assembly. Open the project Properties. You may need to update your maven project and refresh your project for the Maven Dependencies option to become available.

Screen Shot 2014-08-23 at 10.47.01 AMScreen Shot 2014-08-23 at 11.38.53 AMScreen Shot 2014-08-23 at 10.49.48 AMCreate a new File in your WebContent directory. We’ll name this file index.xhtml.

Screen Shot 2014-08-23 at 10.53.08 AMScreen Shot 2014-08-23 at 10.53.33 AM

We’ll use the example code from the PrimeFaces website.

Screen Shot 2014-08-23 at 10.53.48 AM

With that done we can now run this project on the server.

Screen Shot 2014-08-23 at 10.54.14 AMScreen Shot 2014-08-23 at 10.46.26 AMWe are presented with the PrimeFaces spinner UI Component.

Screen Shot 2014-08-23 at 10.54.36 AMGreat Success! You have now set up a new project using PrimeFaces, Maven, and Eclipse. Happy coding!

 

How To Update Zimbra Open Source Version

Screen Shot 2012-12-20 at 8.17.38 PM

This information is contained in the README.txt that is included with the installation download, but I just spent a long time looking online for any information about updating (or upgrading) ZCS Open Source Version and found a severe lack of instructions for reference. Even though this is exceedingly simple I thought I would put it up here.

If you are planning to update your OS (say, from Ubuntu 10.04 to Ubuntu 12.04) then this is not the process you are looking for. This is the process for updating/upgrading ZCS without updating/upgrading your distro at the same time. That process is all over the interwebz and can easily be found.

Screen Shot 2012-12-20 at 8.14.30 PM

Download the version you want to update to for your distro from here.

While that is downloading, make a backup of your existing Zimbra directory.

Now that you’ve made a backup (you made a backup right?), unpack the new ZCS you downloaded.

cd into the unpacked directory and run ./install.sh

Answer the questions you are prompted to answer, and if all is well, you will be asked if you want to upgrade. If you answer yes, your Zimbra services will be shut down and upgraded. You will not lose any data from this process (but you have a backup just in case, right?).

That should be all there is to it. Enjoy your new features and security!

edit: fixed the link

Project Management

 

 

I have decided that I need to get to work on all of the projects that are floating around in my brain and on paper scattered all over the inside of my desk. In order to facilitate the timely and orderly partial-completion of these projects, I thought it would be terribly fun to hire some help. I found the hired help on the interwebz for the low cost of a few hours of my time, which is a price I’m always happy to pay.

First up, I have brought Redmine onto the team. She brings a lot to the table. Here are a few of the features available:

  • Integration with Gitorious.
  • Integration with Mylyn on Eclipse.
  • Multiple, separate projects.
  • A per-project Wiki.
  • A per-project Forum.
  • Repository browsing, including diffs.
  • Teams, roles, and custom User permissions.
  • Report generation.
  • Time tracking.
  • Workflows.
  • Milestones.
  • Invoicing.
  • … and on and on.

I also like that Redmine is a project written using Ruby on Rails, which is what I am planning to do my projects in. So bonus points there.

Second up, Gitorious has come on board to manage version control. He brings along some great features that, in my opinion, are much easier to use than the Gitolite and Gitweb setup that I had been using previously. Here are a few of the skills that Gitorious brings to these projects:

  • Version Control.
  • SSH pubkey management.
  • User management.
  • Team creation and management.
  • Multiple separate projects.
  • Activities for projects and updates.
  • The ability to ‘watch’ and ‘favorite’ projects.

Gitorious is also written using Ruby on Rails, so more bonus points there. 

It is quite convenient to have both Gitorious and Redmine running on the same Phusion Passenger install on my Ubuntu Server. Unfortunately, the target version of Ruby that I plan to use for my project is 1.9.3, and the version of Ruby utilized by the current applications is Ruby EE, 1.8.7. I am not aware of a way to run two versions of Ruby with the same Passenger install, so I’ll most likely spin up another VM to host the Rails application when it comes time to deploy it.

Finally, I will be putting Aptana 3 and Mylyn to work on keeping my bugs and features in my view while working on these projects. I am using the Mylyn-Redmine-Connector found at http://redmin-mylyncon.sourceforge.net/ and have not had any issues with it so far. I am using the EGit Eclipse plugin (since Aptana is based on Eclipse 3.7) and it works like a charm.

I will update this blog as the projects move along and publish a few tutorials for some of the install issues that I have run into, and undoubtedly will run into, along the way.

Installing Bugzilla on Ubuntu 12.04

Today I wanted to install Bugzilla on my server. I Googled around and found a few tutorials outlining one way to get it accomplished. Unfortunately, some of the configuration that was outlined in those tutorials did not match up with how I was trying to set it up. Here is (for myself as much as for anyone else) a quick description of the problem and solution.

The tutorials I found online appear to be geared toward setting up Bugzilla on a server with a fresh install of Ubuntu 12.04, minus Apache, MySQL, or the necessary Perl modules. Additionally, the Apache configuration is set up with access to Bugzilla at www.somedomain.com/bugzilla. In my case, I did not need to create a new Apache users or group, did not need to install MySQL, and already had most of the Perl modules installed from supporting other applications. Additionally, I wanted to set up Bugzilla at bugs.discypher.org instead of www.discypher.org/bugzilla.

For the most part, I followed this tutorial for installing Bugzilla on Ubuntu 11.04 by Rinzwind  at askubuntu.com. (Thanks!). The Apache configuration works just fine as laid out in that tutorial, but did not meet my needs. Instead of creating a new Apache group, I used the Apache group that already exists on my system. It was this existing group that I entered in the /var/www/bugzilla/localconfig file. Instead of editing the /etc/apache2/apache2.conf file to add the <directory>…</directory>, I simply copied over the ‘default’ conf file to a ‘bugs’ file in /etc/apache2/sites-available.  I used the same directives in my ‘bugs’ conf file as was suggested in Rinzwind’s tutorial for the apache2.conf file.

Once the site was enabled and Apache was restarted everything was up and running. Now I have some bug tracking software running on my server. As I am gearing up to start my radio project, it will be quite useful. I’ve set it up to integrate with Mylyn in Eclipse (which I am also getting acquainted with this week). Thanks for reading, and hopefully this helps someone who may be in a similar situation.

 

Edit: A few typos.

…And We’re Back!

After a long hiatus from writing anything on any blogs I have started with a fresh platform to write about my experiences as they come up. I have relocated to Honolulu, Hawaii, and am having a pretty incredible time of it. You can read more about what has been happening at blog.kopelevich.org if you are interested in any of the relocation details and timeline.

I will be using this platform to blog about my ongoing search for programming and server admin knowledge. I have been inspired to enter the world of Java Web Applications recently, so I will probably be working on projects involving JavaEE and TomEE+. Here is my first quick-and-dirty program using JSP, JSTL, JavaBeans, and Apache Tomcat:

www.discypher.org:8080/NameSearch

This is an incredibly simple application that I wrote to learn how the Java EE technologies work together, as well as to install and play around with Apache Tomcat. I am planning to install TomEE+ momentarily and will cover the installation and initial configuration on Ubuntu Server 12.04.