Author: [EMAIL PROTECTED]
Date: Wed Dec 3 18:26:41 2008
New Revision: 4247
Modified:
wiki/WAR_Design_1_6.wiki
Log:
Edited 1.6 WAR design doc through web user interface.
Modified: wiki/WAR_Design_1_6.wiki
==============================================================================
--- wiki/WAR_Design_1_6.wiki (original)
+++ wiki/WAR_Design_1_6.wiki Wed Dec 3 18:26:41 2008
@@ -89,9 +89,11 @@
We will no longer use `GWTShellServlet` and embedded Tomcat. Instead, we
will used Jetty by default, but allow other servers to be plugged in
through a lightweight interface.
# `HostedMode` performs an initial link for each module specified on the
command line
- # Public resources and a generated a default selection script are
copied into `war/qualified.ModuleName/`
- # `HostedMode` starts the web server, targeting it at war/.
- # `HostedMode` launches a hosted browser window for each -startupUrl
specified on the command line
+ # Public resources and a generated selection script are copied into
`war/qualified.ModuleName/`
+ # The generated selection script will not override an existing
compiled selection script; this is to prevent clobbering a compile
+ # No generator produced resources will be created
+ # `HostedMode` starts the web server, targeting it at `war/`.
+ # `HostedMode` launches a hosted browser window for each `-startupUrl`
specified on the command line
# The hosted browser requests the host HTML page from the server.
# The host HTML page loads the generated selection script for the
included modules.
# The generated selection script recognizes the hosted browser
environment and takes special action
@@ -102,7 +104,7 @@
# The original selection script delegates to the new selection script
in the module-session directory
# The GWT module base url targets the new directory
# The new selection script loads `hosted.html` into an `IFRAME`, and
hosted mode continues bootstrapping as per 1.5
- # Whenever new resources are generated from a `GWT.create(`)
resolution, an incremental link is performed into the module-session
directory.
+ # Whenever new resources are generated from a `GWT.create()`
resolution, an *incremental link* is performed into the module-session
directory.
# The new selection script hooks window closing, and triggers deletion
of the module-session directory when the session is complete.
# As a backup, a VM shutdown hook is used to delete any outstanding
module-session directories.
# If the user refreshes the page
@@ -115,7 +117,14 @@
# A web browser then loads the host HTML page, which loads the
compiled selection script.
# The compiled selection script detects that it is not running in the
hosted browser, and therefore loads web mode normally.
+== Linker Stack Changes ==
+
+The linker stack must now support hosted mode fully and correctly. When a
hosted browser begins to load a GWT application, a module-session is
created, and an initial link is performed into the module-session
directory. This module-session is retained throughout the life of that
hosted browser remaining on the page. The initial link takes only public
resources as inputs, but should produce a selection script based on zero
`CompilationResult`s. In the future, we may choose to synthesize a
`HostedModeCompilationResult` to represent the actual deferred binding
properties of the browser associated with the module-session.
+
+As the application runs, calls to `GWT.create()` may generate new
resources. Each time new resources are generated, the linker stack will
call a new `relink` method on all of the linkers in the stack, passing in
the set of newly generated artifacts. Each linker must retain its own
internal state if it needs to consider previously-encountered artifacts.
The lifespan of a linker is guaranteed that each instance will be
associated with exactly one module-session.
+
== Coordination with Eclipse Plugin ==
+
Make sure that it expects to track the list of active modules for a given
project.
== Open Issues ==
@@ -129,7 +138,8 @@
# How will JUnit work?
# Probably can use legacy stuff for now
# Will this design work with Maven?
+ # Will the module-session idea negatively impact history / backing into
an application?
== Open Tasks ==
# Make sure app creator and sample follow this structure.
- # Remove the GWT module deploy-to attribute introduced in the 1.6 branch.
+ # Remove the GWT module deploy-to attribute introduced in the 1.6 branch.
\ No newline at end of file
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---