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 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."