Navigation

RSS 2.0 New Entries Syndication Feed Atom 0.3 New Entries Syndication Feed

Show blog menu v

 

General

Use it

Documentation

Support

Sibling projects

RIFE powered

Valid XHTML 1.0 Transitional

Valid CSS!

Blogs : Latest entries

avatar
What's with all the XML hatred lately?

A part of the Java community seems to have a serious case of the anti-XML disease. Anywhere they see a snippet of XML they immediately condemn it, torch it and rip it to shreds without looking at the meaning and the purpose. Hell, it's XML, so it must be bad and totally inappropriate. It's obviously bloated, not needed, over-architected and not offering anything worthwhile besides configuring items that nobody wants to customize.

read more...

posted by Geert Bevin in Java on Feb 22, 2006 9:59 AM : 6 comments [permalink]
 
Which template syntax looks best to you?

Many times I have wondered why people are so reluctant to investigate RIFE. After having asked around a bit, the most recurring critique was that our template syntax is too arcane at the initial glance. Somehow the look of the tags syntax pushes people away without them ever checking out any of the features of our framework.

Ironically, none of the users consider the syntax to be a problem. Many even love how it stands out while still being totally invisible to a browser or an XHTML editor.

Still, initial adoption seems to be all about appearances, so I think this issue needs to be addressed. That's why I'm asking you, the non-rife users which alternate syntax looks best to you.

read more...

posted by Geert Bevin in RIFE on Feb 19, 2006 6:27 PM : 36 comments [permalink]
 
Preparing RIFE applications for production

This is something that hasn't been made clear enough in the documentation, so I thought it would be a good idea to give a short overview.

Configuration

First, set these configuration parameters to false, their purpose should be self-explanatory:

<param name="ELEMENT_AUTO_RELOAD">false</param>
<param name="SITE_AUTO_RELOAD">false</param>
<param name="TEMPLATE_AUTO_RELOAD">false</param>
<param name="L10N_RESOURCEBUNDLE_AUTO_RELOAD">false</param>

By disabling all these parameters, RIFE will not automatically check for changes in these file types and your application will run at full-speed.

Note that when you set up you repository configuration participant like this:

<participant param="XmlSelectorHostname">ParticipantConfig</participant>

You can create configuration files that are specific for each host (development, production, ...). In each of these files you can then set the appropriate configuration parameters and still include a common configuration file that contains all the application settings.

This site for example has the following configuration files:

src/
    rep/
        config-common.xml
        config-dawn_uwyn_com.xml
        config-elm_uwyn_office.xml
        config-ferrari_uwyn_office.xml
        config-pine_uwyn_office.xml

The host dawn.uwyn.com is the production server and all the others are development machines. They all include config-common.xml.

Packaging

Next, you should pre-compile all your templates during the packaging of your web application. This is handled by the com.uwyn.rife.template.TemplateDeployer class. You will typically do this in your Ant build process, this is an example of a task that does just that:

<target name="precompile">
    <echo message="Precompiling html templates:"/>
    <java classname="com.uwyn.rife.template.TemplateDeployer"
            failonerror="true"
            fork="true">
        <arg value="-verbose"/>
        <arg value="-t"/>
        <arg value="enginehtml"/>
        <arg value="-d"/>
        <arg value="${build.classes}"/>
        <arg value="-encoding"/>
        <arg value="UTF-8"/>
        <arg value="${templates.dir}"/>
        <classpath refid="application.classpath"/>
        <classpath refid="lib.classpath"/>
    </java>
</target>

You will need to do this for each template type that you use. After this process, your templates will be regular Java classes and will not have to be parsed during production anymore. Your application will thus respond instantly once it has been started up.

posted by Geert Bevin in RIFE on Feb 18, 2006 11:06 PM : 0 comments [permalink]
 
RIFE at Fosdem 2006

In two weeks I will be giving a talk about RIFE at Fosdem in Brussels, Belgium. The final date and time are set, it will be on Sunday the 26th at 10h00 in the morning.

Given the usual Saturday night drinking and pub discussions, the audience will probably be slim but that's ok. I'm going to test-drive a completely new presentation I've been writing for TSSJS 2006. This talk will give me the opportunity to fine-tune it and see what works and what doesn't.

posted by Geert Bevin in RIFE on Feb 13, 2006 2:36 PM : 0 comments [permalink]
 
RIFE at JavaOne 2006
JavaOne 2006

My RIFE session proposal has been accepted as a BOF for JavaOne 2006. I'm very glad that it also entitles me to a full complimentary pass to the conference, since otherwise I wouldn't have been able to afford attending (airfare, hotel and entrance totaled to more than €4000).

If you can't make it to JavaOne, check out our conference agenda for other RIFE sessions, straight from the source.

These are the details of my submission, and what you can expect:

Cutting-edge productivity with RIFE

About RIFE

RIFE is a full-stack, open-source Java web application framework, offering fast results with the promise of maintainability and code clarity. While many are attracted to RIFE for the productivity gains it offers, the framework actively tries to solve difficult problems with creative solutions that combine power and flexibility with comfortability. RIFE has pioneered many novel ideas in Java web application development, including: pure Java web continuations, run-time POJO-driven CRUD generation, scalable component oriented architecture, state handling without sessions, focus on REST as an application API, bi-directional logicless template engine, and the integration of a content management framework.

About this session

This session demonstrates how RIFE lets you cut corners when there's no need for a complex setup. You'll see how trivial CRUD functionalities are instantly available and how they can completely be customized without the need of restarting your servlet container. The rich POJO-driven meta-data system will be demonstrated as well as how it propagates and drives most of the framework's modules. We'll also develop a component from scratch and introduce the web engine, the template engine, the persistence layer and the content management framework.

Pre-requisits

Attendees should have experience with dynamic web application development and have at least an intermediate level of Java programming knowledge.

posted by Geert Bevin in RIFE on Feb 9, 2006 8:09 AM : 0 comments [permalink]
 

 
 
 
Google
rifers.org web