October: The theme dependencies feature doesn't work

Created on 30 Oct 2019  路  30Comments  路  Source: octobercms/october

  • OctoberCMS Build: v1.0.459
  • PHP Version: 7.2
  • Database Engine: MySQL
  • Plugins Installed: no plugins installed

Description:

Official documentation describes require option in the theme.yaml file. It says:

When the theme is installed for the first time, the system will attempt to install the required plugins at the same time.

We and our customers found that it's not working. For example, our Bootstrap for Shopaholic theme theme.yaml file content is as follows:

name: 'Free E-Commerce Bootstrap for Shopaholic'
description: ''
author: Lovata
homepage: ''
code: 'bootstrap-shopaholic'
form: config/fields.yaml
require:
    - RainLab.Pages
    - Lovata.Shopaholic
    - Lovata.Toolbox

But the installation of theme _Bootstrap for Shopaholic theme_ doesn't lead to the installation of required plugins. The same problem exists with the paid Sneakers E-Commerce Theme for Shopaholic theme.

Steps To Reproduce:

  • Install a new copy of October;
  • Install a _Bootstrap for Shopaholic theme_ theme;
  • Check for installed plugins.
Response Needed Unconfirmed Bug Website / Marketplace / Docs

Most helpful comment

I found the bottleneck! The theme dependencies will have installed in case a theme has installed via the admin dashboard. In case you install a theme by adding project ID to the admin dashboard or by CLI it doesn't work!

I think it's inappropriate behavior especially when we're talking about complex paid themes.

What do you think?

All 30 comments

@lautsevich It seems to be working for me through the Updates & Plugins panel in the Settings area. This was on a fresh install:

Shopaholic Test

Was there another way you were recommending people to install the theme?

@lautsevich Thanks for this report. Can you confirm this is happening when you use the Wizard Installer?

The server is definitely aware of these dependencies and there is a workflow in place to download them. So far I have been unable to replicate this, similar results to @bennothommo.

Will close this, for now, if it returns as an issue, let us know so we can investigate further.

I found the bottleneck! The theme dependencies will have installed in case a theme has installed via the admin dashboard. In case you install a theme by adding project ID to the admin dashboard or by CLI it doesn't work!

I think it's inappropriate behavior especially when we're talking about complex paid themes.

What do you think?

Thanks for the extra detail. Will investigate further to find a solution

Great, thx!

I just bought Sneakers template from marketplace, and after installing it in clear system no required plugins was downloaded. I wanted to created another issue about that, but there is another already.

Please fix it.

@lautsevich @FlusherDock1 If you need urgent support, consider signing up for a Premium Support plan: https://octobercms.com/premium-support

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.

  • If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue. - If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.

  • If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue. - If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Up!

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Up 馃槑

Friendly reminder about the premium support program @lautsevich 馃槈

Let me add an additional use-case.

We want to make themes' UI translatable using Rainlab.Translate plugin. It will increase their value for the customer, especially when we're talking about merchants who want to run their new online shop without dev experience.

We can't add such functionality at the moment. Because by default a theme will get a fatal error right after installing if it will have the Translate plugin in the dependencies list.

BTW, IMO it isn't inappropriate discussing payment in case we're talking about software bug.

Resolving this serious bug will allow developers to create more complex and high-quality paid products for the marketplace. More valuable paid products will lead to increasing marketplace revenue. It's win-win-win for the developers, customers and marketplace.

@lautsevich it comes down to priorities. You say that it's win-win-win, and sure, it would be. However, in terms of direct impact on myself, there's no reason for me to bump this up in priority right now.

As always, for something to get dealt with somebody has to take the time to deal with it. Right now that isn't going to be me (unless the situation is changed by the requester paying for premium support, someone sponsors the fix, or I personally need it for my own work). However, any else is always welcome to figure out the bug and submit a PR fixing it.

If you don't want to support the fix with money that's fine, perhaps you should consider supporting it with development resources instead.

I don't get paid to work on October full time, so I have to prioritize tasks that impact my revenue so that I can continue to live and eat and provide for my family.

@lautsevich To follow on from @LukeTowers comment, when I had a look at this late last year, I found that the October CMS Marketplace API was a significant reason for the issue, as the Updates & Plugins section as well as some of the CLI commands - especially the ones that deal with Project IDs - is reliant on the payload from the API servers. The maintainers have very little access to this system.

Guys, I've got your points. Thx. @bennothommo, am I understood right that this bug can't be fixed without @alekseybobkov and @daftspunk?

That's correct @lautsevich.

Hm. Could you please provide more details? We're considering to help you with this issue.

cc @kharanenka.

@daftspunk and @alekseybobkov are the sole handlers of the Marketplace functionality. You would need to get in touch with them (perhaps via [email protected]) in order to ascertain if they would accept outside contributions.

I believe there is a way this could be handled on the CMS side, through parsing the theme config ahead of time and requesting plugins that way, but this would still involve an element of contacting the API, especially if the plugins are paid.

@bennothommo could you explain the issue and what changes are needed on the marketplace side? Shouldn't it be possible to parse the theme.yaml get get the requirements and install them just from with October itself?

The same question. It's a surprise for us that marketplace API should have been affected during resolving thus issue.

@bennothommo had just typed out a long response but then the app crashed so he'll post it tomorrow instead.

@LukeTowers @lautsevich It's a complex issue, I agree, and I'm only basing this off my assumptions of how the Marketplace API works (given that I've never seen the code).

I felt when I went through it at the time that the problem would be better fixed on the Marketplace API side because in my initial post, that particular API call to download the theme returns the dependencies of the theme immediately, which is then fed to the Updates & Plugins section to download sequentially.

I presume that if a theme or plugin were to have a paid dependency, this would also need to be fed back from the API in some special way so that people can't just take the download URL willy-nilly and use it on other sites. So while the API called made in that specific action does return the dependencies, it's possible that the API call to link the project does not (I don't often link my projects to the Marketplace so I haven't personally seen the payload that API endpoint sends).

Of course, we could do the dependency resolution locally on October CMS. I think for the most part, if the theme and every plugin was free, this should be very doable. I'm just under the impression that paid plugins and themes are handled differently.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

atrauzzi picture atrauzzi  路  3Comments

axomat picture axomat  路  3Comments

LukeTowers picture LukeTowers  路  3Comments

m49n picture m49n  路  3Comments

mittultechnobrave picture mittultechnobrave  路  3Comments