Hi devs,
Based on my previous mail [1], I`ve isolated a small list of stand-alone
elements that could be integrated into XE/XEM as a result of the work done
on the Wiki3.0 research project:
= XE =
1. Add 'Follow' button in GroupSheet's livetable - already done [3][4],
needs a final review
1.1 Add 'About' and 'tags' columns in the GroupSheet's livetable.
2. Group Manager/Inviter (invite users to a group) - needs refactoring in
order to extract it as an individual feature.
= XEM=
3. Wiki descriptor editing from subwiki administration section - needs a bit
of refactoring to make wiki descriptor editing and then reuse it for
workspace descriptor editing.
4. Main wiki link in the top menu, under the 'Wiki' section to be able to go
to the main wiki.
I`d like to have your opinion on whether they are desired features to be
integrated into XE/XEM.
Note: Don`t forget to check out the demo instance [5] I`ve set up at
http://wiki30-demo.xwiki.com to get a better view over the work done and,
maybe suggest other things that could be reused.
Thanks,
Eduard
-----------------
References:
[1] http://xwiki.markmail.org/thread/3cbms22ctbqi4yqp
[2] https://wiki30.xwikisas.com/
[3] https://github.com/xwiki/xwiki-platform/pull/14
[4] http://jira.xwiki.org/jira/browse/XWIKI-6770
[5] http://xwiki.markmail.org/thread/xngjqbq6e76owd37
I have an instance of XWiki finally running on Cassandra.
http://kk.l.to:8080/xwikiOnCassandra/
Cassandra is a "NoSQL" database, unlike a traditional SQL database it cannot do advanced queries but it can store data in a more flexible way eg: each row is like a hashtable where additional "columns" can be added at will.
The most important feature of Cassandra is that multiple Cassandra nodes can be connected together into potentially very large "swarms" of nodes which reside in different racks or even data centers continents apart, yet all of them represent the same database.
Cassandra was developed by Facebook and their swarm was said to be over 200 nodes strong.
In it's application with XWiki, each node can have an XWiki engine sitting on top of it and users can be directed to the geographically closest node or to the node which is most likely to have a cache of the page which they are looking for.
Where a traditional cluster is a group of XWiki engines sitting atop a single MySQL engine, this allows for a group of XWiki engines to sit atop a group of Cassandra engines in a potentially very scalable way.
In a cloud setting, one would either buy access to a provided NoSQL store such as Google's BigTable or they would setup a number of XWiki/Cassandra stacks in a less managed cloud such as Rackspace's or Amazon's.
How it works:
XWiki objects in the traditional Hibernate based storage engine are persisted by breaking them up into properties which are then joined again when the object is loaded.
A user object which has a name and an age will occupy a row in each of three tables, the xwikiobjects table, the xwikistrings table, and the xwikiintegers table.
The object's metadata will be in the xwikiobjects table while the name will be in a row in the xwikistrings table and the age, a number, will go in the xwikiintegers table.
The NoSQL/Datanucleus based storage engine does this differently, the same object only occupies space in the XWikiDocument table where it takes advantage of Cassandra's flexibility by simply adding a new column for each property.
NOTE: this is not fully implemented yet, objects are still stored serialized.
What works
* Document storage
* Classes and Objects
* Attachments
* Links and Locks
* Basic querying with JDOQL
What doesn't work
* Querying inside of objects
* JPQL/XWQL queries
* Document history
* Permissions (requires unimplemented queries)
* The feature you want
I am interested in what the community thinks is the first priority, I can work on performance which will likely lead to patches being merged into master which will benefit everyone
or I can work on more features which will benefit people who want to use XWiki as a traditional application wiki but use it on top of Cassandra.
You can reply here or add comments to the wiki ;)
Caleb
Hello devs,
I finally found a way to work with an issue in our REST annotation API
that prevented to upgrade to Restlet 2.0.8 (see
http://jira.xwiki.org/jira/browse/XWIKI-6632).
The upgrade introduces some non-backward compatible change in 5
classes in the REST server module. Mostly Restlet plumbing (that
probably should have been in an internal package in the first place).
You can see the incriminated classes here :
https://github.com/jvelo/xwiki-platform/commit/ebda7e5792839a89164f9fa27c15…
If anyone here knows of any reason why this classes should not be
broken, let them speak now, or forever hold their peace.
Peace,
Jerome
Hi devs,
A prerequisite for Application Within Minutes [1] is to be able to
specify the sheet that will be used to display a document without
touching the content of that document [2]. This can be done in multiple
ways, depending on how we define the notion of a sheet.
(1) Class sheets vs. document sheets
A class sheet displays an object of a particular type and is specified
in the definition of that type. This means that when you create or edit
a class, i.e. a type of object, you can specify which sheet should be
used to display the instances of that class.
Pro: Documents don't have to specify a sheet.
Con: We have to determine which sheet to use in case there are multiple
objects attached to a document.
A document sheet displays a document of a particular type and is
specified at document level because the document type, unlike the
xclass, does not exist actually. The document type is inferred from the
type of objects the document has, or from its content, or, why not, from
the type of attachments it has.
Pro: Doesn't have the class sheet con.
Con: Each document has to specify which sheet to use.
Class sheets are enough for Application Within Minutes because the
wizard will create a single class (with a sheet) and so the application
items will have only one object that specifies a sheet.
(2) Separate sheets per action?
The current practice is to define a single (class) sheet which either
checks for the current action in its code or uses doc.display method
whose output is action specific.
How often did you had the need to write separate sheets per action (e.g.
create, view, edit, search, changes)?
(3) Which actions require a sheet?
If we're talking about class sheets then the list of actions that target
an object and which require a sheet is limited. Currently we have "view"
and "edit", but Ludovic proposed also "create", "search" and "changes".
If we're talking about document sheets then we can have custom actions
and so we need an extensible mechanism to map actions to sheets.
(4) Sheet parameters?
If we're talking about class sheets then they only need to specify how
an object is displayed. Document sheets on the other hand may need to
control elements like:
* which tabs (comments, annotations, attachments, etc.), if any, are
displayed
* show title field in edit mode
* the side panels
* the form buttons
WDYT?
Thanks,
Marius
[1] http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationWithinMinutes
[2]
http://dev.xwiki.org/xwiki/bin/view/Design/ApplicationWithinMinutesCoreChan…
Hi devs,
I'd like to propose 2 small changes that should make a huge difference for our users.
1) Introduce the notion of technical spaces
The idea is that in WebPreferences for a space we should have a boolean property mentioning if the space is a technical space or not.
This will allow to:
* Remove the blacklistedspaces variable
* List only non technical spaces for simple users
2) Introduce the notion of Application spaces
The idea is that in WebPreferences for a space we should have a boolean property mentioning if the space is an application space or not.
This will allow to:
* Replace the Quick Links Panel with an Applications Panel listing all spaces that are application spaces
* Only list Content spaces in the Spaces Gadget in the Dashboard
* Add the ability for extensions to declare new applications that automatically appear in the Applications Panel
I'd also like to suggest adding a global admin preferences to quickly select all spaces that are application and/or technical spaces (imagine a list of all spaces with 2 checkboxes for each space listed). This makes it very easy for the admin to reconfigure what are application spaces (thus showing in the app panel) and what spaces should be hidden for simple users. Of course modifying these would modify the WebPreferences of the said spaces.
In addition to make this autodiscoverable I'd suggest that for admins the Application Panel should have a link to this admin feature. Something like "Configure Applications...".
WDYT?
Thanks
-Vincent
PS: I'm very excited about these 2 ideas since they're simple and IMO will make XE much easier to use and understand for people starting to use it.
Hi,
Since xwiki isn't handling json POST request I've modified all my
source code to work with xml using simple-xml library(Andriod friendly
library).
Earlier I used json deserilizer as gson. I've created separate module
for gson as the xwiki data model. Now I've created another module for
simple-xml.
Should I remove gson module and replace it with simple-xml module? or
keep both modules. (gson module is no longer used for my project).
*New xwiki-android-component was developed for adding and viewing comments.
sources aren't pushed to repo yet since above module decision.
This week plan
Following components will be developed this week.
* View/Upload page attachments. - Viewing is limited to Android native
viewers(Image Viewer, Video Player, Web Browser for text etc.). Native
file selectors are used for selecting files to upload.
* Add search component
Best Regards,
Chamika Weerasinghe
Hi devs,
I'd like to propose to create a twitter account for xwiki.org. The idea at first is to use it to announce new releases as part of the release process.
More specifically to tweet a link to the blog post we write on xwiki.org at each release.
Here's my +1 (I'll do it if we agree)
Thanks
-Vincent
Een groot Europees bedrijf is op zoek naar de kandidaten voor
beschikbare vacatures.
U zult zonder geldinvesteringen en met minimaal tijdsverlies het geld
kunnen verdienen.
Wij zullen een opleiding voor u geven; zelfs tijdens de
opleidingsperiode zult u al beginnen het geld te verdienen.
Deelname aan de opleiding zal niet voor je hoofdactiviteiten lastig
vallen.
Wanneer U gennteresseerd bent - stuur uw resum op ons e-mail:
job(a)sprytex-it.org
The XWiki development team is proud to announce the release of XWiki
Enterprise 3.0.1.
This is the first (and probably last) bugfix release for the 3.0 series,
with 37 issues closed on top of 3.0.
Backported from the 3.1 branch, two new features found their way into
this release: the possibility to export a wiki document into an office
format using a running OpenOffice/LibreOffice installation, and the new
UI for customizing the PDF export. More details in the full release
notes, at
http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterpris…
Since this is a bugfix release on an older branch, the Download page
doesn't list the new binaries, but you can download them directly from
the OW2 Forge download page:
http://forge.ow2.org/project/showfiles.php?group_id=170
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
Hi All,
I have an issue with login, creating user, creating space and adding user
to group in xwiki.
We are using our own sso and implemented in xwiki. its working fine.
Now i want to create user and add the user to group through xml rpc client.
i m using a sample code.. before that i want to login as admin. when i try
to login as admin in my remote machine it throws this exception. I
implemented this xwiki in jboss 4.2.2GA server. The main thing i noticed is
the exception coming in this line mainly * "rpc.login(user, pass);"*
import java.net.MalformedURLException;
import org.apache.xmlrpc.XmlRpcException;
import org.xwiki.xmlrpc.XWikiXmlRpcClient;
public class XmlRpcLogin {
public static void main(String[] args) throws MalformedURLException{
//URL of the xwiki instance
String url="http://testisp.css.com:8081/xwiki/xmlrpc/confluence";
//Replace user & pass with desired xwiki username & password
String user="Admin";
String pass="admin";
//Perform Login & Authentication using above url address
try{
XWikiXmlRpcClient rpc = new XWikiXmlRpcClient(url);
rpc.login(user, pass);
}
catch(XmlRpcException e){
System.out.println("invalid username/password was specified or
communication problem");
}
}
}
Exception :
17:55:28,313 ERROR [STDERR] org.apache.xmlrpc.client.XmlRpcClientException:
Fail
ed to parse servers response: Expected methodResponse element, got
{http://www.w
3.org/1999/xhtml}html
I really not aware why this happening. i hv all jars and things properly
placed n same code worked well before 1 year. now its causing this problem.
Any help greatly appreciated.
Thanks in advance.
Regards,
Nithya.
--
View this message in context: http://xwiki.475771.n2.nabble.com/Exception-while-login-creating-user-addin…
Sent from the XWiki- Dev mailing list archive at Nabble.com.
I see you have left comments here and in jira and neither of them seem to be there anymore.
My reason for placing it in oldcore is the same as my reason for not using ConfigurationSource.
The main store is chosen from a key in the xwiki.cfg file, if there's a ConfigurationSource for xwiki.cfg then I would like to know about it.
I could have proposed moving the main store key to xwiki.properties but I made a guess that a proposal like that wouldn't fly.
If a user ever does switch to a different store, telling him that he needs to change two configuration keys in two different files so that developers don't go in debt would not make sense to him.
Caleb
On 07/31/2011 02:45 AM, vmassol wrote:
> I don't like the way you've fixed it too much (you've introduced some hacks) since using Initializable is the standard way of initializing components. The problem here can be fixed easily by not using the XWikiContext which in any case shouldn't be used. Instead configuration should come from a Configuration Source.
>
> Also you seem to be injecting the query executor but in init() you're looking it up again.
>
> Could you explain the need for this class and why it's located in the oldcore rather than being in the query manager's module?
>
> Thanks!
>
Just fyi we received several emails about build failing for rendering.
There were 2 issues:
1) the jenkins agent jar on the machines was not in sync with the jenkins version
2) Sergiu made a mistake during the release. He changed the java version to 1.5 (was 1.6). This makes the build fail since we require 1.6....
I personally don't like that we're doing releases from the agent machines, especially using the same user.... We should improve this.
Thanks
-Vincent
Hi Team,
I am not able to create virtual xwiki through the XwikiManagerPluginAPI. I
have developed just sample restful web service. Below is the code which I am
using to create virtual xwiki :-
@Component("org.sisgma.xwiki.rest.HelloWorldResource")
@Path("/hello/")
public class HelloWorldResource extends XWikiResource {
public HelloWorldResource(){
}
@GET
public String get(@DefaultValue("world") String myresourcename) throws
XWikiException, QueryException {
XWikiContext ctx = Utils.getXWikiContext(componentManager);
try {
WikiManagerPluginApi aoi =
(WikiManagerPluginApi)ctx.getWiki().getPluginApi(WikiManagerPlugin.PLUGIN_NAME,
ctx);
ctx.setDoc(new XWikiDocument(new DocumentReference("jaspreet", "space",
"page")));
System.out.println("_____________********* deleting xwiki");
aoi.deleteWiki("neenu", true);
aoi.deleteWiki("neenu1", true);
aoi.deleteWiki("karam", true);
System.out.println("_____________********* deleted xwikies");
System.out.println("_____________********* Creating new xwiki");
aoi.createNewWiki("jaspreet", "templatexe", null,aoi.createWikiDocument(),
true);
} catch (XWikiException e) {
e.printStackTrace();
}
System.out.println("_____________********* " +ctx);
System.out.println("_____________"+ctx);
return "Hello " + myresourcename;
}
}
Above code is not working. Virtual xwiki is not being created using the
API.
It is very urgent. Please help.
Thanks
Karamjit.
Dear All,
I have some questions about the LocalDataStorage implementation and Page resources display.
1. The current LocalDataStorage implementation uses xmlrpc model and the cache structure looks like the following:
index
|-space
|-page
As the xmlrpc model is being replaced by org.xwiki.eclipse.model package, do we need to modify the local storage as well, e.g., adding a folder to store various wikis?
I am not very clear about how local storage works. My rough understanding is like this:
(1) When user accesses a page, local cache stores it.
(2) Whenever user makes a change in the editor, store it in the local cache
(3) when user performs a submission, synchronize the content
2. I have asked how to display page information before, the suggestion from Eduard is the following:
------ WebHome (PageSummary)
-------- Attachments
---------- dog.png
---------- spreadsheet.xls
-------- XWiki.XWikiComments
---------- 0 : Administrator ('author' property value)
---------- 1 : Guest
---------- 2 : Administrator
-------- XWiki.MyClass
---------- 0 : etc.
---------- 1 : etc.
However, I am not sure what else needs to be included? e.g, annotations, versions, history, translations?
Once confirmed, I will start working on the page content.
Best regards
Jun Han
Hi, these days I need to implement the rest services for getting suggestion
results for link autosuggestion. In my design, I think the suggestion
results should be filtered and ranked by the following conditions.
(for example user types "[[mytest" in page "xwiki:main.newpage")
First [[ is triggered, when user keep typing, the page and attachment
suggestion results should be filtered and ranked by the following rules:
1. Prefix matched (only for page name and attachment name)
- The pages which are in the same wiki and space of the document current
edited.( Prior A)
- The pages which are in the same wiki but different space of the
document current edited;(Prior B)
- The pages which are in different wiki and different space of the
document current edited; (Prior C);
2. Partial matched (only for page name and attachment name)
- The pages which are in the same wiki and space of the document current
edited.( Prior C)
- The pages which are in the same wiki but different space of the
document current edited;(Prior D)
- The pages which are in different wiki and different space of the
document current edited; (Prior E)
3. If no page and attachment matches the above two rules, the suggestion
box will be disappeared.(eclipse way)
However, sometimes user might insert the space name too, for example, user
will type "[[Main", following the rule 1 and rule 2, the pages begins with
"Main" will be first retrieved as the suggestion results untill user types
"." after "Main", the suggestion result will be retreved from the pages
under the space "Main" only. Filters still obey the above three rules.
And also when user types "attach:", the suggestion result will be retrieved
the attachments only following the above three rules.
And if the link is under the attachment context, when "@" is typed, the
attachments only will be retrieved following the above three rules.
In order to do this, I investigated the rest services already existed(
http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI), but I
found none is perfect suitable for my needs. So I talk with Marius, he
suggested me to use the existed services which are closed to my needs first,
and then write the perfect one later.
However, I only found the rest service:/wikis/{wiki}/search is the most
closed one for the pages suggestion to my needs, there is no attachment
search rest service for attachment suggestion, Marius adviced me to use "
http://localhost:8080/xwiki/bin/get/XWiki/SuggestLuceneService?outputSyntax…"
instead, but I found the search result is in xml format(not json), and also
the information of the results got from SuggestLuceneService is limit.
I have read the document of how to write custom rest service, but the
information is limit, any one can guide me to run an helloworld?
--
Best wishes,
许凌志(Jame Xu)
MOE KLINNS Lab and SKLMS Lab, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University
Hi Dev Team,
Please help me to create virtual xwiki on localhost environment. I have
installed Xwiki EM and administrator application xar file.
I am not able to create virtual wiiki as mentioned in
http://manager.xwiki.org/xwiki/bin/view/AdminGuide/CreateNewWiki
I am not able to see the similar page.
Please let me know if I am missing anything else
Also I wanted to create the restful service to create virtual wiki from
remote clients.
Thanks
Karamjit.
Dear All:
Currently I am trying to create a page with objects via the RESTful
interface. We have currently been able to create the page a page with no
objects with little to know problems via The REST interface. The problem
lies in creating an object of a defined class on a page. We have attempted
to use the schema provided by the XWiki Team in the documentation, but have
had no real success.
The main questions are as follows.
. Can we create a page, with objects on them, in a single PUT event?
. And what information is mandatory in the XML, to create a object
on a page either at the same time, or to add an object to an existing page?
Thank you for your time and your response.
Martin Bryant
Modus Operandi
Apprentice Software Engineer
Hi Team,
I am working on user registration restful web service for xwiki. I looked
inside the code and found that XWikiContext instance is required which
further contains the XWiki and XWikiRequest instances. for
example XWiki.createUser(XWikiContext context)
Can some please provide information about How to achieve similar in Restful
web service implementation like createUser(XWikiContext context)?
Its urgent, Please help me.
Thanks
Karamjit.
Hello XWiki-devs,
maybe this forum is better than curriki-dev.
In short: how can I boost the size of the cache of objects held by hibernate?
thanks in advance
paul
> as you know curriki.org is somewhat of a fat server serving really many requests.
>
> One symptom we are seeing on the production machine only, almost, is:
> xwiki.getPlugin("curriki").fetchUserGroups().
> that sometimes takes more than 1 minute and sometimes much less, all for the same user.
> On the development machine it takes time with users with a lot of groups only when the hibernate cache is flushed.
>
> My interpretation is that this method is fetching the group and probably a lot more. My answer would be to go low-level.
>
> But another answer would be to ensure that the hibernate cache is big enough so that all these stay in memory. Making this possible would also speed up a huge amount of other things.
>
> Are we talking of the file ehcache.xml's attribute:
> maxElementsInMemory="10000"
> ?
> I sure could raise this by a factor 10 if true.
>
> thanks in advance
>
> paul
Hi Team,
I need to implement restful web service for xwiki user creation and
aothorization. I have downloaded the code from SVN but unable to build the
xwiki source code from eclipse. I did not find any document related to this
in manual. Could you please help me on this and let me know which module I
should download for restful web service customization.
Its very urgent as I am stuck here.
Thanks
Karamjit
Hi Team,
I am working on extending the xwiki restful web service functionality to add
more servers like Managing Users, Managing xwiki spaces, blogs and documents
etc. I am not sure which module contains the business logic for them.
Can xwiki team please provide some useful information on this so that I can
further extends it.
Thanks
Karamjit.
Hi community,
If anyone is curious, a demo installation of the current work on the Wiki3.0
[1] research project is available at http://wiki30-demo.xwiki.com
With the Workspaces feature, you can register a user and create workspaces,
invite/accept other users and generally manage your workspace.
Interesting sections (or rather a list of features) are:
= In the main wiki =
- Create new Workspace (Add menu or homepage button)
- Workspace Directory (Top menu, under 'Workspace')
- 'Workspaces' section in user profile
- User Directory improvements
- Join/Leave/Request membership/Accept invitation to join a workspace
(Workspace Directory or homepage of a workspace)
- Workspace search suggestions (top-right search box)
= In a workspace =
- Dashboard
- Workspace information panel (right panels)
- Main wiki link (Top menu, under 'Workspace')
- Delete workspace (Top menu, under Workspace, for owner)
- Workspace Configuration section (Administration, 'Configuration' category)
- Workspace Users section; Accept membership requests or invite users
(Administration, 'Users & Groups' category)
- User registration redirecting to main wiki (Top-Right register link)
- Removed local XWiki.Admin user
Besides the Workspaces feature, the Real-Time editor is also available for a
quick test. You can access it by editing a page in "Real Time" edit mode.
You can't miss it :)
For quick tests, you can edit the same page in 2 browser windows and see
changes in one window triggering an update in the second one. It also works
with multiple users (obviously) and allows other to join in the editing
session.
For now it's working real time only for wiki code. Work on the WYSIWYG
version has already started.
Please feel free to report any bugs or suggestions here or (preferably) at
http://jira.xwiki.org/jira/browse/WIKITHREEDOTO and do be aware that it's
still work in progress.
Thanks,
Eduard
-----------------
References:
[1] https://wiki30.xwikisas.com/
Hi,
I was thinking about what tips and tricks XWiki has, things that are not
really that well documented but that are very productive and fun.
Would be nice to have such an inspiring thread from which we could learn a
lot and, why not, have fun experimenting :)
If the thread is really useful we could also integrate these tips more
clearly in our documentation or also we could have a tips panel inside XWiki
Enterprise, for beginners/intermediate users.
The tip structure could be:
*Title: **
Level: **
Target: *
*Description:*
Thanks,
Caty*
*