MD Vendor System 4
And finally, here we are.
Today I am happy, proud and also a bit scared to announce the release of MD Vendor System version 4, the vending solution developed by MD Labs.
This release comes out 2 years later from the MD Vendor System 3 availability. During this period I’ve been collecting all your feedback, requests, suggestions and complains: a total of over 100 of them that I have stored, studied and evaluated, considering what to develop to improve my next release. It took me almost 10 months of work to bring this new version together, merging my ideas with your suggestions, creating new features from scratch, improving existing ones, fine tuning everything in order to bring you the highest quality I am capable of. As some of you may know I have high standards and even higher expectations when it comes of my products: I feel this new version is more mature, stable and reliable than the past ones, keeping (hopefully) the same simplicity on everyday usage.
During the development process I had to deal with SL restrictions and limitations and often make not easy choices about how to design features and which features to keep. For this reason, you will find that some existing features have been moved from the in-world script to the MD Labs Online Services website only, while some other have been put into the in-world system. In total, no existing features have been completely removed, while new other have been added.
So, here is the changelog of MD Vendor System 4:
- MD Vendor System:
- The system is now able to manage only one item; for this reason there is no more “item” and “fatpack” buttons under “Price”. To manage also fatpack and demo you will need to install the Demo & Multiple Items plugin.
- Fatpack managing has been moved into the Demo & Multiple Items plugin; this means if you want to sell one single item and one fatpack inside the same vendor you will have to install the Demo & Multiple Items plugin and configure the fatpack price from the plugin’s settings.
- “Apply to All” feature has been greatly improved and optimized, becoming faster and lighter server-side.
- Auto backup and restore of vendor’s settings has been redesigned and is now faster, more efficient and reliable.
- Implemented a brand new communication protocol between in-world vendors and MD Labs Online Services website for a more reliable, faster and more efficient experience.
- “Vendor Mode“, “MP Link” and “Vendor Time” features have been removed from the in-world script and they are now accessible only via the MD Labs Online Services website.
- A new “Archive” button has been added to the owner menu, allowing to archive the unused vendors directly from in-world.
- A new “Direct Pay” feature has been added; starting from now, once the vendor is set for sale the left-click action will be pay, directly taking the user to pay the vendor to purchase the products. Right-click on the vendor and selecting the “Menu” entry from the drop down list will take the user to the usual menu. This option is enabled by default and can be toggled only via the MD Labs Online Services website.
- A new “Exclude” feature has been added; enabling this feature on specific vendors, they will be excluded from the “Apply to All” feature. This option can be toggled only via the MD Labs Online Services website.
- Completely redesigned the under-the-hood code used during the purchase process; this improvement aims to reduce the number of failed deliveries and invalid transactions.
- Optimized the communication protocol between the MD Vendor System core script and the plugins installed.
- Added a caching system to better handle multiple transactions processing in lag conditions.
- Improved the “Event” feature for vendors; when creating a new event you can now provide the event’s start and end date-time, forcing the in-world vendors associated to that event to work only during the specified period. Along with that, the events have now a dedicated tab on MD Labs Online Services website, with new statistics and features for a more complete managing.
- A new feature to avoid double purchases, refunding the payer avatar of the amount paid and canceling the transaction if the same product has already been purchased or gifted to the selected recipient. This feature is enabled server-side by default for everyone and for now is not possible to toggle it off.
- Managers. You can now add users as managers picking from three different permissions level. These users will be able to access your store from the MD Labs Online Services website and – depending on their permissions level – interact with the vendors. This feature is accessible only via the MD Labs Online Services website.
- Blacklist. You can now add users to your store’s blacklist blocking them from getting your products. This feature is accessible only via the MD Labs Online Services website and once a user is blacklisted, it won’t be able to:
- purchase any product from your vendors in-world;
- receive any product as gift from your vendors in-world;
- access the redelivery webpage and request for redeliveries;
- receive any product from the mass redelivery system;
- Presets. Create as many vendor’s presets as you want, including price and all the options, then apply them easily from the website. This feature is accessible only via the MD Labs Online Services website.
- Implemented a new server-side logic that should make it easier to keep track of your vendors when you move them from a region to another, or pick them in your inventory and rez them after some time. The new logic should prevent vendors to be “merged” into a single one on the website, keeping the right statistics and transactions list for each of them.
- Optimized and simplified all the data interrogations performed. Loading and processing your data on the website is now faster; this process alone took me months of work several hours per day, changing and studying how to improve the whole data structures on the server in order to speed up performances.
- Hundreds of little fixes and graphic enhancements to MD Labs Online Services website including icons, graphs, colors and texts: we like it beautiful.
- Redesigned the vendor’s details webpage. The page is now divided into two tabs, giving you lot of useful information like the vendor’s sales stats and settings.
- Online setup. You can now interact with the vendors through the MD Labs Online Services website, accessing each vendor’s setting without needing the remote control plugin anymore for it.
- Small bug fixes and memory optimizations.
- Removed the ability to send a message along with a gift.
- Other things I forgot.
- MD Vendor System Plugin – Demo & Multiple Items:
- The fatpack managing has been moved to this plugin. From now, you can enable, set price and disable the fatpack selling from the Demo & Multiple Items plugin sub-menu.
- Added a “store demo” option that allows you to store the transactions of demo items.
- Fixed a bug which was preventing the plugin to work correctly under certain conditions.
- Fixed a bug which was preventing to retrieve the right product’s permissions to store upon purchase.
- Improved the communication protocol between the plugin and the core script and between the plugin and the server.
- MD Vendor System Plugin – Remote Control:
- This plugin has been completely rewritten from scratch. The previous version was highly unstable due to several SL limitations which I did not know and thought of while creating it. For this new version I have started from zero, rewriting the whole plugin and aiming to provide a much higher overall stability. You will not see any difference in the plugin’s interface, but under the hood the code is completely different and this time it should provide a stronger connection between server vendors and clients, able to resist to SL restarts, lags and various glitches.
- The number of steps required to connect a vendor as client has been reduced and simplified as much as possible.
- The remote control plugin is not required anymore to interact with your vendors using the MD Labs Online Services website, the core script already provides that ability.
- Improved the communication protocol between the plugin and the core script and between the plugin and the server.
- Small bug fixes and memory optimizations.
- MD Vendor System Plugin – Store Credit & Gift Card:
- Store credits for group members only. When enabling store credits via the plugin you can now decide whether let everyone earn store credits or just allow group members to collect them.
- Improved the promo code utilization process.
- Added the ability to pause/resume promo codes. When paused, the promo code cannot be used to obtain discounts. This feature is accessible only via the MD Labs Online Services website.
- Added the ability to invalidate a gift card, making it unusable and impossible to redeem. This feature is accessible only via the MD Labs Online Services website.
- When creating a gift card using the full perm template provided, is now possible to pick the color of the text used to display the gift card amount.
- Improved the communication protocol used during the creation and utilization of gift cards, adding an extra layer of security to the whole process.
- Improved the communication protocol between the plugin and the core script and between the plugin and the server.
- Small bug fixes and memory optimizations.
- MD Redelivery Terminal & Product Server Script:
- This device’s code has been completely rewritten from scratch, in order to be able to work along with the new vendor system and its new communication protocol. The result of this process is a much higher overall stability whether it works as redelivery terminal or product server. The connection between this device and the client vendors connected to it is now more efficient and resistant to SL restarts, lags and glitches.
- Removed the “Client Mode” option. The device now configures itself automatically in the best way depending on how is setup and multiple terminals connects themselves automatically without any user intervention.
- Brand new redelivery webpage, easier to use and presenting two main tabs: the purchased products and the products received as gift. Moreover, the purchased products tab now shows both products purchased and gifted, allowing the user to redeliver a product to the corresponding recipient even in case of a gift transaction.
- Implemented a brand new communication protocol between in-world vendors and MD Labs Online Services website for a more reliable, faster and more efficient experience.
- Thanks to the new communication protocol implemented, the slow redeliveries / lost redeliveries requests issue that has been affecting the system in these last months is finally fixed and now redeliveries are instantaneous.
- Removed the blacklist feature, as it is now available on MD Labs Online Services website.
- Small bug fixes and memory optimizations.
Of course I was too lazy to track every change I have made during the 10+ months of developing, so the above changelog has probably to be considered partial.
As always the new version of MD Vendor System is available for free to all whom purchased it already, you can get it via update from one of your vendors (owner menu>update) or through the redelivery terminal at MD Labs in-world store. Soon I will also start the extremely boring task of updating all the online manuals to reflect all these changes and new features. Be patient.
And last, a few words on the update and compatibility. Inside the new version package there is an auto-updater that will help you get your store updated with the latest version of MD Vendor System. The auto-updater is very easy to use and once rezzed and started it will cycle through all your vendors, removing the old scripts and dropping the new ones. All automatic. The only task required from the store owner is to grant again the debit permission on each vendor: sorry guys, that’s a LL thing. Please note that the new version of MD Vendor System is compatible only with the new version of plugins and redelivery teminal. Do not mix new vendor system scripts and old plugins (or vice versa) inside your vendors if you want to avoid issues.
And now, the most important part of this long post. I wanted to spend a few words and say a huge THANK YOU to everyone who supported me during this long period of work and tests. To everyone whom contacted me during this years with a polite, positive and constructive attitude; to everyone whom suggested me features and improvements; to everyone whom was understanding and patient even when things did not work as they should. To everyone who helped me testing the system in different conditions even if that meant closing the store multiple times to run several updates and then click each vendor over and over, just to find out I fixed one bug creating two more. I am too lazy to list you all, but you know who you are ♥
That was a lot of work, hope you enjoy!
(Yes, the post is over.)