What is Tagneto

Tagneto has the following components:
  1. Guidance on how to build highly scalable web applications using an MVC approach.
  2. Web developer HTML/XML (View) assembly tool.
  3. JavaScript libraries to help with fetching the data (Model) and controlling HTML/data combination (Controller).
The components do not have to be used together, and they do not have to be used at the exclusion of other technologies or approaches. Most of the components were designed and separated so that they would work nicely with other tools and approaches. Feel free to use whatever pieces are useful for your particular situation.

1. MVC Web Application Guidance

This website will provide some guidance on using a particular MVC approach to web applications. The approach is described in the Why document. The View Assembly Tool helps enforce the idea of building the UI (View) separate from combining the data (Model) with the UI (View). The JavaScript libraries help combine the data with the UI in the browser, and to assist general Controller functionality.

2. View Assembly Tool

The downloadable package for Tagneto contains a Java-based web developer tool that helps assemble the View for a web application. It can also be used for simple XML transformations too.

The tool is a text parser that is customized for XML and HTML parsing. Alternate "tag syntaxes" are allowed, and the source does not have to be fully XML conformant. Just the tags that will be matched and processed by the tool need to conform to the appropriate tag syntax. The tool supports normal XML tag syntax and an alternate syntax similar to XML entities. The developer can define others.

The parser is used to transform XML/HTML to other XML/HTML and/or assemble larger web applications. It could be used with any XML-based UI language.

The text parser uses tag syntaxes (defined via regular expressions) to find tags in the text source. It uses a configuration file that allows tag handlers to process the tags. This is similar to custom tags in the JavaServer Pages (JSP) world. JavaScript is the "expression language" that tag handlers can use to help generate the View (other languages could be integrated with a bit of reworking of interfaces in the tool source).

It is possible to register multiple tag handlers for a given tag, allowing for a chaining of functionality by using smaller, component tag handlers.

There are some built-in tags that allow for:
  • creating overlays (similar in concept to XUL Overlays)
  • including other files
  • defining script variables
  • script logic
  • tag collections
  • loading XML datasources
  • internationalization/localization support
The developer can also create new tags by either leveraging built-in tag handlers that are defined in the org.tagnetic.core.tags package and subpackages, or by creating their own tag handlers in Java.

The configuration of what syntaxes are allowed for tag matching, which tag handlers are registered for which tags, and what files will be processed by the tool is handled by tagneticconfig configuration files. The goal of the configuration files was to be non-intrusive on the HTML/XML source documents. Since all configuration is done in the configuration file, it allows for processing of source documents that you do not control.

See the How documents for more information.

3. JavaScript Libraries

There are some JavaScript libraries that are delivered with Tagneto's downloadable package to help with Model/View combination and manipulation and some convenience functions for Controllers based in JavaScript. For a little more detail, please see Why, MVC Challenges.

The View assembly tool does not require that these librarires be used (an exception being some usages of the.. There are many other JavaScript libraries available on the web that could be used instead of the Tagneto libraries, and there is a good chance the other libraries may be better than the ones provided by Tagneto. The Tagneto libraries are provided to give "one stop shopping" for your web application building needs, but you are encouraged to explore other options.
Copyright © 2005 tagnetic.org.