Re: [Freeipa-devel] Less.js for RCUE adoption
On 10/09/2013 07:36 AM, Petr Vobornik wrote: 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 Why it is better? Because we do not bundle code but rather rely on the external package? This always makes sense especially for the security project like us. So if Debian has python-lesscpy package I would use it. Otherwise we would have to use less-rhino. 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 -- Thank you, Dmitri Pal Sr. Engineering Manager for IdM portfolio Red Hat Inc. --- Looking to carve out IT costs? www.redhat.com/carveoutcosts/ ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
Re: [Freeipa-devel] Less.js for RCUE adoption
On 10/09/2013 01:36 PM, Petr Vobornik wrote: 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. +1 for python-lesscpy, for this reason. For others: - bundle less-rhino if official package is not present This is really up to the other distros, but I don't see why another Python dependency should be a problem. I'm CCing Timo Aaltonen; we'll need some non-Fedora people to answer these questions. Therefore: - bundling of less-rhino is universal solution - python-lesscpy might be better solution for Fedora I'd say bundling is a universally bad solution :) 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). We can include them in tarballs but make sure they're re-built for Fedora. I don't think that would be against 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Ā³ ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel
Re: [Freeipa-devel] Less.js for RCUE adoption
On 09.10.2013 17:04, Petr Viktorin wrote: On 10/09/2013 01:36 PM, Petr Vobornik wrote: 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. +1 for python-lesscpy, for this reason. For others: - bundle less-rhino if official package is not present This is really up to the other distros, but I don't see why another Python dependency should be a problem. I'm CCing Timo Aaltonen; we'll need some non-Fedora people to answer these questions. as mentioned, python-lesscpy is in Debian/Ubuntu now, so as long as any bundled solution can be disabled that's enough for me. -- t ___ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel