Index: openacs-4/packages/shipping-gateway/shipping-gateway.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/shipping-gateway.info,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/shipping-gateway.info 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,44 @@ + + + + + Shipping Service Contract + Shipping Service Contract + f + t + + + + oracle + postgresql + + Bart Teeuwisse + First stab at a service contract for shipping services like UPS, Fedex or home grown shipping rates. + 2002-05-13 + First stab at a service contract for shipping services like UPS, Fedex or home grown shipping rates like value-based shipping rates. + + + + + + + + + + + + + + + + + + + + + + + + + + Index: openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-create.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1 @@ +@shipping-gateway-sc-create Index: openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-drop.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1 @@ +@shipping-gateway-sc-drop Index: openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-create.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,60 @@ +declare + bar integer; +begin + +-- Definition of the ShippingGateway service contract. + +bar := acs_sc_contract.new ( + 'ShippingGateway', -- contract_name + 'Interface to shipping rates and services' -- contract_desc +); + +-- RatesAndServicesSelection returns a list of arrays. Each array +-- contains the service level code (service_code) and the associated +-- total charges (total_charges) for the shipment. + +bar := acs_sc_msg_type.new ( + 'ShippingGateway.RatesAndServicesSelection.InputType', + 'orig_country_iso:string,orig_zip_code:string,dest_country_iso:string,dest_zip_code:string,shipment_value:string,value_currency_code:string,shipment_weight:string,weight_unit_of_measure:string' +); + +bar := acs_sc_msg_type.new ( + 'ShippingGateway.RatesAndServicesSelection.OutputType', + 'rates_and_services:string' +); + +bar := acs_sc_operation.new ( + 'ShippingGateway', -- contract_name + 'RatesAndServicesSelection', -- operation_name + 'Select shipping rates and services', -- operation_desc + 'f', -- operation_iscachable_p + 8, -- operation_nargs + 'ShippingGateway.RatesAndServicesSelection.InputType', -- operation_inputtype + 'ShippingGateway.RatesAndServicesSelection.OutputType' -- operation_outputtype +); + +-- ServiceDescription retrieves the description of a service level +-- code (service_code). The description is returned as a string. + +bar := acs_sc_msg_type.new ( + 'ShippingGateway.ServiceDescription.InputType', + 'service_code:string' +); + +bar := acs_sc_msg_type.new ( + 'ShippingGateway.ServiceDescription.OutputType', + 'service_description:string' +); + +bar := acs_sc_operation.new ( + 'ShippingGateway', -- contract_name + 'ServiceDescription', -- operation_name + 'Get service level description', -- operation_desc + 'f', -- operation_iscachable_p + 1, -- operation_nargs + 'ShippingGateway.ServiceDescription.InputType', -- operation_inputtype + 'ShippingGateway.ServiceDescription.OutputType' -- operation_outputtype +); +end; +/ +show errors Index: openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/oracle/shipping-gateway-sc-drop.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,11 @@ +begin + acs_sc_operation.delete('ShippingGateway','RatesAndServicesSelection'); + acs_sc_msg_type.delete('ShippingGateway.RatesAndServicesSelection.InputType'); + acs_sc_msg_type.delete('ShippingGateway.RatesAndServicesSelection.OutputType'); + acs_sc_operation.delete('ShippingGateway','ServiceDescription'); + acs_sc_msg_type.delete('ShippingGateway.ServiceDescription.InputType'); + acs_sc_msg_type.delete('ShippingGateway.ServiceDescription.OutputType'); + acs_sc_contract.delete('ShippingGateway'); +end; +/ +show errors Index: openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-create.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1 @@ +\i shipping-gateway-sc-create.sql \ No newline at end of file Index: openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-drop.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1 @@ +\i shipping-gateway-sc-drop.sql \ No newline at end of file Index: openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-create.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,53 @@ +-- Definition of the ShippingGateway service contract. + +select acs_sc_contract__new ( + 'ShippingGateway', -- contract_name + 'Interface to shipping rates and services' -- contract_desc +); + +-- RatesAndServicesSelection returns a list of arrays. Each array +-- contains the service level code (service_code) and the associated +-- total charges (total_charges) for the shipment. + +select acs_sc_msg_type__new ( + 'ShippingGateway.RatesAndServicesSelection.InputType', + 'orig_country_iso:string,orig_zip_code:string,dest_country_iso:string,dest_zip_code:string,shipment_value:string,value_currency_code:string,shipment_weight:string,weight_unit_of_measure:string' +); + +select acs_sc_msg_type__new ( + 'ShippingGateway.RatesAndServicesSelection.OutputType', + 'rates_and_services:string' +); + +select acs_sc_operation__new ( + 'ShippingGateway', -- contract_name + 'RatesAndServicesSelection', -- operation_name + 'Select shipping rates and services', -- operation_desc + 'f', -- operation_iscachable_p + 8, -- operation_nargs + 'ShippingGateway.RatesAndServicesSelection.InputType', -- operation_inputtype + 'ShippingGateway.RatesAndServicesSelection.OutputType' -- operation_outputtype +); + +-- ServiceDescription retrieves the description of a service level +-- code (service_code). The description is returned as a string. + +select acs_sc_msg_type__new ( + 'ShippingGateway.ServiceDescription.InputType', + 'service_code:string' +); + +select acs_sc_msg_type__new ( + 'ShippingGateway.ServiceDescription.OutputType', + 'service_description:string' +); + +select acs_sc_operation__new ( + 'ShippingGateway', -- contract_name + 'ServiceDescription', -- operation_name + 'Get service level description', -- operation_desc + 'f', -- operation_iscachable_p + 1, -- operation_nargs + 'ShippingGateway.ServiceDescription.InputType', -- operation_inputtype + 'ShippingGateway.ServiceDescription.OutputType' -- operation_outputtype +); Index: openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/sql/postgresql/shipping-gateway-sc-drop.sql 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,7 @@ +select acs_sc_operation__delete('ShippingGateway','RatesAndServicesSelection'); +select acs_sc_msg_type__delete('ShippingGateway.RatesAndServicesSelection.InputType'); +select acs_sc_msg_type__delete('ShippingGateway.RatesAndServicesSelection.OutputType'); +select acs_sc_operation__delete('ShippingGateway','ServiceDescription'); +select acs_sc_msg_type__delete('ShippingGateway.ServiceDescription.InputType'); +select acs_sc_msg_type__delete('ShippingGateway.ServiceDescription.OutputType'); +select acs_sc_contract__delete('ShippingGateway'); \ No newline at end of file Index: openacs-4/packages/shipping-gateway/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/www/doc/index.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/www/doc/index.adp 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,220 @@ + + + + @title@ + @signatory@ + + +

@title@

+ + + + + + +
@context_bar@
+
+ +

Why

+ +

This version of the @package_name@ is a first stab at a service + contract offering a generalized interface to shipping operations + such as obtaining quotes for services and tracking shipments.

+ +

Background

+ +

Shipping goods can be a common occurrence on OpenACS + sites. Whether it is to ship goods sold through the ecommerce + package or to return items + after a problem report logged by the ticket tracker.

+ +

There are also many different shipping companies to choose from, + e.g. UPS, FedEx, Airborne Express, DHL and many others. Most of these + shippers have Internet based APIs for initiating shipments and + tracking parcels.

+ +

Goal of the @package_name@ is to provide a single shipping + interface to OpenACS packages regardless of the actual shipping + method. Calling packages do not have to be aware of how shipments + are handled; this could be one of the aforementioned shipping + companies or an in-house solution.

+ +

This version of the @package_name@ is very simple on purpose. The + complex nature of the problem combined with the multitude of + interfaces by shipping companies and the limited capabilities of the + current ACS Service Contract + API warrant a careful and deliberate approach. Future versions + will grow in capabilities while maitaining back-wards compatibility + where possible.

+ +

Usage

+ +

As is, the @package_name@ provides two operations:

+ +
+ +

RatesAndServicesSelection

+ +

The RatesAndServicesSelection returns a list of services + offered by the shipper and their associated charges to ship the + given parcel from A to B. Services are identified by the shippers + service code.

+ +

ServiceDescription

+ +

The ServiceDescription operation returns the description of the + service level identified by the service code.

+ +
+ +

The @package_name@ only defines these operations. Concrete + functions that implement the operations of the contract have to be + written for each shipper. See the ACS Service contract for + details on writing implementations for service contracts.

+ +

Note: This release has been tested with PostgreSQL + only. While the contract supports both databases I was not able to + test the Oracle version. Please report any problems you might find + in the OpenACS SDM.

+ +

API Reference

+ +
+ +

RatesAndServicesSelection

+ +

The RatesAndServicesSelection operation takes 8 input arguments:

+
    +
  1. + +

    orig_country_iso:string

    + +

    The 2 letter ISO abbreviation of the country where the + shipment originates. See the countries table for a complete + list of ISO standard abbreviations. The countries table is + part of the Reference Data - Country package. E.g. 'US'.

    + +
  2. +
  3. + +

    orig_zip_code:string

    + +

    The zip code of the shipment's origin. E.g. '95062'.

    + +
  4. +
  5. + +

    dest_country_iso:string

    + +

    The 2 letter ISO abbreviation of the destination country of + the shipment. See the countries table for a + complete list of ISO standard abbreviations. The countries + table is part of the Reference Data - Country + package. E.g. 'NL'.

    + +
  6. +
  7. + +

    dest_zip_code:string

    + +

    The zip code of the shipment's destination. E.g. '7812 + PC'

    + +
  8. +
  9. + +

    shipment_value:string

    + +

    The total value of the shipment. E.g. '49.99'.

    + +
  10. +
  11. + +

    value_currency_code:string

    + +

    The 3 letter abbreviation of the currency used to express + the shipment value in. See the currencies + +

  12. +
  13. + +

    shipment_weight:string

    + +

    The total weight of the shipment. E.g. '7.8'.

    + +
  14. +
  15. + +

    weight_unit_of_measure:string

    + +

    The unit of measure of the shipment weight. E.g. 'lbs'.

    + +
  16. +
+ +

RatesAndServicesSelection returns a list of rates and services + in a single parameter: rates_and_services:string. The + rates_and_services value is a list of arrays. Each array contains + the service_code of service level and the total_charges for the + service. The following code example illustrates how the list + should be interpreted.

+ +
 
+      
+	set rates_and_services [acs_sc_call "ShippingGateway" "RatesAndServicesSelection" \
+				    [list "$orig_country_iso" "$orig_zip_code" "$dest_country_iso" "$dest_zip_code" \
+	                                "$shipment_value" "$value_currency_code" "$shipment_weight" "$weight_unit_of_measure"] \
+				        "$shipping_gateway"]
+        foreach service $rates_and_services {
+	    array set rate_and_service $service
+	    set total_charges $rate_and_service(total_charges)
+	    set service_code $rate_and_service(service_code)
+	    set service_description [acs_sc_call "ShippingGateway" "ServiceDescription" \
+					"$service_code" \
+					 "$shipping_gateway"]
+
+        }
+      
+    
+ +

ServiceDescription

+ +

ServiceDescription has only one input argument: + service_code:string. The operation also returns a single + parameter: service_description:string. See the above code example + for an illustration of use of the ServiceDescription + operation.

+ +
+ +

Credits

+ +

The @package_name@ was designed and written by Bart Teeuwisse for Berklee College Of Music while + working as a subcontractor for furfly.net.

+ +

The @package_name@ is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version.

+ +

The @package_name@ 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 General Public License for more details.

+ +

A copy of the GNU General Public License is + included. If not write to the Free Software Foundation, Inc., 59 + Temple Place, Suite 330, Boston, MA 02111-1307 USA Index: openacs-4/packages/shipping-gateway/www/doc/index.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/www/doc/index.css,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/www/doc/index.css 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,5 @@ +p.note { + font-style: italic; + padding: 10; + background-color: lightgrey; +} Index: openacs-4/packages/shipping-gateway/www/doc/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/www/doc/index.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/www/doc/index.tcl 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,33 @@ +ad_page_contract { + + Index to documentation of Shipping Service Contract. + + @author Bart Teeuwisse + @creation-date May 2002 + +} { +} -properties { + title:onevalue + context_bar:onevalue +} + +# Authenticate the user + +set user_id [ad_maybe_redirect_for_registration] + +set package_name "Shipping Service Contract" +set title "$package_name Documentation" + +# Check if the ecommerce and the ticket-tracker packages are installed +# on the system. + +set ecommerce_installed [apm_package_installed_p ecommerce] +set ticket_tracker_installed [apm_package_installed_p ticket-tracker] + +# Set the context bar. + +set context_bar [ad_context_bar $package_name] + +# Set signatory for at the bottom of the page + +set signatory "bart.teeuwisse@7-sisters.com" Index: openacs-4/packages/shipping-gateway/www/doc/license.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/www/doc/license.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/www/doc/license.adp 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,328 @@ + + + + @title@ + @signatory@ + + +

@title@

+ + + + + + +
@context_bar@
+
+ +

GNU General Public License

+ +

Version 2, June 1991

+ +
+    Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
+    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+
+    Everyone is permitted to copy and distribute verbatim copies
+    of this license document, but changing it is not allowed.
+  
+ +

Preamble

+ +

The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General + Public License is intended to guarantee your freedom to share and + change free software--to make sure the software is free for all + its users. This General Public License applies to most of the + Free Software Foundation's software and to any other program whose + authors commit to using it. (Some other Free Software Foundation + software is covered by the GNU Library General Public License + instead.) You can apply it to your programs, too.

+ +

When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that + you have the freedom to distribute copies of free software (and + charge for this service if you wish), that you receive source code + or can get it if you want it, that you can change the software or + use pieces of it in new free programs; and that you know you can + do these things.

+ +

To protect your rights, we need to make restrictions that forbid + anyone to deny you these rights or to ask you to surrender the + rights. These restrictions translate to certain responsibilities + for you if you distribute copies of the software, or if you modify + it.

+ +

For example, if you distribute copies of such a program, whether + gratis or for a fee, you must give the recipients all the rights + that you have. You must make sure that they, too, receive or can + get the source code. And you must show them these terms so they + know their rights.

+ +

We protect your rights with two steps: (1) copyright the + software, and (2) offer you this license which gives you legal + permission to copy, distribute and/or modify the software.

+ +

Also, for each author's protection and ours, we want to make + certain that everyone understands that there is no warranty for + this free software. If the software is modified by someone else + and passed on, we want its recipients to know that what they have + is not the original, so that any problems introduced by others + will not reflect on the original authors' reputations.

+ +

Finally, any free program is threatened constantly by software + patents. We wish to avoid the danger that redistributors of a + free program will individually obtain patent licenses, in effect + making the program proprietary. To prevent this, we have made it + clear that any patent must be licensed for everyone's free use or + not licensed at all.

+ +

The precise terms and conditions for copying, distribution and + modification follow.

+ +

Terms and conditions for copying, distribution and modification

+ +

0. This License applies to any program or other + work which contains a notice placed by the copyright holder saying + it may be distributed under the terms of this General Public + License. The "Program", below, refers to any such program or + work, and a "work based on the Program" means either the Program + or any derivative work under copyright law: that is to say, a work + containing the Program or a portion of it, either verbatim or with + modifications and/or translated into another language. + (Hereinafter, translation is included without limitation in the + term "modification".) Each licensee is addressed as "you".

+ +

Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running the Program is not restricted, and the output from the + Program is covered only if its contents constitute a work based on + the Program (independent of having been made by running the + Program). Whether that is true depends on what the Program does.

+ +

1. You may copy and distribute verbatim copies + of the Program's source code as you receive it, in any medium, + provided that you conspicuously and appropriately publish on each + copy an appropriate copyright notice and disclaimer of warranty; + keep intact all the notices that refer to this License and to the + absence of any warranty; and give any other recipients of the + Program a copy of this License along with the Program.

+ + +

You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange + for a fee.

+ +

2. You may modify your copy or copies of the + Program or any portion of it, thus forming a work based on the + Program, and copy and distribute such modifications or work under + the terms of Section 1 above, provided that you also meet all of + these conditions:

+ + + +

These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and separate + works in themselves, then this License, and its terms, do not + apply to those sections when you distribute them as separate + works. But when you distribute the same sections as part of a + whole which is a work based on the Program, the distribution of + the whole must be on the terms of this License, whose permissions + for other licensees extend to the entire whole, and thus to each + and every part regardless of who wrote it.

+ +

Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program.

+ +

In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License.

+ +

3. You may copy and distribute the Program (or + a work based on it, under Section 2) in object code or executable + form under the terms of Sections 1 and 2 above provided that you + also do one of the following:

+ + + +

The source code for a work means the preferred form of the work + for making modifications to it. For an executable work, complete + source code means all the source code for all modules it contains, + plus any associated interface definition files, plus the scripts + used to control compilation and installation of the executable. + However, as a special exception, the source code distributed need + not include anything that is normally distributed (in either + source or binary form) with the major components (compiler, + kernel, and so on) of the operating system on which the executable + runs, unless that component itself accompanies the executable.

+ +

If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code.

+ +

4. You may not copy, modify, sublicense, or + distribute the Program except as expressly provided under this + License. Any attempt otherwise to copy, modify, sublicense or + distribute the Program is void, and will automatically terminate + your rights under this License. However, parties who have + received copies, or rights, from you under this License will not + have their licenses terminated so long as such parties remain in + full compliance.

+ +

5. You are not required to accept this + License, since you have not signed it. However, nothing else + grants you permission to modify or distribute the Program or its + derivative works. These actions are prohibited by law if you do + not accept this License. Therefore, by modifying or distributing + the Program (or any work based on the Program), you indicate your + acceptance of this License to do so, and all its terms and + conditions for copying, distributing or modifying the Program or + works based on it.

+ +

6. Each time you redistribute the Program (or any + work based on the Program), the recipient automatically receives a + license from the original licensor to copy, distribute or modify + the Program subject to these terms and conditions. You may not + impose any further restrictions on the recipients' exercise of the + rights granted herein. You are not responsible for enforcing + compliance by third parties to this License.

+ +

7. If, as a consequence of a court judgment or + allegation of patent infringement or for any other reason (not + limited to patent issues), conditions are imposed on you (whether + by court order, agreement or otherwise) that contradict the + conditions of this License, they do not excuse you from the + conditions of this License. If you cannot distribute so as to + satisfy simultaneously your obligations under this License and any + other pertinent obligations, then as a consequence you may not + distribute the Program at all. For example, if a patent license + would not permit royalty-free redistribution of the Program by all + those who receive copies directly or indirectly through you, then + the only way you could satisfy both it and this License would be + to refrain entirely from distribution of the Program.

+ +

If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply and the section as a whole is intended to apply + in other circumstances.

+ +

It is not the purpose of this section to induce you to infringe + any patents or other property right claims or to contest validity + of any such claims; this section has the sole purpose of + protecting the integrity of the free software distribution system, + which is implemented by public license practices. Many people + have made generous contributions to the wide range of software + distributed through that system in reliance on consistent + application of that system; it is up to the author/donor to decide + if he or she is willing to distribute software through any other + system and a licensee cannot impose that choice.

+ +

This section is intended to make thoroughly clear what is + believed to be a consequence of the rest of this License.

+ +

8. If the distribution and/or use of the Program + is restricted in certain countries either by patents or by + copyrighted interfaces, the original copyright holder who places + the Program under this License may add an explicit geographical + distribution limitation excluding those countries, so that + distribution is permitted only in or among countries not thus + excluded. In such case, this License incorporates the limitation + as if written in the body of this License.

+ +

9. The Free Software Foundation may publish + revised and/or new versions of the General Public License from + time to time. Such new versions will be similar in spirit to the + present version, but may differ in detail to address new problems + or concerns.

+ +

Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the Program + does not specify a version number of this License, you may choose + any version ever published by the Free Software Foundation.

+ +

10. If you wish to incorporate parts of the + Program into other free programs whose distribution conditions are + different, write to the author to ask for permission. For + software which is copyrighted by the Free Software Foundation, + write to the Free Software Foundation; we sometimes make + exceptions for this. Our decision will be guided by the two goals + of preserving the free status of all derivatives of our free + software and of promoting the sharing and reuse of software + generally.

+ +

NO WARRANTY

+ +

11. BECAUSE THE PROGRAM IS LICENSED FREE OF + CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT + PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN + WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE + PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR + IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE + RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. + SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL + NECESSARY SERVICING, REPAIR OR CORRECTION.

+ +

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW + OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER + PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED + ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, + SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE + USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED + BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE + WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Index: openacs-4/packages/shipping-gateway/www/doc/license.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/shipping-gateway/www/doc/license.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/shipping-gateway/www/doc/license.tcl 21 May 2002 18:34:38 -0000 1.1 @@ -0,0 +1,28 @@ +ad_page_contract { + + License information of the Authorize.net Gateway, an + implementation of the Payment Service Contract. + + @author Bart Teeuwisse + @creation-date May 2002 + +} { +} -properties { + title:onevalue + context_bar:onevalue +} + +# Authenticate the user + +set user_id [ad_maybe_redirect_for_registration] + +set package_name "Shipping Service Contract" +set title "$package_name License" + +# Set the context bar. + +set context_bar [ad_context_bar [list . $package_name] License] + +# Set signatory for at the bottom of the page + +set signatory "bart.teeuwisse@7-sisters.com"