OpenACS Service Contracts

API and UI for service contracts. Service contracts defines an API for the creation of interfaces and discovery of interface implementations. Examples are the contracts used for search which provide a means to get content on a given object and to translate an object_id to a URL or the contracts used by dotLrn and new-portals to allow packages to provide portalized panes.

 

Package Documentation 

Procedure Files

tcl/acs-service-contract-procs.tcl       Support library for acs service contracts. 
tcl/contract-procs.tcl       Support library for acs service contracts. 
tcl/implementation-procs.tcl       Support library for acs service contracts. 
tcl/msg-type-procs.tcl       Support library for acs service contracts. 

Procedures

acs_sc::contract::delete       Delete a service contract definition. 
acs_sc::contract::get_operations       Get a list of names of operations for the contract. 
acs_sc::contract::new       Procedure to call to define and new service contract and the message types, implementations and bindings. 
acs_sc::contract::new_from_spec       Takes a complete service contract specification and creates the new service contract. 
acs_sc::contract::operation::delete       Delete a message type. 
acs_sc::contract::operation::new       Call the service contract function to create the operation in the database. 
acs_sc::contract::operation::parse_operations_spec       Parse the operations defined in the operations specification 
acs_sc::contract::operation::parse_spec       Parse one operation 
acs_sc::impl::alias::new       Add new service contract implementation alias (the procedure that implements the operation in a contract). 
acs_sc::impl::alias::parse_aliases_spec       Parse multiple aliases. 
acs_sc::impl::alias::parse_spec       Parse the spec for a single alias. 
acs_sc::impl::binding::init_procs       Initialize the procs so we can call the service contract. 
acs_sc::impl::binding::new       Bind implementation to the contract. 
acs_sc::impl::delete       Delete a service contract implementation 
acs_sc::impl::get       Get information about a service contract implementation. 
acs_sc::impl::get_id       Retrieves the ID for a service contract. 
acs_sc::impl::get_options       Get a list of service contract implementation options for an HTML multiple choice widget. 
acs_sc::impl::new       Add new service contract implementation. 
acs_sc::impl::new_from_spec       Add new service contract implementation from an array-list style implementation, and binds it to the specified contract. 
acs_sc::invoke       A replacement of the former acs_sc_call procedure. 
acs_sc::msg_type::delete       Delete a message type. 
acs_sc::msg_type::element::new       Insert a new msg_type element 
acs_sc::msg_type::new        
acs_sc::msg_type::parse_spec       #The specification for the message type could be like this! #case_id:integer #foobar:string,multiple 
acs_sc_binding_exists_p       Returns a boolean depending on whether or not the binding between the contract and implementation exists. 
acs_sc_call       Additional documentation and commentary at http://openacs.org/forums/message-view?message_id=108614. 
acs_sc_generate_name       generate the internal proc name. 
acs_sc_get_alias       Returns the implementation alias (the proc defined to handle a given operation for a given implementation). 
acs_sc_get_statement       Builds the statement to call from the provided metadata. 
acs_sc_proc       Builds the proc used by acs_sc::invoke, generally only called in acs-service-contract-init.tcl at startup. 

SQL Files

sql/postgresql/acs-sc-msg-types-create.sql        
sql/postgresql/acs-sc-msg-types-drop.sql        
sql/postgresql/acs-sc-object-types-create.sql        
sql/postgresql/acs-sc-object-types-drop.sql        
sql/postgresql/acs-sc-packages-create.sql        
sql/postgresql/acs-sc-packages-drop.sql        
sql/postgresql/acs-sc-tables-create.sql        
sql/postgresql/acs-sc-tables-drop.sql        
sql/postgresql/acs-sc-views-create.sql        
sql/postgresql/acs-sc-views-drop.sql        
sql/postgresql/acs-service-contract-create.sql        
sql/postgresql/acs-service-contract-drop.sql        
sql/postgresql/sc-sample-create.sql        
sql/postgresql/sc-sample-drop.sql        
sql/postgresql/upgrade/upgrade-4.5.1-4.6.sql        
sql/postgresql/upgrade/upgrade-4.7d2-4.7d3.sql        
sql/postgresql/upgrade/upgrade-5.1.0d1-5.1.0d2.sql        
sql/postgresql/upgrade/upgrade-5.3.1-5.4.0d1.sql        
sql/postgresql/upgrade/upgrade-5.8.1d3-5.8.1d4.sql        
sql/postgresql/upgrade/upgrade-5.9.1b3-5.9.1b4.sql        

Content Pages

www/
      binding-display.adp
      binding-display.tcl Display a given service contract
      binding-install.tcl
      binding-uninstall.tcl
      contract-display.adp
      contract-display.tcl Display a given service contract
      index.adp
      index.tcl

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com