Thank you Thomas,
so it turned out an elementary configuration bit caused the test with titles to fail: the presence of a cache folder in WEB-INF containing various cache configs. Removing that made the test with titles and contents succeed.
However, the test with collections still fails, and now I finally had it to fail on my sever as well: two tomcats, joined through a tcp channel, ... What I observe is that after a revision is cached in a server, a change of objects only on the other does not propagate. The event and history frame comes up, not the added object.
Let me understand: jgroups just does the communication, and listeners include a cache listener which invalidate the entry when the document-event is fired.
Is it correct?
thanks in advance
Paul
Hi devs,
I wanted to understand how Checkstyle computes the Class Fan out so I debugged it.
Here are my findings:
* Some classes are excluded by default:
mIgnoredClassNames.add("boolean");
mIgnoredClassNames.add("byte");
mIgnoredClassNames.add("char");
mIgnoredClassNames.add("double");
mIgnoredClassNames.add("float");
mIgnoredClassNames.add("int");
mIgnoredClassNames.add("long");
mIgnoredClassNames.add("short");
mIgnoredClassNames.add("void");
mIgnoredClassNames.add("Boolean");
mIgnoredClassNames.add("Byte");
mIgnoredClassNames.add("Character");
mIgnoredClassNames.add("Double");
mIgnoredClassNames.add("Float");
mIgnoredClassNames.add("Integer");
mIgnoredClassNames.add("Long");
mIgnoredClassNames.add("Object");
mIgnoredClassNames.add("Short");
mIgnoredClassNames.add("String");
mIgnoredClassNames.add("StringBuffer");
mIgnoredClassNames.add("Void");
mIgnoredClassNames.add("ArrayIndexOutOfBoundsException");
mIgnoredClassNames.add("Exception");
mIgnoredClassNames.add("RuntimeException");
mIgnoredClassNames.add("IllegalArgumentException");
mIgnoredClassNames.add("IllegalStateException");
mIgnoredClassNames.add("IndexOutOfBoundsException");
mIgnoredClassNames.add("NullPointerException");
mIgnoredClassNames.add("Throwable");
mIgnoredClassNames.add("SecurityException");
mIgnoredClassNames.add("UnsupportedOperationException");
* All classes in java.lang.* are excluded too
* Annotation classes are not counted
* Classes in the same package are counted (they won't appear in import since it's in the same package so don't count imports to get class fan out)
* Static method calls are not counted. So for example StringUtils from Commons Lang never counts for class Fan out
* Enums are not counted (no new XXX() done. That's why static method calls are not counted too BTW)
* Classes used in class extend or implement are not counted too.
Hope it helps
-Vincent
Hi Jeremie,
I've tried using version 0.1 this week end and I've found that it doesn't work and is missing things. For example, it requires the tab macro which isn't specified as a dependency. And some pages have velocity macro failures.
I've then tried to build the mailarchive app from git in the hope that some more recent commits fixed the issues but I couldn't built it. The build fails with:
"Results :
Failed tests: decodeMailContentForHtmlAndNoBodyAndCut(org.xwiki.contrib.mailarchive.internal.MailUtilsTest): To be implemented
Tests in error:
extractTypesWithLimitValues(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest): Failed to lookup component [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
extractTypesForNominalCases_OtherType(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest): Failed to lookup component [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
extractTypesForMultiplePatternsAndTypes(org.xwiki.contrib.mailarchive.internal.DefaultMailArchiveTest): Failed to lookup component [org.xwiki.contrib.mailarchive.internal.DefaultMailArchive] for role [org.xwiki.contrib.mailarchive.IMailArchive] and hint [default]
Tests run: 10, Failures: 1, Errors: 3, Skipped: 0
"
I've also noticed that on master the core dep is 3.5.1 which is pretty old. I'd like to update this to 4.3-SNAPSHOT and when you perform a release you resolve the snapshot to whatever version is the latest released (ATM that would be 4.2 and later on that would be 4.3-milestone-1 for ex).
If you still need to depend on 3.5.1, it should be done on a branch of the mail archive app IMO.
It would be nice for ex to be able to use the Application panel extension point.
WDYT?
I'm now going to try building with -DskipTests and pray it's going to run ;-)
Thanks
-Vincent
PS: I'm still very eager to see it in action!
Hi devs,
It seems we've never really used the "future' version in jira. I'd like like to propose to remove it.
The idea was that issues that had been reviewed and marked for later were supposed to use "future" but in practice we are not doing it.
WDYT?
Thanks
-Vincent
Hi devs and contributors,
It's been a long since we last organized a Bug Fixing Day. I've published all our last results about XWiki Days at
http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HXWikiDa…
I've also created a dashboard for listing all issues fixed during all our past Bug Fixing Days at
http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11196
Our total score is 97 issues. We can do better! Well done to Sergiu who has the high score by far with 49 issues fixed.
I'd like to propose the 6th BFD since we're deriving quite a lot on our bug count. For the past 365 days 824 bugs were created and we solved 734 which means we're behind by 90 bugs just for that rolling period…
See http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10000#Created-vs-R…
This means we're loosing the battle every day since every day more bugs are created than solved (our total unclosed bug count is 793, see http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10000#Issue-Statis… ).
What we should be doing instead is have the green line just slightly above the red bar on http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10000#Created-vs-R… This would mean we're catching up slowly on the bug count.
I'd like to propose the date of the **4th of October **for our sixth BFD and more generally I'd like to propose having a BFD every month on the first Thursday of every month, with the goal of reducing drastically this roving bug count!
WDYT?
Thanks
-Vincent
Hello,
first of all, sorry, I've tried to google for it, but have not got any
meaningful answer so I'm asking here.
I'm curious what is the future of platform-legacy-oldcore modules for
few another releases or let say a year or two. I'm asking since in 3.x
release this module was called platform-oldcore ("old" kind of warned me
already), but now in 4.2 it's already called with a connection of "old"
and "legacy" words so I'm curious if this is going to change into "old"
and "deprecated" and then be removed one of future releases (just my
current fear!). The reason I'm asking is since we've extended this base
by simple two or three classes to support lists based on supplied SPARQ
queries.
If however, this should be implemented anywhere else please let me know
and I'll fix our extension to be more in line with what XWiki expects
before I go to submit it here for more discussion about this feature.
I'm not sure at all if you will be interested in integrating this into
xwiki code base or it should be implemented anywhere else in kind of
semantic module support for xwiki or something like that so if you do
have some advice with regarding to this topic, it's also highly appreciated.
Thanks!
Karel
Hi guys,
I was just reading the release notes about the latest 4.2 release, and I
would like to share my thoughts about the new experimental upgrade wizard:
1) During the first step, I found the labels of the button "Skip" and
"Cancel" to be potentially misleading. I quickly make the analogy with a
typical application upgrade wizard on my Mac, which say "Skip this version"
or "Remind me later". But this is exactly the contrary, "Skip" here means
"Remind me later", and "Cancel" means "Skip this version". So I propose to
use more explicit labels, either those proposed above or any other that
avoid the confusion.
2) During the second step, the extensions that are incompatible but do not
have a potential update seems to not be listed. Once again, this could be
misleading, since you naturally expect the wizard to have proposed the
whole solution for your upgrade. I think that the wizard should also tell
you which extension has been disabled for incompatibilities during this
step.
WDYT ?
--
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
Hi devs,
I want to create a new project, derivated from
http://extensions.xwiki.org/xwiki/bin/view/Extension/DBListManager+Applicat…
will handle internationalisation.
I think it's good to have two distinct projects, because users would be
able to have the choice to use the simple extension or the new one, which
will be more complicated.
Thanks,
Louis-Marie.
Hi devs,
I'd like to propose the following to implement http://jira.xwiki.org/browse/XWIKI-8271:
* Create a new xwiki-platform-store-hibernate module
* Add a Component role: HibernateConfiguration implements Comparable
* API: void HibernateConfiguration.configure(Configuration aggregatedConfiguration), where the passed aggregatedConfiguration contains the configuration filled by all the HibernateConfiguration.configure() calls executed before
* Add a HibernateConfigurationManager.getConfiguration() component that is in charge of loading the various HibernateConfiguration in the correct order
* Have an AbstractHibernateConfiguration implements HibernateConfiguration with 1 API: getDatabaseType(Configuration configuration). It gets the DB type from the connection URL string and returns a DatabaseType object which represents the database type
* CoreHibernateMapping (hint = "xwiki") <==> xwiki.hbm.*.xml - highest priority, defines the connection URL among other props
* ActivityStreamHibernateMapping (hint = "activitystream")
* FeedHibernateMapping (hint = "feeds")
Note 1: If a HibernateConfiguration impl needs to load mappings that depend on the DB they call AbstractHibernateConfiguration. getDatabaseType() to get the DB.
Note 2: If the user wants to use a different HBM file, he/she just has to put a file with the same name (e.g. xwiki.hbm.xml) in WEB-INF/classes
Note 3: This means we won't put any mapping anymore in the hibernate.cfg.xml file since it's not needed anymore (although it would continue to work if you put mappings there).
Usage:
@Inject
HibernateConfigurationManager configurationManager;
Configuration configuration = configurationManager.getConfiguration();
SessionFactory sessionFactory = configuration.buildSessionFactory();
Then all that remains to implement http://jira.xwiki.org/browse/XWIKI-8271 is to have a component singleton that will be in charge of returning the SessionFactory and which can be asked to rebuild a new SessionFactory (using a new Configuration).
We'll just need to decide how we trigger this. 2 options:
* By using an Event Listener listening on HibernateConfiguration registrations and recreating automatically a new SessionFactory when it happens. Cons: if an extension contributes several HibernateConfiguration then Hibernate will be reinitialized several times
* By listening to an Event sent by the Extension Manager when an extension has finished loading and somehow find out all the HibernateConfiguration that have been added (several ways of doing this) and recreating the SessionFactory
Note: The only issue I can foresee is if a Hibernate call is in progress in one thread when an extension is installed and a new SessionFactory is created at the same time. Either we don't care or we could implement retry at the DB level, or we could introduce some semaphore so that we start the reinit only when nobody has a lock on the SessionFactory, or…
WDYT?
Of course, the pros is those listed in http://jira.xwiki.org/browse/XWIKI-8271:
* Ability for a platform module to contribute Hibernate mappings (static)
* Ability for an extension installed at runtime to contribute Hibernate mappings (dynamic)
Note that the reason I'm starting all this is because I'd like to implement http://jira.xwiki.org/jira/browse/XWIKI-7953 cleanly in a module separate from oldcore.
Thanks
-Vincent
Hi devs,
In order to fix https://jira.xwiki.org/browse/XWIKI-8180 Extension
Manager XAR handler need to access some way a mandatory document as it
should be when it's "clean" so that It can then be used as previous
version in a 3 ways merge.
For that the idea is to introduce a new component based mandatory
documents initialization and refactor XWiki#initializeMandatoryClasses
to use it.
This new MandatoryDocumentInitializer would allow:
* provide a new mandatory document initializer from an extension since
XWiki#initializeMandatoryClasses would lookup all of them
* find a clean mandatory document state for a given document reference
in extension manager XAR handler since that's the role hint of those
components
You can find an example of what a XWikiPreferencesDocumentInitializer
would look like in
https://github.com/xwiki/xwiki-platform/tree/feature-standardclasses
branch.
WDYT ?
--
Thomas Mortagne
The XWiki development team is proud to announce the availability of
XWiki Enterprise 4.2.
This is the third release of the 4.x cycle. This release brings
extension manager improvements including an experimental install/upgrade
wizard, new field types (emails, lists of pages, and computed fields),
new macros (JIRA and content macros), macros improvements (chart and
documents macros), as well as many other new features and improvements.
You can download it here: http://www.xwiki.org/xwiki/bin/view/Main/Download
Make sure to review the release notes:
http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWiki42
Thanks
-The XWiki dev team
Hi devs,
Here's a proposal for the 4.3 roadmap. I'm putting names of committers I've discussed it with, please correct me if I'm wrong and please add any other items you'd like to do for 4.3 for committers not listed or even for committers listed if you want to work on other stuff! :)
"Large Features"
=============
- Improvements on Search Components SOLR Implementation - Assignee: Edy
- Implementing Usability Action Plan: from Wysiwyg macros improvements, improvement dashboard look, Help center, XEM Usability - Assignee: JV
- Improvements on AppWithinMinutes (according to the initial specs: user fields, suggests, validation, automated naming of pages, doc title + doc content, app generation quality) - Assignee: Marius with Sergiu for "automated page names"
- Extension Manager Maintenance (testing, bug fixing, etc.) - Assignee: Thomas
- Extension Manager Authentication - Assignee: Thomas
- l10n module and especially automatic Registration of translation objects in wiki pages (similar to wiki macros) - Assignee: Thomas
- Ludovic's Mobile Skin Patch - Assignee: Sergiu (if he gets the time)
- Validating LibreOffice as standard Office Importer (brings pptx support) - Assignee: Sorin
JIRAs:
======
There are 3 important JIRAs that we should commit on:
- Be able to rename a space from the UI (also Rename Application) - XWIKI-6722 - Assignee: ? (Sergiu maybe if he gets the time)
- Improvements on Dashboard editing - XWIKI-7681- Assignee: JV
- User picker (User field does not scale to 1000 users - User picker implementation) - Assignee: Sergiu
Other important JIRAs (but no commitment):
- tag suggest feature does not work if Main.WebHome is not saved with programming rights - XE-539
- Tracking Active Installs - no JIRA yet - Vincent (I hope I can find the time)
- Profile Improvements - XWIKI-6307
- Lucene Search should not return HTML tags - XWIKI-8111
- Search suggest does not use translation keys (Show all results... and No results!) Patch aleardy exists, it has to be applied - XWIKI-7138
- PDF Export when CDATA section (generated by Livetable) - XWIKI-7871
- App Within Minutes pages cannot be annotated (and any page using the HTML macro)- JIRA?
Investigations:
============
- 4.x Skin. Assignee: Caty
- Scalability Auditing. Assignee: Sorin
- Mobile Skin + Mobile App investigation. Assignee: Ludovic
Dates
=====
- 4.3M1: 22 oct (3w)
- 4.3M2: 5 nov (2w)
- 4.3RC1: 12 nov (1w)
- 4.3final: 19 nov (1w)
Then 4.4 around beginning of January and 4.5 around beginning of February ==> 4.x cycle finished for early February.
WDYT?
Thanks
-Vincent
I've had a lot of fun using Byteman to debug some HSQLDB code last week.
I wrote a quick tutorial to explain how it works:
http://dev.xwiki.org/xwiki/bin/preview/Community/Debugging#HUsingByteman
Enjoy!
-Vincent
PS: It's really really powerful and simpler to use than Aspects IMO when your use case is to debug stuff.
Hi guys,
FYI I've just sent the following email for proposing a "wiki" devroom for FOSDEM 2013
(see https://fosdem.org/2013/call_for_devrooms.html):
------ start here -------
Hi guys,
Several members of the XWiki community (on behalf of other wiki communities too) would like to kindly ask for a devroom at FOSDEM. Here are the details:
* Devroom name:
What's next for Wikis?
* Description:
Wiki systems have been proven as an effective way for organizing information and for encouraging and improving collaboration. Wikipedia is among one of the most obvious examples, but wikis have provided solutions in different contexts such education, e-democracy and also in the enterprise domain.
By gathering together the experts in open source wiki systems, the goal of this devroom is to start a discussion between the different wiki communities about the next features and ideas they're all working on, with the intent of cross-pollination and synergies between wikis.
The topics can also be broadened to discuss what makes wikis different from other collaboration tools today.
* Project URLs:
In addition to XWiki (we can have 5-10 persons from the XWiki community), we've contacted the MediaWiki and Foswiki communities and they've both agreed to participate to this devroom already.
- http://xwiki.org
- http://foswiki.org/
- http://www.mediawiki.org/
- http://dokuwiki.org/
- http://moinmo.in/
- any other open source wiki community interested in participating, the more the merrier!
* Preferred day:
Saturday
* Why should FOSDEM accept this proposal?
Because FOSDEM is one of the few conferences in the world where people from various wiki open source communities can meet! And because wikis are still a hot topic but they need to reinvent themselves to not lose steam vs all the other types of collaboration tools out there today and a global discussion with the open souce wiki actors on this topic would help a lot.
Thanks a lot
-Vincent Massol
http://about.me/vmassol
XWiki open source committer
------ end here -------
I'll let you know if our devroom is accepted.
Thanks
-Vincent
Hi devs,
In many APIs we sometime want to manipulate several Block but we don't
want to put them in a meaningful Block like XDOM which is supposed to
mean a full document. Right now the only way to do it is to have both
an API with Block and another with Collection<Block> but it's a bit
more annoying for return type where you are forced to return a
List<Block> even if you are in a case where you actually have only one
Block to return like in macros for example.
We talked a long time ago with Vincent about a BlockCollection which
would not have any meaning (i.e. no corresponding event in the stream
rendering API) and would just be here to be able to pass several
blocks as a Block.
Since UI extension is going to use it a lot I propose to introduce it now.
WDYT ?
Any better idea for the name ?
Here is my +1.
--
Thomas Mortagne
Hi devs,
I find myself starting to copy past a lot of stuff from one
ScriptService to another and I wanted to discuss with you think I find
common enough to be put in a AbstractScriptService in
xwiki-commons-script to be reused everywhere.
As a discussion based I committed a first thing in
https://github.com/xwiki/xwiki-commons/commit/a19c6df56fa984dacc9a8eeb50bb9…
in a branch.
So here are some ideas:
* helper to set/get exception that every method is supposed to catch
to make error handling in languages like velocity easier (in the
commit)
* helper to find a proper "safe" wrapper based on the type of an
object (there is a example of such helper in
https://github.com/xwiki/xwiki-commons/tree/master/xwiki-commons-core/xwiki…)
Any other ?
WDYT ?
--
Thomas Mortagne
Hi guys,
For those of you who might be interested, I created a platform branch
that contains a demo of how XWiki's WYSIWYG Editor can be used outside
XWiki. The editor uses the rendering module and the component manager,
but they can be removed also if you want to use only the client side
(JavaScript code). See
https://github.com/xwiki/xwiki-platform/tree/feature-wysiwyg-standalone/xwi…
. If you want to try it, you need to build the WYSIWYG Editor modules
(use -Pdev for a quick build) and deploy the standalone war in a
servlet container of your choice.
Hope this helps,
Marius
I would like to pass in a variable from a JSP page, named mySession, to the
login page of Xwiki, such as:
So when the user has valid credentials they will be redirected here:
/xwiki/bin/login/XWiki/XWikiLogin/?mySession=" + session.getId();
There is some a custom authentication class written in Java that extends
XwikiAuthServiceImpl and inside of the checkAuth(XWikiContext context)
method I am trying to retrieve the value I passed in from the JSP page.
String mySession =
(String)context.getRequest().getSession().getAttribute("mySession");
The value of mySession is always null. Does anyone know where I went wrong
in trying to accomplish this?
--
View this message in context: http://xwiki.475771.n2.nabble.com/passing-a-session-variable-to-the-XwikiLo…
Sent from the XWiki- Dev mailing list archive at Nabble.com.
Hi devs,
Just a reminder that we have a Template for creating release notes on xwiki.org. The way to create a new release note is:
* Go to http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/
* Click in Add>Page in the top menu and select "Release Note"
* Starting with 4.3M1 name the page: ReleaseNotesXWiki<version> (without the "Enteprrise" part).
Thanks
-Vincent
Hello devs,
I've volunteered (designated volunteer ;) for performing the 4.2 final
release.
It was supposed to be today, so we need to agree on a new date.
Personnally I can do it either Wednesday or Thursday (I'm taking a train
on Friday, so I will be less available). I have a preference for Wednesday.
So, my +1 for Wednesday
WDYT ?
Jérôme
Hi devs,
I was trying to make XEM work with HSQLDB and... I have succeeded :)
The only problem I have is that DBCP doesn't seem to work with Hibernate. For some weird reasons when we do a SET SCHEMA it makes calls to fail afterwards. In any case if I configure Hibernate to not use DBCP all work just fine.
I've googled around and found that there are lots of people complaining about DBCP.
I've googled for what connection pooling library to use and I've found that most people are recommending BoneCP (http://jolbox.com/).
See:
* http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-librar…
* http://www.jorambarrez.be/blog/2012/04/30/dbcp_vs_c3p0_bonecp/
* http://stackoverflow.com/questions/8057110/java-database-connection-pool-bo…
The other thing is that we currently have some 300 line of code that we shouldn't have at all and that we need in XWiki just for handling DBCP (see com.xpn.xwiki.store.DBCPConnectionProvider).
The pro of BoneCP is that it seems to be the fastest, see http://jolbox.com/benchmarks.html
So here's what I'd like to propose:
* We move DBCPConnectionProvider to a legacy module
* We bundle the bonecp jar by default
* We configure our hibernate.cfg.xml by default to use boneCP:
<property name="bonecp.idleMaxAge">240</property>
<property name="bonecp.idleConnectionTestPeriod">60</property>
<property name="bonecp.partitionCount">3</property>
<property name="bonecp.acquireIncrement">10</property>
<property name="bonecp.maxConnectionsPerPartition">60</property>
<property name="bonecp.minConnectionsPerPartition">20</property>
<property name="bonecp.statementsCacheSize">50</property>
<property name="bonecp.releaseHelperThreads">3</property>
<property name="connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</property>
What this means:
* Existing users of XWiki will not have to change anything, it'll still work
* New users will use bonecp without knowing
* Existing users can migrate to bonecp just by changing one line in their hibernate.cfg.xml file
I'd love to do this for 4.3 but we're already quite advanced in the 4.x cycle. That said it's just a one line change in hibernate.cfg.xml in case of problem to go back to DBCP so we could do this for 4.3 which leaves us 4.3, 4.4 and 4.5 to test this out. And if later on we find an issue we'll always be able to release a 4.5.1 that has this one line change to go back to DBCP.
WDYT?
Here's my +1 for this action plan.
Thanks
-Vincent
Hi devs,
Current situation:
* on http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ we have separated the RN into 2 parts: XE and XEM.
* in the RN for XE we put all platform release notes, even release notes for modules in platform that are not bundled with XE (IRC Bot for ex).
* It's normal to have release notes for everything we release, not just XE or XEM
Proposal:
* Have only a single release note page for each release (ie no more specific XEM release notes + always make sure to document all releases modules in the RN, not just what is bundled with XE). I propose to name this "XWiki" instead of "XWiki Enterprise". So we would have "XWiki 4.3" for ex.
* The URL for 4.3M1 would be (for ex): http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWiki43M1
I propose to do this ASAP for 4.2 final (I can do the refactoring).
Here's my +1
Thanks
-Vincent
Hi devs,
It's a best practice that unit tests must not output anything to the console. Rationale:
* It pollutes the maven logs unnecessarily. For example imagine that you're expecting an error in your test and that the stacktrace is logged to the console. When looking at the maven console logs the reader will wonder if there was an error or if it was expected.
* The test must assert whatever it needs to validate the code under test. So if it expects a log to be printed it should assert it.
In order to make this easy I've just added JUnit LogRule to our commons test framework.
Here's a usage example:
public class RestrictParseLocationEventHandlerTest
{
private RestrictParseLocationEventHandler handler = new RestrictParseLocationEventHandler();
/**
* Capture logs with WARN or higher severity to assert them.
*/
@Rule public LogRule logRule = new LogRule() {{
record(LogLevel.WARN);
recordLoggingForType(RestrictParseLocationEventHandler.class);
}};
@Test
public void includeEventWhenIllegalPath()
{
Assert.assertNull("Template shouldn't have been returned",
this.handler.includeEvent("../WEB-INF/xwiki.cfg", "xwiki:Main.WebHome", "parse"));
Assert.assertEquals(1, this.logRule.size());
Assert.assertTrue(this.logRule.contains(
"Direct access to template file [/WEB-INF/xwiki.cfg] refused. Possible break-in attempt!"));
}
}
So this is a vote to agree on this best practice and to document it on dev.xwiki.org.
Here's my +1
If you agree then please make sure your tests don't output anything from now on and please try fixing the tests you wrote that do...
Thanks
-Vincent
The XWiki development team is proud to announce the availability of XWiki
Enterprise 4.2 Release Candidate 1.
This is the first and hopefully final release candidate of the 4.2 release
cycle. Being a release candidate, this release contains bugfixes and
polishing, most of them focused on the new distribution wizard.
You can download it here: http://www.xwiki.org/xwiki/bin/view/Main/Download
Make sure to review the release notes:
http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterpris…
Thanks
-The XWiki dev team