incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r799361 [3/8] - in /websites/staging/ooo-site/trunk/content/udk/common: ./ man/ man/concept/ man/draft/ man/draft/scripting/ man/draft/scripting/DesignDoc/ man/images/ man/spec/ man/tasks/ man/tutorial/
Date Sun, 27 Nov 2011 22:52:03 GMT
Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptInvocationClassDiagram.dia
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptInvocationClassDiagram.dia (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptInvocationClassDiagram.dia Sun Nov 27 22:51:54 2011
@@ -0,0 +1,488 @@
+<?xml version="1.0"?>
+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
+  <dia:diagramdata>
+    <dia:attribute name="background">
+      <dia:color val="#ffffff"/>
+    </dia:attribute>
+    <dia:attribute name="paper">
+      <dia:composite type="paper">
+        <dia:attribute name="name">
+          <dia:string>#A4#</dia:string>
+        </dia:attribute>
+        <dia:attribute name="tmargin">
+          <dia:real val="2.8222"/>
+        </dia:attribute>
+        <dia:attribute name="bmargin">
+          <dia:real val="2.8222"/>
+        </dia:attribute>
+        <dia:attribute name="lmargin">
+          <dia:real val="2.8222"/>
+        </dia:attribute>
+        <dia:attribute name="rmargin">
+          <dia:real val="2.8222"/>
+        </dia:attribute>
+        <dia:attribute name="is_portrait">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="scaling">
+          <dia:real val="0.4"/>
+        </dia:attribute>
+        <dia:attribute name="fitto">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="grid">
+      <dia:composite type="grid">
+        <dia:attribute name="width_x">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="width_y">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_x">
+          <dia:int val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_y">
+          <dia:int val="1"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="guides">
+      <dia:composite type="guides">
+        <dia:attribute name="hguides"/>
+        <dia:attribute name="vguides"/>
+      </dia:composite>
+    </dia:attribute>
+  </dia:diagramdata>
+  <dia:layer name="Background" visible="true">
+    <dia:object type="UML - Class" version="0" id="O0">
+      <dia:attribute name="obj_pos">
+        <dia:point val="6.97041,0.714289"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="6.92041,0.664289;34.3284,3.56429"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="6.97041,0.714289"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="27.308"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="2.8"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string>#XScriptInvocation#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="abstract">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_attributes">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_operations">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="visible_attributes">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="visible_operations">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="foreground_color">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="background_color">
+        <dia:color val="#ffffff"/>
+      </dia:attribute>
+      <dia:attribute name="attributes"/>
+      <dia:attribute name="operations">
+        <dia:composite type="umloperation">
+          <dia:attribute name="name">
+            <dia:string>#invoke#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="type">
+            <dia:string>#any#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="visibility">
+            <dia:enum val="0"/>
+          </dia:attribute>
+          <dia:attribute name="abstract">
+            <dia:boolean val="true"/>
+          </dia:attribute>
+          <dia:attribute name="class_scope">
+            <dia:boolean val="false"/>
+          </dia:attribute>
+          <dia:attribute name="parameters">
+            <dia:composite type="umlparameter">
+              <dia:attribute name="name">
+                <dia:string>#scriptName#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="type">
+                <dia:string>#string#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="value">
+                <dia:string/>
+              </dia:attribute>
+              <dia:attribute name="kind">
+                <dia:enum val="0"/>
+              </dia:attribute>
+            </dia:composite>
+            <dia:composite type="umlparameter">
+              <dia:attribute name="name">
+                <dia:string>#params#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="type">
+                <dia:string>#sequence&lt;any&gt;#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="value">
+                <dia:string/>
+              </dia:attribute>
+              <dia:attribute name="kind">
+                <dia:enum val="0"/>
+              </dia:attribute>
+            </dia:composite>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="template">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="templates"/>
+    </dia:object>
+    <dia:object type="UML - Class" version="0" id="O1">
+      <dia:attribute name="obj_pos">
+        <dia:point val="8.28571,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="8.23571,10.8908;20.9437,13.9908"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="8.28571,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="12.608"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string>#ScriptRuntimeManager#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string>#service#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="abstract">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_attributes">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_operations">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="visible_attributes">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="visible_operations">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="foreground_color">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="background_color">
+        <dia:color val="#ffffff"/>
+      </dia:attribute>
+      <dia:attribute name="attributes"/>
+      <dia:attribute name="operations"/>
+      <dia:attribute name="template">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="templates"/>
+    </dia:object>
+    <dia:object type="UML - Class" version="0" id="O2">
+      <dia:attribute name="obj_pos">
+        <dia:point val="23.6184,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="23.5684,10.8908;31.8664,13.9908"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="23.6184,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="8.198"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string>#ScriptRuntime#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string>#service#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="abstract">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_attributes">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_operations">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="visible_attributes">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="visible_operations">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="foreground_color">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="background_color">
+        <dia:color val="#ffffff"/>
+      </dia:attribute>
+      <dia:attribute name="attributes"/>
+      <dia:attribute name="operations"/>
+      <dia:attribute name="template">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="templates"/>
+    </dia:object>
+    <dia:object type="UML - Generalization" version="0" id="O3">
+      <dia:attribute name="obj_pos">
+        <dia:point val="20.6244,3.51429"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="14.5397,3.51429;21.4744,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_points">
+        <dia:point val="20.6244,3.51429"/>
+        <dia:point val="20.6244,9.57143"/>
+        <dia:point val="14.5897,9.57143"/>
+        <dia:point val="14.5897,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_orient">
+        <dia:enum val="1"/>
+        <dia:enum val="0"/>
+        <dia:enum val="1"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O0" connection="6"/>
+        <dia:connection handle="1" to="O1" connection="1"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="UML - Generalization" version="0" id="O4">
+      <dia:attribute name="obj_pos">
+        <dia:point val="20.6244,3.51429"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="19.7744,3.51429;27.7674,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_points">
+        <dia:point val="20.6244,3.51429"/>
+        <dia:point val="20.6244,6.07143"/>
+        <dia:point val="27.7174,6.07143"/>
+        <dia:point val="27.7174,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_orient">
+        <dia:enum val="1"/>
+        <dia:enum val="0"/>
+        <dia:enum val="1"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O0" connection="6"/>
+        <dia:connection handle="1" to="O2" connection="1"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="UML - Association" version="0" id="O5">
+      <dia:attribute name="obj_pos">
+        <dia:point val="14.5897,13.9408"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="14.5397,13.9408;30.7374,15.6929"/>
+      </dia:attribute>
+      <dia:attribute name="orth_points">
+        <dia:point val="14.5897,13.9408"/>
+        <dia:point val="14.5897,15.6429"/>
+        <dia:point val="27.7174,15.6429"/>
+        <dia:point val="27.7174,13.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_orient">
+        <dia:enum val="1"/>
+        <dia:enum val="0"/>
+        <dia:enum val="1"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="direction">
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="ends">
+        <dia:composite>
+          <dia:attribute name="role">
+            <dia:string/>
+          </dia:attribute>
+          <dia:attribute name="multiplicity">
+            <dia:string/>
+          </dia:attribute>
+          <dia:attribute name="arrow">
+            <dia:boolean val="false"/>
+          </dia:attribute>
+          <dia:attribute name="aggregate">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+        <dia:composite>
+          <dia:attribute name="role">
+            <dia:string/>
+          </dia:attribute>
+          <dia:attribute name="multiplicity">
+            <dia:string># 1..n#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="arrow">
+            <dia:boolean val="false"/>
+          </dia:attribute>
+          <dia:attribute name="aggregate">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O1" connection="6"/>
+        <dia:connection handle="1" to="O2" connection="6"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="UML - Class" version="0" id="O6">
+      <dia:attribute name="obj_pos">
+        <dia:point val="0.571429,4.85714"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="0.521429,4.80714;19.3614,7.70714"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="0.571429,4.85714"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="18.74"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="2.8"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string>#XScriptNameResolver#</dia:string>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="abstract">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_attributes">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="suppress_operations">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="visible_attributes">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="visible_operations">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="foreground_color">
+        <dia:color val="#000000"/>
+      </dia:attribute>
+      <dia:attribute name="background_color">
+        <dia:color val="#ffffff"/>
+      </dia:attribute>
+      <dia:attribute name="attributes"/>
+      <dia:attribute name="operations">
+        <dia:composite type="umloperation">
+          <dia:attribute name="name">
+            <dia:string>#resolve#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="type">
+            <dia:string>#string#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="visibility">
+            <dia:enum val="0"/>
+          </dia:attribute>
+          <dia:attribute name="abstract">
+            <dia:boolean val="true"/>
+          </dia:attribute>
+          <dia:attribute name="class_scope">
+            <dia:boolean val="false"/>
+          </dia:attribute>
+          <dia:attribute name="parameters">
+            <dia:composite type="umlparameter">
+              <dia:attribute name="name">
+                <dia:string>#scriptName#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="type">
+                <dia:string>#string#</dia:string>
+              </dia:attribute>
+              <dia:attribute name="value">
+                <dia:string/>
+              </dia:attribute>
+              <dia:attribute name="kind">
+                <dia:enum val="0"/>
+              </dia:attribute>
+            </dia:composite>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="template">
+        <dia:boolean val="false"/>
+      </dia:attribute>
+      <dia:attribute name="templates"/>
+    </dia:object>
+    <dia:object type="UML - Generalization" version="0" id="O7">
+      <dia:attribute name="obj_pos">
+        <dia:point val="9.94143,7.65714"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.09143,7.65714;14.6397,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_points">
+        <dia:point val="9.94143,7.65714"/>
+        <dia:point val="9.94143,9.57143"/>
+        <dia:point val="14.5897,9.57143"/>
+        <dia:point val="14.5897,10.9408"/>
+      </dia:attribute>
+      <dia:attribute name="orth_orient">
+        <dia:enum val="1"/>
+        <dia:enum val="0"/>
+        <dia:enum val="1"/>
+      </dia:attribute>
+      <dia:attribute name="name">
+        <dia:string/>
+      </dia:attribute>
+      <dia:attribute name="stereotype">
+        <dia:string/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O6" connection="6"/>
+        <dia:connection handle="1" to="O1" connection="1"/>
+      </dia:connections>
+    </dia:object>
+  </dia:layer>
+</dia:diagram>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptResolution.gif
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptResolution.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptURI.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptURI.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/ScriptURI.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,28 @@
+#ifndef __com_sun_star_scripting_scripturi_ScriptURI_idl__
+#define __com_sun_star_scripting_scripturi_ScriptURI_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_scripting_scripturi_XScriptURI_idl__
+#include <drafts/com/sun/star/scripting/scripturi/XScriptURI.idl>
+#endif
+
+//===========================================================================
+
+module drafts { module com { module sun { module star { module scripting { module scripturi {
+
+//===========================================================================
+/**
+    XScriptURI
+*/
+service ScriptURI {
+    //----------------------------------------------------------------------
+    interface XScriptURI;
+};
+
+//===========================================================================
+}; }; }; }; }; };// com::sun::star::scripting::scripturi
+
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/Source-Edit.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/Source-Edit.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/StorageServiceClassDiagram.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/StorageServiceClassDiagram.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XBinding.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XBinding.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XBinding.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ *  $RCSfile: XBinding.idl,v $
+ *
+ *  $Revision: 1.2 $
+ *
+ *  last change: Laszlo Kovacs: mi $ $Date: 2002/08/16 10:10:35 $
+ *
+ *  The Contents of this file are made available subject to the terms of
+ *  either of the following licenses
+ *
+ *         - GNU Lesser General Public License Version 2.1
+ *         - Sun Industry Standards Source License Version 1.1
+ *
+ *  Sun Microsystems Inc., October, 2000
+ *
+ *
+ *  GNU Lesser General Public License Version 2.1
+ *  =============================================
+ *  Copyright 2000 by Sun Microsystems, Inc.
+ *  901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License version 2.1, as published by the Free Software Foundation.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *  MA  02111-1307  USA
+ * 
+ *
+ *  Sun Industry Standards Source License Version 1.1
+ *  =================================================
+ *  The contents of this file are subject to the Sun Industry Standards
+ *  Source License Version 1.1 (the "License"); You may not use this file
+ *  except in compliance with the License. You may obtain a copy of the
+ *  License at http://www.openoffice.org/license.html.
+ *
+ *  Software provided under this License is provided on an "AS IS" basis,
+ *  WITHOUT WARRUNTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
+ *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ *  See the License for the specific provisions governing your rights and
+ *  obligations concerning the Software.
+ *
+ *  The Initial Developer of the Original Code is: Sun Microsystems, Inc..
+ *
+ *  Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ *  All Rights Reserved.
+ *
+ *  Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_scripting_storage_XBinding_idl__
+#define __com_sun_star_scripting_storage_XBinding_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=======================================================================
+
+module drafts { module com { module sun { module star { module scripting  { module storage {
+
+//=======================================================================
+/**
+    XBinding 
+	encapsulates a binding object (used with the binding storage 
+	interface XBindingStore)
+*/
+interface XBinding : ::com::sun::star::uno::XInterface
+{
+        //--------------------------------------------------------------
+	/**
+	    set the event name for this binding
+
+	    @params event
+		the event name
+	*/
+       void setEvent([in] string event);
+
+	//--------------------------------------------------------------
+        /**
+            get the event name from this binding
+
+            @returns
+                the event name
+        */
+        string getEvent();
+
+        //--------------------------------------------------------------
+        /**
+            set the logical or language specific script name from this binding
+
+            @params
+                the script name
+        */
+        void setScriptName([in] string scriptName);
+
+	//--------------------------------------------------------------
+        /**
+            get the logical or languuage specific name from this binding
+
+            @returns
+                the script name
+        */
+        string getScriptName();
+};
+}; }; }; }; }; }; // com::sun::star::scripting
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptImpl.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptImpl.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptImpl.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,33 @@
+#ifndef __com_sun_star_scripting_storage_XScriptImpl_idl__
+#define __com_sun_star_scripting_storage_XScriptImpl_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module scripting { module storage {
+//==============================================================================
+/** 
+This interface provides detail to clients that require to resolve logical script
+URI's to a specific language URI.
+*/
+interface XScriptImpl : XInterface
+{
+
+//------------------------------------------------------------------------------
+/** 
+@returns
+  A sequence of language specific script URI's for the specified language.
+*/
+  sequence <string> getLanguageImpls([in] string langType);
+
+//------------------------------------------------------------------------------
+/**
+@returns
+  A sequence of script URI's for all languages implementing the script.
+*/
+  sequence <string> getImpls();
+}
+
+};  };  };  }; 
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptInfo.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptInfo.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/XScriptInfo.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,143 @@
+#ifndef __com_sun_star_scripting_storage_XScriptInfo_idl__
+#define __com_sun_star_scripting_storage_XScriptInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+module drafts { module com { module sun { module star { module scripting { module storage {
+//==============================================================================
+/** This interface allows access to information of one script
+*/
+interface XScriptInfo : ::com::sun::star::uno::XInterface
+{
+//========================================================================
+/**
+  Interface to provide read-only access to information associated with a script
+*/
+
+  //-----------------------------------------------------------------------
+  /**
+    Get the logical name for the script
+
+    @return
+     <type>string</type> The string representing the logical name of the
+      script
+  */
+  string getLogicalName();
+
+  //-----------------------------------------------------------------------
+  /**
+    Set the logical name of the script
+
+    @param name The new logical name for the script
+  */
+  void setLogicalName( [in] string name );
+
+  //-----------------------------------------------------------------------
+  /**
+    Get a textual description of the script's function.
+
+    @returns
+      <type>string</type> A string containing the description
+      <NULL/> If there is no description, return an empty string
+  */
+  string getDescription();
+
+  //-----------------------------------------------------------------------
+  /**
+    Set the textual description of the script
+
+    @param desc
+      The description of the script
+  */
+  void setDescription( [in] string desc );
+
+//-------------------------------------------------------------------------------
+/** Returns the language the script is written in
+@returns 
+A string reresenting the language of the script.
+*/
+  string getLanguage(); 
+
+//-------------------------------------------------------------------------------
+/** Allows the language to be set.
+@param language
+  Language to be set.
+*/
+  void setLanguage([in] string language);
+
+//-------------------------------------------------------------------------------
+/** Is source provided for this script 
+@returns 
+<TRUE/> if source is provided, determined if location of source is provided, otherwise <FALSE/>
+*/
+  boolean hasSource();
+
+//-------------------------------------------------------------------------------
+/** Access a copy of the source for the script.
+@returns 
+A string containing the script source.
+/*
+  string getSourceAsText();
+
+//-------------------------------------------------------------------------------
+/** Access to the location of the script.
+@returns 
+A string containing a URL to the script.
+/*
+  string getScriptSourceLocation();
+
+//-------------------------------------------------------------------------------
+/** Set the location of the script source
+@param fileURL
+  Sets location of script source as a URL
+/*
+  void setScriptSourceLocation([in] string fileURL);
+
+//-------------------------------------------------------------------------------
+/** Access to the language specific name of a script.
+@returns 
+A string that contains the language specific name.
+*/
+  string getLanguageSpecificName();
+
+//-------------------------------------------------------------------------------
+/** Sets language specific name.
+@param langName
+Full name of language specific script e.g. com.sun.star.convertors.myconverters.myCustomConvert.method.
+*/
+  void setLanguageSpecificName([in] string langName); 
+
+//-------------------------------------------------------------------------------
+/** 
+@returns 
+Location of root of installation for script
+*/
+  string getRoot();
+
+//-------------------------------------------------------------------------------
+/** 
+@returns 
+Relative (to root from getRoot) location of the container (.class file, module file jar etc.) that the script resides in. 
+  string getTarget()
+
+//-------------------------------------------------------------------------------
+/** Retrieve list of dependencies, (maybe jar files in the case of java).
+@returns
+  A list of strings containing dependencies.
+*/
+  sequence <string> getDependencies(); 
+
+//-------------------------------------------------------------------------------
+/** Retrieve a list of other properties (as yet undefined) association with this script.
+*/
+  com::sun::star::beans::XPropertySet extraProperties();
+};
+
+};  };  };  };  };  };
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/addassoc.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/addassoc.png
------------------------------------------------------------------------------
    svn:executable = *

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/addassoc.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/index.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/index.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/index.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,501 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+                                                       
+  <meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1">
+                 <!-- udk.openoffice.org --><title>Design Document</title>
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    &nbsp;
+ <basefont size="-1" face="Arial, Helvetica, sans-serif"> 
+<table border="0" cellspacing="8" cellpadding="5" width="100%">
+   <tbody>
+     <tr valign="top">
+       <td valign="top" width="100%" id="bodycol" bgcolor="#ffffff">    
+  
+      <h1 align="center">Language Independent Scripting Framework</h1>
+       
+      <h2 align="center">Design Document - Last update: 16th August 2002</h2>
+         This document should only be read after having read the <a href="http://udk.openoffice.org/common/man/draft/scripting/ArchDoc.20020618.sxw">
+      Architecture  Document</a>
+      . This document contains:<br>
+       
+      <ul>
+         <li><a href="#Diagrams">Class &amp; Object Interaction Diagrams</a></li><li><a href="#Binding">Binding storage sequence diagrams</a>
+         <br>
+        </li>
+
+         <li><a href="#OOIDE">OpenOffice - IDE Integration Interaction Diagrams</a>
+           <br>
+         </li>
+         <li><a href="#Proposed_file_structure_for_scripting">Proposed File
+    structure for scripting</a>
+         </li>
+         <li><a href="#Language-Specific__Logical_Script_names">Language-specific 
+   &amp; Logical ScriptNames</a>
+         </li>
+         <li><a href="#Deployment_DTD">DTD &amp; sample XML for Deployment</a>
+         </li>
+         <li><a href="#DTD_for_Script_Registry">DTD &amp; sample XML for
+Script   Registry</a>
+         </li>
+         <li><a href="#deployinterface">Deployment Interfaces</a>&nbsp;</li><li><a href="#Storage">Script storage interfaces</a><br>
+        </li>
+
+         <li><a href="#IDLFiles">Links to the IDL Files</a>
+         </li>
+       
+      </ul>
+       <br>
+       
+      <hr>       
+      <h3><a name="Diagrams"></a>
+      Class &amp; Object Interaction Diagrams</h3>
+       <img src="BindingObject.png">
+       <br>
+            Binding Object Class Diagram(<a href="BindingObject.dia">source</a>
+      ).         <br>
+       
+      <hr><img src="BindingSequence.png">
+       <br>
+            Binding Object Interaction Diagram(<a href="BindingSequence.dia">
+    source</a>
+      ).          <br>
+       
+      <hr>&nbsp;
+       <br><img src="ScriptInvocation.png">
+       <br>
+            Script Invocation Interaction Diagram(<a href="ScriptInvocation.dia">
+      source</a>
+      ).         <br>
+       
+      <hr><img src="ScriptInvocationClassDiagram.gif">
+       <br>
+            Script Invocation Class Diagram(<a href="ScriptInvocationClassDiagram.dia">
+      source</a>
+      ).        <br>
+       
+      <hr><br>
+      <h3><a name="Binding"></a>Binding storage sequence diagrams</h3>
+      <h3><img src="BindingActions.png">
+
+       </h3>
+
+            Actions available on Bindings( <a href="BindingActions.dia">source</a>
+      ).          <br>
+            XBinding represents a binding, this is an event (string) and
+script    (string)   pair. XBindingStore is the interface for access the
+binding storage   of a  certain document or the application. It provides
+store, remove and  query functionality of binding objects implementing the
+XBinding interface.         <br>
+       
+      <hr><img src="BindingActions2.png">
+       <br>
+            Query available on Bindings(<a href="BindingActions2.dia">source</a>
+      ).          <br>
+       
+      <hr width="100%" size="2">       
+      <h3><a name="OOIDE"></a>
+ OpenOffice - IDE Integration Interaction Diagrams</h3>
+       <img src="Source-Edit.png" alt="Editing a Script in an IDE" width="762" height="646">
+       
+      <p>&nbsp;Editing a script in an IDE(<a href="Source-Edit.dia">source</a>
+ )</p>
+       Context:                
+      <ul>
+         <li>all the GUI used for binding and parcel management is implemented
+   in  OpenOffice and it is embedded into the IDE using the  OpenOffice Bean</li>
+         <li>a temporary area of the filesystem is used to transfer files,
+ parcels   selected by the user in the above  OpenOffice GUI into the IDE
+(this should  be transparent to the user)</li>
+       
+      </ul>
+    When a file is selected to be edited or a new  file is created roughly
+ the dialog taking place is: -  OpenOffice checks if the IDE is running,
+if  not it starts it<br>
+       
+      <ul>
+         <li>  OpenOffice moves the selected content (from the document)
+into   the temporary area and notifies the IDE that the content is there</li>
+         <li> the IDE loads the content from the temporary area</li>
+         <li>user edits, saves (maybe builds)</li>
+         <li>at save the IDE notifies   OpenOffice that the content is again 
+ available in the temporary  area </li>
+         <li> OpenOffice (C&amp;C module) moves the content back into the 
+document</li>
+       
+      </ul>
+     Transferred content will most likely have to be a complete build  environment 
+ rather than one file only. Transfer can be optimized to transfer  only changed 
+ files rather than all the files. When a file is displayed all  the corresponding 
+ build environment has to be transferred to facilitate build,  run and debug.<br>
+       <br>
+       
+      <hr width="100%" size="2"><img src="SO-IDE-debug.png" alt="Debugging a OpenOffice Script in an IDE" width="959" height="668">
+  <br>
+       <br>
+ Debugging a script in an IDE(<a href="SO-IDE-debug.dia">source</a>
+ )<br>
+       <br>
+ This diagram describes how OpenOffice and the IDE interact to facilitate
+debugging. When the user starts up the IDE the debugging connection (e.g.
+debugger from IDE attaching to the OpenOffice JVM) should be established.
+This is the time to check whether individual runtimes or OpenOffice have
+to be restarted in order to facilitate debugging from the IDE.<br>
+       <br>
+ The dialog protocol is this:        
+      <ol>
+         <li>OpenOffice tries to start the IDE</li>
+         <li>OpenOffice checks whether the runtime is running and is debug 
+enabled (if not then the runtime or OpenOffice has to be restarted</li>
+         <li>OpenOffice starts the IDE </li>
+         <li>when IDE signals that it is ready OpenOffice sends the parameters 
+needed for debugger attachment (host, port etc) </li>
+         <li>the user sets breakpoints in the IDE </li>
+         <li>at this point the user will invoke the script, this will be
+either from the IDE or from OpenOffice; if it is from the IDE then the IDE
+has to request an invocation from OpenOffice, if it is from OpenOffice then
+nothing has to be done (a user action will invoke the script)</li>
+         <li>after invocation the runtime will pause waiting for the debugger 
+(from the IDE) to attach, a message has to be sent to the IDE to start the 
+debugger</li>
+         <li>the IDE debugger will attach to the runtime in OpenOffice </li>
+       
+      </ol>
+  This protocol is somewhat Java specific, it might need changes for other 
+runtimes.<br>
+       <br>
+       
+      <hr width="100%" size="2"><br>
+       <img src="Exception-IDE.png" alt="Debugging Exceptions from OpenOffice in an IDE" width="1110" height="805">
+       <br>
+       <br>
+ Debugging a script exception in an IDE(<a href="Exception-IDE.dia">source</a>
+ )<br>
+       <br>
+ Exception handling is a variation of the code editing and debug enabling 
+diagrams. The diagram describes the dialog between OpenOffice and the IDE 
+when the IDE has not been started yet so the attachment to the OpenOffice
+ JVM from the IDE has to be done.  <br>
+       <br>
+ The dialog is the following:        
+      <ol>
+         <li>after invocation of a script when an exception is caught by
+the script runtime check if the IDE is already running, if not and OpenOffice 
+is not running with debugger attachment enabled to the JVM then OpenOffice 
+has to be restarted</li>
+         <li>if OpenOffice has been restarted then it is the user's responsibility 
+to get the script invoked again</li>
+         <li>if the IDE was not running then it is started and the source 
+is loaded as described in the Edit diagram</li>
+         <li>after this the debugger from the IDE attaches to the OpenOffice 
+JVM as described in the debug enabling diagram</li>
+         <li>the user can evaluate variables at this point</li>
+         <li>changing and saving the code at this point happens as already 
+described in the Edit diagram</li>
+       
+      </ol>
+       <br>
+       
+      <hr>       
+      <h3><a name="Proposed_file_structure_for_scripting"></a>
+      Proposed file  structure for scripting</h3>
+          The file structure for the application and the document will be 
+the   same,  the only difference is the structure for the document will stored 
+ in the document zip file.  The file structure is as follows             
+                                             
+      <pre>scripting/<br>          |<br>          +- java/<br>          |<br>          +- basic/<br>          |<br>          +- otherLanguage/<br></pre> 
+         under the language specific folder                             
+                                    &nbsp;each script parcel has a separate
+folder. The file and folder structure in a script parcel is arbitrary, it
+depends on how the developer organizes files and folders of&nbsp;       
+  the parcel. <br>
+      <br>
+A registry file exists at the script level in the directory structure
+   that  identifies the scripts that are installed (in either the document
+ or  application)  or other metadata associated with the script.        
+                                                  
+      <hr><br>
+       
+      <h3><a name="Language-Specific__Logical_Script_names"></a>
+      Language-Specific &amp; Logical Script names</h3>
+       <u>Generic script name:</u><br>
+       script://&lt;sname&gt;/[&lt;qtype&gt;['?'&lt;query&gt;]]<br>
+       <br>
+       ;	name of a script functionality<br>
+       sname =: &lt;name&gt;<br>
+       ;	query type<br>
+       qtype =: &lt;name&gt;<br>
+       ;	query<br>
+       query =: &lt;qelm&gt;(','&lt;qelm&gt;)*<br>
+       ;	query element<br>
+       qelm  =: &lt;word&gt;'='&lt;name&gt;<br>
+       <br>
+       <br>
+       <u>Language specific script name:</u><br>
+       script:///&lt;lname&gt;'?'&lt;lpart&gt;<br>
+       <br>
+       ;	language runtime name<br>
+       lname =: &lt;name&gt;<br>
+       ;	language specific portion of name<br>
+       lpart =: sequence of any printable characters<br>
+       <br>
+       <br>
+       name  =: &lt;word&gt;('.'&lt;word&gt;)*<br>
+       word  =: &lt;alpha&gt;(['-'|'_'](&lt;alpha&gt;|&lt;digit&gt;))*<br>
+       alpha =: an alphabetical character as in rfc2396-1.6<br>
+       digit =: a digit character as in rfc2396-1.6<br>
+       
+      <hr width="100%" size="2">       
+      <h3><a name="Deployment_DTD"></a>
+       Deployment DTD</h3>
+        &lt;?xml version="1.0" encoding="UTF-8"?&gt; <br>
+        &lt;!ELEMENT script (logicalname, languagename, dependencies, description?,
+    delivery)&gt;<br>
+        &lt;!ELEMENT bundle (script+)&gt;<br>
+        &lt;!ELEMENT logicalname EMPTY&gt;<br>
+        &lt;!ELEMENT languagename EMPTY&gt;<br>
+        &lt;!ELEMENT dependencies (dependfile+)&gt;<br>
+        &lt;!ELEMENT description (#PCDATA)&gt;<br>
+        &lt;!ELEMENT delivery (deliverfile+)&gt;<br>
+        &lt;!ELEMENT deliverfile EMPTY&gt;<br>
+        &lt;!ELEMENT dependfile EMPTY&gt;<br>
+        &lt;!ATTLIST script<br>
+           language CDATA #REQUIRED<br>
+           deploymentdir CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST logicalname<br>
+           value CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST languagename<br>
+           value CDATA #REQUIRED<br>
+           location CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST dependfile<br>
+           name CDATA #REQUIRED<br>
+           isdeliverable (yes | no) #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST deliverfile<br>
+           name CDATA #REQUIRED<br>
+           type (binary | data | source | resource) #REQUIRED<br>
+        &gt;<br>
+       <br>
+       
+      <h3>Sample deployment XML</h3>
+        &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
+        &lt;!DOCTYPE bundle SYSTEM "deployment.dtd"&gt;<br>
+        &lt;bundle&gt;<br>
+           &lt;script language="Java" deploymentdir="calc.convert.EuroConvert"&gt;<br>
+              &lt;logicalname value="calc.convert.EuroConvert"/&gt;<br>
+              &lt;languagename value="com.sun.star.calc.EuroConvert"<br>
+            location="convert.jar"/&gt;<br>
+              &lt;dependencies&gt;<br>
+                 &lt;dependfile name="data/currenices.txt" isdeliverable="yes"/&gt;<br>
+              &lt;/dependencies&gt;<br>
+              &lt;delivery&gt;<br>
+                 &lt;deliverfile name="convert.jar" type="binary"/&gt;<br>
+                 &lt;deliverfile name="currencies.txt" type="resource"/&gt;<br>
+              &lt;/delivery&gt;<br>
+           &lt;/script&gt;<br>
+        &lt;/bundle&gt;<br>
+       
+      <hr>       
+      <h3><a name="DTD_for_Script_Registry"></a>
+      DTD for Script Registry</h3>
+        &lt;?xml version="1.0" encoding="UTF-8"?&gt; <br>
+        &lt;!ELEMENT script (logicalname, languagename, description, properties,<br>
+        dependencies)&gt;<br>
+        &lt;!ELEMENT logicalname EMPTY&gt;<br>
+        &lt;!ELEMENT languagename EMPTY&gt;<br>
+        &lt;!ELEMENT description (#PCDATA)&gt;<br>
+        &lt;!ELEMENT properties (#PCDATA)&gt;<br>
+        &lt;!ELEMENT dependencies (file)&gt;<br>
+        &lt;!ELEMENT file EMPTY&gt;<br>
+        &lt;!ATTLIST script<br>
+           language CDATA #REQUIRED<br>
+           rootdir CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST logicalname<br>
+           value CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST languagename<br>
+           value CDATA #REQUIRED<br>
+           location CDATA #REQUIRED<br>
+        &gt;<br>
+        &lt;!ATTLIST file<br>
+           name CDATA #REQUIRED<br>
+        &gt;<br>
+       
+      <h3>Sample XML for Script Registry</h3>
+        &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
+        &lt;!DOCTYPE script SYSTEM "registry.dtd"&gt;<br>
+        &lt;script language="Java" rootdir="calc.convert.EuroConvert"&gt;<br>
+           &lt;logicalname value="calc.convert.EuroConvert"/&gt;<br>
+           &lt;languagename value="com.sun.star.calc.EuroConvert"<br>
+          location="convert.jar"/&gt;<br>
+           &lt;description&gt;A Euro Converter&lt;/description&gt;<br>
+           &lt;properties&gt;Other properties&lt;/properties&gt;<br>
+           &lt;dependencies&gt;<br>
+              &lt;file name="data/currencies.txt"/&gt;<br>
+           &lt;/dependencies&gt;<br>
+        &lt;/script&gt;<br>
+       
+      <hr width="100%" size="2">       
+      <h3><a name="deployinterface"></a>
+ Deployment Interfaces</h3>
+       <a href="XParcel.idl">XParcel</a> 
+  Interface access to a parcel file hierarchy by retrieving the hierarchy
+ and adding/removing content (using w3c standard urls with wildcards in them
+ to add/remove a number of files/folders). The parcel name can also be retrieved.
+The interface XParcel is implemented by the Parcel service.<br>
+       <br>
+       <a href="XParcelStore.idl"> XParcelStore</a>
+  provides access to parcels installed into a document or the application 
+context. Complete parcel packages (archived as zip) can be installed. Parcels 
+can be created (to fill with content through the XParcel interface) and parcels 
+can be removed. A list of all the installed parcels can also be obtained.<br>
+       <br>
+       
+      
+      <hr>
+      <h3><a name="Storage"></a>Script storage interfaces</h3>
+
+      The toplevel storage service is ScriptingStorage. Every document and
+the application has one ScriptingStorage component that provides access to
+the scripts stored in that context. ScriptingStorage implements several interfaces:<br>
+      <br>
+      <ul>
+        <li>XScriptAccessManager: provides access to script related data encapsulated in the ScriptInfo component</li>
+        <li>XScriptImplAccess: resolves logical script names to language specific script names</li>
+        <li>XNamingAccess: provide access to the logical naming of scripts
+(it is designed to provide various views, a hierarchical one will be implemented)</li>
+        <li>XBindingStore: provide access to the binding storage (described above)</li>
+        <li>XParcelStore: provide access to the parcel storage (described above)</li>
+      </ul>
+ScriptInfo is a service providing access to information related to one script. It contains two interfaces:<br>
+      <ul>
+        <li>XScriptInfo: provides access to script metadata</li>
+        <li>XScriptStore: provides support for implementation of data persistence by the script<br>
+        </li>
+      </ul>
+
+<hr>       
+      <h3><a name="IDLFiles"></a>
+      IDL Files</h3>
+                                              The following are the proposed
+  interfaces.  In some cases, these are just placeholders and need further
+ work.                                                   
+      
+      <p><a href="CannotResolveScriptNameException.idl">CannotResolveScriptNameException.idl</a>
+       <br>
+       <a href="ScriptInfoAccessException.idl">ScriptInfoAccessException.idl</a>
+       <br>
+       <a href="ScriptRuntime.idl">ScriptRuntime.idl</a>
+       <br>
+       <a href="ScriptRuntimeException.idl">ScriptRuntimeException.idl</a>
+       <br>
+       <a href="ScriptRuntimeManager.idl">ScriptRuntimeManager.idl</a>
+       <br>
+       <a href="ScriptStorage.idl">ScriptStorage.idl</a>
+       <br>
+       <a href="XBinding.idl">XBinding.idl</a>
+       <br>
+       <a href="XBindingStore.idl">XBindingStore.idl</a>
+       <br>
+       <a href="XFunction.idl">XFunction.idl</a>
+       <br>
+       <a href="XFunctionProvider.idl">XFunctionProvider.idl</a>
+       <br>
+       <a href="XNameNode.idl">XNameNode.idl</a>
+       <br>
+       <a href="XScriptAccessManager.idl">XNamingAccess.idl<br>
+       </a>
+      <a href="XParcel.idl">XParcel.idl<br>
+ XParcelStore.idl<br>
+       </a>
+      <a href="XScriptAccessManager.idl"> XScriptAccessManager.idl      
+      </a>
+      <br>
+       <a href="XScriptContext.idl">XScriptContext.idl</a>
+       <br>
+       <a href="XScriptImplAccess.idl">XScriptImplAccess.idl</a>
+       <br>
+       <a href="XScriptInvocation.idl">XScriptInvocation.idl</a>
+       <br>
+       <a href="XScriptStore.idl">XScriptStore.idl</a>
+       <br>
+       <a href="XScriptURI.idl">XScriptURI.idl</a>
+       <br>
+       <a href="ScriptURI.idl">ScriptURI.idl</a>
+       <br>
+       <a href="XScriptNameResolver.idl">XScriptNameResolver.idl</a>&nbsp;<br>
+<a href="XScriptStore.idl">XScriptInfo.idl<br>
+XScriptStore.idl</a>&nbsp;<br>
+      <a href="ScriptInfo.idl">ScriptInfo.idl</a><br>
+      <a href="Parcel.idl">Parcel.idl</a>
+       <br>
+       </p>
+
+       <b><br>
+       <br>
+       </b><br>
+       </td>
+     </tr>
+   
+  </tbody> 
+</table>
+ <!-- end footer --><br>
+ <br>
+ <br>
+ <br>
+ <br>
+ <br>
+ 
+<br>
+<br>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/remove.dia
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/remove.dia
------------------------------------------------------------------------------
    svn:executable = *

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/DesignDoc/remove.dia
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/MethodInvokeException.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/MethodInvokeException.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/MethodInvokeException.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,26 @@
+#ifndef __com_sun_star_scripting_MethodInvokeException_idl__
+#define __com_sun_star_scripting_MethodInvokeException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+module com {
+  module sun {
+    module star {
+      module scripting {
+      
+        /** Indicates that there is a problem invoking in the method
+         */
+        exception MethodInvokeException: com::sun::star::uno::Exception
+        {
+          /** The method that tried to be invoked
+          */
+          string Method;
+        };
+      };
+    };
+  };
+};
+        
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ProblemsIssues.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ProblemsIssues.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ProblemsIssues.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <title>Framework Problem &amp; Issues</title>
+                    
+  <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+     
+<h1>Scripting Framework Problem Areas &amp; High-Level Issues</h1>
+     
+<h2>Runtime Container</h2>
+ <u>  Problem Statement:  </u><br>
+ Scripts are executed within a language specific script runtime. We need
+to  define the features of this runtime container and the contract between
+the  container and the scripts run in it, with regard to threading, symbol
+resolution  and persistence of script related data.    <br>
+ <br>
+ <u>Requirements:</u>    <br>
+ 
+<ul>
+   <li>define the contract between the script container and a script, this 
+contract should be language neutral&nbsp;</li>
+   <li>define the threading model that script containers should use</li>
+   <li>define how symbols are resolved within the script container</li>
+   <li>define how symbols conflicts are handled</li>
+   <li>define the services the container provides to the script for saving 
+state</li>
+ 
+</ul>
+ <u>Issues:    </u><br>
+ 
+<ul>
+   <li>the requirement for language neutrality will impose restrictions on
+  how the contract between the script runtime container  and scripts run
+ &nbsp;in the container can be defined</li>
+   <li>it would be impossible evaluate our contract against all scripting
+languages, so we must select a subset of languages to  use&nbsp;</li>
+ 
+</ul>
+<u>Further analysis:</u><br>
+<ul>
+  <li><a href="thread-management.html">Thread management</a></li>
+  <li><a href="persistence.html">Persistence of script data</a></li>
+  <li><a href="symbol-resolution.html">Symbol/Dependency Resolution</a></li>
+</ul>
+ 
+<h2>Code Management</h2>
+ <u>Problem Statement:</u>    <br>
+ Scripts can be in many formats, source or binary, encrypted or obfuscated.
+  They can be stored in many locations, eg. a filesystem or a webserver.
+They   can be stored as files, or embedded within a file. They can be protected
+  by security features such as digital signing.    <br>
+ Clients of the scripting framework (eg. StarOffice, IDEs) need to be able 
+ to  access these scripts without concerning themselves with where and how 
+the  scripts are stored. The Application Scripting Framework needs to provide 
+ a  set of services and interfaces which will allow these clients such access.
+    <br>
+ <br>
+ <u>Requirements:</u>    <br>
+ 
+<ul>
+   <li>research current StarOffice script location/load/store interfaces</li>
+   <li>define the digital signing service for scripts</li>
+   <li>define the script location service</li>
+   <li>define the script loading/storing service&nbsp;</li>
+ 
+</ul>
+<u>Further analysis:</u><br>
+<ul>
+  <li><a href="code-management.html">Code management</a><br>
+  </li>
+</ul>
+ 
+<h2>IDE related Issues      </h2>
+ 
+<ul>
+   <li>Do we want a scripting IDE as part of SO&nbsp; (I will call this internal 
+ IDE for  simplicity) or an external one plugging into SO? One option could 
+be to have an  internal IDE for StarBasic and an external IDE for the new 
+scripting languages.  The external editor should be NetBeans (Forte for JAVA?). 
+NetBeans already  has  some support for BeanShell, Dynamic Java and Jython. 
+This support definitely  needs further improvements. If we go with NetBeans 
+then we might need to  cooperate with NetBeans developers. NetBeans has a 
+framework for plugging  in new  scripting interpreters into the IDE.&nbsp;</li>
+   <li>The main issues are debugging and editing scripts, code browsing,
+ configuration.</li>
+   <li>We need possibilities to edit and debug scripts from simple command 
+line  applications.&nbsp;</li>
+ 
+</ul>
+ <u>Code editing:</u><br>
+ &nbsp;We need the script storage and script loading and storing interfaces 
+as  described above. This needs to be able to retrieve and store a script 
+source  and its context (document, application). Both the IDE (internal and 
+external)  and the command line application need to use these interfaces to
+edit scripts  and their contexts.    <br>
+ NetBeans has an API that abstracts storage of files and file like objects. 
+ This  could use the script loading and storing interfaces to edit scripts. 
+Context  editing could be done with Nodes, the DataSystems API and the Explorer 
+API,  but  this needs to be investigated.    <br>
+ <u>Debugging:</u><br>
+ Main issues are launching, setting breakpoints and evaluating variables.
+   <br>
+ The IDE has to be able to launch the language specific debugger/interpreter 
+ and  load the binary/script source and its context in it, an interface has 
+to  be  defined for this.      <br>
+ OpenOffice already has an <a
+ href="http://api.openoffice.org/common/ref/com/sun/star/script/XDebugging.html">interface</a> 
+for setting/clearing breakpoints and evaluating  variables. This could be 
+the interface the debugger/interpreter plug-in of a new language  will have 
+to implement. An IDE will have to use this interface to implement  the  debugging 
+tasks and implement a Watch and Output windows to display various  information.
+    <br>
+ (If we go with NetBeans) the JVM and NetBeans are already integrated and 
+ they do  not use this interface so without a language agnostic framework 
+most of the work  would be done. If we want a language agnostic framework 
+we will have to add  extra implementation for languages not supported by NetBeans.
+This would  be  different from the way the JVM is integrated.<br>
+ If we go with one or more Java based scripting language(s) as part of our
+  implementation then we need to investigate ways of translating script code 
+ line  numbers to Java code line numbers and script variables to underlying 
+Java  variables.    Command line debugging does not need much here, the user 
+will have to launch  the  language specific debugger and configure it (to 
+find the SO libraries). A  command line utility will need to be developed 
+that will load the script  in the  debugger/interpreter and make it aware 
+of the script context.    <br>
+ <u>Code browsing:</u><br>
+ This is not as important as the previous ones.    <br>
+ We need an interface that would return object and method names from a script.
+  This will need language specific implementations. The IDE will have to
+use  this  to display and navigate through the code structure.    <br>
+ There would be no command line functionality here.<br>
+ <u>Configuration</u>:<br>
+ This has already been described as "runtime-related user interfaces".  We
+  need a way to provide similar functionality when debugging from the command
+  line.      <br><br>
+<u>Further analysis:</u><br>
+<ul>
+  <li><a href="ide.txt">IDE requirements</a><br>
+  </li>
+</ul>
+ 
+<h2>Macro Recording</h2>
+ Macro recording is not a very big issue in the investigation phase. The
+main   issue is whether we can generate macros made of UNO API calls or we
+have  to stay  with the dispatch APIs. The investigation should be about
+whether this is  possible or not and how to do it.    It is very simple to
+write macro recorders for any language if the recorded  macros use the dispatch 
+API. Considering that for UNO API based macro recording  we would probably 
+have to write UNO API based macros for all the dispatch  calls  in all the 
+languages that we support, UNO API based macro recording might  not be  feasible. 
+But this should be the subject of the investigation.      <br>
+ 
+<h2>Runtime related security</h2>
+ <u>Problem domain definition:</u><br>
+ The language runtime security subsystem is a set of restrictions  which
+are applied by the language runtime to a script  during loading and execution.
+  <br>
+ Restrictions could be applied to:<br>
+ 
+<ul>
+   <li>the type of the script</li>
+   <li>the source of the script</li>
+   <li>the length of life of the script</li>
+   <li>the amount of resource available to the script</li>
+   <li>the availability of a service by the type of the service</li>
+   <li>the availability of the specific service by the type  of&nbsp;the
+request</li>
+   <li>the availability of the specific service by the content  of the request</li>
+ 
+</ul>
+ <u>Participants:</u><br>
+ 
+<ul>
+   <li>the script execution sandbox<br>
+ an implementation of the language  neutral runtime security  &nbsp;subsystem</li>
+   <li>the language runtime (the runtime container)&nbsp;<br>
+  language specific binding to the execution engine (VM)</li>
+   <li>the language execution context<br>
+ static and runtime data available  to a script during execution</li>
+   <li>the code management subsystem<br>
+ script finder/explorer/loader</li>
+   <li>UI of security configuration</li>
+   <li>debugger&nbsp;</li>
+ 
+</ul>
+ 
+<h2>Script lifecycle services</h2>
+ <u>Problem domain definition:</u><br>
+ The script lifecycle services is a subsystem of the execution  engine (VM) 
+which is responsible for:<br>
+ 
+<ul>
+   <li>creation and maintains of the script execution context</li>
+   <li>control over the script length of life</li>
+   <li>accounting of the script acquired resources</li>
+   <li>clean up after the script end of life.    &nbsp;&nbsp;&nbsp;&nbsp;</li>
+ 
+</ul>
+ <u>Participants:</u><br>
+ 
+<ul>
+   <li>the code management subsystem  <br>
+ script finder/explorer/loader</li>
+   <li>the language runtime (the runtime container)<br>
+ language specific binding to the execution engine (VM)</li>
+   <li>the language execution context  <br>
+ static and runtime data available  to a script during  &nbsp;execution 
+       </li>
+ 
+</ul>
+ <br>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptEngine.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptEngine.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptEngine.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,14 @@
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/scripting/XMethod.idl>
+
+module com { module sun { module star { module scripting {
+
+// this service should be implemented once for each language with which
+// we wish to script
+service ScriptEngine {
+	interface com::sun::star::scripting::XModules;
+	interface com::sun::star::scripting::XBind;
+	interface com::sun::star::scripting::XScriptEngine;
+
+};
+}; }; }; };

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptRegisterException.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptRegisterException.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptRegisterException.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,26 @@
+#ifndef __com_sun_star_scripting_ScriptRegisterException_idl__
+#define __com_sun_star_scripting_ScriptRegisterException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+module com {
+  module sun {
+    module star {
+      module scripting {
+      
+        /** Indicates that there is a problem in registering the script engine
+         */
+        exception ScriptRegisterException: com::sun::star::uno::Exception
+        {
+          /** The Engine that tried to be (de)registered
+          */
+          string engine;
+        };
+      };
+    };
+  };
+};
+        
+#endif

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptStartedEvent.idl
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptStartedEvent.idl (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptStartedEvent.idl Sun Nov 27 22:51:54 2011
@@ -0,0 +1,20 @@
+#ifndef __com_sun_star_scripting_ScriptStartedEvent__ 
+#define __com_sun_star_scripting_ScriptStartedEvent__
+#ifndef __com_sun_star_lang_EventObject_idl__ 
+#include <com/sun/star/lang/EventObject.idl> 
+#endif 
+
+module com { 
+  module sun { 
+    module star { 
+      module scripting {
+
+        struct ScriptStartedEvent: com::sun::star::lang::EventObject {
+          string scriptName;
+        };
+      }; 
+    }; 
+  };
+};
+#endif
+

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptWP.sxw
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ScriptWP.sxw
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/Services-and-interfaces.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/Services-and-interfaces.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/Services-and-interfaces.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <title>Scripting Framework Services &amp; Interfaces</title>
+      
+  <meta http-equiv="content-type"
+ content="text/html; charset=ISO-8859-1">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+ Below are the core services and interfaces which we think are required.
+<br>
+ <br>
+ Services with required supported interfaces: 
+<ul>
+   <li><a href="ScriptManager.idl">ScriptManager</a> service</li>
+   
+  <ul>
+     <li>XModules</li>
+     <li>XBind</li>
+     <li>XScriptManager</li>
+   
+  </ul>
+   <li><a href="ScriptEngine.idl">ScriptEngine</a> service</li>
+   
+  <ul>
+     <li>XModules</li>
+     <li>XBind</li>
+     <li>XScriptEngine&nbsp;</li>
+   
+  </ul>
+   <li><a href="ScriptMethod.idl">ScriptMethod</a> service</li>
+   
+  <ul>
+     <li>XMethod <br>
+     </li>
+   
+  </ul>
+ 
+</ul>
+  Set of interfaces:<br>
+ 
+<ul>
+   <li><a href="Xbind.idl">XBind</a></li>
+   <li><a href="XMethod.idl">XMethod</a></li>
+   <li><a href="XModules.idl">XModules</a></li>
+   <li><a href="XScriptEngine.idl">XScriptEngine</a></li>
+   <li><a href="XScriptManager.idl">XScriptManager</a><br>
+   </li>
+ 
+</ul>
+  A ScriptManager service manages registered ScriptEngine services. It  aggregates 
+the modules and bind functionality of the ScriptEngine services. <br>
+  A ScriptEngine service represents a script engine for a particular language.
+ <br>
+ A ScriptMethod service represents a script method for a particular language 
+that may be invoked by StarOffice. <br>
+  <br>
+  The XBind interface provides methods to bind and unbind a method, which 
+is also associated with a particular context, application or document. A bind
+will create a ScriptMethod service. <br>
+  <br>
+ The XMethod interface provides a method to invoke a script method synchronously 
+on a method written in a script language. <br>
+ <br>
+ The XModules interface provides methods to obtain the set of available libraries, 
+modules and methods or to check that methods exists. Module/Library/Method 
+information may be represented as structs. No hierarchy traversal is required 
+to obtain the information. Hierarchy is implicit in the library/module/method 
+name space. Can be similar in style to the functionality of java.lang.ClassLoader 
+to obtain packages etc. <br>
+  <br>
+ The XScriptEngine interface provides methods to initiate, query, and monitor 
+a script engine. <br>
+  <br>
+ The XScriptManager interface provides methods to register/deregister ScriptEngine 
+services.  <br>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ThreadingSoln.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ThreadingSoln.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/draft/scripting/ThreadingSoln.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+  <title>Threading Solution</title>
+   
+
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+ 
+<h2>Introduction</h2>
+     The goals of the threading solution research are:  <br>
+ 
+<ul>
+   <li>To establish how threading currently works in OpenOffice</li>
+   <li>To investigate issues related to running multiple scripts simultaneously 
+in OpenOffice</li>
+   <li>To suggest how IDEs would be able to attach to OpenOffice scripts
+    <br>
+   </li>
+ 
+</ul>
+ 
+<p>  <a name="contents"></a> </p>
+ 
+<h2>Contents</h2>
+    
+<ul>
+  <li><a href="#current_behaviour">Current Star Basic script threading behaviour</a>
+   </li>
+   <li><a href="#current_win_behaviour">Current Ms Basic script threading 
+behaviour</a> </li>
+   <li><a href="#event_handling">Event Handling</a> </li>
+   <li><a href="#options">Options for script threading behaviour</a> </li>
+   <li><a href="#issues">Issues with allowing one script per document</a>
+  </li>
+   <li><a href="#configuration">Configuration of threading behaviour</a>
+  </li>
+   <li><a href="#ide">Identifying script threads in a debugger</a> </li>
+   <li><a href="#solarmutex">SolarMutex</a> </li>
+ 
+</ul>
+   Also of interest are these initial thoughts on the thread management topic 
+posted to <a
+ href="http://udk.openoffice.org/common/man/draft/scripting/thread-management.html">openoffice.org</a>
+ 
+<hr>  <a name="current_behaviour"></a>  
+<h3>Current StarBasic script threading behaviour</h3>
+   
+<p> Run the macro from the "Macro" dialogbox. </p>
+ 
+<ul>
+  <li>No frozen document you can work on any documents </li>
+   <li>Macro running in background </li>
+   <li>No macro can be run </li>
+ 
+</ul>
+   Assign the macro to the "F10" key. Press that key.  
+<ul>
+  <li>Active document is frozen </li>
+   <li>Other document are not frozen </li>
+   <li>Can't run any macro on other document while the macro is still running 
+even from the "Macro" dialogbox. </li>
+ 
+</ul>
+   While the macro is running, if you open the "Macro" dialogbox, the macro 
+is paused  
+<ul>
+  <li>If you close the dialog box, the macro is resumed </li>
+   <li>If you decide to edit a macro, the macro is resumed and you can stop 
+the macro from the BASIC editor </li>
+   <li>If you switch to the BASIC editor and click on the stop button, the 
+macro will be stop but nothing in the UI will be updated until the "Macro" 
+dialogbox is closed (this seems to be a bug). </li>
+ 
+</ul>
+   
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="current_win_behaviour"></a>  
+<h3>Current Ms Basic script threading behaviour</h3>
+   
+<p> Run the macro from the "Macro" dialogbox. </p>
+ 
+<ul>
+  <li>All document are frozen </li>
+ 
+</ul>
+   Run the macro from the Ms Visual Basic editor.  
+<ul>
+  <li>All document are frozen </li>
+ 
+</ul>
+   Assign the macro to the "F10" key. Press that key.  
+<ul>
+  <li>All document are frozen </li>
+ 
+</ul>
+   Run a macro that will access Excel and change the cell values.  
+<ul>
+  <li>All word document are frozen </li>
+   <li>Excel is not frozen, macro is running and changing value and you can 
+change values. </li>
+ 
+</ul>
+   
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="event_handling"></a>  
+<h3>Event Handling</h3>
+   
+<p> The OpenOffice process has multiple threads. Any thread that calls Application::Yield 
+or Application::Reschedule dispatches GUI events. Dispatching GUI events requires
+the SolarMutex, so only one thread at a time can dispatch GUI events. In
+practice the "main" OpenOffice thread is the thread that dispatches most GUI
+events.  </p>
+ 
+<p> Events can be either synchronous or asynchronous. </p>
+ 
+<p> Synchronous events are handled immediately, that means that the functionality 
+bound to the event is invoked immediately from the call stack of the thread 
+where the event occurred. The thread is therefore blocked until the event has
+been handled. </p>
+ 
+<p> Asynchronous events are placed in a message queue by the thread handling 
+the event, and the thread is not blocked, it continues executing. The message 
+queue is serviced by any thread which calls Application::Yield or Application::Reschedule.
+ </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="options"></a>  
+<h3>Options for script threading behaviour</h3>
+   
+<p> There are two possible threading models that we could use: </p>
+ 
+<ol>
+  <li>One script per OpenOffice process - this is the threading model currently 
+used by OpenOffice. </li>
+   <li>One script per OpenOffice document - this would allow more than one 
+script to be run at the same time, but only one script could be run per document 
+at a time. The thread running the script would have to grab a document lock 
+before invoking the script and release it when the script has completed.
+  </li>
+ 
+</ol>
+   
+<p> The best solution is to implement option 2, and add the possibility to 
+configure the threading behaviour so that it acts like option 1 if the user 
+wishes to use this behaviour (see Configuration section below). </p>
+ 
+<p> So, how do we implement option 2? From discussions with Mathias Bauer 
+and Joerg Budischweski they feel that OpenOffice should manage the spawning 
+of the threads which would invoke the scripts. In the case of synchronous 
+events the thread handling the event would spawn a thread in which it would 
+then invoke the script. In the case of asynchronous threads the thread which 
+had grabbed the event off the message queue would spawn a new thread when 
+it wanted to invoke a script. In other words the responsibility for managing 
+the per document script threads would lie with OpenOffice, not the scripting 
+framework. </p>
+ 
+<p> Changes needed: </p>
+ 
+<ul>
+  <li>The thread calling XFunction.invoke() (main thread for synchronous
+ events, message queue thread for asynchronous events) needs to spawn a 
+new thread and call XFunction.invoke() from there. </li>
+   <li>The document for which the XFunction is being invoked needs to be
+ locked for the duration of XFunction.invoke() (with a documentmutex of 
+some sort) so other XFunctions cannot be invoked for that document. The most
+difficult thing is that also every view that tries to modify a document must
+stick to this rule </li>
+ 
+</ul>
+   
+<p>See also: "Threading model for an office scripting framework" discussion 
+on	openoffice.udk.dev newsgroup </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="issues"></a>  
+<h3>Issues with allowing one script per document</h3>
+   
+<p> Because of problems with thread safety in the OpenOffice API it is currently 
+unsafe to allow more than one thread to make API calls at the same time. For
+this reason there is a global SolarMutex which thread unsafe API implementations 
+automatically lock before executing any functionality, and unlock before returning.
+The thread calling the OpenOffice API is not aware of this SolarMutex. While
+the SolarMutex is grabbed, OpenOffice API calls from other threads will block
+until the SolarMutex becomes free. The OpenOffice UI will be frozen while
+the SolarMutex is locked.  If a script calls a OpenOffice API, the solarmutex
+will be grabbed until the API call returns which would temporarily freeze
+all document windows. These freezes may be an unacceptable annoyance to users
+and they may prefer that the UI be completely frozen for the duration of
+script execution rather than having it freeze unexpectedly. </p>
+ 
+<p> See also: "Office API and thread safety" discussion on	openoffice.framework.dev 
+newsgroup </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="configuration"></a>  
+<h3>Configuration of threading behaviour</h3>
+   
+<p> The threading behaviour of Office should be configurable so that the user
+can switch on/off the one script per document behaviour as they wish. A radio
+box should be added to the Scripting pane of the Office options dialog with
+the options: </p>
+ 
+<p> Allow only one script to be run by OpenOffice at a time. <br>
+ Allow one script per document to be run by OpenOffice at a time </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="ide"></a>  
+<h3>Identifying script threads in a debugger</h3>
+   
+<p> The issue here is how we can identify which thread in a OpenOffice process 
+is running the script we are interested in debugging. This is possible in 
+java using the java.lang.Thread.setName() method. The pairing of script name 
+and document name should be sufficient to uniquely identify the appropriate 
+thread. </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <a name="solarmutex"></a>  
+<h3>SolarMutex</h3>
+   
+<p> A problem could arise if a thread that does not possess the SolarMutex
+ tries to execute a script synchronously, because any API call in the script 
+can possibly acquire the SolarMutex. This may cause a deadlock, f.e. if the 
+thread possessing the SolarMutex waits for a resource that is locked by the 
+thread that tries to execute a script synchronously.  So we could add some 
+code here, that denies script execution, if it should be done synchronously 
+and the SolarMutex is locked. It's better to treat this as an error than taking
+the risk of getting a deadlock. <br>
+ ======<br>
+  suffice to say that for synchronous executions the thread owns the SolarMutex, 
+it doesn't need to be the "main" thread. <br>
+ ======<br>
+  Every not thread safe implementation of our API will acquire the SolarMutex 
+in any interface call before anything will be done inside the method. So the
+function object doesn't need to care for that <br>
+ ======<br>
+  the SolarMutex should be locked only inside the API calls (it will be anyway), 
+not by the function object (it mustn't, because it doesn't know if it is called
+synchronously or not!), the event handler or anybody else.  A big advantage
+of this is, that the SolarMutex will be freed between two API calls, giving
+the message queue a chance to allow for a minimum responsiveness of the office
+process. The script then will work in parallel to the event queue.   Only
+for synchronous execution we should try to (!) acquire the SolarMutex before
+executing the script as described above. If the try fails, script execution
+should be denied. I consider this to be a rare case, currently I can't imagine
+that any event that may cause a script execution will occur in a thread without
+the SolarMutex. But it's good to handle this case in an appropriate way.
+<br>
+ ======<br>
+  </p>
+ 
+<p> <a href="#contents">Contents</a> </p>
+ 
+<hr>  <br>
+ 
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>



Mime
View raw message