+1

On Mon, Feb 16, 2015 at 5:15 PM, Marius Dumitru Florea
<mariusdumitru.flo...@xwiki.com> wrote:
> +1
>
> Thanks,
> Marius
>
> On Mon, Feb 16, 2015 at 6:13 PM, Guillaume "Louis-Marie" Delhumeau
> <gdelhum...@xwiki.com> wrote:
>> 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
> _______________________________________________
> 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

Reply via email to