Hi devs,
I think we are now satisfied with our experimentation with the "users"
mailing list on discourse. I propose you to move the "dev" ML too.
My main point is that it allows advanced formatting (which is good when you
have complex proposals), meanwhile the formatting is lost with our
archiving tool like markmail (it's plain text).
Here is my +1.
Thanks,
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the XWiki.org project
Hi devs,
I don't think there is currently a process that is in place to handle
pull requests and I have the feeling that the way there are handled
today is a bit random.
There are usually comments sent out on each pull request but sometimes
it seems that some pull requests are going in sleep mode and it's not
clear who is in charge.
I would like to suggest that a process is put in place where it's
clear who is responsible for a pull request and a status is given to
the contributors that propose that pull request.
Something like:
Assigned developer: XXXX
Status:
New -> new pull request, not yet assigned
Assigned -> assigned to a developer, he is in charge of reviewing the
pull request and ask for modifications or accept it. The developer can
auto assign it to himself. If nobody does, we need to decide how they
will be taken into account.
ModificationsRequired -> for now rejected with comments. Contributor
needs to apply comments and then change back to Assigned for further
evaluation
VoteRequired -> there are no more comments, but a vote is required as
the changes to XWiki core are important
WaitingFinalAuthorization -> optional step for complex patches where
a additional authorization would be required (need to define who would
be the persons that give the authorization)
WaitingApplication -> there are no more comments and no changes or
vote required. The pull request can be applied and is waiting for a
developer to apply it
Abandoned -> contributors is abandoning the pull request (cannot do
the changes, no more time, etc..)
Rejected -> pull request is rejected (quality not enough, etc..)
Applied -> pull request is applied
What do you think ?
Ludovic
--
Ludovic Dubost
Founder and CEO
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost
IE is the last browser we are supporting at a particular version, see
http://dev.xwiki.org/xwiki/bin/view/Community/BrowserSupportStrategy . For
all the other browsers, we are supporting just the latest release.
We are supporting the latest version of Microsoft Edge since XWiki 9.9,
starting from 24/Oct/17. Microsoft Edge replaced Internet Explorer as the
default web browser since the release of Windows 10 (launched Jul 2015).
Internet Explorer 11 is maintained on Windows 10 for compatibility
purposes, but is deprecated in favor of Edge and is no longer actively
developed.
We discussed dropping IE11 in the past Oct 6, 2017 (see
https://xwiki.markmail.org/thread/qsrkka6zfrmyxv3d), but the vote failed.
Some updated statistics:
--------------------------------------------------
XWiki.org's 1 year traffic (between Sep 30, 2016 - Sep 30, 2017) compared
to Oct 1, 2017 - May 31, 2018:
- Internet Explorer dropped from (5.84%) to (4.65%)
-- from this percentage, IE 11 usage has increased from (88.43%) to (88.76%)
- Edge increased from (1.56%) to (1.84%).
In terms of Worldwide market share for Desktops, for the past 12 months
(according to
http://gs.statcounter.com/browser-market-share/desktop/ ), we have Sep,
2016 - Sep, 2017 compared to May 2017 - May 2018:
- Internet Explorer dropped from 8.21% to 6.97%
- Edge dropped from 4.3% to 4.15%
In May 2018, Global Market Share Worldwide for All Platforms contains:
- Chrome 58.09%
- Safari 13.78%
- UC Browser 8.16%
- Firefox 5.27%
- Opera 3.68%
- Internet Explorer combined is at 3.08% (with IE 11 having 2.65%. IE11 in
August 2017 had 3.04%)
- Edge combined having 1.91% (Edge combined in August 2017 had 1.8%)
- etc.
--------------------------------------------------
In terms of statistics, IE11 is more used than Microsoft Edge. The only
argument of dropping IE11 is that it's a browser that is deprecated for
about 3 years, and it's limiting the usage of newer specifications (like
CSS Flex, Grid, etc.)
I'm curios about how this period of supporting both IE11 and Edge went, and
if you have other examples of things you wanted to use and are not
supported by IE11.
Thanks,
Caty
Hi devs,
On Matrix/IRC, I’ve posted the following:
"
* Guillaume Delhumeau: BTW your naming is strange for the internal package
* for ex: package org.xwiki.notifications.preferences.internal.email;
* normally we put internal just after the main package part
* ie.
* org.xwiki.notifications.internal.*
* and org.xwiki.notifications.* for public classes
* see http://dev.xwiki.org/xwiki/bin/view/Community/CodeStyle/JavaCodeStyle/#HPac…
* General rule is org.xwiki.(module name).internal.
* I see thomas has done the same “error" for org.xwiki.job.handler.internal and org.xwiki.job.handler.internal.question . So maybe there's something to discuss/change
* I guess we have a mix of both now so we should discuss it and adjust our rules if need be
“
So I think we don’t have all the same rules/understanding of the definition at http://dev.xwiki.org/xwiki/bin/view/Community/CodeStyle/JavaCodeStyle/#HPac…
I’d like to discuss with you to see what you prefer and adjust our rules so that it matches what we do in practice.
Any take in this?
Thanks
-Vincent
Hi devs,
Context
======
Clemens fixed a bug at https://jira.xwiki.org/browse/XWIKI-15163 and while doing so inroduced a new system property to override the location of the xwiki.properties file. I commented at https://jira.xwiki.org/browse/XWIKI-15163?focusedCommentId=98075&page=com.a…
Even though it’s not necessary to introduce a new system property just for the need of this test (it’s easy to refactor the code to not need this IMO), it raises the question of what we want to do to make the configuration simpler in XWiki (simpler config, simpler upgrades, etc).
History
======
We discussed this a few times in the past:
* March 2010: http://markmail.org/message/6cvm5hocvtbqtgp6
* June 2012: https://markmail.org/message/3aq2bjrb6a2ip2ri
Note that the June 2012 proposal was agreed.
Globally this is what we implemented since the June 2012 proposal:
* XCOMMONS-187: The Permanent Data directory resolver should support System Property "xwiki.data.dir". More specifically the code is here: https://github.com/xwiki/xwiki-commons/blob/55569d3466dc0ea36f6964474973f7a…
* XWIKI-13867: Search xwiki.cfg in /etc/xwiki/ first. Code is here: https://github.com/xwiki/xwiki-platform/blob/973d4e9c6ad02dbb31d94fe96df9c1…
* XWIKI-13868: Search xwiki.properties in /etc/xwiki/ first. Code is here: https://github.com/xwiki/xwiki-platform/blob/93f02215783ac0f4030fe3062cac4d…
I’d like to note that I don’t remember discussions/proposals for XWIKI-13867/XWIKI-13868 and I commented on http://jira.xwiki.org/browse/XWIKI-13867 and didn’t get any response from my various comments.
Current behavior
=============
So right now the behavior is the following on config files (I’m excluding the recent change of Clements, see below in actions):
* If xwiki.cfg exists under the. "java:comp/env” JNDI key, then it’s used
* If not found, then search for it in /etc/xwiki/xwiki.cfg
* If not found, then default to WEB-INF/xwiki.cfg
* If /etc/xwiki.xwiki.properties exist then it’s used
* if not found, search in WEB-INF/xwiki.properties (as a ServletContext resource)
* If not found, then default to an empty configuration
Discussion/Proposal
================
* I think we should ask Clemens to rollback the introduction of the xwiki.properties.default.dir system property and to just make the test work without introducing any system property. I can help Clemens do that.
* I propose that instead we continue implementing the June 2012 proposal defined at https://markmail.org/message/3aq2bjrb6a2ip2ri and introduce the xwiki.config.dir system property.
* Right now I don’t like the solution introduced by /etc/xwiki/* because they don’t allow supporting several instances of XWiki on the same machine. However, the introduction of xwiki.config.dir system property would fix it.
* We could also introduce the user home dir location as a location where xwiki config files would be looked for.
* We also need to generalize the config files to hibernate.cfg.xml and clustering config files (jgroup files), and logback. See https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Backup#HConfi…
WDYT?
Thanks
-Vincent
PS: Sorry for the long mail, I had to do a lot of archeology to research this… Took me a while ;)
Hi xwikiers,
In the contact of bringing new Page concept (OK 7.4 is starting to get
old) to the API and macros too we decided (1) to introduce a "page"
shortcut property (even if we keep the reference/type for other
types).
While it's nicer for wiki syntax, one issue is that on WYSIWYG macros
UI side, which display all properties, it means ending up with
conflicting parameters that needs to be displayed as such.
I don't really have much clue on how best to display this so I'm
searching for ideas :)
Then I will add in the macro descriptor what's required for whatever
UI we want to build (group and sub groups of properties, etc.).
1: http://design.xwiki.org/xwiki/bin/view/Proposal/DeprecatingSpaceAndSpaceRef…
Thanks,
--
Thomas Mortagnes
Hi devs,
Some of you may know that I started working on upgrading our scripting
engine to Velocity 2.0.
The corresponding Jira issue is https://jira.xwiki.org/browse/XCOMMONS-1296.
Those of you who want to take a look at breakages with standard
Velocity 2.0 upgrade (if you directly use Velocity API) can take a
look at http://velocity.apache.org/engine/2.0/upgrading.html.
The following details are about XWiki Velocity "engine":
= The code
You can see the current state of the upgrade on the following branches:
* https://github.com/xwiki/xwiki-commons/tree/feature-velocity2
* https://github.com/xwiki/xwiki-rendering/tree/feature-velocity2
* https://github.com/xwiki/xwiki-platform/tree/feature-velocity2
= Bad news
== Definitive (probably) breakages
* it was not easy in Velocity 1.7 but it's now impossible in Velocity
2.0 to use the hack we currently use to make macro "return" something.
I mitigated this a bit by working on a #setVariable directive (the
name of the helper we currently have in macros.vm) but it's not yet
working in all situations and any code that was not going trough
#setVariable will be broken anyway
* the hypen ( - ) cannot be used in variable names anymore
Those changes make impossible to upgrade to Velocity 2.0 in 10.x
branch IMO, to big to be done in the middle of a cycle.
== Temporary (hopefully) breakages
* impossible to have $ or # at the end of a " based string literal (we
have that a lot in various regex for example). This looks like an
unplanned regression (since it's not documented) so I'm waiting for
some kind reaction in the issues I reported
(https://issues.apache.org/jira/browse/VELOCITY-897 and
https://issues.apache.org/jira/browse/VELOCITY-896)
== Not too impacting (hopefully) breakages
The Velocity API changed quite a lot, fortunately not in classes we
expose publicly (basically all we expose is VelocityContext). Also
reminder: directly manipulating even XWiki Velocity API is considered
legacy things (better use templates or wiki content and
ScriptContext).
= Good news
== Macros handling
The way to manage namespaces and macros has been completely changed
(it does mean that lots of API has been broken in the process but we
don't expose this API) and the good news is the new design will allow
us to (finally) do proper caching of velocity scripts.
I also removed a few hacks we had to do to not end up with endless
memory leaks and milti-thread issues caused by the old namespace
handling system.
== Less stuff on our side
I was able to move the following to legacy:
* an equivalent of our chainable uberspector system has been
implemented in Velocity standard
* a DeprecatedCheckUberspector has been implemented in Velocity standard
== Retro compatibility I was able to add
* XWiki will keep supporting $velocityCount and $velocityHasNext (with
a warning). It imply using XWikiVelocityContext instead of
VelocityContext if you create it directly (which is a very bad idea)
but you don't need to worry about that if you get your context from
VelocityManager
* a new #setVariable directive help supporting a few use case of macro
"return" but unfortunately not all yet (Velocity AST is not super
obvious to navigate...)
== Performances
Other than the caching on our side I already mentioned (huge boost
planned when implemented) there is some memory and performance
improvements claims in Velocity 2.0 release note (but I did not had
time to do any testing myself yet).
= TODO
a) waiting for answer about the regressions I reported
b) try find a way to make #setVariable directive works in a macro
which is itself called in another macro (but it may not be possible)
c) send a mail to discuss when to merge the Velocity 2 branch when at
least a) is resolved
Thanks,
--
Thomas Mortagne
Hi, devs.
We have had 2 previous discussions on this topic:
* July 2016 (discussion): https://markmail.org/thread/oodciq7pv6pj7eic
* Jan 2018 (proposal): https://markmail.org/thread/ymwsebvr3k7voy3p
And we have at least 2 issues on this topic:
* Oct 2011: XWIKI-7058 <http://jira.xwiki.org/browse/XWIKI-7058>: Page
creation date should be the date of the installation
* Feb 2015: XCOMMONS-1447 <https://jira.xwiki.org/browse/XCOMMONS-1447>:
XAR plugin should replace the dates with a common number
TL;DR: It's causing confusion for our users to install pages that are
created in 2005/2009/etc. so we should avoid committing dates on git that
users might end up installing.
Reminder: Importing a document with empty dates will:
* Use the current date if the document is new (i.e. does not exist in the
wiki)
* Use the existing dates if the document already exists in the wiki, if
using backup import
* Use the current user and current date for the document update date, if
imported using non-backup import of EM extension install
Adel and myself have extended the xar:verify and xar:format goals of the
xar plugin to check for the existence of date fields in the XML wiki pages
and to remove them. The fields are:
* date
* contentUpdateDate
* creationDate
* attachment/date
See the PR https://github.com/xwiki/xwiki-commons/pull/44/
This check (on both verify and format goals) is skippable entirely with the
"xar.dates.skip property" (default to false) or
"xar.dates.skip.documentList" for individual documents (list of doc
references).
I need your vote for accepting the existing PR and for removing the
document dates (e.g. https://github.com/xwiki/xwiki-platform/pull/792) and
your feedback in case you know of any problems that this might create.
Also, please mention if you would prefer for this behavior to be skipped by
default (and explicitly enabled on XWiki Standard, so that 3rd party code
is not impacted by this change).
Here's my +1 (enabled by default and skippable if needed).
Thanks,
Eduard
Hi devs,
It would be great if you could help improve our unit tests using Descartes. This is needed for the STAMP research project (https://www.stamp-project.eu/view/main/) and will benefit XWiki by having 2 effects:
* increasing the test coverage
* improving the tests themselves (increasing their mutation score)
Since 10.7 is 50% testing and 50% BFD, it would be great if you could spend all or a substantial part of your testing time working on this.
I propose the following strategy:
* You find a module you want to work on.
* In that module you run: mvn clean install -Pquality -Dxwiki.pitest.skip=false
* Then you check target/pit-reports/<date>/issues/index.html and verify if there are "pseudo tested" methods listed (when we have finished fixing all of those we can move to “partially tested methods”).
* If there are some, then please record the current jacoco threshold and the current mutation score.
* You can get the jacoco threshold by running "mvn clean install -Pquality -Dxwiki.pitest.skip=false -Dxwiki.pitest.mutationThreshold=100” (or by checking target/pit-reports/<date>/index.html, I haven’t checked yet if they are the same).
* You can get the current mutation score by checking target/pit-reports/<date>/index.html
* Then fix the test so that Descartes doesn’t report any pseudo tested or partially tested methods
* Update the jacoco threshold and the mutation scores in the pom.xml
* Send a PR on https://github.com/STAMP-project/descartes-usecases-output/tree/master/xwiki using the format already defined there.
WDYT? Doable?
Thanks
-Vincent