Hi,
I will try to do my best to help Ludovic to lead the project because
he is very busy.
I've started to review Jira tasks to find what we need to fix before
the release.
1. I propose to split in Jira the XWiki project in 2 or 3 projects:
* XWiki core (which is written in java) and the minimum UI (When you
run XWiki with a blank DB)
* XWiki plugins (also written in java, for exemple: feed plugin, mail
plugin ...)
* XWiki applications (in script language like groovy or velocity, for
example: blog, photo album, wysiwyg...)
the last too can be one because some applications can have a plugin
like the feed plugin which have also an application.
Like this, we can release the core without all the application and
vice versa. Because many of you don't need the applications.
2. For next iterations before the release :
- 1.0 B1
- 1.0 B2
- 1.0 RC1
- 1.0 RC2
- 1.0
3. I will do a summary in few days of the work to do before the
release and propose you a road map.
What do you think about it? I think, we can use the apache voting
system (for those who don't know it:
http://www.apache.org/foundation/voting.html)
Jérémi
--
Blog: http://www.jeremi.info
LinkedIn: https://www.linkedin.com/profile?viewProfile=&key=1437724http://www.xwiki.org
skype: jeremi23 -- msn et gtalk : jeremi23(a)gmail.com
> -----Original Message-----
> From: Ludovic Dubost [mailto:ludovic@xwiki.com]
> Sent: mardi 3 janvier 2006 08:59
> To: xwiki-dev(a)objectweb.org
> Subject: Re: [xwiki-dev] Proposal: XWiki Maven2 migration
>
>
> Hi Zhong,
>
> Happy new Year (I'll come up with a longer email a little later).
>
> You are welcome to help on the migration to maven 2. I know Vincent did
> a first try when Maven was still alpha. I'll check with him to see if
> there is anything usable from his work.
I didn't do much (I'm attaching a pom.xml that I started but it won't help
much). My main issue at the time was that ibiblio POMs were almost all
wrong. I think the situation has changed now and it should be much more
usable. I agree that the build should be split in small modules and the list
below sounds good.
> Indeed it would be great to create some submodules for each XWiki
> module. This of course needs a little discussion to decide what you be a
> module and what should be in the core.
>
> I think a first split would be:
>
> core
> core-doc
> core-objects
> core-api
> core-web
I think we should do it nested (check the cargo build for examples):
core/
doc/
objects/
api/
web/
> store-rcs
> store-hibernate
store/
rcs/
hibernate/
> render
> render-radeox
> render-velocity
> render-groovy
render/
radeox/
velocity/
groovy/
> user-xwiki
> user-ldap
> user-exo
user/
xwiki/
ldap/
exo/
> plugin
> plugin-core
> plugin-packaging
> plugin-fileupload
> plugin-xyz
plugin(s)/
core/
packaging/
fileupload/
xyz/
> stats
> pdf
> xmlrpc (or webservice)
>
> It might be a little too detailed.
It sounds good I think. It doesn't look too detailed at all.
> I think in the process of splitting
> in modules we might want to use a container system.
> We've been discussing OSGi with Mandriva and eXo is using
> picocontainer.. It might be a good time to think about it more in details.
Cool. However I don't think the module split above would be much impacting
by the choice of running inside a container or not. The modules would still
be needed. It's just their implementation that would change.
> Indeed it will have some impact in the development. I suggest we do this
> on a branch. The objective is to get out a new release with the wysiwyg
> editor and the new skins, so this should be work for the next release
My advice would be NOT to do it on branch. My personal experience (on all
projects where I have tried this) is that it doesn't work... You should
rather do it on trunk slowly (as I did when I modified the m1 build). The
reason is that the branch will never get merged in the trunk (it's just too
hard to do).
So what I'd do is simply start introducing the modules one by one and ensure
that the current build continue to work at all times and add a new m2 build
for the new modules.
This is what I've done on Cargo too and I currently have two builds sitting
next to each other but using a m2-enabled directory structure. Once our m2
build is as good as the m1 build, we'll remove the m1 build.
Thanks and happy new year too!
-Vincent
> Zhong ZHENG a écrit :
> > Hi the XWiki Team,
> >
> > I found in the mailing list archives that you are planning to use
> > maven to build xwiki. I am a committer to the apache pluto project,
> > which uses maven2. Thus i got some experience on maven 2. (Mr. Vincent
> > Massol must be a maven master, since he is on the maven team :) I
> > would like to help you migrate to maven.
> >
> > I checked out the xwiki source from subversion, and am trying to
> > re-organize the project layout and create pom.xml files. Currently i
> > am still dealing with the dependencies. I would like to propose to
> > separate the xwiki project into small subprojects, and decouple the
> > APIs from the implementation (such as user api and different
> > implementations, plugin api and different plugin implementations,
> > etc.). That will make the source more clear and more readable.
> >
> > I don't know how to help on this topic. Re-organizing the project
> > layout introduces too many modifications on the project, which may
> > have a lot of impacts on the current development, and it's difficult
> > to generate svndiff and create patches. I would like to know if it is
> > possible to apply for joining the dev team and create a new branch in
> > svn for the maven migration.
> >
> > I am taking a look at the JCR spec currently, since I created a java
> > wiki engine project ( http://people.apache.org/~zheng/elsie/
> > <http://people.apache.org/%7Ezheng/elsie/> ) and am thinking of
> > refactoring it using JCR and apache jackrabbit. I found that you are
> > also planning to implement the xwiki repository using JCR. I would
> > like to help and contribute to this subproject too.
> >
> > Best regards.
> >
> > --
> > ZHENG Zhong
> > - http://heavyz.blogspot.com/
> > - http://people.apache.org/~zheng/ <http://people.apache.org/%7Ezheng/>
> > ------------------------------------------------------------------------
> >
> >
> > --
> > You receive this message as a subscriber of the xwiki-dev(a)objectweb.org
> mailing list.
> > To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
> > For general help: mailto:sympa@objectweb.org?subject=help
> > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
> >
>
>
> --
> Ludovic Dubost
> XPertNet: http://www.xpertnet.fr/
> Blog: http://www.ludovic.org/blog/
> XWiki: http://www.xwiki.com
> Skype: ldubost AIM: nvludo Yahoo: ludovic
>
ObjectWeb is organizing a "best use case" awards for the ObjectWeb
Conference. Mandriva Club usage of XWiki is nominated.
Anybody can vote. It's quick and easy ! Go go XWiki community. It's
simple. One vote per person (no need to cheat).
http://objectwebcon06.objectweb.org/xwiki/bin/Main/Vote
The conference is in Paris from January 31st to February 2nd at the same
time and place as the "Solution Linux" show (which is the most known
Open Source show in France). We will have a presentation of XWiki on
February 2nd !
Ludovic
--
Ludovic Dubost
XPertNet: http://www.xpertnet.fr/
Blog: http://www.ludovic.org/blog/
XWiki: http://www.xwiki.com
Skype: ldubost AIM: nvludo Yahoo: ludovic
Hi,
Came across this while trying to learn more about Phil Wadler's 'Links'
unified web language. It's the
result of their summer intern program.
http://www.aktors.org/interns2005/
--
Jim Stuttard
(Moving this to xwiki-dev)
True, but a plugin architecture for simple, linear editing "workflow"
beyond the present edit->preview->save might make sense. It'd be
nice to have edit-time plugins that not only correct spelling, but
suggest internal links, verify external links, request entry of tags,
auto-create objects based on content, etc.
While working on SnipSnap, I often find myself wanting to plug into
the edit lifecycle. Perhaps refactoring the render lifecycle to use
WikiModel presents an opportunity here?
- - -
Hans Gerwitz
http://phobia.com/
On Dec 20, 2005, at 11:04 AM, Ludovic Dubost wrote:
>
> Hi,
>
> A spell check plugin does not make much sense anymore..
> The Googlebar is compatible with both IE and Firefox and includes a
> spellcheck toll for forms
>
> Ludovic
>
> Marc Lijour a écrit :
>> Hi
>>
>> Is there a spellcheck plugin available?
>>
>> Regards,
>>
>> Marc
>>
>>
>> ---------------------------------------------------------------------
>> ---
>>
>>
>> --
>> You receive this message as a subscriber of the xwiki-
>> users(a)objectweb.org mailing list.
>> To unsubscribe: mailto:xwiki-users-unsubscribe@objectweb.org
>> For general help: mailto:sympa@objectweb.org?subject=help
>> ObjectWeb mailing lists service home page: http://
>> www.objectweb.org/wws
>>
>
>
> --
> Ludovic Dubost
> XPertNet: http://www.xpertnet.fr/
> Blog: http://www.ludovic.org/blog/
> XWiki: http://www.xwiki.com
> Skype: ldubost AIM: nvludo Yahoo: ludovic
>
>
>
> --
> You receive this message as a subscriber of the xwiki-
> users(a)objectweb.org mailing list.
> To unsubscribe: mailto:xwiki-users-unsubscribe@objectweb.org
> For general help: mailto:sympa@objectweb.org?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/
> wws
Since this came up on xwiki-users, any idea what the timeframe for
Groovy-powered custom tags looks like? Is this going to wait for
WikiModel?
- - -
Hans Gerwitz
http://phobia.com/
On Dec 19, 2005, at 9:11 AM, Ludovic Dubost wrote:
>
> Hi,
>
> The easiest solution for custom tags is the use of velocity macros
>
> Ludovic
>
> malesch a écrit :
>> Dear XWiki Community
>>
>> I am completely new to XWiki but so far I think, it could be a
>> ideal starting point for
>> realizing a personal documentation system.
>>
>> However, I would need to extend XWiki for new custom tags which
>> would allow me
>> structuring my contents in a special way.
>>
>> Can this easily be done with XWiki? Are plugins the "way to go"?
>> Can limitations
>> for XWiki's extensibility already be pointed out?
>>
>> Thanks a lot!
>> ma/esch
>>
>> ---------------------------------------------------------------------
>> ---
>>
>>
>> --
>> You receive this message as a subscriber of the xwiki-
>> users(a)objectweb.org mailing list.
>> To unsubscribe: mailto:xwiki-users-unsubscribe@objectweb.org
>> For general help: mailto:sympa@objectweb.org?subject=help
>> ObjectWeb mailing lists service home page: http://
>> www.objectweb.org/wws
>>
>
>
> --
> Ludovic Dubost
> XPertNet: http://www.xpertnet.fr/
> Blog: http://www.ludovic.org/blog/
> XWiki: http://www.xwiki.com
> Skype: ldubost AIM: nvludo Yahoo: ludovic
>
>
>
> --
> You receive this message as a subscriber of the xwiki-
> users(a)objectweb.org mailing list.
> To unsubscribe: mailto:xwiki-users-unsubscribe@objectweb.org
> For general help: mailto:sympa@objectweb.org?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/
> wws
Hi XWiki developers,
I'm using LDAP to authentificate users for several virtual wikis. I'm using a
single LDAP a base for all the wikis. The problem I had is that when a user
logged on a wiki he was only added on the wiki he logged even if my
authentification is unique. So that's difficult to manage the access rights
if I have to look for the user page.
So, when we use virtual wikis and LDAP authentification, I propose that users
should be added in the wiki where the LDAP has been configured:
- 1st case if the authentification has been configured in the preferences of
the Main Wiki or in the xwiki.cfg file, the users should be added in the Main
Wiki.
-2nd case if the authentification has been configured in the preferences of a
Virtual Wiki, the users should be added in the Virtual Wiki on which the user
is logging.
By the way, to prevent access right problem, after having creating the user
XWiki should flush the cache.
Here is attached a patch that I've tested on my wikis with the 1st case only
that should do this.
Regards.
--
Xavier MOGHRABI - Consortium ObjectWeb
Email : xavier.moghrabi at objectweb.org
Phone : +33 4 76 61 52 35
Hello,
I intesively tested the tinyMCE wysiwyg editor from the standalone
package. (XWIKI 0.9.1000 - I know its a developer version) and
discovered some problems. I would be gratefull for some
hints/workarounds. If there are none I hope that my report is helpfull
for the X-Team.
1) It does not always save when using Internet Explorer, but it is not
clearly reproducable for me. Has anyone got a idea how to solve this
(workaround or sth.)
2) It keeps Changing Links when saving
[NoSpace] => [NoSpace] => [NoSpace]
[With Space] => [With Space] => [With Space>With%20Space]
[WithGermanCharÄ] => [WithGermanCharÄ] => [WithGermanCharÄ]
Legend: "=> means 'becomes when saving'"
From now on, IE and Firefox both show very strange links in the status
bar. I believe the URLs are escaped once more before displaying.
This leads to:
http://../With%2520Space.... for a link that should in my opinion be
http://../With+Space or perhaps http://../With%20Space
This leads to several Problems:
a) IE not usable
b) You have to save the document twice to get your final Links.
c) "http://../With%2520Space" Links are always marked as non existent.
When I try to edit them, the content apears in the editor. After saving
they are still shown as non existent.
Wiki Syntax edited Links handled special chars and spaces well. Does
TinyMCE have to escape those? How can I stop it from doing this?
Thanks!
Sascha
ps.: Besides the links thing the editor ist just great! It works
perfectly even vor longer texts. Thanks a lot for such a neat tool.
Is there any time estimate on a new release of XWiki? It seems to have been
a very long time since the previous one. Are there also any plans to include
functionality to allow one wiki page to be included inside another? (to do
some rudimentary templating)
Thanks,
Paul
Hello,
Just discovered XWiki... very impressive set of features, but the
installation leaves something to be desired, even for someone
experianced with installing webapps of this nature.
Couple of questions:
- Do you (the developers) need someone to help with configuration
management and packaging?
- Have you thought of using Maven for your build environment?
- When is the lic expected to change to LGPL?
- Brill Pappin
Hi there,
I've been looking at "shibbing" XWiki - i.e. turning it into a
Shibboleth compatible Service Provider. I've done that bit, using the
Guanxi system:
http://guanxi.uhi.ac.uk/xwiki
The goal of "shibbing" xwiki is to allow users from certain named
institutions to automatically login to xwiki and have an account
created on the fly, based on their attributes. What this involves is
two steps:
1) Protect an XWiki Shibboleth Login page with Guanxi - I've done that
2) Based on the SAML Assertion from their Identity Provider,
authenticate them - I've done that too (almost!)
3) Create them an account on the fly once authentication succeeds.
The information required to create an account (username etc.) would
come from their Identity Provider in SAML Attribute Assertions. I've
still to do this.
What I'm wondering is there a way to create users on the fly without
having an XWikiContext? What I'd like to do is create a new class
that can create XWiki users directly.
The goal of Guanxi + XWiki is an XWiki at, say UHI Millennium
Institute that will allow users at the University of Leeds or Oxford
who are software developers to login automatically, using their Leeds
or Oxford username, with their accounts being created on the fly, so
they don't need to register.
I've done about 80% of the work, I just need a cleaner way of
creating users without having to use the XWikiContext and request
parameter maps etc.
Hope you can help,
thanks,
Alistair
Hi
I try to configure LDAP with my XWiki installation which is virtual.
I got an error : java.lang.NullPointerException. I'd like to propose the patch
below.
--
Xavier MOGHRABI - Consortium ObjectWeb
Email : xavier.moghrabi at objectweb.org
Phone : +33 4 76 61 52 35
Index: LDAPAuthServiceImpl.java
===================================================================
--- LDAPAuthServiceImpl.java (révision 922)
+++ LDAPAuthServiceImpl.java (copie de travail)
@@ -183,7 +183,7 @@
} catch (Exception e) {}
if (context.isVirtual()) {
- if (DN==null && DN.length()!=0) {
+ if (DN==null || DN.length()==0) {
// Then we check in the main database
String db = context.getDatabase();
try {
Would it be possible to retrieve all the XWiki documents from a java app
using the XWiki api. Does anybody have a code snippet of what that would
look like?
Thanks.
Jacco.
Suppose you want to do the following:
You want to use Wiki to create documents together with colleques. Once a
document is in a final stage (You could set a value somehow using the
templates.) it gets a flag like 'final' or something. All these
documents that are in a final stage can then be published in e.g
forrest. Based on another flag. (the subject) the documents will be
published in a specific tab under the forrest site.
The reason for doing this is that end users only get to see the final
state documents. Somebody with admin rights could decide if a document
is in the final state.
How would something like this be implemented in Wiki. Could somebody
give me an outline of how to do this. I am looking for a way to loop
over all the published documents in Wiki and check for the flags as
mentioned above. It probably could be a plugin but also could be a
standalone java app using the wiki api's.... Right?!?!?
Thanks in advance.
Jacco.
Hi List,
Following my proposal, I have released two packages, and committed some
files.
the first package is a zipped tar, containing the XWiki+Jetty+Hsqldb
files needed to use XWiki with no other dependencies.
the second one is a Windows installer, that installs the same files. You
can set the jetty server port number during the installation, and should
you want to update your standalone installation you are able to do it
without overwriting your database files (Update installation type).
build.xml has been updated, with the addition of the 'standalone'
target, which depends on files in the new 'standalone' directory.
Sebastien.
Hey Jim,
thanks for this long e-mail ! i see you did a lot of work and deep
thinking since our last conversation, and if you don't mind i'm going
to move this conversation to the developer's list, because i think
other people may have interesting points to raise into this
conversation ...
I need some time to reply to all the points you list, but several
points can be adressed right now :
- HQL is Hibernate query langage. Similar to SQL, but RDBMS
independant and allows you to directly use Plain Old Java Objects
(POJOs) and collections of POJO (one-to-many, many-to-many, etc ...).
You need to read the mapping (xwiki.hbm.xml) which maps those POJOs to
tables, columns, and relations to understand the queries there.
- because we use this framework, most of the benefit of stored
procedures (no sql in code, independence) is of no use for our
particular application. Regarding performance, i personally don't
think the models and problems of the xwiki data stores are complex
enough to be moved to the backend database. This might not be the case
for applications built on top of xwiki, and hibernate provides a very
limited support for calling stored procedures.
- about FK and PK constraints, it's true we might run into situations
where the data model would be corrupted by an untested commit and/or a
badly developped plugin. We need to balance the cost of enhancing the
data model to what you propose and its real benefit. My opinion is
that this would make the learning curve less steep for people starting
to develop on our platform. But the Document model is well
encapsulated at the very bottom of the Object model, and further
isolated by Hibernate, so i don't think this is that much of a
problem.
Again, your mileage may vary and this is the beauty of the OSS
development model :-)
Always happy to discuss this matter,
Erwan
On 11/23/05, Jim Stuttard <jastuttard(a)yahoo.co.uk> wrote:
> Hi Erwin,
>
> Thanks for the offer of some help in looking at normalisation.
>
> I've now managed to read the hibernate docs, run some queries against my
> mysql ISAM database
> and make a few notes.
>
> It would be very useful at least if you wouln't mind checking, correcting
> and refuting some of the things I'm trying to document. My aim would be to
> have some more sound assertions about xwiki to build on?
>
>
> Here are some preliminary topics we might consider:
>
> 1. MySql | Hypersonic | HQL
>
> * remove all sql into stored procedures. I see mysql now supports them;
> don't know anything about hypersonic.
>
> * what language is this? It appears to be joining a property value
> classname to a StringProperty name property id.id?
>
> "select prop.value from BaseObject as obj, StringProperty as prop where
> obj.className='Blog.Categories' and prop.id.id = obj.id and
> prop.id.name='name'</sql>"
>
> A bit difficult to understand how this fits in with my mysql tables but
> I'll pursue this and a few other queries in the code. (PS. I've probably
> read it wrong anyway)
>
> * I think I understand that the back-end store is not very important for
> referential integrity, more a data dump which doesn't necessarily have to
> be very organised or have any semantics. I think the smart idea used to be
> to dump as much processing into the back-end, Oracle, Siebel, SAP and even
> DB2 etc. because only their prefered architecture would ever run reliably,
> never mind fast enough.
>
> I think still agree with that. Stored procedures are not part of the data
> model; operations are part of some business logic controller. I can choose
> to partition my MVC that way and (for performance,SOC and maintenance
> reasons probably), I have never come across a better way. So I think I'd
> like to ask how much processing should go into the back end?
>
> To keep lightweight, portable and upgradeable I see that minimum
> interfaces are required. I don't think I would ever use an RDBMS which
> didn't support stored procs. SQL syntax translation isn't too difficult is
> it?
>
> * I note that InnoDB (vs ISAM) is needed in mysql to support explicit
> foreign key constraints.
> a. Is this digging in to techniques which will end up as a lock-in? Or
> b. Foreign key constraints are one's best handled by the DB? Or
> c. Use surrogate keys wherever possible, only natural keys where it makes
> performance sense and avoid composite
> keys. However there *are* still FK constraints between table columns.
> IMHO they should be enforced ASAP in processing, ie. before stuff comes
> out of the database.
>
> * The XWiki documentation seems to refer to HSQL a lot. Are Xprtnet
> planning to stablise on that or HQL, both or other?
>
> 2. Hibernate
>
> * I see Ludovic has followed the joined-table syntax with slistclasses and
> dblistclasses. This seems the best option for inheritance. I haven't quite
> managed to get my head round when to use the union-table syntax?
>
> * The Hibernate documentation says one thing and does another when it
> comes to natural and composite keys. I suppose it's the same with me if
> you talk about address field sets: very inefficient to normalise so use a
> surrogate key.
>
> * I can only see one-table-per class as the least risk first choice model.
> At a quick scan, per hierarchy and concrete class options seem to have too
> many drawbacks. But when it comes down to it the Hibs use natural
> composites, then add an OID.
> I thinks OIDs are irrelevant to an RDBMS except when we have multi-valued
> fields stored as indexed lists or arrays.
> Then there is a number column eg. listitem number and this is what
> hibernate persists.
>
> * Anyway I assume there is a stable consensus for the time being on
> following some hibernate OR architecture?
>
> 2. Data Analysis
>
> * Anyway down to work. So we have something to work on, I've attached a
> dumped zip xls file of current xwiki PK data.
> It seems easier to read these things on a spreadsheet. Can you check that
> this is a fairly default set of data with a few additional pages? Because
> I have had to manually delete a few "question" and "answer" fields from
> both strings table and properties table when failing to build a FAQ, or
> othe reasons, it might be corrupt.
>
> * If we had a reference data set we could possibly infer a lot more
> relationships?
>
> * I have loads of questions, notes and assumptions but this is enough for
> one email. I'll send the next one ASAP.
>
> 3. Goals
>
> SPerhaps a specification of some AOP module for run-time data integrity
> checking? Might be useful and good AOP and annotation practice?
>
> Best Regards
>
> Jim
>
>
>
> --
> Jim Stuttard
>
>
I couldn't get the FAQ going following Cody's instructions repeatedly.
I posted this on
http://www.xwiki.org/xwiki/bin/view/DevGuide/Packaging+Rules where there
doesn't seem to be a way of finding the original author because history is
not accessible.
RagBag 03/10/2005 13:56:59
Please could you explain the reasons behind these rules. In the FAQ
example I create the FAQs space and give FAQs.FAQClass, template and sheet
the FAQ namespace. Can you clarify that eg FAQClass does not have to be a
document called XWiki.FAQClass?
It contradicts the FAQ FAQ :)
Thanks Jim
--
Jim Stuttard
As a developer, but viewing XWiki from a user's standpoint, I wholly support
getting off of Radeox. It's poorly documented, inconsistent in the feature
department, and has not seen a release for almost two years. Kudos on the
proposal, it is welcomed, at least by this user.
Hi,
A new Wiki Language parser has been released on sourceforge and is
probably the most powerfull wiki parser available today. The specificity
is that it contains both an Envent Model (for parsing) and an Object
Model which gives on object oriented representation of a Wiki document.
The second feature is quite unique in the Wiki world and is quite
usefull for advanced features where you want to work with the wiki content.
Mikhail, the author, did an incredible job and showed me his work a few
month ago. We had a first look at how to use this in XWiki and made a
working Rendered talking to this parser.
I'm very eager to look into using this library as the default XWiki wiki
language parser.
Now there are a few hurdles to allow this. First there are some syntax
incompatibilities. Second we need to work on the plugin aspects and how
to make that work with the other renderers.
It is also the occasion to work on the renderering parameters of the
document and of the wiki as it has been proposed by Stephan (
http://www.xwiki.org/xwiki/bin/view/Dev/SyntaxProcessingIssues )
At the same time we can review how the scripting languages are embedded
in XWiki. Maybe we could make that a little more standard which would
help WYSIWYG Editors support it more easily.
Anyway this is not an easy project and we would probably need some
volunteers to work on this.
Don't hesitate to come and discuss that here with us.
Great work Mikhail, and congrats for making that library Open-Source.
Ludovic
--
Ludovic Dubost
XPertNet: http://www.xpertnet.fr/
Blog: http://www.ludovic.org/blog/
XWiki: http://www.xwiki.com
Skype: ldubost AIM: nvludo Yahoo: ludovic
Hi list,
In order to ease XWiki installation for those who don't want to deal
with tomcat/mysql, Ludovic asked me to work on a standalone installation
of XWiki based on jetty and hsqldb.
I think I get to a point where I have something useful, so I wanted to
describe what I have done, and if Ludo agrees to create an account for
me, I will be able to commit some files in the next few days ;-)
So, I have added a 'standalone' target into the build.xml file (see
below). This target expands a jetty.5.1.5 archive, removes the sample
applications, inserts the xwiki release (exploded war) into the webapps
directory, copies some configuration files in order to make xwiki use an
in-process hsqldb database. hsqldb database files are also copied into
the package. The database data have been taken from the mysql export
(xwiki-db-0.9.2.sql).
At the root of this package, 4 scripts are eventually copied in order to
help user to start/stop the application server (start_xwiki.bat|sh,
stop_xwiki.bat|sh).
The produced package is usable 'as-is' simply by copying the files
somewhere on your disk. And yes, it works on a USB key also. It weights
a total of 37 MB.
With this target, I have also written a basic Nullsoft Installer script,
in order to help Windows users in installing the package. Basically this
installer installs all the files produced by the standalone target in a
user specified directory, then create 3 shortcuts in the Windows start
menu: start, stop (à la tomcat) and uninstall. Before doing this the
installer checks if a jre 1.4 or newer is installed (I'm not sure that
1.4 is required for xwiki, this can be changed easily), if not the user
is redirected to the download section of the Java web site. This
installer weight a total of 30 MB.
On the todo list of this installer :
- add the possibility to specify a port number for the jetty server ;
- install a bundled jre if needed (have to check the sun license in
order to be sure this is possible)
- add a final window explaining what to do after the installation (use
the start/stop shortcuts, start a browser...)
On the todo list of this standalone installation :
- add an installer for Mac OS X platforms
- add an installer for Linux platforms (autopackage ?), may be not so
useful, since Linux users are more acquainted to tomcat/mysql
installation ...
Any question, comment, idea would be greatly appreciated.
Seb.
here is the standalone target code :
<!-- Standalone package properties -->
<property name="standalone.base.dir" value="${basedir}/standalone"/>
<property name="standalone.jetty.archive.dir" value="jetty-5.1.5"/>
<property name="standalone.jetty.archive"
value="${standalone.base.dir}/${standalone.jetty.archive.dir}.zip"/>
<property name="standalone.package.name" value="xwikionjetty"/>
<property name="standalone.release.dir"
value="${release.dir}/${standalone.package.name}"/>
<fileset id="standalone.db.bootstrap"
dir="${standalone.base.dir}/db" includes="xwiki_db.*"/>
<fileset id="standalone.config" dir="${standalone.base.dir}/config"
includes="xwiki.cfg, hibernate.cfg.hsql.xml"/>
<fileset id="standalone.scripts"
dir="${standalone.base.dir}/scripts" includes="*"/>
<target name="standalone" depends="release">
<!-- unzip jetty archive into standalone release dir -->
<!-- exclude some jetty provided jar files in order to avoid clashes -->
<!-- these jars are provided by xwiki -->
<unzip src="${standalone.jetty.archive}" dest="${release.dir}">
<patternset>
<exclude name="**/ext/xercesImpl.jar"/>
<exclude name="**/ext/xml-apis.jar"/>
<exclude name="**/ext/xmlParserAPIs-2.5.jar"/>
</patternset>
</unzip>
<move todir="${standalone.release.dir}">
<fileset dir="${release.dir}/${standalone.jetty.archive.dir}"/>
</move>
<!-- remove example webapps -->
<delete file="${standalone.release.dir}/webapps/javadoc.war"/>
<delete dir="${standalone.release.dir}/webapps/template"/>
<!-- explode xwiki war file into jetty/webapps -->
<mkdir dir="${standalone.release.dir}/webapps/xwiki"/>
<unwar src="${release.warfile}"
dest="${standalone.release.dir}/webapps/xwiki"/>
<!-- replace configuration files with standalone version -->
<copy todir="${standalone.release.dir}/webapps/xwiki/WEB-INF"
overwrite="true">
<fileset refid="standalone.config"/>
</copy>
<!-- install db bootstrap -->
<mkdir dir="${standalone.release.dir}/db"/>
<copy todir="${standalone.release.dir}/db">
<fileset refid="standalone.db.bootstrap" />
</copy>
<!-- install start/stop scripts -->
<copy todir="${standalone.release.dir}">
<fileset refid="standalone.scripts"/>
</copy>
</target>
The sounds awsome.
I really would like a standalone package that runs off a USB key.
I teach tech classes at a local college and have started using XWiki for presentations and documentation. Sometimes the colleges internet connection is not so reliable so I have fretted about not having my presentations available during class. To overcome this I have been bringing a laptop configured as a linux server with xwiki installed hosting all my presentations and notes.
As you can see XWiki on a USB key would be absolutlely useful
Great work!
Dennis
Dennis
> Hi list,
>
> In order to ease XWiki installation for those who don't want to deal
> with tomcat/mysql, Ludovic asked me to work on a standalone installation
> of XWiki based on jetty and hsqldb.
>
> I think I get to a point where I have something useful, so I wanted to
> describe what I have done, and if Ludo agrees to create an account for
> me, I will be able to commit some files in the next few days ;-)
>
> So, I have added a 'standalone' target into the build.xml file (see
> below). This target expands a jetty.5.1.5 archive, removes the sample
> applications, inserts the xwiki release (exploded war) into the webapps
> directory, copies some configuration files in order to make xwiki use an
> in-process hsqldb database. hsqldb database files are also copied into
> the package. The database data have been taken from the mysql export
> (xwiki-db-0.9.2.sql).
>
> At the root of this package, 4 scripts are eventually copied in order to
> help user to start/stop the application server (start_xwiki.bat|sh,
> stop_xwiki.bat|sh).
>
> The produced package is usable 'as-is' simply by copying the files
> somewhere on your disk. And yes, it works on a USB key also. It weights
> a total of 37 MB.
>
> With this target, I have also written a basic Nullsoft Installer script,
> in order to help Windows users in installing the package. Basically this
> installer installs all the files produced by the standalone target in a
> user specified directory, then create 3 shortcuts in the Windows start
> menu: start, stop (à la tomcat) and uninstall. Before doing this the
> installer checks if a jre 1.4 or newer is installed (I'm not sure that
> 1.4 is required for xwiki, this can be changed easily), if not the user
> is redirected to the download section of the Java web site. This
> installer weight a total of 30 MB.
>
> On the todo list of this installer :
>
> - add the possibility to specify a port number for the jetty server ;
> - install a bundled jre if needed (have to check the sun license in
> order to be sure this is possible)
> - add a final window explaining what to do after the installation (use
> the start/stop shortcuts, start a browser...)
>
> On the todo list of this standalone installation :
>
> - add an installer for Mac OS X platforms
> - add an installer for Linux platforms (autopackage ?), may be not so
> useful, since Linux users are more acquainted to tomcat/mysql
> installation ...
>
> Any question, comment, idea would be greatly appreciated.
>
> Seb.
>
> here is the standalone target code :
>
> <!-- Standalone package properties -->
> <property name="standalone.base.dir" value="${basedir}/standalone"/>
> <property name="standalone.jetty.archive.dir" value="jetty-5.1.5"/>
> <property name="standalone.jetty.archive"
> value="${standalone.base.dir}/${standalone.jetty.archive.dir}.zip"/>
> <property name="standalone.package.name" value="xwikionjetty"/>
> <property name="standalone.release.dir"
> value="${release.dir}/${standalone.package.name}"/>
>
> <fileset id="standalone.db.bootstrap"
> dir="${standalone.base.dir}/db" includes="xwiki_db.*"/>
> <fileset id="standalone.config" dir="${standalone.base.dir}/config"
> includes="xwiki.cfg, hibernate.cfg.hsql.xml"/>
> <fileset id="standalone.scripts"
> dir="${standalone.base.dir}/scripts" includes="*"/>
>
> <target name="standalone" depends="release">
> <!-- unzip jetty archive into standalone release dir -->
> <!-- exclude some jetty provided jar files in order to avoid clashes -->
> <!-- these jars are provided by xwiki -->
>
> <unzip src="${standalone.jetty.archive}" dest="${release.dir}">
> <patternset>
> <exclude name="**/ext/xercesImpl.jar"/>
> <exclude name="**/ext/xml-apis.jar"/>
> <exclude name="**/ext/xmlParserAPIs-2.5.jar"/>
> </patternset>
> </unzip>
> <move todir="${standalone.release.dir}">
> <fileset dir="${release.dir}/${standalone.jetty.archive.dir}"/>
> </move>
>
> <!-- remove example webapps -->
> <delete file="${standalone.release.dir}/webapps/javadoc.war"/>
> <delete dir="${standalone.release.dir}/webapps/template"/>
>
> <!-- explode xwiki war file into jetty/webapps -->
> <mkdir dir="${standalone.release.dir}/webapps/xwiki"/>
> <unwar src="${release.warfile}"
> dest="${standalone.release.dir}/webapps/xwiki"/>
>
> <!-- replace configuration files with standalone version -->
> <copy todir="${standalone.release.dir}/webapps/xwiki/WEB-INF"
> overwrite="true">
> <fileset refid="standalone.config"/>
> </copy>
>
> <!-- install db bootstrap -->
> <mkdir dir="${standalone.release.dir}/db"/>
> <copy todir="${standalone.release.dir}/db">
> <fileset refid="standalone.db.bootstrap" />
> </copy>
>
> <!-- install start/stop scripts -->
> <copy todir="${standalone.release.dir}">
> <fileset refid="standalone.scripts"/>
> </copy>
> </target>
>
>
>
>
>
>
>
> --
> You receive this message as a subscriber of the xwiki-dev(a)objectweb.org mailing
> list.
> To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
> For general help: mailto:sympa@objectweb.org?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
When XWiki renders a document, the interactions between the Groovy,
Velocity, and Wiki (Radeox?) syntax processing can lead to unexpected and
undesirable behavior. There have been posts on this list in the past where
this issue has been discussed. However, I'm not aware that any consensus has
emerged as to how to deal with these problems.
To summarize, here are a few of the issues that I'm aware of:
* Getting XWiki to render a bit of text without doing any syntax processing
on it can be difficult. For example, the {pre} ... {/pre} markup turns off
XWiki syntax processing, but not Groovy processing.
* The # symbol is used both to do numbered lists and is also used for Groovy
processing. If a user wants to create a numbered list and forgets to put a
space after the #, he can run into trouble. The following example will cause
a stack dump:
#bring coffee
#include doughnuts
* Code samples on a Wiki page sometimes don't render correctly, due to
conflicts with Velocity syntax processing. The following C/C++ code sample
results in a runtime stack dump:
{code}
#include <stdio.h>
...
{code}
* Groovy and Velocity both use $varname syntax. I think I've read some posts
in the past where this was an issue -- although I can't come up with any
examples at the moment.
* A usability issue: Most XWiki tags ({table}, {code}, etc.) come in pairs.
The closing tag has no slash. For example: {table} ... {table}. However,
the {pre} tag does have a closing slash: {pre} ... {/pre}. This
inconsistency is annoying and causes difficulties for new users.
* A significant usability issue for Windows users: Pathnames contain
backslashes (\). XWiki uses the backslash as an escape character. So
attempting to put a UNC path like \\myserver\myshare\mydoc.txt in an XWiki
document triggers an XWiki runtime exception. Boy, is that frustrating for
new XWiki users. The solution is to wrap the path in {pre} .. {/pre}, but
the error message gives the user no clue what the problem was, much less how
to correct it.
Here are some proposals for discussion:
1. {pre} ... {/pre} should turn off ALL syntax processing of its contents.
2. {code} ... {code} should turn off ALL syntax processing, except for
syntax coloring.
3. {pre} should allow {pre} as a closing tag.
4. Consider requiring users to explicitly enable Groovy/Velocity processing
for selected Wiki documents as needed. In the page editor, provide two
checkboxes: "Perform Groovy Processing" and "Perform Velocity Processing".
The user could separately enable either Groovy or Velocity processing, or
both. People who enable them would presumably be in a better position to
deal with the kinds of syntax conflicts that would occur.
5. Provide more user-friendly error messages when a Groovy or Velocity
processing exception occurs. Show the Wiki source line that caused the
problem.
I haven't opened a JIRA issue for this yet, because I'm not sure how best to
word it. But I think this is a high-priority issue that should be carefully
addressed before the 1.0 release. This may be an issue that warrants a page
on the xwiki.org developer site. I'll be glad to start one if the developers
desire it -- perhaps here:
http://www.xwiki.org/xwiki/bin/view/Dev/Discussions
Stephen
Thought you might enjoy this.
------- Forwarded message -------
From: "Karl Dubost" <karl(a)w3.org>
To: "'public-evangelist(a)w3.org' w3. org" <public-evangelist(a)w3.org>
Subject: HOWTO Spot a Wannabe Web Standards Advocate
Date: Thu, 10 Nov 2005 20:10:30 -0000
Evangelistas,
[[[
HOWTO Spot a Wannabe Web Standards Advocate
If there is a match, you have spotted a wannabe.
* Talks about the importance of the alt tag.
* Claims <b> and <i> are deprecated.
* And spells it %u201Cdepreciated%u201D.
* Uses <span style="font-style: italic;">, because <i> is
presentational.
* Wants software to use <em> and <strong> when the UI says
italic and bold.
* Marks up quoted text as <cite>.
* Complains about upper-case tags in HTML.
* Claims XHTML 1.0 is more semantic than HTML 4.01.
* Claims XHTML 1.0 is more structured than HTML 4.01.
* Claims XHTML 1.0 is less presentational than HTML 4.01.
* Claims browsers parse XHTML served as text/html faster than
they parse HTML.
* Refers to %u201Cthe benefits of XHTML%u201D without specifying
what the benefits are.
* Uses large XHTML 1.0 Transitional documents with table layouts
while claiming enhanced compatibility with handheld devices thanks to
XHTML.
* %u201CFuture proofs%u201D a site by migrating from HTML 4.01
Transitional to XHTML 1.0 Transitional and keeps serving it as text/
html with all the old JavaScript scripts in place.
* Uses the XML empty element notation on pages that are supposed
to be HTML pages.
* Complains about doctypeless application/xhtml+xml or SVG
documents and smugly points to validator.w3.org.
* Claims all tables are evil.
* Advocates pixel-based absolute CSS positioning as the
righteous replacement for evil tables.
* Changes //EN at the end of the public identifier in the
doctype to the language code of the language the page is written in.
* Omits the namespace declaration in XHTML or SVG and claims it
is OK, because it validates.
* Serves documents written using a home-grown XML vocabulary
along with an XSLT transformation to HTML to browsers instead of
serving HTML, because XML is more semantic.
]]]
-- HOWTO Spot a Wannabe Web Standards Advocate
http://hsivonen.iki.fi/wannabe/
Wed, 27 Jul 2005 17:06:31 GMT
--
Jim Stuttard
Hi,
As tempus fugit towards release 1.0 I have a bit of a basic architecture
problem with the current DB schema.
Why does XWiki's DB schema depend on a number of proxy primary keys - eg.
ID: bigint? XWikiListClasses has a primary key of id, and name;
XWikiClasses has only a numeric id and name doesn't seem to matter. Is
this just me missing some basic idea?
Doesn't this hide the cardinalities, semantic connections and
non-transitive dependencies captured by primary keys in a fully-normalised
relational schema?
Currently this information would have to be inferred from the existing
schema, taking some time to do. And so I can't tell whether the schema is
normalised or not.
An example might be a Document. If memory serves me, Documents are
frequently uniquely identified by the minimal primary key of {title,
author, publication date}. If you ask "What are the chances of 2 different
documents having the same author name, title and publication timestamp?"
then this satisfices most conditions. An XWikiDoc however has a large set
of required fields and a single key.
Neither MySql nor any other RDBMS I know of uses single-field primary
keys. They are only required in the binary relational model.
I have always thought that good OODB design demanded *explicit*
de-normalisation if needed?
Cheers
Jim
--
Jim Stuttard