Release 2020.09 (september 2020)

De september release omvat voor Vendisto een interface met Channable, en diverse faciliteiten voor een flexibele definitie daarvan. Verder is veel aandacht besteed aan het opschonen van prijsmanagement en BTW tarieven. Highlights op integratie vlak zijn een verbeterde integratie met Exact Online en AGP. Aan shop-zijde zijn vooral diverse problemen in het bestelproces verholpen, die zich konden voordoen in specifieke uitzonderingssituaties.

A new header menu has been implemented. The new menu will be displayed in the website header and will display all the root categories in a bar with a fold-out menu while hovering over these items. This fold-out menu contains the child items and their children in a list type display.
A bug has been fixed which prevented correct functioning of the Account Activation page.
A bug which prevented alternative deliver adresses to be shown, has been solved
A bug has been fixed that caused an error page when searching while logged in as a user with UserRestrictedArticleLists attached.
Fixed in bug in the logic determining what restricted order lists a user is connected to.
The mobile shop has been updated to the latest ShoxlPro core version. Some improvements have been made in the communication of messages to the app user.
A bug has been fixed in the order process that in some cases prevented a logged in user to place an order when using UserRestrictedOrderLists.
A user that has no UserRestictedArticleList(s) attached to his/her account will not automatically have access to all UserRestrictedArticleLists that are available to the customer the user belongs to.
An order for a passerby customers is now fully mapped to a new created customer account in Exact.
The interface to Exact Online now uses the Shoxl API key instead of a customer key. Furthermore, several changes have been made to the Exact batch interface parts: Delivery Costs are now optional, classification of the Delivery Account can now be specified, and Outlet/Sale price functions are now set per Shoxl shop user.
A bug has been resolved which prevented the import of ProfileRestrictedProduct files. These files describe for each authorization profile which products should be shown in the default product list that a customer with such a profile sees in the customer portal, after logging in.
Shortcomings of the feed response fixed. Image link is still under discussion.
The new UI for the product feed settings is more intuitive. It has two columns to choose product feed setting value. One is called Setting value where you specify the value of the setting with plain text. The other is called Product property where you can select to map a already existing product property value to the product feed setting value
Column is renamed to Product Property for better understanding.
The feed can be requested via two separate requests depending on the desired feed format response. There is one for XML and one for JSON. The request structure can be found in the Swagger APi Documentation.
Fixed a bug where an error message would appear when an article is selected for an orderline
Fixed a bug where when the user right section is not enabled for a Vendisto customer, users could not be saved.
Fixed a bug where the VAT rate for an article will not be updated in the performance database.
Article importers speed optimization by changing the queries
The orderline price per unit gets automatically populated when an article is selected
Creating VAT rate for a country with no rates will automatically make it default and assign it to all article groups.
Changed article price information labels
Changed the information text on the order line pricing information section
The price list price for an article now uses the debtor number for customer identification, rather than the username of its users.
The XML that is sent on the Order Confirmation Event was not formatted properly in the message body. This has been corrected.
Users will not be able to have more than 12 Cells in a Row. A placeholder will not be shown when hovering over such Rows.
Users can safely add videos, being sure they will be displayed accordingly in their webshop
Users can now safely use the "Delete" keyboard button to delete Blocks from the Editor

Release 2020.08 (augustus 2020)

Highlights van de augustus release zijn de uitgebreidere ondersteuning voor het bestellen in diverse verpakkingseenheden, en in Vendisto de nieuwe facilteiten voor het beheer van BTW tarieven en de uitbreidingen van de Vendisto API met diverse REST hooks. Ook is op de achtergrond veel werk verricht aan updates aan de Shoxl infrastructuur. Niet direct heel interessant vanuit functioneel oogpunt, maar zeker wel vanuit de verhoogde betrouwbaarheid en de snelheidswinst die hiermee is geboekt.

ShoxlPro can now work with several packaging units. This means that the shop can be enabled to allow ordering by several units. For example: an article can be ordered bij "Commercial Unit (a box of articles), a pallet layer (several "Commercial Units") or a pallet (several pallet layers).

When ordering one of these packaging units into the basket the number of ordered articles will be shown because all price information works on a per article basis.

The packaging units in use and their values for a specific article can be defined in de article properties. What property is used for what packaging unit is defined in the webshop settings.

It is not mandatory to use all 3 packaging units, it is possible to use just 1 or 2.

An additional option to this is the display of weight and volume per article in the basket and for the basket as a whole. The properties needed to calculate this can be stored in the article properties and the webshop settings again define what property to use for weight and volume. This information will be displayed in the basket, the order process and in the order confirmation mail.
Added the data-attribute 'data-stockmessage-targetid' to each order view, so that each order view displays a message when the user tries to order an amount higher than the current available stock. Also moved the order feedback components to a separate div.
A new option has been added enabling the removal of duplicate items in the main menu. These duplicate items are caused by classification nodes containing only 1 child automatically redirecting to this child. This option is by default disabled.
The order confirmation mail generated with the new layout now has the possibility to display an image for articles on each order line.
Fixed bug in import of ErpCache Orderhistory that caused the Vatcode to be imported with a wrong value
A new way to determine what the homepage for a webshop is has been implemented. This enables the possibility to set a page using the new "PageEditor" template as the homepage.
A new module has been added that allow users to specify VAT rates per region. These rates are now set in the section Settings / VAT rates.

VAT rates for a region will be automatically applied to all existing and new articles that do not yet have a VAT rate for that region. These products will then get the default rate for the region. If applicable another VAT rate may be chosen at the product level.

It is assumed that all variants of a product (articles of an article group) have the same VAT rate. It is therefore defined at the product (article group) level, not at the variant/article level.
A module has become available for the creation and management of tokens that are used by external applications when authenticating to the Vendisto API.
New REST hooks give you the ability to subscribe and unsubscribe to certain event types - new order, new customer and new news item. When you subscribe you make a POST request to the Vendisto API and provide the hook url (to which we will send the data when the event occurs) and the event type (New_Order, New_Customer, New_NewsItem).

For authentication purposes a token can be generated on the Application Management page in the Settings of Vendisto. Each request to the API must consist of Authorization header with value - Bearer + space + token.
Vendisto is now capable of sending a JSON-formatted message to an endpoint, as specified in the Document Settings section, on Confirmation of an Order.
A setting has been introduced that defines whether product data originates from an external source. When this is the case, a button will be shown on the Product screen , section Description, that triggers the visibility of the fields that show the imported data. These fields are called "Original Title" and "Original Description Header/Footer".

The shop will use the Title, Description Header and Description Footer fields. Initially, these fields will be set to the imported data, so equal the Original field values. They may be changed by the user however.
The article group import/export has been extended with VAT rates for each country. So the number of columns is the same as the number of countries. These columns are not required. Each cell contains the applicable VAT rate for that article in the country specified in the head.
The buttons Ask a Question and User Manual on the Vendisto homepage now link to the Contact Page and the User Manual on the Shoxl site, respectively.
A bug has been repaired that prevented the "Back" button in the Vendisto customers section from working correctly.

Release 2020.07 (juli 2020)

In de Juli release is veel aandacht besteed aan het doorvoeren van verbeteringen in de Shoxl Scan App - de App waarmee u snel winkelmandjes samenstelt door barcodes te scannen. Verder zijn diverse uitbreidingen in de Drag & Drop page editor beschikbaar gekomen.

A scan of a barcode could results in more thanone find, because the search function also looked for the scanned GTIN in other fields such as the description field. For this reason the search and barcode scan functionality has been changed. The general search in the top of the app still works as before. The quick order in the basket and by extension the search function underlying the barcode scan has been changed. It will first attempt to find an article based on article number or GTIN, if this is unsuccessfully it will revert to the basic search functionality as described above.
The default configuration of the scan app has been changed to make sure that only secure call (HTTPS) are being made.
When switching users the values that had been entered in the field "Project number" and "Remarks" in the order process would be carried over to the new user. This is not a desired feature and has been changed by emptying the field when switching users.
Error messages originating from the search, quick order and scan functionality would get "stuck", meaning they where never hidden after display. This has been fixed. We have also implemented a new more user friendly way of displaying error messages.
We fixed a bug where a user after logging in from an article detail page would be confronted with a totally grey content pane in the scan app.
Introduced new setting "DisplayCustomerSelectedArticleProperties" (boolean). If set to true, all properties that are specified in CustomerSelectedArticleProperties will be displayed in a separate group/block. The properties specified in CustomerSelectedArticleProperties have higher precedence than normal properties of an article. So properties specified in CustomerSelectedArticleProperties will not be displayed in the normal property list of an article. The CustomerSelectedArticleProperties contains a list of header id's. Optional, a css class name for this property can be specified. If no css class name for a property is specified, then an index will be used as css class name.
"The article property table can now be ordered in the order specified in Vendisto Properties. The order as specified in the article import will then be ignored. The setting can be activated by adding a setting UseHeaderCollectionOrderingForTheArticlePropertiesTable with value = true."
The text displayed in de CSV quick order userinterface is now presented in the HTML format, enabling more elaborate layout options. The text is set in the resources table.
The article name in the favorites list can now optionally be wrapped in an anchor element.
A new setting has been added that will disable all order options in the favorites list when set to true.
"When trying to change slides on a carousel in the shop, an error was thrown. This was caused by the carousel arrows having an invalid "href" attribute. The href was changed to point to the carousel ID, as in Bootstrap 3's documentation"
A bug has been fixed that caused the shop to return a server error (500) instead of a 404 error when handling an url leading to a category, articlegroup or article with a suspended lifetimestate.
Fixed a bug that caused the article price information not to be retrieved correctly.
The articles in the CategorySlider where being displayed in an incorrect order, this has been fixed.
Disabled automatic formatting of XML files that are converted to Zip format in order to solve a problem that was caused by the formatting.
Orders from new customers can now result in the automatic creation of a new debtor in Exact, instead of being attached to a general collective debtor number for small customers.
An additional web hook event has been introduced. This is the New_Product hook event which sends the new articles from simplified article import.
66390 Page Editor: components now take full width of container (no padding)

Padding on some components was causing confusion about the component positioning. The paddings are now consistent and should be a closer match to end-user expectations

66305 Page Editor: All slides should have the size of the biggest image

Carousel was constantly switching height because placeholders had a fixed height independent of the images placed in the carousel. The behaviour was updated, so that placeholders have the same height as the highest image in the carousel. This should be more consistent with user expectations, especially if users fill the carousel with images having the same height

66304 Page Editor: Add hyperlink, alt for images/slides

The carousel component was capable of adding/removing images only. Images in the carousel can now point to a particular hyperlink (added from the side menu) or have an alt text (added from the image browser dialog)

66312 Page Editor: 12 col container that does not stretch the full-width

Previously, users had the option to place rows that span to the full width of a page only. Now they can make use of the container and container-fluid Bootstrap classes. By setting an option in the Row side menu, the selected Row will either occupy a fixed width (changing per device) or span the full width of the screen

66310 Page Editor: Change list element template and settings

List and item blocks now render a placeholder when dropped on the canvas. Furthermore it is now possible to specify the type of item that is to be rendered (product, news, wiki).

66591 Page Editor: Placeholders in shop for missing images

Image components without an image were displaying a placeholder in the editor, but as a missing image in the shop. Placeholders are now made available in the shop as well

65344 Page Editor: Hiding/showing content depending on device size

Bootstrap provides utility classes which enable users to hide HTML elements for different device sizes. Users can hide Rows by clicking on the crossed eye icon in the Row toolbar. Hidden rows can then be viewed by clicking on the same icon in the editor top bar

66998 Page Editor: Changing an image does not update site

Changing images (or other properties) should update site

66996 Page Editor: Label PageEditor positioned on top of image upload dialog

The upload dialog covers everything on the page

66315 Page Editor: Responsive height is lost on duplicate/move

Carousel slides and images should resize to keep the aspect ratio of the selected image. The behaviour was breaking when moving or duplicating components. Both now preserve their height even when moved or duplicated.

Release 2020.06 (juni 2020)

In juni is de eerste versie van onze volledig vernieuwde PageEditor beschikbaar gekomen. Met deze editor kunnen volledig responsive pagina's worden samengesteld via "drag-and-drop" van blokken. In komende releases zal de editor nog verder worden uitgebreid met nieuwe contenttypes.

A new "PageEditor template has been created in Vendisto and is now available for use in ShoxlPro. This editor gives total page layout freedom.

A totally revamped editor allows our users to build content in a more visual way, by dragging/dropping components. The resulting page is fully responsive (uses the Bootstrap framework).

The first version of the editor supports a limited number of building blocks. This set will be extended in the near future.

The editor can be activated by selecting the template "PageEditor" at creation time of a page.
All images in the ShoxlPro shops can now be served via Cloudflare CDN. This means a decrease in page load times and better security when it comes to attacks. This feature is optional. It requires the shop to be configured to use the caching layer. The feature requires a subscription.
The shop now shows both original and discounted gross prices, based on gross pricelists that are maintained in the ERP system.

The capability to shows customer-specific price lists (discounts) is also still available. It is thus possible to show, for a specific article, the original price, the discounted price, a customer-specific price, and if applicable also pricing discount based on volume.

Technical background: Implemented outlet and action pricelists to be exported as discount prices in brutopricelist, ERP Cache pricelist and ERP Cache customer prices for Exact batch interface.
"The new "PageEditor" template content will always be shown at full page-width (100%). This allows users to create banners/wows that span a whole page. Content that needs left/right whitespace must now be placed in a container.

Please note that this also requires a change of the CSS used for the shop; otherwise, standard bootstrap behaviour will result in a small amount of whitespace to the left and right of the row content."
The PageEditor template offers the option to specify which users can view the row content. This works on the row level, e.g.: the user will either see all content in all cells (columns) in a row, or the user will not see the row at all. Both rows and users are added to one or more authorization groups. The user sees all rows that are visible for the authorization profiles the user has been added to.
The order confirmation mail can now show product images. The images will be shown in the order confirmation mail by default en can optionally be disabled by the mail styling.
An articlegroup search result sometimes displayed the article image instead of the articlegroup image. This has been fixed. The articlegroup search result will now always display the image belonging to the articlegroup. If the articlegroup doesn't contain any images an article image will be used.
Vendisto instances that get data from an external datapool (such as EZ-Base, IceCAT or 2BA) show for relevant fields both datapool product data and the product data that has been modified by the user.

The button that shows/hides the product datapool data for a specific user is now only visible for Vendisto instances that are actually connected to a datapool.
For a better "what-you-see-is-what-you-get" experience Vendisto content editors now use the same styling as applied in the shop itself. The CSS to be used can be specified in Vendisto (Settings/Vendisto/Page editor external styling).

Images that are uploaded in the Vendisto editor now get the "img-responsive" class. Previously this class was only applied at page rendering by the shop. By adding the class to images in the editor we ensure that they are equal to the cell width here too.
Optimized import of WebShop XML files. The import now compares articles with the previous import and skips them if they are unchanged.
It is now possible to sum product stock in multiple warehouses, in order to show total stock.

Technical background: Shoxl Webservice using ErpCache Connector now retrieves new Stock table data in GetProductInformations function. Old location of stock data is used for legacy installations. ERP Cache Stock import now supports stock per WarehouseId. Stock is imported in new table named Stock. For legacy purposes the old stock field is preserved.
A cashback overview has been created which is accessible from the user portal and via the user menu. The cashback overview will show the cashback, the cumulative sales volume and the date until which it is calculated.

The Cashback overview can be enabled via the website settings
It is now possible in the order confirmation email to override the Articlenumber from a orderline by an Article property

Technical explanation:
To be able to override the article number by an other article property you should setup two properties:
1) OverrideArticleNumberWithCustomerArticleNumber: true
2) CustomerArticleNumberArticlePropertyName: "[PropertName]"

The second property will be used to match with the Article Property list node. So if [ProperryName] is called 'CustomerArticleNumber'
The linked articles should have property field named: CustomerArticleNumber
And the value of this property field will be used to be overriden in the order confirmation email.
Connected Shoxl webservice to renewed VelService that was developed by MSG
A bug that prevented product data import because it caused a high load on the caching layer (RavenDB) has been removed.

Technical info: Fixed NullReferenceException in CategoryAssetsChangeListener. Optimized memory usage of importer."