Hi All,

Following up on this thread.

First off - thanks for everyone's patience as we looked into this further!

We recently had a chance to speak with our colleagues at MathWorks who manage 
the MathWorks File Exchange [1] service. Unfortunately, for the time being, we 
don't have a solution for linking the MLTBX files on GitHub Releases with a 
MathWorks File Exchange entry without requiring write permissions. That being 
said, our colleagues are aware of this limitation and there is a long-term goal 
to find an alternative solution. However, we don't want to block progress on 
making the MLTBX files easily accessible until then. Therefore, as Kou 
suggested previously in this thread, we think the most reasonable path forward 
would be to manually upload the MLTBX file to MathWorks File Exchange. We 
acknowledge that this is less than ideal and does add a small, continuous 
overhead to every release. However, this seems like a reasonable tradeoff given 
the advantages for MATLAB users in terms of ease of installation and 
discoverability through the MATLAB Add-On Explorer [2].

Barring any flags on this approach from the community, the next steps to make 
this possible would be:

1. Create an "Apache Arrow" MathWorks account and an associated "Apache Arrow" 
File Exchange entry that is managed by the Arrow PMC.
1.1 We aren't 100% sure who should create this account. Should this be a PMC 
member?

2. Add a step to the release process documentation [3] to manually upload the 
MLTBX file to File Exchange and use the contents of matlab/README.md [4] as the 
description.
2.1 Sarah and I will follow up with a pull request to update the documentation 
after the MathWorks account and File Exchange entry has been created.
2.2. Our assumption is that the Release Manager would be the one to upload the 
MLTBX file. However, we are happy to help as much as possible here.

Note: We realize that the 17.0.0 release has already been completed, so we 
aren't sure if it is reasonable to try to retroactively upload the 17.0.0 MLTBX 
file to File Exchange. We understand if the community would prefer to wait 
until the next release is cut.

Please let us know if you have any thoughts.

[1] https://www.mathworks.com/matlabcentral/fileexchange/
[2] https://www.mathworks.com/products/matlab/add-on-explorer.html
[3] https://arrow.apache.org/docs/developers/release.html
[4] https://github.com/apache/arrow/blob/main/matlab/README.md

Best Regards,

Kevin Gurney and Sarah Gilmore

________________________________
From: Kevin Gurney <kgur...@mathworks.com>
Sent: Tuesday, July 2, 2024 12:01 PM
To: dev@arrow.apache.org <dev@arrow.apache.org>
Subject: Re: [DISCUSS][MATLAB] Creating a MathWorks File Exchange entry for the 
MATLAB interface

Hi Kou and Jacob,

Thanks very much for your help with this!

> Ah, this may need to be done by INFRA. If we create an account for Apache 
> Arrow, we can do it by ourselves.

Thanks for clarifying this. An "Apache Arrow" account makes sense, as well.

We weren't sure what the community thought about making a more general "Apache 
Software Foundation" account vs. a more specific "Apache Arrow" account. The 
main reason we considered the idea of creating a broader "Apache Software 
Foundation" account was because we were thinking that it might be reusable in 
the future for other theoretical File Exchange entries related to Apache 
projects other than Arrow. However, if managing an "Apache Software Foundation" 
account would rely on constant support from INFRA, then this is probably not a 
very sustainable solution.

> INFRA may reject this request. If INFRA rejects this request, can we use 
> manual upload approach?
> https://www.mathworks.com/matlabcentral/content/fx/about.html?#Submitting_Files

Our hope was to avoid requiring manual steps to keep the GitHub Releases area 
and File Exchange in sync. However, if INFRA rejects our request, then the 
manual upload approach is certainly a good stop-gap solution we could pursue 
until we can hopefully find an automated solution that INFRA finds agreeable.

> INFRA will never allow any third party apps that require write access to code

Ah, thanks very much for pointing this out! INFRA not allowing write access to 
code makes a lot of sense. We will reach out to the relevant team internally to 
see if we can find a solution that doesn't involve providing write access. 
Sorry for this complication.

--

If we can't find a short-term solution to the GitHub App write permission 
issue, then pursuing the manual upload approach that Kou pointed out likely 
makes the most sense. We could always move over to an automated approach later 
on if a solution that meets INFRA's requirements becomes available.

Thanks everyone for your continued support on this.

Best Regards,

Kevin Gurney and Sarah Gilmore

________________________________
From: Jacob Wujciak <assignu...@apache.org>
Sent: Monday, July 1, 2024 9:40 PM
To: dev@arrow.apache.org <dev@arrow.apache.org>
Subject: Re: [DISCUSS][MATLAB] Creating a MathWorks File Exchange entry for the 
MATLAB interface

Hey Kevin,

I just took a brief look at the Exchange integration app and it requires
the following permissions:
> Read and write access to code and pull requests
> Read access to administration and metadata

INFRA will never allow any third party apps that require write access to
code (not sure about PRs as you can't actually merge a PR with that
permission).
Again I haven't taken a deeper look on how it works but I don't really see
the need for the write access for linking releases (likely triggering a
sync when a release is added via webhooks?).
Maybe you can reach out internally to the team managing the integration?

Best
Jacob
-

Am Mo., 1. Juli 2024 um 20:42 Uhr schrieb Kevin Gurney
<kgur...@mathworks.com.invalid>:

> Hi All,
>
> Now that the changes required to integrate GitHub Releases with the Arrow
> release infrastrructure have been merged [1], we would like to make the
> process of finding and installing the MATLAB bindings as easy as possible
> by integrating with the MathWorks File Exchange [2]. We previously proposed
> the idea of integrating with File Exchange in [3]. As a quick refresher -
> File Exchange is analogous to other web-based package hosting solutions,
> such as pypi.org or rubygems.org.
>
> By integrating with the File Exchange, MATLAB users will be able to easily
> discover and install the latest stable version of the MATLAB interface via
> Github Releases from within the MATLAB UI. Packages are installed from the
> MathWorks File Exchange using the MATLAB Add-On Explorer [4].
>
> In order to integrate with the MathWorks File Exchange, a member of the
> Apache Arrow community (most likely, a PMC member) would need to:
>
> 1. Create a "The Apache Software Foundation" [5] MathWorks account
> 2. Create a File Exchange entry for the MATLAB Interface to Apache Arrow
> 3. Install the required GitHub App to link the File Exchange entry with
> the Apache Arrow GitHub Releases area [6]
>
> From previous discussions, our understanding is that installing a GitHub
> App will require ASF Infra involvement. If this is true, then Sarah and I
> will be happy to take the lead on creating a Jira ticket for this.
>
> We would greatly appreciate it if someone from the community could assist
> us in determining next steps to make this happen.
>
> Thank you!
>
> Best Regards,
>
> Kevin Gurney and Sarah Gilmore
>
> [1] 
> https://github.com/apache/arrow/pull/41131<https://github.com/apache/arrow/pull/41131>
> [2] https://www.mathworks.com/matlabcentral/fileexchange
> [3] 
> https://lists.apache.org/thread/0xyow40h7b1bptsppb0rxd4g9r1xpmh6<https://lists.apache.org/thread/0xyow40h7b1bptsppb0rxd4g9r1xpmh6>
> [4] https://www.mathworks.com/products/matlab/add-on-explorer.html
> [5]
> https://github.com/apache/arrow/blob/edfa343eeca008513f0300924380e1b187cc976b/matlab/tools/packageMatlabInterface.m#L44<https://github.com/apache/arrow/blob/edfa343eeca008513f0300924380e1b187cc976b/matlab/tools/packageMatlabInterface.m#L44>
> [6]
> https://www.mathworks.com/matlabcentral/content/fx/about.html#Why_GitHub
>

Reply via email to