User Manual/Administration Interface/Plugin list

Plug-ins explained
A plug-in in the Arcavias e-commerce framework is a class that registers itself at the basket for certain events. The events can be e.g. when a product is added or deleted, the delivery or payment option is set or the basket is going to be ordered. In each case the plug-ins that have been registered for the event are notified and are then able to react on this event. The plug-ins can for example change the shipping costs, add sample products or check the minimum order value. Plug-ins are a very flexible way to enforce any rules that can be implemented in an algorithm.

List of configured plug-ins


The "Plugin" list view provides a paged list of all configured plug-ins in the system, which can be filtered by various criteria. The most important columns are shown by default but the list of columns can be adapted via the list header. Plug-in configurations can be added, edited or deleted either via using the button in the menu or by using the context menu which is shown if you right-click into the list. A double click also opens the detail view for editing the plug-in configuration.

Currently, the following plug-ins are configured by default
 * Autofill
 * AddressAvailable
 * ProductGone
 * ProductStock
 * ServicesAvailable
 * ServicesUpdate



AddressAvailable
Checks if billing and delivery addresses are available. You can enforce or prevent the usage of each address type separately. This is checked before the customer wants to place the order.


 * payment (optional) : A value of "1" enforces the billing address, "0" prevents a billing address. If you don't set the configuration option, a customer can enter a billing address but it's not required
 * delivery (optional) : A value of "1" enforces the delivery address, "0" prevents a delivery address. If you don't set the configuration option, a customer can enter a delivery address but it's not required

Autofill
Adds delivery and payment options automatically as well as addresses of logged in users when they add a product to the basket.


 * autofill.useorder (optional, default=1) : Uses the last order of the customer to add the addresses and the payment/delivery options from that order. A value of "1" or no configuration enables this behaviour, "0" disables it.


 * autofill.orderaddress (optional, default=1) : Adds the entered addresses from the last order of the customer. A value of "1" or no configuration enables this behaviour, "0" disables it.


 * autofill.orderservice (optional, default=1) : Adds the chosen delivery and payment option from the last order of the customer. A value of "1" or no configuration enables this behaviour, "0" disables it.


 * autofill.delivery (optional, default=0) : Adds the first option from the list of delivery options to the basket. A value of "1" enables this behaviour, "0" or no configuration disables it. Make sure your delivery options use unique positions to get reproducible results!


 * autofill.payment (optional, default=0) : Adds the first option from the list of payment options to the basket. A value of "1" enables this behaviour, "0" or no configuration disables it. Make sure your payment options use unique positions to get reproducible results!

BasketLimits
Checks if the basket contains a minimum value and/or a minimum amount of products. This rule is applied before the customer can enter the checkout process.


 * min-products (optional) : Minimum quantity of products that must be in the basket. The limit can be reached by different products or by only one product that is ordered with the required quantity. A positive integer value starting from 1
 * max-products (optional) : Maximum quantity of products that can be in the basket. The limit can be reached by different products or by only one product that is ordered with the required quantity. A positive integer value starting from 1
 * min-value (optional) : The minimum value before the basket can be ordered. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"1.00","USD":"1.00"}
 * max-value (optional) : The maximum value until the basket can be ordered. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"1.00","USD":"1.00"}

Coupon
Activating this plug-in ensures that actions of coupon providers are not only executed when customers enter their code. Instead, the coupon provider will update the basket every time the basket content changes. This also means that coupons will be removed again if their requirements aren't met any more. Please have a look at the coupon decorators if you want to define one or more requirements for a coupon.

ProductGone
This plug-in checks if the products the customer would like to order are still available (or have been removed from the list of sold articles in the meantime). If not, the customer is asked to remove them from the basket before he can finish the order. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ProductLimit
Product related limits that can be ordered. This rule is applied when a product is added to the basket.


 * single-number-max (optional) : The maximum quantity that is allowed per product. A positive integer number starting from 1
 * total-number-max (optional) : The maximum allowed quantity of all products in the basket. A positive integer number starting from 1
 * single-value-max (optional) : The maximum order value per product. A positive price value whose format must be x.xx
 * total-value-max (optional) : The maximum order value of all products in the basket. A positive price value whose format must be x.xx

ProductPrice
The plug-in checks if the price of the products the customer would like to order have changed. If this is the case, the customer is informed about the price update in his basket. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ProductStock
It checks if the products the customer would like to order are still in stock. If not, the customer is asked to remove them from the basket before he can finish the order. This plug-in is applied in the basket and at the end of the checkout process. It doesn't have any options.

ServicesAvailable
Checks if a delivery or payment service was chosen by the customer. You can enforce or prevent the usage of each service type separately. This is checked before the customer wants to place the order.


 * payment (optional) : A value of "1" enforces a payment service, "0" prevents adding a payment service. If you don't set the configuration option, a customer can select a payment service but it's not required
 * delivery (optional) : A value of "1" enforces a delivery service, "0" prevents adding a delivery service. If you don't set the configuration option, a customer can select a delivery service but it's not required

Shipping
Grants free shipping if the value of the basket is over the configured value. This rule is applied all times when the basket content changes.


 * threshold : Value of the basket over which free shipping is granted. The format is a JSON encoded map of the currency ID and the value in x.xx format, e.g. {"EUR":"40.00","USD":"50.00"}

<< Previous: View category details | Next: Plug-in details >>