Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request - Integrate with ARS #408

Open
mwweb opened this issue Apr 13, 2019 · 8 comments

Comments

@mwweb
Copy link

commented Apr 13, 2019

Currently, JCB is able to integrate, partially, with WHMCS. WHMCS is great software, but with limitations. The current limitations are primarily with the update server. WHMCS download manager only works if you are logged in. This is a major drawback. You opened a feature request with WHMCS to extend that functionality, but there is no way to tell if WHMCS will consider it, and if they happen to, whether it will be soon, or months or years down the road.

As an alternative to the WHMCS download manager, I would like to suggest considering integrating with the Akeeba Release System. ARS is a full release system. ARS supports versioning, different categories, download id's, latest releases, and much more. With ARS you could have your extension require a download id, which could be the same field that WHMCS uses. The update server would be to the ARS Update Stream. This would be checking for new versions. If a new version is found, then upon request to update the extension, a request would be sent.

Per the ARS Developer: Allows for automatic updates of restricted downloads. You can authenticate automatic downloads of restricted access items by passing the username and password or a secure Download ID to the URL. This is how we allow you to do 1-click live updates of the Professional versions of our software.

If a developer also adds Akeeba Subscriptions, they could set different subscription levels, whether free or paid, to different extension. So, if you had Demo, Sermon Distributor, and Location Data available, they could select which extension they wanted, subscribe, get a download id. It looks like it would be one download id for the entire repo, but then the repos could be restricted by Joomla user level. If they were part of the demo group, they could access demo extension, but not Sermon Distributor or Location Data. But if they later decided to add Sermon Distributor, the download ID would allow access to Demo and Sermon Distributor files and released as long as the subscription is active.

I still think that WHMCS would be the better option, but as an alternative to WHMCS until/if they decide to extend their functionality, I would like to highly suggest ARS. And with ARS and Akeeba Subs being open source, it should be usable for the purposes of JCB. ARS is also used to manage released of Joomla!, so that is a big plus on it's side as well.

https://github.com/akeeba/release-system/wiki
https://github.com/akeeba/akeebasubs/wiki
https://github.com/akeeba/releasemaker

@jcodewalker

This comment has been minimized.

Copy link

commented Apr 14, 2019

I for one, think that ARS and JCB is a natural wedding.

@Llewellynvdm

This comment has been minimized.

Copy link
Member

commented Apr 14, 2019

Okay @mwweb I will start looking at options to automate this, any pointers beyond the request will be helpful. Like where (in JCB) you think I should add what, and what the result should be. Yes I already have my ideas, and yet the more input I get the better perspective that gives me.

@mwweb

This comment has been minimized.

Copy link
Author

commented Apr 14, 2019

I think adding the ars option to the whmcs select in the component settings would be. Second, i think it would be good to have a field, if ars is selected, to enter the upstream url from ars.

For example, according to the wiki, the following will fail http://www.example.com/index.php?option=com_ars&view=update&task=stream&format=xml&id=1, but this will work having dummy=extension.xml. http://www.example.com/index.php?option=com_ars&view=update&task=stream&format=xml&id=1&dummy=extension.xml

Lastly, and i thought in the last, JCB created an installer package that had the version number as part of the name. The wiki points out that the naming pattern is important. I can see that importance, especially if ars is set to auto update versions.

@Llewellynvdm

This comment has been minimized.

Copy link
Member

commented Apr 14, 2019

Yes currently the sales package does not have the version (which push the package to your server). This was done on purpose since the xml update server is also build by JCB and also uploaded to a server of your choice and in it we did the correct versioning update info. So this means if ARS is taking over the update server maintenance we need to look at the naming convention and adapt the sales package which is pushed up automatically to the ARS repository.

The reason behind the sales package being the without the version was to have easy update, without the need to great a new update (item) in the shop or software being used, but just override the already selected package. But yea I can see every system integration will have its own approach so I will give attention to this.

It is worthy to note at this time that I have never even installed ARS, will do so to get the full picture.

@Llewellynvdm

This comment has been minimized.

Copy link
Member

commented May 28, 2019

@mwweb I need some help here, I simply not getting the time to figure out the ARS system, but it seems like you already know how it should work.

Can you not setup a ARS system that we can use as a test to setup the integration with JCB. So it needs (dummy) products that are free, and payed, and subscription based updates. Then a short tutorial (video) on how to get the data and products via the API/url query.

Then I would need access to the backend, and be able to for a month test with this system.

Let me know if this is possible, it will speed up this integration considerable.

@mwweb

This comment has been minimized.

Copy link
Author

commented May 28, 2019

I am new to ARS as well. I can try to set something up. But, I'm curious to see what Alan (in the forums) has. He said that he built a subscription manager with download keys, if I recall correctly.

@marcodings

This comment has been minimized.

Copy link

commented Jun 7, 2019

I have an instance of ARS setup and in use.

Not quite sure what one wants to automate, ars will give you an updateserver link that needs to go into the manifest file.. that's it

unless of course one would want to add all of the ARS configuration/setup for that release to from JCB.
dunno if that makes sense or even if ARS would have an API for that

@Llewellynvdm

This comment has been minimized.

Copy link
Member

commented Jun 11, 2019

The main issue here is to control access to updates via a give key. So I need to know how that works on the ARS side, so I can add the needed fields in JCB to auto add the config fields and the install scripts to move all into the correct place when a component is installed. This will mean that the component updates based on a subscription cycle and will stop when the subscription expires.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.