Hi,
I'm not exactly sure if that is the best method name, but we need such a
method so that we can disable fileUpload tab (or display a message) in
officeimporter wysiwyg plugin if there is no OpenOffice server running.
Thanks.
- Asiri
Hi devs,
I would like to modify the xwiki/2.0 renderer to print the group with
a trailing and ending new line:
1.A
(((
* list1
* list 2
)))
instead of
1.B
(((* list1
* list 2)))
for example but it also mean:
2.A
| (((
* list
))) | second cell
instead of
2.B
| (((* list with one item)))
Here are my arguments:
* i tough of that idea at first because it's not very easy/clean to
support well the escaping of an ending ) before a ending group in an
events based renderer, the problem is that you need to bufferize at
least 4 events (if not more) to know when you print the ) character
that it will be followed by end group syntax when printed. For example
it can be the last character of paragraph in the last cell or last row
of a table before the end of the group
* i prefer to "break" 2.A done on purpose than 1.A done on purpose
since it's not possible to support both currently
* even with 2.A it's more readable to have it in its own line IMO
Here is my +1
--
Thomas Mortagne
Hi Everyone, Hi Marius,
Here is the screen shot link:
http://picasaweb.google.com/lh/photo/XWqNdRICk3o-27h9bm0rYA?feat=directlink
"Also, are there any JavaScript errors in the Firebug console or any
exceptions in the server log?"
The browser did not give my any error message.
"Did you build the XWiki trunk or a branch? Is it up to date? "
I built the trunk.I download the source code about two weeks ago and built
it.
"Have you changed anything inthe WYSIWYG sources?"
I did not change anything.
I was wondering is there any configuration of xwiki is missing. I moved the
jar file to Xwiki Enterprise 1.93 that I install on Windows by using
Installer and it works fine. And I moved the wysiwyg 1.93 jar file to the
xwiki that I built is still look like that.
So any ideas, guys?
Thank you for your help!
Hi Everyone,
I successfully build Xwiki from Source Code with your help. Thank you very
much. Now I find when I use the WYSIWYG Editor edit content it only can
display the content like what Wiki Editor did. Please see the screenshot
below, It can not display the format of the content in a WYSIWYG way. I do
not know what is wrong with it. I also tired it using different browsers, it
is still the same. Could anyone give me a clue what might go wrong?
Thank you in advance!
Leon
Hello,
I was wondering if it would be worthwhile to try working on allowing objects to contain
other objects as well as properties (like Java)
It would require major changes to the schema but would allow for users to define containers
which could hold any Java object in storage.
What do you think?
Caleb James DeLisle
Hello friends!
I have migrated xwiki testing instance from 1.8 to the 2.0
http://test.odo.lv:8180/xwiki/bin/view/Main/
I could import XAR 2.0 only using hack with stopping 2.0 instance, and
ran updated DB with 1.8 web instance, imported XAR, and svitched back to
web 2.0.
It worked previous times. Though currently there are many regressions:
1. Can't choose different view/edit modes from the menu, only default
ones ar accessible, as drop-down menus aren't shown,
2. Can log in only with superuser. Using other users Xwiki says: "You
are not allowed to view this document or perform this action."
3. Cannot edit neither groups, nor users. When form is opened, it stills
with progress bar and "Loading..." message.
4. Site index doesn't work.
In summary it seems, there ar bunch of pages where either Javascipt
doesn't work properly, or there is global problems with page access.
Site is multi lingual, there are lot of custom objects in some spaces. I
couldn't find anything interesting in tomcat logs.
Can you point some directions, what to check and investigate?
Thanks in advance,
Valdis
Hi,
Since we're upgrading xwiki.org to 2.0 it would be nice to use the new
colibri skin.
So who can design nice and unique color themes for xwiki.org?
Thanks
-Vincent
Hi Devs,
Silvia and I have been working on updating & improving the FAQ tutorial
located at:
http://platform.xwiki.org/xwiki/bin/view/DevGuide/FAQTutorial
Apart from the conversion to 2.0, the most notable change I brought is to
provide some code to be used on the homepage of the FAQ space. This code
removes the need for the user to go to the FAQ.FAQClass page to create new
FAQs documents. It's more in line with our current best practices for
application (very little applications create new items directly from the
class page).
However in doing so I'm not sure I used the most streamlined code. I'd be
glad if some users could try following the tutorial to see whether it meets
their need and if a dev could give it a look in order to improve it further.
Thanks,
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
On Sep 30, 2009, at 12:00 PM, Anca Paula Luca wrote:
> On 09/30/2009 12:58 PM, mflorea (SVN) wrote:
>> Author: mflorea
>> Date: 2009-09-30 11:58:20 +0200 (Wed, 30 Sep 2009)
>> New Revision: 24144
>>
>> Modified:
>> enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/com/
>> xpn/xwiki/it/selenium/LineTest.java
>> enterprise/trunk/distribution-test/wysiwyg-tests/src/test/it/com/
>> xpn/xwiki/it/selenium/StandardFeaturesTest.java
>> Log:
>> Fixed some WYSIWYG standard features tests.
>>
>
> [snip]
>
>>
>> - // More the caret between x and y.
>> + // More the caret between x and Y.
Using some other letters might be easier.... like "abc" (or "def" if
"abc" is already used)... ;)
-Vincent
>
> typo
>
> Happy coding,
> Anca
>
>> moveCaret("XWE.body.firstChild.firstChild", 1);
>>
>> // Insert HR in the middle of the paragraph.
I have been testing and analyzing my new loader for a few days now, It seems to be working perfectly.
I have written a comprehensive testing script available here:
http://jira.xwiki.org/jira/browse/XWIKI-2874
There is a change which must be made:
ListProperty.equals must be change to convert null values to empty ArrayList objects in the event that
it is asked to compare to a BaseProperty.
The change looks like this:
Index: core/xwiki-core/src/main/java/com/xpn/xwiki/objects/ListProperty.java
===================================================================
--- core/xwiki-core/src/main/java/com/xpn/xwiki/objects/ListProperty.java (revision 23877)
+++ core/xwiki-core/src/main/java/com/xpn/xwiki/objects/ListProperty.java (working copy)
@@ -145,6 +145,14 @@
return true;
}
+ //The save opperation triggers hibernate to compare the new property to the original
+ //If the property was gotten by a query like "SELECT prop FROM BaseProperty AS prop WHERE..."
+ //and the value stored in the db is null, hibernate thinks the original is a BaseProperty,
+ //thus we may end up comparing a ListProperty to a BaseProperty with value = null.
+ if (list2 == null && obj.getClass().getName().indexOf(".BaseProperty")!=-1){
+ list2 = new ArrayList<String>();
+ }
+
if (list1.size() != list2.size()) {
return false;
}
Why is this necessary?
Because the new loader loads all types of properties at once with a query like
"select prop from BaseProperty prop where prop.id in (:ids)"
(ids being the list of object ids from the objects attached to the document.)
This is okay until the property is saved, then hibernate has to check that the
id of the property is the same. The id of the property is an empty property with
the same name and object id number. Because the property is loaded by a query
for BaseProperty, if the value in the database is null, Hibernate thinks the
property IS a BaseProperty and passes a BaseProperty to the equals method.
If these changes are not made, we get this exception.
java.lang.NullPointerException
at com.xpn.xwiki.objects.ListProperty.equals(ListProperty.java:148)
at org.hibernate.event.def.ProxyVisitor.isOwnerUnchanged(ProxyVisitor.java:44)
at org.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdateVisitor.java:45)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:101)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:61)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:55)
at org.hibernate.event.def.AbstractVisitor.process(AbstractVisitor.java:123)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:293)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:223)
at org.hibernate.event.def.DefaultUpdateEventListener.performSaveOrUpdate(DefaultUpdateEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireUpdate(SessionImpl.java:564)
at org.hibernate.impl.SessionImpl.update(SessionImpl.java:552)
at org.hibernate.impl.SessionImpl.update(SessionImpl.java:544)
at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiProperty(XWikiHibernateStore.java:1726)
at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiCollection(XWikiHibernateStore.java:1072)
at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:582)
at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:181)
at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:174)
at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:1309)
I suggest we apply the patch to 2.1, but leave the functionality deactivated in xwiki.cfg until 2.2 so there is
time to see if there are any latent issues. I don't expect any but I don't know what it might do with corrupt
data in storage.
Better safe than sorry.
Caleb James DeLisle
Hi,
I'd like to add:
* List<AttachmentName> getAttachments(DocumentName documentName)
throws Exception;
* byte[] getAttachmentContent(AttachmentName attachmentName) throws
Exception;
And deprecate:
* List<String> getAttachmentURLs(DocumentName documentName, boolean
isFullURL) throws Exception;
* byte[] getAttachmentContent(String documentName, String
attachmentName) throws Exception;
I need this fix a bug in the Script Macro when using jarurls parameter
(for 2.0.1).
Here's my +1
Thanks
-Vincent
Hi,
I've been wondering how to test exceptions in JUnit 4.x when you want
to assert the exception message. Just found an answer:
http://www.wakaleo.com/blog/225-testing-exceptions-in-junit-47
It looks to me slightly better than using the try/fail/catch strategy.
WDYT?
Thanks
-Vincent
Hi,
We have a pb if we display several times the same panel on a page (for
ex for the search panel) since if the panel defines an ID this ID will
not be unique in the page and thus will produce invalid XHTML.
This happens for ex when you're on the panel page itself and that
panel is displayed in the right or left columns.
I'm proposing that we change the use of ID in favor of CLASSNAME for
panels.
For example for the search panel right now we have:
#panelhiddenheader($msg.get("panels.search.title"))
<form action="$xwiki.getURL('Main.WebSearch')">
<div id="globalsearch">
<input id="globalsearchinput" type="text" name="text" ...
It'll become:
#panelhiddenheader($msg.get("panels.search.title"))
<form action="$xwiki.getURL('Main.WebSearch')">
<div class="globalsearch">
<input id="globalsearchinput" type="text" name="text"
I think it would also be best to define a naming strategy. What about
"panel-<short name of the panel page in lowercase and without any
panel suffix>"
So for Panels.Search it would be "panel-search" and for
Panels.QuickLinks it would be "panel-quicklinks"
Note: Changing id="globalsearch" to class="globalsearch" (or
class="panel-search") means changing lots of places in the skins
(albatross, finch, toucan, colibri). But I don't see any better way
anyway.
Thanks
-Vincent
The XWiki development team is pleased to announce the release of XWiki
Enterprise and XWiki Enterprise Manager 2.0.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
More than 400 issues were fixed from XWiki Enterprise 1.9.3 to XWiki
Enterprise 2.0.
Many thanks to the very active community for all the reports and the
contributions !
Main changes from 1.9.3:
* new Colibri skin and easy color modifications
* many new 2.0 macro and improvements on existing macros
* new wiki based 2.0 macros
* new event distribution and clustering support
* many WYSIWYG improvements
* many rendering improvements
* many general UI improvements
* new Swedish and Korean translation and updated translations for lots
of other languages
For more informations see the releases notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise20
and http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXEM20
Thanks
-The XWiki dev team
Hi Devs,
right now an user can go to the Office Importer page and try uploading a
file even when the backend OOo server isn't running. This leads to usability
issues. Thus I'd like to send a vote on the following 2 items:
- On the Office Importer page, add the following message:
-
"You cannot import an Office document since the conversion
server has not been started. Please ask an administrator to get it
started for you."
-
If the current user is an admin, the message should read: "You
cannot import an Office document since the OpenOffice server has not
been started yet. You can start the OpenOffice server and manage it
from this page (link to the OOo server administration page)."
-
In the action bar: add a check to see whether the OOo server is
running and don't display the link if the OOo server is not.
Here's my +1 to both.
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
Hi All,
This is very trivial, I have put the message:
"You can change these configuration options via
*WEB-INF/xwiki.properties*file."
In OpenOffice server administration UI which is actually not required (since
this UI is meant to be used by admins who knows about xwiki.properties).
I'm not sure this is worth a vote but just in case, here is my +1.
Thanks.
- Asiri
Hi all,
Currently XWikiRightService has two methods for evaluating programming
rights:
XWikiRightService#hasProgrammingRights(XWikiContext context);
&
XWikiRightService#hasProgrammingRights(XWikiDocument doc, XWikiContext
context);
Since newer components are using DAB (Document Access Bridge) than directly
accessing XWikiRightService, only one form of programming rights evaluation
is available:
<code>
public boolean hasProgrammingRights()
{
XWikiContext xcontext = getContext();
return
xcontext.getWiki().getRightService().hasProgrammingRights(xcontext.getDoc(),
xcontext);
}
</code>
So the procedure carried out in evaluating programming rights is:
- If the context document is null, check whether the current user has
programming rights or if he is the superadmin
- If the context document is not null, check if the author of the context
document has programming rights on the context document itself.
Recently we came across a requirement where we need to grant programming
rights to some scripts programmatically. See
http://jira.xwiki.org/jira/browse/XWIKI-4262
With the current policy for programming rights evaluation, this is not
possible (not without side effects). So we need to decide a new method for
granting programming rights.
One approach proposed by Thomas Mortagne is to change the programming rights
evaluation as below:
- Check if a particular flag is set in context (like
"hasProgrammingRights"), if so current execution is considered to have
programming rights
- Else do the earlier evaluation process.
This way we can grant programming rights in a programmatical fashion and
since XWikiContext is mostly read-only for normal users, they won't be
allowed to hijack programming rights by tampering with XWikiContext.
Please let us know your opinions regarding this issue.
Thanks.
- Asiri
Hi devs,
I'd like to propose a stabilisation operation starting now and for 1
month (ie from now to the 1st of November)
The idea would be that **no new feature** is allowed to be committed
in SVN.
We have several domains to stabilize quickly after the 2.0 release:
- Colibri skin
- WYSIWYG editor
- Rendering
- XAR 2.0
- conversion to 2.0 syntax.
- internationalization texts
- Various (office importer page shouldn't be displayed when the office
server is not running, wiki macro textarea should be larger, etc)
These should go in both the trunk (2.1) and for 2.0.x
I also propose to release a 2.0.1 in 2 weeks time (i.e. for the 12th
of October) and to continue 2.0.x release every 2 weeks till we reach
that month's end.
WDYT?
Thanks
-Vincent
Hi XWikiers,
as promised I posted a blog article listing the results of the XWiki
Features Survey. You can read it here:
http://www.xwiki.org/xwiki/bin/view/Blog/Features+Survey+Results
We'll use the results during the discussion about the XE 2.1 roadmap.
I've also included the original result files for the data crunchers among
you to play with ;-)
Thanks a lot to all of you who took part to the survey!
Guillaume
--
Guillaume Lerouge
Product Manager - XWiki
Skype: wikibc
Twitter: glerouge
http://guillaumelerouge.com/
Hi Devs,
I've been thinking about the new {{doclist}} macro syntax which is going to
be the successor of old livetable macro.
Following is the syntax I have in mind:
{{doclist <macro_parameters>}}
|=(% <column_spec> %) column_name |=(% <column_spec> %) column_name |=(%
<column_spec> %) column_name ...
{{/doclist}}
[macro_parameters]
class="" ## bounds the table to a class.
source="" ## can be a document name or a url. (will be ignored if class
parameter is set)
rowCount="" ## number of rows per page.
tagCloud="" ## whether to display the tag cloud or not. (On/Off)
callback="" ## name of a js function to be used for handling server (JSON)
response manually.
[column_spec]
mapping="" ## name of the json attribute to which this column should be
bound to. [1] (see below)
selected="" ## if this column should be selected by default.
order="" ## Default sort order for this column (applies only if this is the
default selected column).
isHtml="" ## if the result JSON string should be treated as html and
directly injected into cell content.
filterable="" ## whether this column should present a filter or not.
sortable="" ## whether this columnd should be sortable or not.
filterType="" ## what type of a filter to be used (only for filterable
columns).
linkType="" ## type of link to be used if a cell value should link to the
original document. [2] (see below)
[1] - mapping:
This is a mandatory parameter. I'm not sure if this is the correct name for
the parameter. For the default implementation (XWiki.DocListMacroResults) we
have to decide the names of the JSON properties that will be returned, we
could use:
"doc.<fieldName>" ## for document metadata.
"obj.<propertyName>" ## for object properties when the table is bound to a
class.
"actions" ## special column for listing all the actions available for the
current user.
* We could have an special "function_name(field1, field2, ....)" mapping
parameter which will deligate the mapping function to a local js function.
This can be useful if someone wants to calculate a column value based on the
returned results.
* Question: Do we need to have attachment / image columns?
[2] - linkType:
We can have "none", "view", "edit" & "inline" type of links. Any other type
of link?
You can compare this doclist macro specification with the old livetable
macro spec here: http://code.xwiki.org/xwiki/bin/view/Macros/LiveTableMacro.
WDYT?
Thanks.
- Asiri