Thanks for your answers. I change the name of this thread since my proposal has changed:
1 - Add getCacheDirectory() in the class Environment: https://github.com/xwiki/xwiki-commons/blob/master/xwiki-commons-core/xwiki-commons-environment/xwiki-commons-environment-api/src/main/java/org/xwiki/environment/Environment.java#L36-36 It means breaking an interface. 2 - Add a cache directory setting in xwiki.properties, to change this directory if needed (for example: set a directory on a faster disk) 3 - For our distributions, set this cache directory in a folder inside our distributions (for example a "cache" directory aside the "data" directory). This setting can be changed by the user. 4 - Do not purge the LESS cache on startup. (see my previous mail for this) 5 - add a new module that pre-generate the LESS cache file to make the first XWiki launch faster (see my previous mail for this) +1 for all of this. Thanks, 2015-02-15 8:55 GMT+01:00 Marius Dumitru Florea < mariusdumitru.flo...@xwiki.com>: > On Sun, Feb 15, 2015 at 2:09 AM, Eduard Moraru <enygma2...@gmail.com> > wrote: > > On Sat, Feb 14, 2015 at 10:44 AM, Thomas Mortagne < > thomas.morta...@xwiki.com > >> wrote: > > > >> As I discussed with Guillaume before he send the proposal (but he felt > >> it was to much for his need) the best IMO is to add the concept cache > >> directory in Environment and conf file. It's not temp files and it's > >> not really permanent files either. > > > > > > +1 to that reasoning. > > +1 too, > > Thanks, > Marius > > > > > Thanks, > > Eduard > > > > > >> Basically I want to do that since a > >> while now mostly because I would like to be able to setup the Debian > >> package by default to put those files in /var/cache/xwiki/. > >> > >> > >> On Sat, Feb 14, 2015 at 7:13 AM, Marius Dumitru Florea > >> <mariusdumitru.flo...@xwiki.com> wrote: > >> > On Feb 13, 2015 8:39 PM, "Denis Gervalle" <d...@softec.lu> wrote: > >> >> > >> >> Hi Guillaume, > >> >> > >> > > >> >> 1) -1, this break the FHS which definitely separate caches from > >> permanent > >> >> data, and for a couple of good reason, you may want to put them on > >> >> different partition, using faster disk, or even in memory disk. So I > do > >> > not > >> >> find very clever to put all cache files into the permanent directory. > >> What > >> >> would be the purpose of a temporary directory if it was not for that > >> >> purpose. > >> > > >> > I agree with Denis. Caches are temporary files for me, but temporary > >> > doesn't mean they have to be deleted after each restart. > >> > > >> > Thanks, > >> > Marius > >> > > >> >> 2) +1, but with some way to force the purge, so annoying problem > still > >> get > >> >> a solution > >> >> 3) +1, it would be very helpful to have faster startup when testing. > I > >> >> would not put the file into the cache in the distribution, but in a > skin > >> >> folder or something, and it could simply copy the file in place of > >> >> generating it for the default skin. So this could work on any > >> > distribution, > >> >> and it could also solve your temporary folder issue. > >> >> > >> >> wdyt ? > >> >> > >> >> > >> >> On Thu, Feb 12, 2015 at 5:55 PM, Guillaume "Louis-Marie" Delhumeau < > >> >> gdelhum...@xwiki.com> wrote: > >> >> > >> >> > Hi. > >> >> > > >> >> > Currently, XWiki is quite long to start, and this is mainly > because of > >> > the > >> >> > LESS compiler which generates the CSS file of the skin. > >> >> > > >> >> > Fortunately, we cache the results of the compilation in the LESS > >> cache, > >> >> > which is stored in the file-system (this is important). > >> >> > > >> >> > Some actions can be done to make the launch quicker: > >> >> > > >> >> > 1 - Not purge the cache at startup. > >> >> > The idea is to keep the cache of the previous launch of XWiki, so > LESS > >> >> > would have nothing to compile anymore. This does not solve the > first > >> > launch > >> >> > issue, but it is a great progress anyway. The disadvantage of this > is > >> > that > >> >> > restarting XWiki will not solve any issue related to a bad cached > file > >> > (ex: > >> >> > a buggy CSS file stored in the cache will still be there after a > >> > restart. > >> >> > The only way to fix this is to re-save the buggy LESS resource). > >> >> > > >> >> > Note that this behaviour can easily be changed by modifying a > config > >> > file: > >> >> > > >> >> > > >> > > >> > http://extensions.xwiki.org/xwiki/bin/view/Extension/LESS+Module#HCacheStrategy > >> >> > > >> >> > 2 - During the build of XE, run an integration test that performs a > >> > simple > >> >> > view request to XWiki in order to make the LESS compiler builds the > >> CSS > >> >> > file and pushes it into the cache. After the integration test, we > just > >> > copy > >> >> > the generated LESS cache file into the Jetty/HSQLDB distribution, > and > >> so > >> >> > when you launch XWiki from this distribution, you use the > >> pre-generated > >> >> > cache. > >> >> > > >> >> > Of course it could only work for our Jetty distributions that users > >> test > >> >> > locally. It will not solve the issue on production servers. But it > is > >> >> > already good that a user have a good impression by starting XWiki > >> > quickly > >> >> > on her computer. > >> >> > > >> >> > I have made a proof of concept on a branch [1] and the thing is > >> working > >> >> > well. The first request to XWiki is really faster. > >> >> > > >> >> > The only blocking point I have now is that the current cache > directory > >> > is > >> >> > currently configured to be the temporary directory. Instead, I > need to > >> > use > >> >> > a directory from the distribution (where I can put my pre-generated > >> > cache > >> >> > files). I have solved this locally by setting an absolute path to > my > >> > "data" > >> >> > folder [2], but it is not clean. > >> >> > > >> >> > Thomas suggested me to configure all the caches to use the > "permdir" > >> >> > directory, which actually is the "data" directory in the case of > our > >> > jetty > >> >> > distributions, and so it does the job. > >> >> > > >> >> > So the vote is for the following proposal: > >> >> > 1 - move the cache files to permdir > >> >> > 2 - do not purge the LESS cache at startup (by default) > >> >> > 3 - add a new module that pre-generate the LESS cache file to make > the > >> >> > first XWiki launch faster > >> >> > > >> >> > Here is my +1. > >> >> > > >> >> > Thanks, > >> >> > > >> >> > [1] > >> >> > > >> https://github.com/xwiki/xwiki-enterprise/compare/feature-datalesscache > >> >> > [2] > >> >> > > >> >> > > >> > > >> > http://jira.xwiki.org/browse/XWIKI-10879?focusedCommentId=85369&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-85369 > >> >> > > >> >> > > >> >> > -- > >> >> > Guillaume Delhumeau (gdelhum...@xwiki.com) > >> >> > Research & Development Engineer at XWiki SAS > >> >> > Committer on the XWiki.org project > >> >> > _______________________________________________ > >> >> > devs mailing list > >> >> > devs@xwiki.org > >> >> > http://lists.xwiki.org/mailman/listinfo/devs > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> Denis Gervalle > >> >> SOFTEC sa - CEO > >> >> _______________________________________________ > >> >> devs mailing list > >> >> devs@xwiki.org > >> >> http://lists.xwiki.org/mailman/listinfo/devs > >> > _______________________________________________ > >> > devs mailing list > >> > devs@xwiki.org > >> > http://lists.xwiki.org/mailman/listinfo/devs > >> > >> > >> > >> -- > >> Thomas Mortagne > >> _______________________________________________ > >> devs mailing list > >> devs@xwiki.org > >> http://lists.xwiki.org/mailman/listinfo/devs > >> > > _______________________________________________ > > devs mailing list > > devs@xwiki.org > > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs > -- Guillaume Delhumeau (gdelhum...@xwiki.com) Research & Development Engineer at XWiki SAS Committer on the XWiki.org project _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs