File Exchange: how to "Link to an External Website"

According to https://www.mathworks.com/matlabcentral/content/fx/about.html I should be able to share my code without uploading a file, just by linking to my website.
When I try to Publish to File Exchange, I have "My code is on Github", "My code is on my computer" but I have no "Link to an External Website".
Where is this feature ?

6 Comments

To my knowledge this feature has been deprecated and replaced by github. Is there a particular reason you wish to avoid either option?
If I see things like this, I generally ask @Jamie Mullin what I'm missing. (@Jamie, I would have pinged you via Teams, but I can't switch accounts today for some reason)
Thanks for you reply.
File Exchange have too many restriction when uploading.
I have 2 MATLAB toolbox (one for Linux and one for windows) and each have there own native library (dll / so). When I try to upload, I have "Upload cannot contain .dll." error.
And if I link to my github project using "Publish using GitHub releases", File Exchange will choose one of the two MATLAB toolbox so users can't choose between Linux / Windows toolbox.
And now that I have removed my github project from File Exchange, I can't publish it again (error "Something went wrong").
For the current time, I wrote a README that says to download toolbox from Github. Link to my project in File Exchange.
Thanks for tagging me @Rik. @Moduleus , we can make a change on our end to have your exising File Exchange entry point back at your GitHub repo. I will wait for to confirm you want this change.
After we make that change, you can create a single mltbx compatible with both windows and linux to have File Exchange start updating automatically.
  1. Create the mltbx and attach it to a new GitHub Release 1.0.3. It must be higher than your existing File Exchange version number, which is 1.0.2
  2. File Exchange will update automatically to 1.0.3 and the mltbx you attached to the release will be available for download from File Exchange.
Thanks for pointing out the incorrect information on our doc page. We have fixed it.
Thanks. we updated them. You can now create new github releases for each and then upload mltbx to them that have fiels for both windows and linux.
urx: currently has github release 1.1.0. so you could create 1.2.0 or 1.1.1 (and ensure the vesion number in the mltbx matches it)
uac: currently has github release 1.0.2. so you could create 1.0.3 or 1.1.0 (and ensure the vesion number in the mltbx matches it)
@Jamie Mullin Thanks, I published a new version of "uac" and the file exchange page has been automatically updated. Perfect.

Sign in to comment.

 Accepted Answer

埃博拉酱
埃博拉酱 on 21 Jan 2025
Edited: 埃博拉酱 on 21 Jan 2025
If the feature has been removed, it shouldn't appear in the documentation. If the claimed feature of the document does not exist, then at least one of the features and documentation is an error. You can send feedback on the website. As a workaround, you can try linking your external website as a GitHub mirror before connecting to GitHub from File Exchange.
File Exchange doesn't support downloading different toolboxes depending on the user's operating system. If you compile different dynamic libraries for different operating systems, I recommend that you judge the current operating system at runtime and choose the correct library. Another scenario is to provide a doc/GettingStarted.mlx document that will automatically open after the user installs the toolbox. In this document, you can write scripts that automatically download the appropriate dynamic libraries.
File Exchange's connection system to GitHub is very unrobust and errors occur frequently. I suggest you consult @Randy Souza, who appears to be the internal staff in charge of the File Exchange system.

1 Comment

Thank you for your feedback. I have reported the issue.
I will work on creating a single toolbox compatible with both Windows and Linux.
For now, I will keep my project as it is. It's not perfect, but I still don’t fully understand how File Exchange integrates with GitHub. The most important thing is to have a way to share the toolbox, and it will be improved soon.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 21 Jan 2025

Commented:

on 12 Feb 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!