On 01.02.2012, at 15:46, Robin Appelman wrote: > On Wednesday 01 February 2012 15:18:31 Frank Karlitschek wrote: >> Hi, >> >> >> it seams that a lot of users want to modify the look and feel of ownCloud >> like replacing the logo, changing colors or make other custom interface >> changes. This is important if you integrate onwCloud into an existing >> system like a groupware or some other webservice. At the moment the users >> have to fork ownCloud and change the stuff manually. This changes have to >> be done again after every ownCloud update. >> >> >> The idea is to support theming in ownCloud to make this kind of changes >> easiert. It´s very important to make the life of the ownCloud App developer >> as easy as possible and not force them to maintain a lot of different theme >> files. App developers should concentrate of implementing the functionality >> and all the theming should be optional and done by someone else. >> >> Different formfactors: >> Another important topic is that we have to support different formfactors >> beside the current interface which is mainly done for desktop users. >> ownCloud should provide an interface for desktops, mobil phones, tablets >> and a standalone view where an ownCloud App is displayed without the header >> and the side navigation. This is cool if you want to us just one part of >> ownCloud as a desktop app replacement. Mozilla Prism is a nice tool for >> this and I think the GNOME browser and Chrome also supports that. It´s >> handy for apps like media player, calendar, contacts and others to have >> them as stand alone apps on your desktop. >> >> >> >> I propose the following changes to make this two features possible: >> >> Formfactors: >> All parts of the core and every app has a template, a js and a css folder. >> We could extend the templating and the js/css loader that it first looks >> for a foo-mobile.php template if the app wants to load the foo.php template >> and the current formfactor is "mobile". If it finds the file it loads it. >> If not if falls back to the default foo.php. The same logic for the js and >> css files. By doing this we don´t have to implement the complete interface >> right now for all formfactors. We can do this over time. And if one App >> developer want´s to provide a special tablet optimized css he just add an >> additional css with this special name and it´s automatically used. > > I had exactly the same idea for formfactors :) > I would suggest one tiny change though, use foo.mobile.php instead of > foo-mobile.php
Hehe. cool. The approach can´t be completely wrong if you had the same idea. I like your idea with the naming convention. > >> >> The formfator is already detected in base.php so we only have to extend the >> templating to use this information. Later we could add a button to the >> interface to switch to a different interface. >> >> >> Theming: >> I propose a similar system for the theming. We add a "theme" config option >> to the config.php so that the theme can be configured during deployment and >> controlled from the outside without the need to understand our database >> structure. We add "themes" directory into /core where every theme has a >> directory named after the theme name. The template and css loader looks >> into the selected theme directory first for templates and css files and >> loads them if a file is present. If not it just falls back to the default >> files in the individual app directories. This has the benefit that the >> person who creates the themes can override what ever has to be changed but >> don´t have to provide a complete new frontend. The directory structure >> inside the themes folder is the same as the rest of owncloud. This means >> that a theme developer can just put a different >> "apps/contacts/css/styles.css" in the theme directory to change the style >> of the contacts app. > > Sounds good, although I would not put the styles in the core folder, maybe > add > a top-level themes folder? Sure. good idea! :-) >> >> >> Does this make sense? >> >> >> >> Cheers >> Frank > > - Robin Appelman > _______________________________________________ > Owncloud mailing list > [email protected] > https://mail.kde.org/mailman/listinfo/owncloud _______________________________________________ Owncloud mailing list [email protected] https://mail.kde.org/mailman/listinfo/owncloud
