January 28th, 2012 by Lincoln Baxter III

Server side action methods on JSF ValueChange events using AJAX listeners

I’m about to show you a pattern that will make your heart sing. I have to thank Brian Leathem for his original idea to use CDI events in the ValueChangeListener, but when combined with a little <f:ajax> magic, there’s almost no limit to what you can do without writing a single line of JavaScript. ValueChangeListeners are also the perfect opportunity to build an Event driven model into your application.
January 12th, 2012 by Lincoln Baxter III

URL-Rewriting for the Next Generation Web User

Lincoln Baxter, III speaks on the well and lesser known uses for URL-rewriting in modern web applications, how it can be used to increase security, enhance usability, and how it can supplement any new or existing application – no matter the language or technology.
January 9th, 2012 by Lincoln Baxter III

JBoss Application Server 7 on Port 80 with Apache HTTPd ProxyPass

It’s quite simple really. All you need to do is install Apache HTTPd, then set make sure you have a few modules installed and set up: Instructions below are for Ubuntu, Fedora, RHEL, or other Linux distributions. So what are you waiting for? Let’s get our JBoss / Apache love on.
January 9th, 2012 by Team

All services restored

We are sorry for any inconvenience that may have been caused by our brief downtime. We have moved to a new server, and are now fully operational once more. Due to the hack, we were forced to re-evaluate the security of our previous host, and decided that we could not be adequately certain that such attacks would not succeed in the future; we’ve subsequently moved to a new host, and are very happy with the provisions (and increased level of service.) Please enjoy the new, faster, more stable OCPsoft.com. Sincerely, ~The OCPsoft Team.
December 18th, 2011 by Team

OCPsoft.com Hacked

We regret to inform you that the hosting provider we use for OCPsoft.com, and our website itself has recently come under attack. The hack utilized our caching provider to place inappropriate advertising and unrelated content on our website for the promotion of a product. We have removed the source of the problem, but cached files are still being served from DNS caches and proxies. Thank you for your patience as we work to clean up the remaining impacts of this problem, and we apologize for any delay or inconvenience that this has caused. Sincerely, The OCPsoft Team
November 27th, 2011 by Lincoln Baxter III

Intellectual property is dying, and there’s nothing you can do about it.

Piracy Helps Stop Global Warming

When my family comes together for special occasions, it is official tradition to begin, fill, and end any given evening with a debate on social justice, politics, science, religion, or a combination of the above. This year was no different, with our post-feast discussion ranging from human rights to geological timelines of carbon fuel consumption rates. The topic that interested me the most, however, was HR 3261 – new “Anti-piracy” legislation from the MPAA and RIAA, currently making its rounds through congress.

The MPAA and RIAA are trying blacklist websites, block IP addresses, and change fundamental assumptions about the market we operate in – all under a new law that will tie the hands of the internet…

For those of you who are unfamiliar, this is a bill, quote, “To promote prosperity, creativity, entrepreneurship, and innovation by combating the theft of U.S. property, and for other purposes,” perhaps better known by its short name, the ” Stop Online Piracy Act.” It is an interesting piece of potential law, and in brief summary, increases the responsibility of internet companies to prevent copyright theft on their domains. It also stands to reason that because this bill was sponsored by representatives working with the MPAA and RIAA, that’s who’s going to use it, though I’m sure new powers and interested parties will line up to take advantage of the bill as soon as they find out how. But I’ve got news for you: Intellectual property is dying, and there’s nothing you can do about it.

November 10th, 2011 by Lincoln Baxter III

PrettyFaces at JAXCon Munich

We are proud to highlight Christian Kaltepoth, who gave a fabulous presentation on [[PrettyFaces]] at WJAX/JAXCon in Munich on Wednesday, November 10th – 2011. Christan presented with Andy Bosch, who gave a short intro of URL-rewriting, what it means for applications in general, and why you should do URL-rewriting.
August 2nd, 2011 by Dan Allen

Open Letter to the JCP Executive Committee calling for JCP reform

Seizing the opportunity of a new Executive Committee (EC) under a new regime, I’d like to issue a call for reform of the Java Community Process (JCP) to allow it to produce more iterative and timely technology and live up to it’s name as a “community process”, rather than acting as the “corporate process” many believe it is today [1].
July 1st, 2011 by Christian Kaltepoth

PrettyFaces 3.3.0 has been released

The PrettyFaces team is pleased to announce the release of PrettyFaces 3.3.0. PrettyFaces is an OpenSource Servlets extension with enhanced support for JavaServer Faces – JSF 1.1, 1.2 and 2.0 – enabling creation of bookmark-able, pretty URLs. PrettyFaces solves the “RESTful URL” problem elegantly, including features such as: page-load actions, seamless integration with faces navigation, dynamic view-id assignment, managed parameter parsing, and configuration-free compatibility with other web frameworks.

Features & Enhancements:

  • Performance improvements when running JSF 2.0 in project stage ‘development’
  • Regular expression performance improvements provided by Yann Simon.
  • Ambiguous View IDs are now resolved automatically when using pretty:mappingIds in action method navigation, <h:link> and <h:button> component outcomes
  • Ambiguous View IDs may now be resolved manually for outbound URL rewrites by adding ‘?com.ocpsoft.mappingId=…’ to URLs before calling HttpServletResponse.encodeURL(…)
  • Dynaview URLs* are now resolved during rendering of links and navigation cases, and are now as functional as traditional mappings.

Bugfixes:

  • Fixed bug that caused path parameter validators to be ignored (#102)
  • Handle java.lang.ClassFormatError during initialization of bean name resolvers (#101)
  • Also check Weld 1.1.x specific servlet context attribute while search for BeanManager
  • Mapping inheritance now working correctly for mappings using the same viewId

* – Previously, DynaView URLs would only function on inbound requests, and once the method was evaluated, the value would be processed and then abandoned. For example, when rendering <h:link /> components, users would actually see the dynaview method definition rendered as their url! That is not a good experience, so in resolving the problem, we simple evaluate the dynaview method a second time (or as many times as necessary) in order to render the desired link target. And we do this using…
June 28th, 2011 by Lincoln Baxter III

Why should I care about your website? The “Court -> Marry” approach.

Who are your visitors? Consider the example where you and I work for a technology company attempting to sell solutions to customers on the web. Our homepage is currently cluttered, and we’re not seeing the conversion numbers that we would like. One of our colleagues has suggested that in order to improve adoption of your products, an architecture diagram with links to various solutions be placed on the splash, or landing page of the company website. It shows a great many products, and how they are all related, but there is not a great deal of immediate information on how to get started with any given topic. This will be the first thing new visitors see when they come looking for… what was I looking for again? There are categorically two kinds of people who visit a website, we will refer to these as group one, and group two:
  1. People who know what they are looking for.
  2. People who have no idea what they are looking for.

Let’s consider the impacts of this impression.

Which of our two groups of people would benefit from an architecture chart (such as the one your colleague suggested?) That’s right, you guessed it; those people are in group number one. They already know what their architecture is going to look like roughly, or know enough to realize they need to do some architecture research and are looking for a specific solution. They may already even be a customer and are simply coming back to the website to find more information about a product they are already using – looking for a user-guide or perhaps the service-desk phone number. Congratulations! You have successfully provided little no value to these users, because you force them to look at a page of marginally information before they can get to what they really want, after digging through a series of links or buttons; we really should have just shown them the information they wanted in the first place, without the little overview of… everything. So what about our second group? Surely everyone else who falls in to group number two must surely benefit from seeing a pretty diagram of all our products laid out in front of them? If we show them everything, they’ll surely be interested in at least one of our goodies, right? Wrong…