Hi devs,
Currently when we create a subwiki there are 3 choices for users:
1- Only global users are available in the wiki
2- Only local users are available in the wiki
3- Both global and local users are available in the wiki
Based on the choice we enable different modes:
- “workspace” mode for choice 1
- “farm” mode for choices 2 and 3
For example if you choose 2 or 3 you don’t get the HOME menu.
I’d like to propose to add another option: “Should the wiki be isolated or not”.
If the answer is “no” (the default), the behavior would be:
- Display the “Home” menu
- Display the breadcrumb on the subwiki home page to lead to the main wiki by default (if the user has defined a parent on the main subwiki home page)
WDYT?
Thanks
-Vincent
Hi devs,
Some users are making the following mistake:
- download the zip/exe and install our standalone distribution (jetty/hsqldb)
- then they configure xwiki to point to another DB (mysql or postgresql typically)
- then they start XWiki and they get an empty page and no DW
The problem is that they don’t/can’t understand that in the standalone distribution the data/ directory already has a DW status.xml file that says the DW has already been executed and thus do not need to be executed again…
We need to find some strategy to avoid this potential error.
Any idea?
Some ideas:
- Idea 1: Improve documentation to explain the need to remove the data/ directory if you change DB
- Idea 2: In the status.xml, store the DW status along with the DB id so that if the DB changes, the DW can kick in again.
- other?
I personally like idea 2. WDYT?
Thanks
-Vincent
Hello,
As a member of the XWiki SAS client services team I have been working
with the XWiki platform for more then 5 years now (the first jira ticket
I opened was in 2008 for the 1.7 version of the
platform:http://jira.xwiki.org/browse/XWIKI-2998
<http://jira.xwiki.org/browse/XWIKI-2998>) and I have seen a significant
growth of the quality of its features (wysiwyg, rendering, skin, color
themes, AWM, Distribution Wizard, etc), but also of the XWiki ecosystem
(the community has build a really nice list of applications).
However, this growth seems to have had also an impact on the performance
of the platform. Here is some feedback regarding some of the things I
and other members of the XWiki SAS client team have noticed, while
working on projects based on XWiki:
On 2/7/14 2:30 PM, Thomas Mortagne wrote:
> Hi devs,
>
> Here is a mail to talk about what I plan to do during 6.x related to
> performances. I don't have detailed plan for 6.0 yet, I still have
> work to do on unfinished 5.x stuff and my priority will goes to that
> but before working on it lets present what I already have in mind
> about performances and gather some other ideas. I did not really made
> much new reseachs yet, it's mostly things I have in mind since some
> time for most of them.
>
> First thing first: having good performance is everyone's work, don't
> expect me to review everything you do and do all the thinking about
> how to design each feature so that it has good performances. My main
> job is do things we always puh back because we don't have time so here
> it is.
>
> = Automated speed report with history
>
> I plan to write a build dedicated to test performances (of XE for now)
> and provide stored and compared reports about it.
>
> My plan is to combine the following tools:
> * JMeter and more precisely some jmeter Maven plugin (probably
> https://github.com/Ronnie76er/jmeter-maven-plugin/)
> * Jenkins Performance Plugin
> (https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin) to
> put a nice UI around that
>
> And probably run that build something like once a day on master branch
> for example.
>
> The first step is to report it, second will probably be to set a
> maximum timeout (that we ideally reduce over time ;)) to fail the
> build when it become too slow (but that will be only after we actually
> improved it).
>
> I hope to finish this in 6.0.
It would be interesting to have a global view regarding the parallel
requests since often small things add up: what is the impact of
combining the velocity page generation, PDF export, UI resources, Solr
indexing, activity stream, Office conversion, ...
> = Spot worst places
>
> I plan to do hand testing with a profiler (probably YourKit) and write
> detailed reports in jira issues for the slowest parts or our code
> during a request (and not only for view, save is a realy a pain
> sometimes) and what seems weird so that we find solutions (or not) for
> each one.
>
> Same, I think I should have moved forward on it during 6.0 timeframe.
How about http://jira.xwiki.org/browse/XWIKI-8910?
> = Things we already know but for which I don't have yet a definitive solution
>
> == Too much database requests
>
> Loading a single document generate tons of requests. The document
> cache hide this a little.
>
> Maybe start include some lazy loading of objects in document or things
> like this but it's hard since we don't have any real clean interface
> and only XWikiDocument to work on it.
Since the documents are cached this point seems less important then the
other items.
> == The UI is very expensive
>
> Loading a page with /get/ action for example is a lot quicker (often
> more than 5 times quicker) than loading it with the full UI (/view/
> action) even a page with lots of content including content we
> generally consider very slow like code macro.
We could use profiling tools like Yslow and PageSpeed to analyze the
font end performance (improve the grades and especially the number of
requests made to the server). This could have a great impact on the user
experience.
> = Some ideas of refactoring or new features I already have in mind
> (not specifically done by me, it's just ideas of things to look at)
>
> == Async events
>
> I don't think there is much related issues in view but we are doing
> way too much blocking stuff when modifying a document so I plan to
> allow a listener to declare that it's ok for it to receive
> asynchronous events (events sent in a different thread than the one
> who actually saved the document) and review the listeners that could
> use that (the first one I have in mind is user cleaner but I'm also
> thinking about wiki extension module which execute several requests at
> each save for example and all the code responsible for parsing and
> storing backlinks in modified documents).
We could also consider using more Ajax to load different parts of the UI.
> == Activity stream UI
>
> This is nothing new and a project of it's own, the UI of Activity
> Stream is super slow and probably require a complete analysis and
> rewrite by a dedicated developer.
The activity stream is very often removed from the homepage and the user
profile because it slows down the wiki.
> <put other ideas here ;)>
>
We can also consider JavaMelody since it offers some nice graphs and
details for the spend and time (queries, active requests, CPU, memory, etc).
We could offer the possibility of creating code pages without history
because huge xwikircs table has an impact on performance (for example
Scheduler / Watchlist activity shouldn't add a version to the page).
The statistics module is too often deactivated due to performance issues
or replaced by Piwik which does not offer good user level stats.
Maybe we could also take a look at the performance of search for wikis
with a lot of structured content.
--
Oana Tabaranu
Client Support Manager
XWiki SAS
Hi devs,
I know this will come as a bomb. It came as a bomb for me too when I thought about it this morning :)
Issue
=====
So the question is: why do we need UIX when we already have a system to provide extensibility in XWiki called XClass and XObjects?
Let’s take the example of the AddApplication extension point (http://platform.xwiki.org/xwiki/bin/view/ExtensionPoint/AddApplicationUIX) used in the Applications Panel. The UIExtensionClass xobjects for it don’t use the “content” field but they use the “parameters" textarea field, which defines 3 parameters: “label", “target", “icon". This is actually not very nice because the parameters are untyped and it’s up to the extension point user to parse the value (for example if the value is a list, it’ll need to tokenize the value to extract the different parts).
A better way to implement this would be to have an ApplicationEntryClass with 3 typed fields: “label", “target" and "icon". And the “target" field could even be of type Page and when an XObject of that XClass is editer we would get auto suggest for it...
This is the XWiki way... And with UIExtension we’ve suddenly introduced non-typed versions of XClasses... and this is IMO anti-xwiki!
So, with an ApplicationEntryClass all the Application Panels needs to do, is use XWQL to find all xobjects (or introduce some script service to do that in the same as we have a script service for UIX).
Some Q&A
========
Q: How to support scope with XClass as we have in UIExtension?
A: - For “user" scope, this can be achieved by setting a Rights xobject on the page containing the XObject.
- For “global” scope, this can be achieved by putting all global XObjects on the main wiki.
Q: UIX could be implemented as components, we would loose that!
A: Yes but look at it, UIX are for user interface and the best place to define the user interface is in wiki pages since that’s the place where the UI can be most easily modified by the user to fit his needs. If need be, we can have Java code that creates XObjects.
Q: Right now it’s possible to use velocity for the parameters of property values in the “parameters” textarea of UIExtensionClass
A: Several possibilities: Use a textarea field type, modify xwiki to add optional support for applying velocity on a String property, apply velocity at the place of usage through #evaluate.
Way forward
===========
* Deprecate the UIExtension notion, i.e. move the code to a legacy module (still bundle it in XE with other legacy modules)
* Introduce specific XClass(s) to replace existing UIX (see http://platform.xwiki.org/xwiki/bin/view/ExtensionPoint/WebHome for the full list)
* Revert Panel display code (leftpanels.vm, rightpanels.vm) to before the introduce of the UIExtension module.
* In order to be backward-compatible, if the $services.uix script service exist, also look for UIX. For example in the Application Panel. Note: I believe this the main and probably only UIX really used at the moment.
Here’s my +1
Thank you
-Vincent
Hi devs,
I forgot to send some email to decide about what XWiki Day we’re going to do today. I propose to have an “Improvement Closing Day”. I hope this is fine with everyone. I also propose to try each type of day before deciding which ones we want to do more often.
The goal is to close as many improvement JIRAs as possible and thus to take small and easy ones. Same goals as for BFD but for improvements.
This is the filter for the day:
http://jira.xwiki.org/issues/?filter=12890
When you close an improvement you should label it with “improvementfixingday” to be counted.
Enjoy this XWiki Day!
Thanks
-Vincent
Hello,
Last year I worked for my master thesis on a integration between XWiki and
Activiti. Activiti is a popular open-source workflow execution engine. (
http://activiti.org/)
I'd like to commit my work so others can use and improve it.
For this, I'd like a repository called application-activiti for the source
code, and also a JIRA project called Activiti Application with the key
ACTIVITI.
Thanks in advance,
Sorin B.
Hi,
I commited Jasig CAS authenticator project to the GitHub
https://github.com/xwiki-contrib/authenticator-jasig-cas
and I would like to release it in maven repository, so I need a Nexus
account. Can anybody help me with it?
Thanks
Petr Abrahamczik
Thanks! That Worked!
On Tue, Mar 4, 2014 at 5:30 PM, <devs-request(a)xwiki.org> wrote:
> Send devs mailing list submissions to
> devs(a)xwiki.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.xwiki.org/mailman/listinfo/devs
> or, via email, send a message with subject or body 'help' to
> devs-request(a)xwiki.org
>
> You can reach the person managing the list at
> devs-owner(a)xwiki.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of devs digest..."
>
>
> Today's Topics:
>
> 1. How can we add multiple values to a dbList property using
> velocity (firmusoft.xwiki)
> 2. Re: How can we add multiple values to a dbList property using
> velocity (Sofiane Baloul)
> 3. (no subject) (Sofiane Baloul)
> 4. Requesting rights on xwiki-contrib (Sofiane Baloul)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 3 Mar 2014 20:04:44 +0530
> From: "firmusoft.xwiki" <firmusoft.xwiki(a)gmail.com>
> To: devs(a)xwiki.org
> Subject: [xwiki-devs] How can we add multiple values to a dbList
> property using velocity
> Message-ID:
> <
> CAFNvsku8cE60bhbDJd+1YB1WN26ObKm8QAO2013QHDxGUSWHcA(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> I have used $obj.set to update a dbList property value. But it selected
> only the value I paased in the set method. All the previously selected
> values were unselected. Can you help me to add/update the dbList property
> retaining the previous selections.
>
> Thanks,
> Firmusoft
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 3 Mar 2014 17:52:57 +0100
> From: Sofiane Baloul <sofiane.baloul(a)xwiki.com>
> To: XWiki Developers <devs(a)xwiki.org>
> Subject: Re: [xwiki-devs] How can we add multiple values to a dbList
> property using velocity
> Message-ID:
> <
> CAGgD37buBaAUMqXa3w3SV9hhBS1V+i+zj2gaBQFCSKfj9etxgw(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi Firmusoft,
>
> First thing you should know is : if you want to save multiple values in the
> DBList field, you have to check the property "Multiple Select" of the
> DBList field in the XWikiClass (http://screencast.com/t/Jqpehv1K).
>
> If you want to save multiple values using velocity you should to set a
> java.util.List object, example :
> #set($values = ['one', 'two', 'three']) ## $values is an instance of
> java.util.List
> $obj.set('dblist', $values)
>
> to retrieve all values :
> #set($value =$obj.getProperty('dblist').value) ## you get a list of all
> values
> but be careful : $obj.get('dblist') return a String containing all values
> contcatenated with the separator (' ' space is the default separator)
>
> to add new values to a DBList field you shoud use (an update) :
> #set($values =$obj.getProperty('dblist').value)
> $values.add('four') ## you should check whether $values is null or not null
> before.
> $values.add('five')
> $obj.set('dblist', $values)
>
> I hope this help :) and sorry for my bad English.
>
> Good luck.
>
> --
> Sofiane Baloul
> XWiki Developer
>
> 2014-03-03 15:34 GMT+01:00 firmusoft.xwiki <firmusoft.xwiki(a)gmail.com>:
>
> > Hi,
> >
> > I have used $obj.set to update a dbList property value. But it selected
> > only the value I paased in the set method. All the previously selected
> > values were unselected. Can you help me to add/update the dbList property
> > retaining the previous selections.
> >
> > Thanks,
> > Firmusoft
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
>
> ------------------------------
>
> Message: 3
> Date: Tue, 4 Mar 2014 10:53:27 +0100
> From: Sofiane Baloul <sofiane.baloul(a)xwiki.com>
> To: XWiki Developers <devs(a)xwiki.org>
> Subject: [xwiki-devs] (no subject)
> Message-ID:
> <CAGgD37YKaBv2ZONXp-x7Tm9VEMwEr=
> dr8VVqkFiZBP2vRXN8sg(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi dev community.
>
> I'm Sofiane Baloul, I have some experience in developing on XWiki
> plateform, I would express my interest in contributing and bringing some
> help on some XWiki projects especially on collaborative applications (
> https://github.com/xwiki-contrib ) at the begining.
>
> I've registered on jira.xwiki.org and I'm going to assigne to me some
> tasks
> related to XWiki Contributed Projects.
>
> Best regards.
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 4 Mar 2014 12:37:07 +0100
> From: Sofiane Baloul <sofiane.baloul(a)xwiki.com>
> To: XWiki Developers <devs(a)xwiki.org>
> Subject: [xwiki-devs] Requesting rights on xwiki-contrib
> Message-ID:
> <
> CALCkubfpYCpX3gn4c+PaQLuV5Bayi99Ro7W7hQc4tPRocMcvcw(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Sorry, I've forgot to put an email subject and to give my github ID.
>
> My github ID : sbaloul.
>
> Thank you in advance.
>
>
> On Tue, Mar 4, 2014 at 10:53 AM, Sofiane Baloul <sofiane.baloul(a)xwiki.com
> >wrote:
>
> > Hi dev community.
> >
> > I'm Sofiane Baloul, I have some experience in developing on XWiki
> > plateform, I would express my interest in contributing and bringing some
> > help on some XWiki projects especially on collaborative applications (
> > https://github.com/xwiki-contrib ) at the begining.
> >
> > I've registered on jira.xwiki.org and I'm going to assigne to me some
> > tasks
> > related to XWiki Contributed Projects.
> >
> > Best regards.
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
>
> ------------------------------
>
> End of devs Digest, Vol 81, Issue 4
> ***********************************
>
Sorry, I've forgot to put an email subject and to give my github ID.
My github ID : sbaloul.
Thank you in advance.
On Tue, Mar 4, 2014 at 10:53 AM, Sofiane Baloul <sofiane.baloul(a)xwiki.com>wrote:
> Hi dev community.
>
> I'm Sofiane Baloul, I have some experience in developing on XWiki
> plateform, I would express my interest in contributing and bringing some
> help on some XWiki projects especially on collaborative applications (
> https://github.com/xwiki-contrib ) at the begining.
>
> I've registered on jira.xwiki.org and I'm going to assigne to me some
> tasks
> related to XWiki Contributed Projects.
>
> Best regards.
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
Hi dev community.
I'm Sofiane Baloul, I have some experience in developing on XWiki
plateform, I would express my interest in contributing and bringing some
help on some XWiki projects especially on collaborative applications (
https://github.com/xwiki-contrib ) at the begining.
I've registered on jira.xwiki.org and I'm going to assigne to me some tasks
related to XWiki Contributed Projects.
Best regards.