Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-help-dev] embedded help for web applications for InfoCenter Eclipse

Hi, Dorian:

Okay, I see how the help extension would be able to call
org.eclipse.help.AppServer.add() to register an extension web application
and, thus, take advantage of a JSP / servlet environment for document
processing.

When would the plugin's registration code get executed (and thus make the
extension web application available)?  In our scenario, the request for our
extension web application occurs before the first request for the base
Eclipse web application because we wrap Eclipse help content in an
embeddable frame.

Also, would the extension web application have access to the resources for
a specified documentation plugin? That is, could the extension web
application use org.eclipse.help.servlet.ContentUtil in the same way as the
Eclipse help web application?  An extension plugin might want to read
parameters from an XML file or properties file within a documentation
plugin.  (That would let us display the label from the primary TOC of the
current documentation plugin.)

It would be important to support include requests for any housekeeping
functions (similar to /servlet/org.eclipse.help.servlet.InitServlet).

Do you have any plans for supporting skins for the UI of the Eclipse help
web application?  For instance, would it be possible to pass a request
parameter to toc.jsp that specifies a skin and have toc.jsp use CSS and
bitmap resources from the skin plugin?  The ability to change the look of
the default UI becomes important when embedding help, but it's important to
avoid duplicate maintenance for the UI functionality.

Finally, would extensibility include the TOC XML format (so that an
extension with sufficient foolhardiness could add topic identifier
attributes)?


Thanks for clarifying,


Erik Hennum
ehennum@xxxxxxxxxx




                                                                                                                                         
                      Dorian                                                                                                             
                      Birsan/Toronto/IBM@IBMCA        To:       platform-help-dev@xxxxxxxxxxx                                            
                      Sent by:                        cc:                                                                                
                      platform-help-dev-admin@        Subject:  Re: [platform-help-dev] embedded help for web applications for           
                      eclipse.org                      InfoCenter Eclipse                                                                
                                                                                                                                         
                                                                                                                                         
                      09/13/2002 06:49 AM                                                                                                
                      Please respond to                                                                                                  
                      platform-help-dev                                                                                                  
                                                                                                                                         
                                                                                                                                         



Erik,

You got it right:  the 5 steps you describe below are precisely what we
were proposing.
The current eclipse code lets other plugins register webapps (see the
org.eclipse.help.AppServer  class), so basically, the only thing to worry
about would be loading your plugin, but that shouldn't be hard to do.
Alternatively, as you propose, the help system itself can define an
extension point for other webapps that would be started when help starts
(or at a later time, but under the help system's control).
A few weeks ago I had a different protoype in which, one could access a JSP
in a different plugin, and the help servlet would automatically register a
webapp coressponding to that plugin and execute the JSP within the context
of that plugin (including that plugin's class loader). If this is useful,
maybe we can explore this idea.

Regarding performance, it looks like there is no visible performance, at
least in the simple test I did. I wrote a basic redirect servlet and had
eclipse running outside the Tomcat server and I did not notice any
problems. In fact, because of the way the help webapp works, to accomodate
both the infocenter and the workbench help scenario, there is lots of
overhead of converting the topic structures to XML, stream them to the
servlets/JSPs and then converting them to HTML. If the webapp always runs
as a plugin, we could eliminate the middle steps of converting to xml and
call help API directly from servlets/jsp's.

-Dorian




|---------+----------------------------------->
|         |           Erik                    |
|         |           Hennum/Oakland/IBM@IBMUS|
|         |           Sent by:                |
|         |           platform-help-dev-admin@|
|         |           eclipse.org             |
|         |                                   |
|         |                                   |
|         |           09/12/2002 07:33 PM     |
|         |           Please respond to       |
|         |           platform-help-dev       |
|         |                                   |
|---------+----------------------------------->
  >
-------------------------------------------------------------------------------------------------------------|

  |
|
  |       To:       platform-help-dev@xxxxxxxxxxx
|
  |       cc:
|
  |       Subject:  Re: [platform-help-dev] embedded help for web
applications for InfoCenter Eclipse           |
  |
|
  |
|
  >
-------------------------------------------------------------------------------------------------------------|





Hi, Dorian:

Very interesting.  It's clearly important for extensions to the help system
to use the standard Eclipse extension mechanism.  And segregating the
Eclipse runtime from the web server runtime would remove integration
concerns that no one wants to worry about.

Let me step through it slowly to see if I'm missing something:

   The Eclipse help plugin defines a few specific extension points in the
   usual way for the Eclipse platform.
   To extend Eclipse help with new document processing functionality, a
   plugin registers extension code for those extension points in the usual
   way.
   Eclipse provides an "InfoCenter" dispatcher web application that's
   installed on the public web server.
   At runtime, the Eclipse dispatcher web application connects to the
   running Eclipse platform and routes the request to the Eclipse help
   plugin.
   The Eclipse help plugin calls out to the extension code in the
   documentation processing plugin.

Is that the basic idea?  (Or would the document processing plugin register
its requests with the dispatcher, which would then route these requests
directly to the document processing plugin, though still in the Eclipse
platform instance, rather than to the Eclipse help plugin?)

If this account is correct, could one type of extension point register a
new web application with the Eclipse platform's instance of Tomcat?  Some
kinds of extensions would be much easier to implement as servlets or JSPs
within a servlet environment. For instance, framework extensions such as
the one we're contemplating would fall into this category.  Also, reader
response forms and lookup forms might be easiest to implement with JSPs.

For content formatters and filters, the servlet environment wouldn't be
necessary.  For instance, server-side generation of graphics or XSLT
scripts that run on XHTML or XML source merely need to know their targets
and return their content stream.

Finally, is there potential for the dispatch indirection to have an impact
on performance?



Thanks,


Erik Hennum
ehennum@xxxxxxxxxx




                      Dorian

                      Birsan/Toronto/IBM@IBMCA        To:
platform-help-dev@xxxxxxxxxxx
                      Sent by:                        cc:

                      platform-help-dev-admin@        Subject:  Re:
[platform-help-dev] embedded help for web applications for
                      eclipse.org                      InfoCenter Eclipse



                      09/12/2002 07:07 AM

                      Please respond to

                      platform-help-dev






Hi Erik,

Thanks for the proposal! I didn't have a chance to understand all the
details of your proposal, but, on a first read, it looks very interesting.
Many features seem to rely on the ability to extend the current help system
webapp. As it is currently done, this is a bit harder to do following the
eclipse plugin mechanisms. Currently, the infocenter is implemented as a
web app that launches the eclipse platform from a servlet, in the same VM
as the servlet (i.e. the app server VM). With the exception of some
customization settings, it is hard to extend the webapp with a plugin, the
only viable solution is to change the existing jsp's/servlets/etc.
To overcome this limitation, one possible solution is to run eclipse as a
separate process (eg. Window service or Unix daemon, or just a regular user
process), and have a dispatcher type of webapp installed on the web/app
server to delegate all the requests to the help webapp running in the
eclipse instance. The main web/app server would communicate with the local
help server (tomcat) running in that eclipse process. This way, all the
help webapp code would run as plugins, and extending the help application
can be done via plugins.
We prototyped the redirection from an app server to a running eclipse
instance (it was a very easy thing to do), but we are just begining to
think about ways to extend the help webapp via plugins.
Another benefit of running eclipse as a separate process is avoiding all
the installations and runtime issues caused by the XML parsers and URL
Stream Hanlders (eclipse has its own, app server has its own).
The drawback is the need to run/manage another process on the host machine
and security implications of having another port open, but, in theory, this
should not be a major issue when proper firewall rules are in place.
What do you think, would such a solution for infocenter work for you?

-Dorian




|---------+----------------------------------->
|         |           Erik                    |
|         |           Hennum/Oakland/IBM@IBMUS|
|         |           Sent by:                |
|         |           platform-help-dev-admin@|
|         |           eclipse.org             |
|         |                                   |
|         |                                   |
|         |           09/11/2002 07:11 PM     |
|         |           Please respond to       |
|         |           platform-help-dev       |
|         |                                   |
|---------+----------------------------------->
  >
-------------------------------------------------------------------------------------------------------------|



  |
|
  |       To:       platform-help-dev@xxxxxxxxxxx
|
  |       cc:
|
  |       Subject:  [platform-help-dev] embedded help for web applications
for InfoCenter Eclipse               |
  |
|
  |
|
  >
-------------------------------------------------------------------------------------------------------------|







Hi, Eclipse Help Gurus:

We're contemplating embedding help topics within a web application window.
We'd like to pursue a strategy that will not only be valid for Eclipse
2.0.1 but also Eclipse 2.1 and (one hopes) beyond.

For InfoCenter Eclipse 2.0.1, the best approach seems to be to extend the
Eclipse help web application.  Here is a more detailed explanation of that
approach:

    (See attached file: HelpEmbedded.zip)

Will this strategy work with the design planned for 2.1?

We also have a working prototype that can be installed on Tomcat +
InfoCenter Eclipse 2.0.1, if that would clarify our approach.


Thanks in advance,


Erik Hennum
ehennum@xxxxxxxxxx





#### HelpEmbedded.zip has been removed from this note on September 12 2002
by Dorian Birsan


_______________________________________________
platform-help-dev mailing list
platform-help-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-help-dev





_______________________________________________
platform-help-dev mailing list
platform-help-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-help-dev



_______________________________________________
platform-help-dev mailing list
platform-help-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-help-dev







Back to the top