User/group based themes

So I’ve been considering a couple of things, mainly around splitting my NC install off into personal/work profiles to share with colleagues as an alternative to Dropbox at the office.

In thinking about this I recalled the work install I setup with owncloud and a company branded theme a long time ago and wondered:

Would it be possible to offer a theme based on user group? If I were to open the install to colleagues they’d all sit in a company group and applying a branded theme would be super useful without setting it globally.

It’s such an option feasible?

1 Like

if you want a themed login screen, that will be difficult. You can run different setups and share file via federated cloud-sharing.

I’d be happy with one generic login, but different colours for different groups, maybe even different logos in the top left too.

1 Like

did you found a solution? i split my nextcloud in privat / office accounts but cannot handle changing the logo in sharing messages for instance. User / Group based themes would be really nice

I’m afraid not, I think it’s probably out of scope for NC’s general usecase at the moment, so would need a big enough demand and someone prepared to implement it :frowning:

1 Like

Could one of you guys open a issue on GitHub for that one, so that our developers are able to file your request … and maybe also some developers from our community see the interest in this topic and decide to invest some time to make this real :slight_smile:

cc @juliushaertl for theming, as we have already talked shortly about this feature at the hackweek :wink:




Against server or is there a specific repo for theming?

theming is a part of the server :sweat_smile:

1 Like

Well just in case… it’s annoying when they’re instaclosed for being in the wrong area :smile:

Well … But without this I would have nothing to do :stuck_out_tongue_winking_eye:

1 Like
1 Like

Looks like there’s no interest from the devs. Shame.

So unless I can create a clustered frontend which shares DB, file storage and allows me to set themes in the respective frontend config files, I guess I’ll have to party like it’s 1993 and set up individual servers for every themed group.

Edit: I currently have two instances sharing DB and storage on one server without an issue, though the inbuilt theme engine updates all instances, meaning I’m having to rely on the “old” theming method.

I was looking to see if I could share one codebase across instances with only .htaccess, themes and config being unique in directories, the rest being softlinked to a central NC folder:

This however did not work, as it insisted on using the config from the source location and ignored the local files within the directory :frowning:

I think the way would be to hack the theming app…

But: how far does your theming go?
Just different logos/colors?

Could you not access the single NC via 2 urls and use the host information in .htaccess to redirect just the very images/css to different ones?
…obviously only works for css/img and not modifies phps…

1 Like

I think it isn’t a shame, to have other thoughts and opinions about features … and the importance of them. If you want to see this you may want to develop this by yourself, find somebody develop this for you, or post a bounty via Bountysource on it :wink: Keep in mind that not everybody has the same interests and priorities :grin: This is open source … and this is how open source is working … and nothing anybody has to shame about :wink:

It is great to see your efforts about the enhancement (here in the forum) … maybe this helps some developers in the future :wink:



I meant it as “that’s a shame [for me]” :slight_smile:. I’ll work around it for now until such point it’s a feasible option to pursue.

@Rello colours and logos, as well as the various taglines editable via the old theme method. I’m not far off what you’re suggesting at the moment but it requires multiple installs sharing the same storage and database.

Bit you are symlinking the whole instance besides the theme if i am not wrong.

I think about the other way. All in one installation/config.php then only symlink the 5isch dedicated img/css

That was a mistake on my part - corrected to symlink everything except themes, config and .htaccess.

Can you expand on what you mean?

(untested) high level idea:

  • create theme “default” and set it in config.php
  • create items e.g. …/themes/default/core/img/logo.png
  • create second theme with item e.g. …/themes/office/core/img/logo.png
  • have a second (sub)domain for the “office” look of NC

now I am not the apache specialist (i am using nginx) but create a RewriteCond for the second (sub)domain and do a RewriteRule from
/themes/default/core/img/logo.png => /themes/office/core/img/logo.png

as you still have one config, it will show to the default, but the browser will be redirected to the other logo

you know what I mean? just an idea; not done that; but could work if you only talk about light visuals

1 Like

That’s an interesting idea. I wonder if that could be expanded to the whole theme folder rather than individual files…

Good point. With a master of regex & Rewrite rules…

But the theme folders need to match 1:1.

1 Like