2003-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / web / asp-net
index 200f91b8f0bc4c96429afa97b1f4a7ee0ee80a38..c7128e6f2fa8336257a5d7fb3b51c8ae7c2941e8 100755 (executable)
@@ -1,13 +1,69 @@
 * ASP.NET
 
-       The classes for running ASP.NET are being actively written.
-       Gaurav, Leen and Patrik have been building the classes
-       required to run ASP.NET web application as well as a small
-       embeddable web server.
+       ASP.NET support is divided in two pieces:
+       <ul>
+               * Web Forms (Web Applications infrastructure).
+
+               * Web Services (the SOAP-based rpc system).
+       </ul>
+
+       There is work underway for both systems.  The Web Forms
+       support is more advanced at this point, and various ".aspx"
+       programs can be run using the Mono runtime, including IBuySpy.
+
+       ASP.NET works either embedded into
+       our XSP server test server or the mod_mono Apache module.
+
+       We are now working bug fixing and adding missing features
+       after making the whole pipeline compatible with MS.
+
+       Tim started work on the Web Services.  Although we have a
+       SoapFormatter as part of the remoting infrastructure already
+       (contributed by Jesus), most people will be using the ASP.NET
+       Web Services support.  Work for the supporting class libraries
+       just started recently.  
+
+       The major missing element is a complete XmlSerializer.
+
+** HttpRuntime
+
+       Patrik has authored most of the HttpRuntime support (both on
+       the System.Web and on the foundation).
+
+** XSP
+
+       This is where initial development of the .aspx/.ascx/.asax compiler 
+       to C# took place. That compiler is now integrated in System.Web classes
+       mostly under System.Web.Compilation namespace.
+
+       We added a new web server that works with mono and MS runtime and is
+       being used to debug our classes.  It resides in xsp/server. A couple of
+       classes of this new server can be reused/extended to make an apache
+       module/cgi using mono (MonoWorkerRequest and MonoApplicationHost).
+
+       There is also a set of .aspx pages to test the server along with
+       a few user controls under xsp/test.
+
+       You can check it out from CVS and run 'make install' to test it.
+
+** Controls
 
-       Currently ASP.NET does not work, but work is underway.  If you
-       are interested in helping the effort please contact the
-       mono-list mailing list.
+       A lot of work has been put in the various classes that
+       implement the controls (UI.HtmlControls and UI.WebControls),
+       but they have been coded mostly in the dark, and without being
+       able to test them in real life: Gaurav and Leen worked very
+       hard on this namespace.
+
+       We can now render all HtmlControls and all WebControls.
+
+       Help in making the controls better is appreciated.
+
+** ASP.NET and free controls.
+
+       We want to encourage developers to create open source controls
+       that can be used both on Mono's ASP.NET and Microsoft's ASP.NET.  
+
+* Web Forms: The pieces (historical)
 
        There are a couple of components to the puzzle:
 
@@ -19,7 +75,7 @@
                * Web controls (System.Web.UI.HtmlControls and
                  System.Web.UI.WebControls).
        
-               * Underlying infrastrcture for the controls (System.Web.UI).
+               * Underlying infrastructure for the controls (System.Web.UI).
        
                * HttpRuntime.ProcessRequest is the core of the ASP.NET
                  implementation.
 
        Gonzalo has been working on an ASP.NET parser that takes .aspx
        files and generated the code required to run them (the code lives in
-       module `xsp').
+       module `xsp' along with a little web server for testing).
 
-       Most of the runtime support was mostly written by Patrik Torstensson
+       Most of the runtime support was written by Patrik Torstensson
        (now at Intel).  This was interesting, because in order to implement
        some of its features, Patrik had to go into the runtime/JIT engine and
        he spent a few weeks doing work there.
 
-       Duncan last week got our System.Web assembly to compile, and he is in
-       the process of getting the generated output to compile and link with our
-       System.Web classes, but so far, most of the work has been in stubbing
-       out the classes, just so we can get a clean compilation of the
-       code.
-
-** HttpRuntime
-
-       Patrik has authored most of the HttpRuntime support (both on
-       the System.Web and on the foundation) but it is still not
-       ready to run.
+       The classes for running ASP.NET are being actively written.
+       Gaurav, Leen and Patrik worked in the core of the classes
+       required to run ASP.NET web application as well as a small
+       embeddable web server.
 
-** XSP
+       Duncan got our System.Web assembly to compile.
 
-       Currently XSP provides the .aspx compiler to C#.  It would be
-       interesting to see if it makes sense to extend the ASP.NET
-       syntax to make it simpler to develop applications.
+** How to Help
 
-       Gonzalo is in charge of the compil.er
+        Testing and fixing HtmlControls, WebControls and validators is an
+       easy way to help.
 
-** Controls
-
-       A lot of work has been put in the various classes that
-       implement the controls (UI.HtmlControls and UI.WebControls),
-       but they have been coded mostly in the dark, and without being
-       able to test them in real life: Gaurav and Leen worked very
-       hard on this namespace, but needs to be finished.
+        In the CVS module XSP you can find a small web server used for
+       testing and a directory containing sample aspx pages.
 
-** Extending ASP.NET
+        You have some documentation under doc directory and in the README
+        file of each directory. They explain how to test our System.Web.
+        Testing is really easy!
 
-       Currently you have to reference in your ASP.NET the control
-       and all of its properties, which works fine if you have a GUI
-       designer, but is harder for people used to develop using text
-       editors.
+       As the server also works with MS runtime, you can use it to check
+       what the expected results are.
 
-       Since we have a parser, we could extend this parser to allow
-       people to still use ASP.NET controls, using a simpler syntax.
-       For example people doing blogs and editing their templates
-       over the web probably do not want to use direct ASP.NET but a
-       wrapper around it.