As described last time, this post and the next are provided by David Sampson. David leads the MathWorks Consulting group in our UK office and has worked very closely with Jaguar Land Rover on the creation of their MATLAB Store. When it comes to building web stores for groups of MATLAB users, you should listen to a veteran like David. He knows what he’s talking about.
Share and Manage Your Toolboxes Using MATLAB Minimart
by David Sampson
MathWorks introduced toolbox packaging to MATLAB in release R2014b. Toolbox packaging provides MATLAB tool developers with a system for bundling their code, documentation and examples into a single file that users can install into MATLAB with just a few clicks. It is also simple for users to upgrade and uninstall toolboxes. So it’s goodbye to files like mytool.zip, readme.txt and install.m.
Some organizations have used this technology to great effect. In October, Jaguar Land Rover presented at MATLAB EXPO UK on how they have adopted and promoted MATLAB as the platform for developing apps and toolboxes across their engineering community, and how they are sharing 100+ toolboxes among a couple of thousand users via a bespoke MATLAB app store. This is one of the hottest topics in organizations looking to encourage collaboration within their MATLAB communities.
To get MATLAB Minimart, go to the File Exchange and download and install the toolbox, which then appears in the Add-on Manager and documentation. For old times’ sake, it even shows up under >> ver.
To start working with MATLAB Minimart, create a folder in which to store your toolboxes. For collaborative use, you should select a shared location that is accessible to all would-be store users. On Windows, that would be a UNC path, like \\company\foo\bar\store. (Note that for this first example, we’ll use the LFS path, C:\work\store\demo).
Next, you will need some toolboxes to put in your store. For demonstration purposes, I have generated a collection of 50 toolboxes consisting of over 300 .mltbx files. (Each toolbox has multiple versions.) Download the collection and unzip the contents to your store.
Next, generate the store
and view it
You will see something like this.
The store summary page contains one card per MATLAB toolbox, with the name, summary and thumbnail shown. The toolbox metadata is that of the latest version in the store, although older versions are also present.
Each toolbox card includes a “more info” button to browse further details, including for older versions. Here is the detail view for the Monster Truck Toolbox.
Each toolbox page contains a version dropdown and a “download” button. The version dropdown lists all available versions of the toolbox and enables you to bring up details of any particular version. The “download” button enables you to retrieve the toolbox for installation into MATLAB.
In my next post, I will explain how users can retrieve and install toolbox updates from a store, and share some suggestions on customizing your MATLAB environment and your store.
4 CommentsOldest to Newest
It looks like something I’ll try out for our team, but one question. I’m puzzled why the user has to download the toolbox/app and then install it. If the toolbox or app is in a shared location why can’t the user just install it directly from the shared location.
Adrian, in the MATLAB help browser, you get one-click installation. By default, Chrome downloads rather than opens files. However, if you set “always open files of this type” using the popup on the downloads bar to true, then you get one-click installation in Chrome too.
This minimart tool looks good. thanks for sharing new Feature.
But I have one small question: If I installed one matlab Toolbox on my local matlab PC through minimart tool from Toolbox Server PC, and I have worked/updated this source model. and now how can upload the updated Toolbox to the Toolbox Server PC? Manual copy it there? If it possible, upload the updated Toolbox to Toolbox Server PC throungh minimart tool?
Qingwei, I recommend the following process:
1. Develop: Code fixes and enhancements in source control system.
2. Package: When ready to release, generate a new .mltbx file.
3. Release: Copy .mltbx file to Minimart store.
4. Update: Users get the new version from the store.