[Freeipa-devel] Less.js for RCUE adoption

Petr Vobornik pvoborni at redhat.com
Wed Oct 9 11:36:36 UTC 2013


Hi list,

I've started to work on RCUE adoption [1][2][3][4][5].

RCUE uses Less CSS [6] so that means that technology for #3875 ([Web UI] 
Use CSS preprocessor (LESS/SASS/Stylus))[6] is pretty much chosen.

Topic of this mail is to choose Less CSS implementation we will use 
during build.

First some info. The main implementation of Less CSS is written in 
JavaScript as a Node.js module. There are also official builds for 
Rhino. Rhino versions are working up to version 1.3.3, they are broken 
since version 1.4. There is some upstream effort to make it work again. 
Implementations in different languages exist as well, but they may not 
implement every feature.

Fedora has a Node.js package (nodejs-less[8]) and Python implementation 
(python-lesscpy[9]). Debian should contain these two as well. Problems 
might come with other targeted distributions.

I tried to run less-rhino-1.3.3.js[10] in Rhino and python-lesscpy, both 
on RCUE reference implementation. Both tools seems to produce 
functionally equivalent CSS (checked by visual inspection of diff).

For Fedora:
- if we want to use the latest and greatest we should use Node.js 
package. Since Node.js reputation is not good I expect that this won't 
be the chosen solution.
- if we want to avoid Node.js we can bundle less-rhino-1.3.3.js[10] or 
we can use python-lesscpy. python-lesscpy works better with Fedora 
packaging philosophy.

For others:
- bundle less-rhino if official package is not present

Therefore:
- bundling of less-rhino is universal solution
- python-lesscpy might be better solution for Fedora

Switching between implementations is easy so it's more political 
decision. I don't have strong option on any. Creating custom patch for 
each platform is a possibility as well.

Last thing: we could also build and push final CSS during development. I 
expect we don't want to that (will be against Fedora packaging policy).

[1] https://uxd-rcue.rhcloud.com/
[2] https://github.com/rhamilto/rcue
[3] https://fedorahosted.org/freeipa/ticket/3902
[4] https://fedorahosted.org/freeipa/ticket/3903
[5] https://fedorahosted.org/freeipa/ticket/3904
[6] http://lesscss.org/
[7] https://fedorahosted.org/freeipa/ticket/3875
[8] http://koji.fedoraproject.org/koji/packageinfo?packageID=15909
[9] http://koji.fedoraproject.org/koji/packageinfo?packageID=16857
[10] https://github.com/less/less.js/blob/master/dist/less-rhino-1.3.3.js
-- 
Petr Vobornik




More information about the Freeipa-devel mailing list