The XWiki development team is proud to announce the availability of XWiki
8.1 final.
This release brings an upgrade to the Java 8 runtime, a new Tips panel that
replaces the old Quick Links panel, Extension Manager improvements and LDAP
avatar synchronization. As usual, a lot of bug fixes (81) and minor
improvements (43) are also included.
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/ReleaseNotesXWiki81
The following people have contributed code to this release (sorted
alphabetically):
Alexandru Cotiuga
Clemens Robbenhaar
Denis Gervalle
Ecaterina Moraru (Valica)
Eduard Moraru
Guillaume Delhumeau
Jean SIMARD
Lukas Raska
Manuel Smeria
Marius Dumitru Florea
Medjdoub
Sean Whalen
Sergiu Dumitriu
Thomas Mortagne
Vincent Massol
Yuri Konotopov
Thanks for your support
-The XWiki dev team
Hi,
I noticed the anoucement of the new SVG rasterzing API in the XWiki 8.0
version.
Is it already available, or not? I have tried to use it in the velocity
macro, using the example usage at
http://extensions.xwiki.org/xwiki/bin/view/Extension/SVG+Rasterizing+API,
but it seems that $services.svg is not available. Do I need to enable it or
it is an optional component that I need to install from somewhere.
Thank you
Miroslav Galajda
My requirement:
H1: 30px
H2: 28px
H3: 26px
H4: 24px
H5: 22px
H6: 20px
I tried changing the values in Administer wiki > Presentation > Color theme
Customize > Less code as follows
// XWiki already overrides these variables
@font-size-base: 18px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
@font-size-h1: 30px;
@font-size-h2: 28px;
@font-size-h3: 26px;
@font-size-h4: 24px;
@font-size-h5: 22px;
@font-size-h6: 20px;
Now it correctly shows font-sizes 20px to 30px. But it automatically sets
different font-size values for 22px, 26px sizes incorrectly.
Also what does "// XWiki already overrides these variables " mean? Is this
the culprit for the problem?
--
View this message in context: http://xwiki.475771.n2.nabble.com/Setting-default-font-size-for-Headings-tp…
Sent from the XWiki- Users mailing list archive at Nabble.com.
Hi,
I've experimented with Jelastic. To my pleasant surprise in their marketplace there is XWiki.
It promises a click and run setup; that could help making XWiki popular.
But the experience was very disappointing. I think this will actually damage popularity.
What I noticed:
* Jelastic marketplace XWiki is based on a Milestone Relase instead of a stable release.
* It is deployed on a tomcat instance; but the settings are such that you get the Upgrade wizard quite conveniently (+++) but then clicking "install" results in a very slow (-----) process that, in my case, never succeeded in a up-and-running XWiki
* The Tomcat log shows memory problems, and this is confirmed to the user with Elastic emails that Tomcat is reaching limits
Would it not be useful if somebody from the community would configure a much better XWiki experience? My knowledge is not good enough to do the Administrator stuff required
Gerritjan Koekkoek
Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
Visit our website<http://www.cdlsworld.org>
Facebook<https://www.facebook.com/gerritjan.koekkoek>
email<gerritjan(a)cdlsworld.org>
Hi,
I have a Groovy script in my XWiki 7.1.1 site that reads files sent to it. I've been using the fileUpload plugin as shown below.
{{groovy}}
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.fileupload.FileItem
// Function to actually read the file data from file.getInputStream();
def processFile(String filename, FileItem file, String title) { ... }
def params = request.getParameterNames().toList()
def fileUpload = xwiki.fileupload
def results = [:]
if (!(params.contains("title"))) {
results.put('error',"No title specified")
} else {
fileUpload.loadFileList(2147483648L, 100000, (String) (xcontext.getContext().getWiki().Param("xwiki.upload.tempdir")))
FileItem fileItem = fileUpload.getFileItems().find {it.getFieldName().equals("newfile")}
if (fileItem == null) {
results.put('error',"Couldn't load file - did you forget to choose one?")
} else {
results = processFile(fileUpload.getFileName("newfile"), fileItem, request.getParameter('title'))
}
}
// Handle display of results based on how script was called
def jsontool = new org.xwiki.velocity.tools.JSONTool()
if (request.getParameter('outputSyntax') == 'plain' || request.getParameter('xpage') == 'plain') {
response.setContentType('application/json')
if (results.error) {
response.setStatus(400)
}
print jsontool.serialize(results)
} else {
if(results.error) {
println "{{error}}${results.error}{{/error}}"
} else {
println "{{success}}File processed{{/success}}"
}
println "Return to [[Original page>>${request.getHeader('referer')}]]";
}
{{/groovy}}
Files are sent to this page via a form:
<form action="FileProcessor" method="post" enctype="multipart/form-data">
<input type="file" name="newfile" />
<input type="hidden" name="title" value="foo" />
<button type="submit">Upload</button>
</form>
The files I need to read can sometimes be large (~1GB), which is why the call to fileUpload.loadFileList explicitly gives a large maximum file size (10GB, although I don't expect files to reach this size for the time being). However, this limit seems to get ignored: when files exceed the limit specified in the Maximum Upload Size setting on xwiki/bin/edit/XWiki/XWikiPreferences?editor=object the script fails at the step (!(params.contains("title"))) { ...
This is despite the title definitely being set. My guess is the an exception gets thrown by the File Upload plugin that causes the parameters to fail being processed - when I increase the upload limit from 32MB to 50MB the problem goes away for a 47MB file, for instance.
So problem 1: is there a way to get fileUpload.loadFileList to respect the file limit I specify? I don't want to allow very large files to be included in attachments, so it would be nice if I can leave the default setting lower.
Then comes problem 2: Even if I do set the maximum size to something very large, I get a similar problem for files over about 500Mb. I've tried testing just uploading such files as attachments and I end up with a page saying "waiting for server confirmation", and then "an error occurred while uploading the file". Digging around in the Tomcat logs I see exceptions containing:
Caused by: org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. No space left on device
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351) ~[commons-fileupload-1.3.1.jar:1.3.1]
at com.xpn.xwiki.plugin.fileupload.FileUploadPlugin.loadFileList(FileUploadPlugin.java:248) ~[xwiki-platform-legacy-oldcore-7.1.2.jar:na]
... 47 common frames omitted
Caused by: java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method) ~[na:1.7.0_79]
at java.io.FileOutputStream.write(FileOutputStream.java:345) ~[na:1.7.0_79]
at org.apache.commons.io.output.ThresholdingOutputStream.write(ThresholdingOutputStream.java:129) ~[commons-io-2.4.jar:2.4]
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:107) ~[commons-fileupload-1.3.1.jar:1.3.1]
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:70) ~[commons-fileupload-1.3.1.jar:1.3.1]
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:347) ~[commons-fileupload-1.3.1.jar:1.3.1]
... 48 common frames omitted
Looking at this I see that there is probably an earlier call to loadFileList with default values, which is probably why my first problem was occurring. I can't see where this is being called - probably the crucial info is in one of those 48 omitted frames. My guess is that it's in com.xpn.xwiki.web.Utils.handleMultipart
Also, looking in https://github.com/xwiki/xwiki-platform/blob/7392653655d1a8524c67851393b0ac… it appears that all files in a request are processed using org.apache.commons.fileupload.FileUploadBase.parseRequest() which writes all files to file, which I'm guessing is the ultimate problem once files get too big to store in temporary storage. Is there any way that I can use the streaming API http://commons.apache.org/proper/commons-fileupload/streaming.html instead?
Thanks,
Bryn
I just released a version 7.4-1 of the helper to use as parent in
contrib Maven projects.
Fix two issues with enforcer plugin (for platform projects).
See https://github.com/xwiki-contrib/parent for more details about the project.
--
Thomas Mortagne
In our Xwiki, I've added some fields such as birthday (of type Date) to the
user profile. I'd like to implement a REST call that retrieves all of the
non-hidden users with birthdays in a specific month (typically the current
month) and some specific attribute values. Right now the values I want are
the first name, last name, birthday and the link to the avatar image file. I
have bits and pieces of the solution but am having trouble with some parts -
specifically how to put it together into a single REST call.
PROBLEM 1: I can create a page with a script like the following to filter
some users and display their names.
{{velocity}}
#set ($tags=$services.query.xwql("select obj.first_name from Document doc,
doc.object(XWiki.XWikiUsers) as obj where (obj.first_name LIKE '%a%' and
(doc.hidden <> true OR doc.hidden is null))").execute())
$tags
{{/velocity}}
But if I try to execute that query in a REST call like the following, the
result is different
.../rest/wikis/query?q=select+obj.first_name+from+Document+doc%2C+doc.object%28XWiki.XWikiUsers%29+as+obj+where+%28obj.first_name+LIKE+%27%25a%25%27+and+%28doc.hidden+%3C%3E+true+OR+doc.hidden+is+null%29%29&type=xwql
The REST call returns some data completely unrelated to the users:
<searchResults
template="http://...rest?q={solrquery}(&number={number})(&start={start})(&orderField={fieldname}(&order={asc|desc}))(&distinct=1)(&prettyNames={false|true})(&wikis={wikis})(&className={classname})"><searchResult><link
href="http://...rest/wikis/xwiki/spaces/XWiki/pages/DocumentTreeMacros"
rel="http://www.xwiki.org/rel/page"/><type>page</type><id>xwiki:XWiki.DocumentTreeMacros</id><pageFullName>XWiki.DocumentTreeMacros</pageFullName><wiki>xwiki</wiki><space>XWiki</space><pageName>DocumentTreeMacros</pageName><modified>2016-02-15T12:14:34-03:00</modified><author>xwiki:XWiki.Admin</author><version>4.1</version><score>0.62450576</score></searchResult><searchResult><link
href="http://...rest/wikis/xwiki/spaces/XWiki/pages/DocumentTree"
rel="http://www.xwiki.org/rel/page"/><type>page</type><id>xwiki:XWiki.DocumentTree</id><pageFullName>XWiki.DocumentTree</pageFullName><wiki>xwiki</wiki><space>XWiki</space><pageName>DocumentTree</pageName><modified>2016-01-27T10:23:05-03:00</modified><author>xwiki:XWiki.Admin</author><version>2.1</version><score>0.5804536</score></searchResult><searchResult><link
href="http://...rest/wikis/xwiki/spaces/Panels/pages/DocumentInformation"
rel="http://www.xwiki.org/rel/page"/><type>page</type><id>xwiki:Panels.DocumentInformation</id><pageFullName>Panels.DocumentInformation</pageFullName><wiki>xwiki</wiki><space>Panels</space><pageName>DocumentInformation</pageName><modified>2016-01-12T09:56:52-03:00</modified><author>xwiki:XWiki.superadmin</author><version>1.1</version><score>0.4841085</score></searchResult>
PROBLEM 2: If I try to implement a query that retrieves multiple fields from
the user profile like the following:
{{velocity}}
#set ($tags=$services.query.xwql("select obj.first_name, obj.last_name,
obj.birthday from Document doc, doc.object(XWiki.XWikiUsers) as obj where
(obj.first_name LIKE '%a%' and (doc.hidden <> true OR doc.hidden is
null))").execute())
$tags
{{/velocity}}
the data displayed in the xwiki page looks like the following instead the
actual attribute values:
[[Ljava.lang.Object;@723f4d95, [Ljava.lang.Object;@4054e1bb,
[Ljava.lang.Object;@436c8d04, [Ljava.lang.Object;@5c93ddc1,
[Ljava.lang.Object;@54c86023, [Ljava.lang.Object;@33760a38,
[Ljava.lang.Object;@14d5b5ff, [Ljava.lang.Object;@566a1f71,
[Ljava.lang.Object;@41b4b4e7, [Ljava.lang.Object;@42904123,
[Ljava.lang.Object;@7b536ec3, [Ljava.lang.Object;@7d44674f,
[Ljava.lang.Object;@1933e78c, [Ljava.lang.Object;@59ea34d0,
[Ljava.lang.Object;@392f7c58, [Ljava.lang.Object;@678f1a2d,
[Ljava.lang.Object;@61868ed7, [Ljava.lang.Object;@69426a83,
[Ljava.lang.Object;@2bcd164f, [Ljava.lang.Object;@340c3f69,
[Ljava.lang.Object;@6129ef09, [Ljava.lang.Object;@1b4587dd,
[Ljava.lang.Object;@58799594, [Ljava.lang.Object;@d5b1e85,
[Ljava.lang.Object;@2324f980, [Ljava.lang.Object;@1468f956,
[Ljava.lang.Object;@290b7a]
Regards
Mark Sack
--
View this message in context: http://xwiki.475771.n2.nabble.com/REST-query-to-fetch-filtered-list-of-user…
Sent from the XWiki- Users mailing list archive at Nabble.com.