Theme in OC version above 10.0

Steps to reproduce

  1. Try to enable theme after upgrade to OC 10.2.1
  2. sudo -u www-data php occ app:enable “my-theme”
  3. Returns: “App “my-theme” cannot be installed because the following dependencies are not fulfilled: ownCloud 10.0 or lower is required.”

Expected behaviour

I’d still like to use my theme.

Actual behaviour

I cant - ownCloud 10.0 or lower is required.

Server configuration

**Operating systemJessie w PHP 7.2:

**Web server:apache2

**Database:mysql

**PHP version:7.2

**ownCloud version:10.2.1 (see ownCloud admin page)

Updated from an older ownCloud

Where did you install ownCloud from: tar.bz

**Signing status (ownCloud 9.0 and above):yes

Login as admin user into your ownCloud and access 
http://example.com/index.php/settings/integrity/failed 
paste the results into https://gist.github.com/ and puth the link here.

The content of config/config.php:

Log in to the web-UI with an administrator account and click on
'admin' -> 'Generate Config Report' -> 'Download ownCloud config report'
This report includes the config.php settings, the list of activated apps
and other details in a well sanitized form.

or 

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your ownCloud installation folder

*ATTENTION:* Do not post your config.php file in public as is. Please use one of the above
methods whenever possible. Both, the generated reports from the web-ui and from occ config:list
consistently remove sensitive data. You still may want to review the report before sending.
If done manually then it is critical for your own privacy to dilligently
remove *all* host names, passwords, usernames, salts and other credentials before posting.
You should assume that attackers find such information and will use them against your systems.

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your ownCloud installation folder.

Are you using external storage, if yes which one: local/smb/sftp/…

Are you using encryption: yes/no

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/…

LDAP configuration (delete this part if not used)

With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your ownCloud installation folder

Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';


Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.

Client configuration

Browser:

Operating system:

Logs

Web server error log

Insert your webserver log here

ownCloud log (data/owncloud.log)

Insert your ownCloud log here

Browser log

Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log 
c) ...

Hey,

i think you need to update the metadata of your theme to tell ownCloud that the theme is compatible with ownCloud above 10.0.

Maybe the existing documentation https://doc.owncloud.com/server/10.2/developer_manual/core/theming.html could help you with this?

1 Like

Can you show me the content of your appinfo/info.xml file.

Please have a look at dependencies - they should look like:

<dependencies>
	<owncloud min-version="10" max-version="10" />
</dependencies>

Hi, I’ve set up a new theme using the scripts in the manual and by tranferring my content (small changes: css, images, defaults.php) to the a new theme which works and has:

    <dependencies>
            <owncloud min-version="10.2" max-version="10" />
    </dependencies>

the old theme that wasn’t working has:

    <dependencies>
            <owncloud min-version="10.0" max-version="10.0" />
    </dependencies>

and under !App management", the old disabled theme app still states: “This app cannot be installed because the following dependencies are not fulfilled: ownCloud 10.0 or lower is required.”

That’s for sure. You say in the dependencies that the theme only works until ownCloud 10.0.x - but you wanted to install it for 10.2.x. Works as designed. :slight_smile:

If you say so. I created the Theme based on a Template, and was not aware that I could change the dependencies myself. How could I if I have no idea of the consequences (breakage?). It was also necessary to place an exception in config.php so that it does not show up in the code-integrity check (as is suggested in the documentation).

Don’t take it personally, but IMHO if this is “works as designed” the design if flawed. Why can’t a rudimentary theming functionality simply be implemented at the admin settings level in the web-interface? That being said I think OwnClound is great and I’m extremely thankful to all the people that contribute to it. I use it at home as well as in an academic environment, and that for several years now.

2 Likes

Thank you for your honest words. I am sure that with our new frontend “Phoenix” we will create a possibility to do theming directly.

1 Like

Hey,

i think this design was chosen by the ownCloud developers to make sure outdated themes not compatible with a new ownCloud version are breaking ownCloud.

If some information about this is missing in the documentation maybe you can tell the ownCloud documentation writers at https://github.com/owncloud/docs/issues about this?

1 Like

Looking at the documentation, there seems not to be any mention of older themes not being compatible.

@stoffel, I do not agree. When you have a look at https://doc.owncloud.com/server/developer_manual/core/theming.html#appinfoinfo-xml you will see, that this topic is completely covered.

When a theme’s designer/programmer is setting a specific version, you might assume this happened on purpose (e.g. when the theme is overriding functionalities that are only available in certain versions.)
It might as well be possible, that the theme developer did not consider the versions or just copied the info.xml from somewhere else.

For basic themes you should be lucky to just raise the version to have them working.

3 Likes

I’m just an Administroator. My old theme caused an error so I created a new one based on the scripts that are provided in the documentation. I’m not going to start changing the tag without knowing what consequences it might have.

In this case you have to contact the theme’s developers, since they are - without inspecting the code by yourself - the only ones, who could know what consequences it might have.
Consider a theme as a third party app, where compatibility is up to the developers.

2 Likes