easy plugin prototyping - tools for developers
----------------------------------------------

                 Key: FELIX-2185
                 URL: https://issues.apache.org/jira/browse/FELIX-2185
             Project: Felix
          Issue Type: New Feature
          Components: Web Console
            Reporter: Valentin Valchev
         Attachments: build.xml

With the current web console, after being updated to JQuery + JQuery UI the 
plugin structure becomes quite clear and simple:

1. There is a Servlet (AbstractWebConsolePlugin), which main role is to 
generate the required data for the plugin, typically a JSON and execute actions.
2. Although the actual rendering is in the Servlet, it use a template file, 
that contains the HTML markup
3. The main logic, that makes the interface interactive is JavaScript code, 
that uses the JSON from the Servlet and modifies the HTML markup.

This separation makes it quite easy to develop applications in a static way 
replacing the upper components with:
1. a sample JSON data, statically generated
2. a HTML file that is equals to : header + template + footer
3. almost the same JavaScript code, that instead of using AJAX request to 
obtain the data, uses the sample data in 1.

I must say, that personally have developer several plugins exactly using static 
HTML file. 

Although easy it consumes time to create that empty HTML file and start 
developing the plugin. It would be much easier, if we have an option to 
automatically generate a zip file - containing the HTML updated with the latest 
header footer, the JavaScript libraries, included by default (e.g. res/lib/) 
folder, common images and webconsole.css file.

This task can be easily achieved with modern build tools. Because my minimal 
knowledge of the Maven build system, I've implemented that task in a simple ANT 
build file, which must be placed in the webconsole root folder. When ant is 
invoked with that file, it will generate a file named 'static-test.zip' that 
contains a template, which is ready for modification and includes up-to-date 
sources.




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to