Hi developers,
I'm near to complete the migration of payment gateways to use the new payment
gateway entities but I'm still waiting some test user account for testing the
new integrations in OFBiz (PCCharge, ValueLink, ClearCommerce).
While I'm waiting to test it I'm thinking if we could extend this job also to
the shipment gateways and so I propose to add some new entities/fields to move
the shipment gateway config from shipment.properties to the new entities.
We could add those entities :
<entity entity-name="ShipmentGatewayConfigType"
package-name="org.ofbiz.shipment.shipment"
title="Shipment Gateway Config Type">
<field name="shipmentGatewayConfigTypeId" type="id-ne"></field>
<field name="parentTypeId" type="id"></field>
<field name="hasTable" type="indicator"></field>
<field name="description" type="description"></field>
<prim-key field="shipmentGatewayConfigTypeId"/>
<relation type="one" fk-name="SGCT_PAR" title="Parent"
rel-entity-name="ShipmentGatewayConfigType">
<key-map field-name="parentTypeId"
rel-field-name="shipmentGatewayConfigTypeId"/>
</relation>
<relation type="many" title="Sibling"
rel-entity-name="shipmentGatewayConfigTypeId">
<key-map field-name="parentTypeId"/>
</relation>
</entity>
<entity entity-name="ShipmentGatewayConfig"
package-name="org.ofbiz.shipment.shipment"
title="Shipment Gateway Config">
<field name="shipmentGatewayConfigId" type="id-ne"></field>
<field name="shipmentGatewayConfigTypeId" type="id-ne"></field>
<field name="description" type="description"></field>
<prim-key field="shipmentGatewayConfigId"/>
<relation type="one" fk-name="SGC_SGCT"
rel-entity-name="ShipmentGatewayConfigType">
<key-map field-name="shipmentGatewayConfigTypeId"
rel-field-name="shipmentGatewayConfigTypeId"/>
</relation>
</entity>
<entity entity-name="ShipmentGatewayUps"
package-name="org.ofbiz.shipment.shipment"
title="UPS Shipment Gateway Configuration">
<field name="shipmentGatewayConfigId" type="id-ne"></field>
<field name="connectUrl" type="value"><description>UPS Connection
URL</description></field>
<field name="connectTimeout" type="numeric"><description>Timeout in
seconds</description></field>
<field name="shipperNumber" type="value"><description>UPS Shipper
Number</description></field>
<field name="billShipperAccountNumber" type="value"><description>UPS Bill
Shipper Account Number</description></field>
<field name="accessLicenseNumber" type="value"
encrypt="true"><description>UPS XPCI Access License Number</description></field>
<field name="accessUserId" type="value" encrypt="true"><description>UPS
XPCI Access User ID</description></field>
<field name="accessPassword" type="value" encrypt="true"><description>UPS
XPCI Access Password</description></field>
<field name="saveCertInfo" type="short-varchar"><description>Setting to
save files needed for UPS certification (true|false)</description></field>
<field name="saveCertPath" type="value"><description>UPS file certificate
path</description></field>
<field name="shipperPickupType" type="short-varchar"><description>Shipper
Default Pickup Type</description></field>
<field name="maxEstimateWeight" type="numeric"><description>Estimate
split into packages</description></field>
<field name="minEstimateWeight" type="numeric"><description>Minimum
weight for a package</description></field>
<field name="codAllowCOD" type="value"><description>All shipment package
items are from orders which have been fully paid via
EXT_COD</description></field>
<field name="codSurchargeAmount"
type="fixed-point"><description>Surcharge amount</description></field>
<field name="surcharge.currencyUomId"
type="short-varchar"><description>Surcharge currency</description></field>
<field name="codSurchargeApplyToPackages"
type="short-varchar"><description>Surcharge amount will be applied to each
shipment package</description></field>
<field name="codFundsCode" type="short-varchar"><description>The code
that indicates the type of funds used for the COD payment</description></field>
<prim-key field="shipmentGatewayConfigId"/>
<relation type="one" fk-name="SGUPS_SGC"
rel-entity-name="ShipmentGatewayConfig">
<key-map field-name="shipmentGatewayConfigId"/>
</relation>
</entity>
And add two new fields (shipmentCustomMethodId, shipmentGatewayConfigId) on
ProductStoreShipmentMeth entity in thiw way :
<entity entity-name="ProductStoreShipmentMeth"
package-name="org.ofbiz.product.store"
title="Product Store Carrier Shipment Method Entity">
<field name="productStoreShipMethId" type="id-ne"></field>
<field name="productStoreId" type="id-ne"></field>
<field name="shipmentMethodTypeId" type="id-ne"></field>
<field name="partyId" type="id-ne"></field>
<field name="roleTypeId" type="id-ne"></field>
<field name="companyPartyId" type="id"></field>
<field name="minWeight" type="fixed-point"></field>
<field name="maxWeight" type="fixed-point"></field>
<field name="minSize" type="fixed-point"></field>
<field name="maxSize" type="fixed-point"></field>
<field name="minTotal" type="currency-amount"></field>
<field name="maxTotal" type="currency-amount"></field>
<field name="allowUspsAddr" type="indicator"></field>
<field name="requireUspsAddr" type="indicator"></field>
<field name="allowCompanyAddr" type="indicator"></field>
<field name="requireCompanyAddr" type="indicator"></field>
<field name="includeNoChargeItems" type="indicator"></field>
<field name="includeFeatureGroup" type="id"></field>
<field name="excludeFeatureGroup" type="id"></field>
<field name="includeGeoId" type="id"></field>
<field name="excludeGeoId" type="id"></field>
<field name="serviceName" type="long-varchar"></field>
<field name="configProps" type="long-varchar"></field>
<field name="shipmentCustomMethodId" type="id"></field>
<field name="shipmentGatewayConfigId" type="id"></field>
<field name="sequenceNumber" type="numeric"></field>
<prim-key field="productStoreShipMethId"/>
<relation type="one-nofk" rel-entity-name="Party">
<key-map field-name="companyPartyId" rel-field-name="partyId"/>
</relation>
<relation type="one-nofk" title="Include" rel-entity-name="Geo">
<key-map field-name="includeGeoId" rel-field-name="geoId"/>
</relation>
<relation type="one-nofk" title="Exclude" rel-entity-name="Geo">
<key-map field-name="excludeGeoId" rel-field-name="geoId"/>
</relation>
<relation type="one" fk-name="PRDS_SM_SGC"
rel-entity-name="ShipmentGatewayConfig">
<key-map field-name="shipmentGatewayConfigId"/>
</relation>
<relation type="one" fk-name="PRDS_SM_CUS_MET"
rel-entity-name="CustomMethod">
<key-map field-name="shipmentCustomMethodId"
rel-field-name="customMethodId"/>
</relation>
</entity>
Any tought on it will be very appreciate.
Thanks in advance
Marco