TODO
The following is a list of items that need to be completed in
Jelly. Contributions are welcome!.
Core tasks
- Implementa a META-INF/services mechanism for mapping Jelly libraries to namespace URIs
in a similar way to how the commons-discovery and JAXP libraries work.
This would allow Jelly libraries to be distributed in a self contained JAR then just put
on the classpath and they'd be usable.
-
Implement a JJAR/Maven mechanism so that using a new Jelly library via a namespace URI would
automatically download the jar and its dependencies from some local/remote repository.
- Maybe add a Scope class to make it easier to plugin custom scopes such as
request, session, applicaiton, initParams, params, transation etc.
In a workflow setting this could also include transient and persistent scopes
- Write a JellyServlet so that Jelly can be used as a page templating system.
- Implement a HTML parser for Jelly, probably using NeckoHTML so that non-XML can be parsed
and tags with prefixes can be bound to Jelly tags.
- write a Cocoon JellyGenerator so that Jelly scripts can be used easily inside Cocoon
- consider implementing a Jelly Doclet so that Jelly can be used to code generate
stuff from javadoc tags in a similar way to XDoclet but making use of the JSTL tags and
the Velocity like expression language (Jexl) which will avoid the need to use huge numbers
of tags.
- Rename the DynaTag interface to be DynamicAttributes along with JSP1.3,
also add a namespace URI parameter
- Add support for namespace URI use inside XPath expressions.
- When defining new tags using <define:tag>, we should allow attributes to be named,
specified as required, specify the optional conditions and so forth for validating instances.
I guess this could just be normal script though.
- The org.apache.commons.jelly.impl package doesn't have a great name -
Can we think of a better one?
Also some of the classes in this package could maybe do with a rename?
ScriptBlock for example - should we just call it a Block or maybe a CompositeScript?
- Add an adapter to run JSP tag libraries inside Jelly when Jelly is used in a
Servlet / JSP environment?
- Document much more!
Ideas for new tag libraries
Changes to existing tag libraries
- Add JSL test cases to test for ordering of patterns and that the correct output comes out.
Ponder about
The following is a list of things that might be good to add to Jelly, maybe after more thought.
-
maybe consider a tag which will switch the default EL to XPath; then XPath and EL can be peers. Then ${foo}
can be used as an XPath expression anywhere
- We could autogenerate XML Schemas or RelaxNG docs for tag libraries to help validate scripts
- Patch TagLibrary to alias all <mixedCase> tags to <mixed-case> tags