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

Reply via email to