Index: openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl 25 Feb 2003 15:15:33 -0000 1.2 +++ openacs-4/packages/acs-service-contract/tcl/implementation-procs.tcl 28 Aug 2003 09:41:39 -0000 1.3 @@ -46,9 +46,47 @@ ad_proc -public acs_sc::impl::new_from_spec { {-spec:required} } { - Add new service contract implementation from an array-list style implementation. + Add new service contract implementation from an array-list style implementation, + and binds it to the specified contract. - @return the ID of the new implementation +

+ + The specification takes the following form: + +

+    set spec {
+        contract_name "Action_SideEffect"
+        owner "bug-tracker"
+        name "CaptureResolutionCode"
+        aliases {
+            GetObjectType bug_tracker::bug::object_type
+            GetPrettyName bug_tracker::bug::capture_resolution_code::pretty_name
+            DoSideEffect  bug_tracker::bug::capture_resolution_code::do_side_effect
+        }
+    }
+    acs_sc::impl::new_from_spec -spec $spec
+    
+ + And here's the explanation: + +

+ + The spec is an array-list with the following entries: + +

+ + The aliases section is itself an array-list. The keys are the operation names + from the service contract. The values are the names of Tcl procedures in your package, + which implement these operations. + + @param spec The specification for the new service contract implementation. + + @return the impl_id of the newly registered implementation } { # Spec contains: contract_name, name, owner, aliases array set impl $spec