4 Replies Latest reply on Jun 12, 2007 10:18 AM by David Lloyd

    What is Gravel?


      What is Gravel? I see there are recent release candidates of it available.
      Are there any examples of using it with Seam?



        • 1. Re: What is Gravel?
          Stuart Robertson Novice

          I was wondering the same thing myself. Is this complimentary to Seam, or is it accomodating non-seam jsf? I know it's a brand new project, so forgive us if we're being a little too impatient in our curiosity...

          • 2. Re: What is Gravel?
            David Lloyd Master

            Gravel is a supplementary JSF component/tag library for Facelets. It should work with or without Seam (it was not designed for Seam specifically). It does not provide widget-style components like RichFaces; instead it provides more basic "structural" and utility components.

            For example, there is a tag to allow standard JSF action listeners to be run at response rendering time; there is a tag for grabbing request parameters and assigning them to EL expressions (with an optional converter); there are tags for access role checking, properties file handing, reading JSF messages into collections, session management, etc.

            Also there is a set of tags that are "wrappers" around standard HTML tags, but provide the advantages of components: optional rendering using the standard rendered="", the option to render the content without the tag based on EL, JSF ID management (including handling ID lookup for HTML tags that take an ID as their argument), etc.

            There are action listeners that provide data-management functions like sorting and filtering, and pager support. Also there are components that are equivalent to h:dataTable and ui:repeat, but they evaluate at render-time, meaning that the state-saving and data visibility difficulties that plague these two components are eliminated.

            Finally there is an (optional) alternative navigation handler that allows the developer to specify the navigation rules right in the XHTML, with the added benefit of being able to preserve JSF messages across redirects. Also an (option) alternative view handler that preserves the original GET request parameters when looking up action URLs.

            Gravel was conceived out of a set of components that were developed for the jBPM web console, but were not specific to jBPM. I factored these components out and built on that. My goal was to create a component library whose main goal was not yet another widget set (how many tab controls do you really need anyway?), but instead to provide a logical set of components that are very basic functionality but yet are missing from the basic JSF component set.

            • 3. Re: What is Gravel?

              Thank for the info! Will Gravel be a part of Seam distribution?
              Would it come with JBoss EAP?

              • 4. Re: What is Gravel?
                David Lloyd Master

                Gravel is independent for now. But you can download it from the project page and just drop it in to any project that uses JSF and Facelets.