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
-~----------~----~----~----~------~----~------~--~---

Reply via email to