Author: michiel
Date: 2009-05-13 18:42:33 +0200 (Wed, 13 May 2009)
New Revision: 35143

Modified:
   speeltuin/mihxil/presentations/2009-05-14/1.xhtml
   speeltuin/mihxil/presentations/2009-05-14/2.xhtml
Log:
more...

Modified: speeltuin/mihxil/presentations/2009-05-14/1.xhtml
===================================================================
--- speeltuin/mihxil/presentations/2009-05-14/1.xhtml   2009-05-13 15:10:02 UTC 
(rev 35142)
+++ speeltuin/mihxil/presentations/2009-05-14/1.xhtml   2009-05-13 16:42:33 UTC 
(rev 35143)
@@ -29,26 +29,28 @@
     <div id="dove">
       <h2><a href="#dove">DOVE</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>Used by Editwizards</li>
           <li>A way to edit MMBase object via Servlet</li>
           <li>Does Dove have a future?</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="soap">
       <h2><a href="#soap">SOAP</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>Also a remote method invocation protocol</li>
           <li>So like RMMCI, but using an XML</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="wsdl">
       <h2><a href="#wsdl">Web Services Description Language</a></h2>
       <div>
-        <ol>
+        <ul>
+          <li><a href="http://cxf.apache.org";>CXF</a></li>
+          <li>JAX-WS</li>
           <li>SOAP</li>
           <li>WSDL XML Specification
           <pre><![CDATA[
@@ -76,14 +78,14 @@
           </pre>
           </li>
           <li>It would be nice to provide MMBase bridge in the same way</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="not">
       <h2><a href="#not">But why?</a></h2>
       <div>
         <p>MMBase is actually pretty complete</p>
-        <ol>
+        <ul>
           <li>Persistency</li>
           <li>Free object model</li>
           <li>Template langauges</li>
@@ -95,8 +97,8 @@
           <li>DataTypes and Functions to 'inject' functionality</li>
           <li>Components: crontab, lucene, etc.</li>
 
-        </ol>
-        <p>, though not all these things perhaps are not yet pretty completely 
implemented and ready. See also <a href="2.xhtml">MMBase 2</a> </p>
+        </ul>
+        <p>, though not all these things perhaps are not yet pretty completely 
implemented and ready. See also <a href="2.xhtml#intro">MMBase 2</a> </p>
       </div>
     </div>
 

Modified: speeltuin/mihxil/presentations/2009-05-14/2.xhtml
===================================================================
--- speeltuin/mihxil/presentations/2009-05-14/2.xhtml   2009-05-13 15:10:02 UTC 
(rev 35142)
+++ speeltuin/mihxil/presentations/2009-05-14/2.xhtml   2009-05-13 16:42:33 UTC 
(rev 35143)
@@ -13,69 +13,181 @@
 
       <h2><a href="#intro">Introduction</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>1.8, 1.9, 1.10?</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="services">
-      <h2><a href="#services">MMBase as Service</a></h2>
+      <h2><a href="#services">MMBase as Service and/or part of something 
bigger</a></h2>
       <div>
-        <p>Since it is desired, we could add more functionality to make MMBase 
better useable 'as a service'</p>
+        <ul>
+          <li>Portlets. CMSContainer</li>
+          <li>WSDL?</li>
+          <li>Object mapping generation and type safety. Annotations, proxies, 
what not. </li>
+        </ul>
       </div>
     </div>
     <div id="transactions">
       <h2><a href="#transactions">Transactions</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>Simpler, more object oriented reimplementation. The current 
implementation is not bad, but it is just a bit hard to understand. Moving code 
around and encapsulating it in a simple interface would do a lot of good.</li>
           <li>Database transactions. </li>
           <li>Optimistic vs perssimistic locking</li>
           <li>Editwizard transactions</li>
-        </ol>
+          <li>Bridge vs Core transactions</li>
+        </ul>
       </div>
     </div>
     <div id="dbsq">
       <h2><a href="#dbsq">Search Query improvements</a></h2>
       <div>
-        <ol>
-          <li>Bulk delete.</li>
-          <li>Bulk update</li>
-          <li>Outer joins</li>
+        <ul>
+          <li>
+            Bulk delete.
+            <pre><![CDATA[
+<mm:listnodescontainer type="news">
+  <mm:constraint ... />
+  <mm:bulkdelete />
+</mm:listnodescontainer>]]></pre>
+            <pre><![CDATA[
+NodeQuery q = nodeManager.createQuery();
+...
+nodeManager.delete(q);
+            ]]>
+            </pre>
+          </li>
+          <li>Bulk update
+          <pre><![CDATA[
+<mm:listnodescontainer type="news">
+  <mm:constraint ... />
+  <mm:bulkupdate>
+     <mm:setfield name="title">...</mm:setfield>
+  </mm:bulkupdate>
+</mm:listnodescontainer>]]></pre>
+          <pre><![CDATA[
+NodeQuery q = nodeManager.createQuery();
+...
+
+Node node = new VirtualNode(nodeManager);
+node.setStringValue("title", "...");
+
+nodeManager.update(q, node);
+          ]]></pre>
+          </li>
+          <li>
+            Outer joins
+            <pre><![CDATA[<mm:listnodescontainer 
paths="news,author?">...]]></pre>
+          </li>
           <li>More complex function constraints</li>
           <li>Better support for aggregated queries</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="framework">
       <h2><a href="#framework">Framework</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>Actual use</li>
           <li>More Web 2.0</li>
           <li>Portlet Specification (JSR 286) (web 2.0, inter portlet 
communication)</li>
           <li>Framework / Portlet Implementation. Shipping 
portlet-api.jar?</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <div id="datatypes">
       <h2><a href="#datatypes">Datatypes</a></h2>
       <div>
-        <ol>
-          <li>DataType <em>Handlers</em> (1.9.1)</li>
-          <li>Javascript Validation (1.8.7)</li>
-          <li>mm:input, mm:errors, mm:useinput (vs mm:fieldinfo)</li>
-        </ol>
+        <ul>
+          <li>DataType <em>Handlers</em> (1.9.1)
+          <pre><![CDATA[
+  <datatype id="string">
+    <name xml:lang="en">Text</name>
+    <name xml:lang="nl">Tekst</name>
+    <description xml:lang="en">
+      String fields contain text.
+    </description>
+    <class name="org.mmbase.datatypes.StringDataType" />
+    <handler mimetype="text/html,application/xml+xhtml" 
name="org.mmbase.datatypes.handlers.html.StringHandler" />
+    ]]>
+          </pre>
+          <pre><![CDATA[
+public interface Handler<C> extends java.io.Serializable {
+
+
+    /**
+     * Produces an form input field for the given Node, and Field.
+     * @param search if true, then a search field is produced.
+     */
+    C input(Request request, Node node, Field field, boolean search);
+
+    /**
+     * Checks the user input, and invalidates the request, if this user input 
was invalid.
+     * @param errors If <code>true</code> then report the errors, otherwise 
the return value can
+     * remain empty.
+     */
+    C check(Request request, Node node, Field field, boolean errors);
+
+    /**
+     * Sets the user's input into the field of the node
+     */
+    boolean set(Request request, Node node, Field field);
+
+    /**
+     * Uses the user's input to create a constraint for the given query
+     */
+    Constraint search(Request request, Field field, Query query);
+
+}
+          ]]>
+          </pre>
+          <p>Availabe in taglib as 'typehandler' for a long time. But the 
generalization, directly linked with the datatype is new!</p>
+          </li>
+          <li>
+            Javascript Validation (1.8.7). Using the datatype's meta data  to 
set up AJAX-based content validation. Works pretty well, but can be improved 
on. E.g. does not work so well yet in combination with
+            the <![CDATA[<mm:datatype />]]> tag.
+          </li>
+          <li>mm:input, mm:errors, mm:useinput (vs mm:fieldinfo). 
Form-generations now happens with the classic 'mm:fieldinfo' tag. But this does 
not look very intuitively clear.
+          <pre><![CDATA[
+<mm:form>
+   <mm:node>
+     <mm:fieldlist type="edit">
+       <mm:fieldinfo type="input" />
+       <mm:fieldinfo type="errors" />
+      </mm:fieldlist>
+   </mm:node>
+   <mm:valid>
+     <mm:commit />
+   </mm:valid>
+</mm:form>]]>
+          </pre>
+          <p>Perhaps can be improved on. Something like</p>
+          <pre><![CDATA[
+<mm:form>
+   <mm:node>
+     <mm:fieldlist type="edit">
+        <mm:input  />
+        <mm:errors />
+     </mm:fieldlist>
+   </mm:node>
+   <mm:valid>
+     <mm:commit />
+   </mm:valid>
+</mm:form>]]>
+          </pre>
+          </li>
+        </ul>
       </div>
     </div>
     <div id="virtualbuilders">
       <h2><a href="#virtualbuilders">Virtual Builders</a></h2>
       <div>
-        <ol>
+        <ul>
           <li>Using virtual fields and DataType.Handlers it is possible to 
display things in generic editors which were normally handled by e.g. 
Editwizards</li>
           <li>An edit task can be described as a list of (virtual fields + 
datatypes)</li>
           <li>A Builder is a list of fields too. Hence 'virtual builder'</li>
-        </ol>
+        </ul>
       </div>
     </div>
     <!--

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to