Hi,
Some date change proposal since we're late on a few things:
* RC1: move it to 24th of Aug (instead of 17th). It must contain:
- bug fixes - All
- distributed events done - Thomas
- WYSIWYG changes for macro category - Marius
- new skin: background + full horizontal width header + some CSS
colors - Cati
- watchlist working for XEM - JV
* 2.0 final: 31st of Aug (unless we find critical bugs in RC1 in which
case we'll do a RC2 and postpone the final to the 7th of Sep.)
Here's my +1
Thanks
-Vincent
Hi,
I find it really not easy to use a sortable/filterable table in xwiki
now + it exposes internals (like name and location of CSS and JS
scripts):
Syntax 1.0:
$xwiki.ssfx.use("js/xwiki/table/table.css")
$xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true)
<table id="tableid" class="grid sortable filterable doOddEven">
..
</table>
Syntax 2.0:
{{velocity}}
$xwiki.ssfx.use("js/xwiki/table/table.css")
$xwiki.jsfx.use("js/xwiki/table/tablefilterNsort.js", true)
{{/velocity}}
{{html}}
<table id="tableid" class="grid sortable filterable doOddEven">
..
</table>
{{/html}}
What's the best practice? How do we fix this quickly? (the longer fix
is to implement either sorting/fitering at the syntax level using
parameters or by introducing a new generic table/grid macro).
Do we remove the documentation for this? (it's currently on the syntax
page and broken since it doesn' t mention using ssfx/jsfx).
Thanks
-Vincent
Hi,
Input:
(% style="color:blue" %)
= header =
The result doesn't show the header in blue. The reason is that we have
the following CSS in toucan:
h1 span, h2 span, h3 span, h4 span {
background-color:inherit;
border-bottom:1px solid #CCCCCC;
color:#000000;
display:block;
margin:20px 0;
overflow:hidden;
padding:0;
position:relative;
}
It doesn't work since the style is set on h1 and the span's style is
overidden in toucan's css.
Question: Why don't we set the styles above on h1 instead of h1 span
for ex?
What can we do to fix this?
I don't think that changing the XHTML renderer to set the style on the
span would be a good thing. WDYT?
Thanks
-Vincent
Hi,
Concerning DocumentAccessBridge [0], would it be possible to add
another setProperty method, which would indicate
the number(index) of the object you add the property value to? Its
signature would be:
void setProperty(String documentName, String className, int
objectNumber, String propertyName, Object propertyValue) throws
Exception;
I need it to be able to easily add new objects and modify their
property values, from a component.
Is there any other way of doing this I overlooked?
Right now, the only existing setProperty method operates only on the
first object attached to the document:
void setProperty(String documentName, String className, String
propertyName, Object propertyValue) throws Exception;
The corresponding getters are both already present:
Object getProperty(String documentName, String className, int
objectNumber, String propertyName);
Object getProperty(String documentName, String className, String propertyName);
WDYT?
[0] - https://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-bridge/src/ma…
Thanks,
Anamaria
Hi everybody!
Sorry for bother you again with my questions, but I have a problem that
blocks me. I need to know what images are internal (they are attached to
the current page or other XWiki page) in order to download them with my
XMLRPC client. Using the rendering module I get every ImageBlock [1] and I
check the ImageType[2] of every Image[3] object. My problem is that this
type is URL for both external and internal images and that's why I can't
cast to the DocumentImage class. I've pasted bellow my code and the output
for some inputs. Can somebody tell me what I am wrong? Is there any other
solution for getting the associated attachments?
My client has these methods for getting the attachment data:
- Attachment<http://confluence.atlassian.com/display/DOC/Remote+API+Specification#Remote…>
getAttachment(String
token, String pageId, String fileName, String versionNumber) - get
information about an attachment.
- byte[] getAttachmentData(String token, String pageId, String fileName,
String versionNumber) - get the contents of an attachment.
- byte[] getAttachmentData(Attachment attachment) - get the contents of
an attachment.
My code:
// Parse
Parser parser = ecm.lookup(Parser.class, syntax.toIdString());
XDOM xdom = parser.parse(new StringReader(source));
for (ImageBlock block : xdom.getChildrenByType(ImageBlock.class,
true)) {
Image image = block.getImage();
System.out.println(image.getType() + "");
System.out.println(image.getName() + "");
}
Tests:
Input:
source: [[image:IMG3219.JPG]]
image:http://www.balsamiq.com/images/xwiki_logo.png
Syntax : XWIKI_2_0
Output:
URL
IMG3219.JPG
URL
http://www.balsamiq.com/images/xwiki_logo.png
Input:
source: <p><img src="IMG3219.JPG" alt="IMG3219.JPG"/><br/><br/><img src="
http://www.balsamiq.com/images/xwiki_logo.png"
class="wikimodel-freestanding" alt="
http://www.balsamiq.com/images/xwiki_logo.png"/></p>
syntax: XHTML_1_0
Output:
URL
IMG3219.JPG
URL
http://www.balsamiq.com/images/xwiki_logo.png
Links:
[1]
http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rendering/xwik…
[2]
http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rendering/xwik…
[3]
http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-rendering/xwik…
Best regards,
Cristina
Hi,
I'd like to move syntax-related classes to org.rendering.syntax
package. These are:
- Syntax
- SyntaxFactory
- SyntaxType
Right now they are in the org.rendering.parser package but that's not
right since Syntax classes are used in Listeners, Parsers,
Transformations, etc which are all top level rendering packages.
This will break the API and is not backward compatible (for those
using the rendering api directly) which is why I'd like to do this
ASAP so that it's in XE 2.0 (which doesn't have to be backward
compatible).
Note that we already have lots of api breakage for the rendering module:
<exclude>org/xwiki/rendering/listener/chaining/
AbstractChainingListener</exclude>
<exclude>org/xwiki/rendering/renderer/EventsRenderer</
exclude>
<exclude>org/xwiki/rendering/renderer/
PlainTextRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/TexRenderer</
exclude>
<exclude>org/xwiki/rendering/renderer/XHTMLRenderer</
exclude>
<exclude>org/xwiki/rendering/renderer/
XWikiSyntaxRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/
PrintRendererFactory</exclude>
<exclude>org/xwiki/rendering/renderer/PrintRenderer</
exclude>
<exclude>org/xwiki/rendering/renderer/chaining/
AbstractChainingPrintRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/xhtml/
DefaultXHTMLImageRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/xhtml/
DefaultXHTMLLinkRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/xhtml/
XHTMLRendererFactory</exclude>
<exclude>org/xwiki/rendering/util/RenderersUtils</
exclude>
<exclude>org/xwiki/rendering/parser/SyntaxFactory</
exclude>
<exclude>org/xwiki/rendering/renderer/xhtml/
XHTMLImageRenderer</exclude>
<exclude>org/xwiki/rendering/renderer/xhtml/
XHTMLLinkRenderer</exclude>
<exclude>org/xwiki/rendering/parser/SyntaxType</
exclude>
<exclude>org/xwiki/rendering/macro/descriptor/
MacroDescriptor</exclude>
<exclude>org/xwiki/rendering/renderer/printer/
MonitoringWikiPrinter</exclude>
<exclude>org/xwiki/rendering/configuration/
RenderingConfiguration</exclude>
<exclude>org/xwiki/rendering/macro/MacroManager</
exclude>
<exclude>org/xwiki/rendering/block/MacroBlock</exclude>
<exclude>org/xwiki/rendering/macro/AbstractMacro</
exclude>
<exclude>org/xwiki/rendering/macro/descriptor/
AbstractMacroDescriptor</exclude>
<exclude>org/xwiki/rendering/macro/descriptor/
DefaultMacroDescriptor</exclude>
<exclude>org/xwiki/rendering/block/
PlainTextBlockFilter</exclude>
<exclude>org/xwiki/rendering/util/ParserUtils</exclude>
This will add some more.
Here's my +1
Thanks
-Vincent
Hi Vincent
>The easiest is really if you can upgrade your install on XE 2.0M3
>(latest trunk). FYI 2.0M3 should be released tomorrow (if all goes
>fine).
>
>We'd also love to get feedback on 2.0M3 (or latest trunk). We think
>it's pretty stable and nice but someone using it for real would be
>great to verify all is fine before the final release.
>
>You'd also wiki macros btw (amongst other things) ;)
I upgrade my life wiki on:
http://madplanet.com/xwiki
to 2.0m3 and it seems to run smoothly. Upgrading the Blog Feed works now and I can see the 2.0 Wiki blog entries nicely. The rest of the wiki seems to run much faster then previously even though I don't have hard numbers.
I'll let you know when something goes wrong.
Cheers - Andy
Seems like we have to change how we publish releases on freshmeat.
-Vincent
Begin forwarded message:
> From: Ludovic Dubost <ludovic(a)xwiki.com>
> Date: August 14, 2009 12:58:44 PM CEDT
> To: Vincent Massol <vincent(a)xwiki.com>
> Subject: [Fwd: XWiki: change summary is required for announcements
> [08aecb6d641]]
>
>
> --
> Ludovic Dubost
> Blog: http://blog.ludovic.org/
> XWiki: http://www.xwiki.com
> Skype: ldubost GTalk: ldubost
>
>
> From: "freshmeat.net ticketing" <tickets(a)freshmeat.net>
> Date: August 14, 2009 11:47:49 AM CEDT
> To: undisclosed-recipients:;
> Subject: XWiki: change summary is required for announcements
> [08aecb6d641]
>
>
> // Add your reply above here
>
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
>
> danielpearson created this ticket on 2009-08-14 09:47:49 UTC
>
> A message telling readers to read the release notes is not
> acceptable input into
> the "Changes" field of a release announcement. Such a statement
> literally goes
> without saying. This field must contain a summary of the changes
> made in the
> release. We cannot approve this release announcement until you reply
> with such a
> summary.
>
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
>
> State: Open
> Assigned to: danielpearson
> Due: 2009-08-21
> View this ticket online:
> http://freshmeat.net/projects/xwiki/tickets/08aecb6d641
> View the associated project:
> http://freshmeat.net/projects/xwiki
The XWiki development team is pleased to announce the release of XWiki
Enterprise 2.0 Milestone 3.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
This is the third and last milestone for the 2.0 version.
The main goal of 2.0 is to make XWiki fully XWiki 2.0 syntax.
Main changes from 2.0 Milestone 2:
* Lots of improvements and new features in the new WYSIWYG editor
* Lots of improvements and bugfixes in the rendering engine and
the syntax converter
* Upgrade to SmartGWT 1.2
* New experimental network event distribution module
* Several blog application improvements
* Several tags application bug fixes
* Translations updated for de, fr, lv, nl, ru
For more information see the Release notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise20M3
Thanks
-The XWiki dev team
I hadn't seen the whole of this mail, sorry for the late reply,
Le 12-août-09 à 09:30, Ludovic Dubost a écrit :
> Q: Does anybody know of any security issues with running latex,
> dvips or
> convert?
you may add a warning in the readme about usage of convert, I have
seen very many "arbitrary code execution" exploits reported about
image file formats (libpng and libjpeg among others): keep your
libraries and imagemagick (convert is part of that) up-to-date.
> Especially with the \openin and \openout commands?
I am not sure I know the dangers there... it should certainly be
advised to run all that as www daemon!
> - one which uses MathTran as a remote service through HTTP requests.
> It
> gives results as good as the native one, enhanced with some metadata,
> and depending on the configuration of the server, it might have better
> performance than the native one. The disadvantage is that it relies
> heavily on a remote server. Note that MathTran is free software, and
> can
> be installed locally on the same or a neighboring server.
MathTran is, by far, much better performing.
Moreover, the infrastructure used has proven to be able to solve the
baseline stuffs, for this, one needs the pictures to be delivered from
the same server so that the javascript reads the PNG headers(!).
Note that the option of TeX compilation that MathTran needs seems
shipped for everyone although J Fine said it was not.
If you are caching, it would make the remote problem almost trivial.
> Oh, another minor problem is that it uses a variant of the TeX
> syntax, not LaTeX.
that is the major issue probably.
Note that people will request very soon their own set of macros (e.g
AMStex)
>
> - one which uses SnuggleTeX and JEuclid to transform LaTeX into
> MathML,
> and then render it into images. The results are not as eye-pleasing as
> those obtained from LaTeX, but it is a self-contained solution, with
> no
> external dependencies.
>
> SnuggleTeX uses the liberal 3-clause BSD license, JEuclid uses the
> Apache v2 license, so both can be deployed. Together, they weight in
> at
> 730k, so it's not a big impact. The other two implementations are not
> contaminated by the licenses of the underlying system, so there's no
> license conflict.
>
> Q: Should either one be removed?
>
> Q: Do you know of any other (better) alternative?
I would document how to implement another one.
MathFlow of Design Science can do this (a subset called "webTeX", it
is commercial but not too expensive.
>
> Q: Is this setup OK as the default one? (native by default, snuggletex
> as fallback).
and mathtran only optional?
> The generated images are stored in a cache (using the cache
> component),
> for improved performance. This new cache might increase the memory
> requirements, but fortunately it is easy to configure.
is it not disk based?
paul
Hello,
I have a few questions about how to contribute to the dutch
application_resource file.
Yesterday I have added some translations to the dutch translation of the
XE resources at the I10n.wiki.org site. Is there any documentation about
this site? I am unsure about what some functions do and the effects they
may have on others. For instance the link 'Import/reimport default
language file', Admin actions like 'Import' and 'Prepare'. Also I
noticed that when I get the dutch translation as a application resource
file, it only has the resources filled in if a dutch translation exists.
This seems logical, but as long as not all strings have a dutch
translation, my xwiki contains lots of empty strings. Is there a way to
build a resource file with dutch translations where available, and the
default english strings when not? Another thing that is not clear to me
is the functionality around reviewing and validation. If I find a
translation that is incorrect of I thing there is a better one, can I
just change it, or should I somehow make a review request to somebody
authorized to accept or reject the change? Is there any way to know who
is contributing to the same translation in order to achieve some common
ideas about how to translate xwiki terms?
Thanks,
Henk
--
==
Henk F. Schouten, ICT-architect, Dienst ICT
room: SL 2.32, phone (31) 70 4457611, email: H.F.Schouten(a)hhs.nl
De Haagse Hogeschool, Johanna Westerdijkplein 75, 2521 EN the Hague (NL)
On Aug 13, 2009, at 3:52 PM, Henk Schouten wrote:
>
> Hello,
>
> I have a few questions about how to contribute to the dutch
> application_resource file.
> Yesterday I have added some translations to the dutch translation of
> the
> XE resources
> at the I10n.wiki.org site.
Yes that's very cool thanks! :)
We've already applied them and they'll be in today's release of XE 2.0M3
Thanks
-Vincent
> Is there any documentation about this site? I
> am unsure about
> what some functions do and the effects they may have on others. For
> instance the link
> 'Import/reimport default language file', Admin actions like 'Import'
> and
> 'Prepare'. Also
> I noticed that when I get the dutch translation as a application
> resource file, it only has
> the resources filled in if a dutch translation exists. This seems
> logical, but as long as not
> all strings have a dutch translation, my xwiki contains lots of empty
> strings. Is there a
> way to build a resource file with dutch translations where available,
> and the default
> english strings when not? Another thing that is not clear to me is the
> functionality around
> reviewing and validation. If I find a translation that is incorrect
> of I
> thing there is a better
> one, can I just change it, or should I somehow make a review request
> to
> somebody
> authorized to accept or reject the change? Is there any way to know
> who
> is contributing
> to the same translation in order to achieve some common ideas about
> how
> to translate
> xwiki terms?
>
> Thanks,
> Henk
Hi devs,
I would like to release XWiki Enterprise 2.0M3.
It's the last milestone release for 2.0 before starting the RC process.
36 jira as been closed for this release. Among others things it
introduce network event distribution system, footnote macro and light
XHTML renderer. See
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise20M3
for more.
Here is my +1
--
Thomas Mortagne
Hi
I attached a patch to this JIRA report that fixes various issues around the feed plugin when used within the Blog application:
http://jira.xwiki.org/jira/browse/XWIKI-4158
It does not fix all the issues but the ones releated to the Blog application within the Feed plugin.
Cheers
Andreas Schaefer
This might be useful for those wanting to do server administration functions
(start/stop tomcat, reboot, stats, etc) out of an Xwiki doc (make sure your
doc is password protected or more, if it allows people to reboot your
server!; Anything needing root or tomcat user would use /etc/sudoers to
grant specfic permissions to specific programs needed by user
tomcat-ssh-slave):
Input:
> ==== Use Groovy Script run server processes and display result ====
> See [[SshHelperClass?viewer=code]], [[
> http://blog.asyd.net/2008/12/xwiki-cest-decidemment-magique/]]
> ==== Call parseGroovyFromPage("Groovy.SshHelperClass") ====
{{velocity}}
#set( $sshHelper = $xwiki.parseGroovyFromPage("Groovy.SshHelperClass") )
$sshHelper.openSession("127.0.0.1", "22", "tomcat-ssh-slave",
> "/usr/share/tomcat6/.ssh/id_dsa", "")
{{/velocity}}
> ==== Output from 'uname -a'====
##{{velocity}}$sshHelper.runCommand("uname -a"){{/velocity}}##
> ==== Output from 'free' ====
##{{velocity}}$sshHelper.runCommand("free"){{/velocity}}##
> ==== Output from 'ps -l U tomcat-ssh-slave U tomcat U apache' ====
##{{velocity}}$sshHelper.runCommand("ps -l h U tomcat-ssh-slave U tomcat U
> apache"){{/velocity}}##
> ==== Output from 'df -H' ====
##{{velocity}}$sshHelper.runCommand("df -H"){{/velocity}}##
> ==== Output from 'top -b -n 1' ====
##{{velocity}}$sshHelper.runCommand("top -b -n 1"){{/velocity}}##
> ==== Close the connection and exit tomcat-ssh-slave shell ====
warning: if something breaks above, hopefully this will get called otherwise
> we
get a left-over sub-process tomcat-ssh-slave
##{{velocity}}$sshHelper.close(){{/velocity}}##
Output:
> Use Groovy Script run server processes and display result
>
> See SshHelperClass ,
>> http://blog.asyd.net/2008/12/xwiki-cest-decidemment-magique/
>
> *Call parseGroovyFromPage("Groovy.SshHelperClass")*
>
> *Output from 'uname -a'*
>
> Linux ce 2.6.27.29-170.2.78.fc10.x86_64 #1 SMP Fri Jul 31 04:16:20 EDT
>> 2009 x86_64 x86_64 x86_64 GNU/Linux
>
> *Output from 'free'*
>
> total used free shared buffers cached
>
> Mem: 1928992 1778932 150060 0 47272 532128
>
> -/+ buffers/cache: 1199532 729460
>
> Swap: 3866616 78776 3787840
>
> *Output from 'ps -l U tomcat-ssh-slave U tomcat U apache'*
>
> 5 S 92 18792 18788 0 80 0 - 22060 select ? 0:00 sshd:
>> tomcat-ssh-slave@notty
>
> 0 R 92 18879 18792 1 80 0 - 22453 - ? 0:00 ps -l h U tomcatssh-slave U
>> tomcat U apache
>
> 0 S 91 31695 1 0 80 0 - 463955 futex_ ? 7:47 /usr/java/default/bin/java
>> -server -Xms160m -Xmx1024m -XX:PermSize=160m -XX:MaxPermSize=320m ...
>
> *Output from 'df -H'*
>
> Filesystem Size Used Avail Use% Mounted on
>
> /dev/mapper/VolGroup00-LogVol00 242G 26G 204G 12% /
>
> /dev/sda1 200M 15M 175M 8% /boot
>
> tmpfs 988M 353k 988M 1% /dev/shm
>
> *Output from 'top -b -n 1'*
>
> top - 11:17:20 up 2 days, 16:21, 3 users, load average: 0.78, 0.68, 0.56
>
> Tasks: 150 total, 2 running, 148 sleeping, 0 stopped, 0 zombie
>
> Cpu(s): 7.7%us, 1.7%sy, 0.0%ni, 90.2%id, 0.3%wa, 0.1%hi, 0.1%si, 0.0%st
>
> Mem: 1928992k total, 1794420k used, 134572k free, 47304k buffers
>
> Swap: 3866616k total, 78776k used, 3787840k free, 532356k cached
>
> ...
>
>
Special Installation Instructions
To make this run (Fedora Linux):
1. sudo yum install trilead-ssh2 trilead-ssh2-javadoc
2. sudo ln -s /usr/share/java/trilead-ssh2-213.jar
/usr/share/java/tomcat6/trilead-ssh2.jar
3. Make sure "tomcat" user exists in /etc/passwd, and create an additional
uid=92 gid=92 account "tomcat-ssh-slave":
• tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat6:/bin/sh
° "tomcat" user created as "disabled" by installing tomcat6-6.0.18-6.2.fc10
• tomcat-ssh-slave:x:92:92:User for SSH Subprocesses From
Tomcat:/home/tomcat-ssh-slave:/bin/bash
° create this using fedora admin utility 'system-config-users' or by
hand-editing /etc/passwd...
4. sudo passwd -u tomcat
• unlock tomcat account temporarily
5. sudo passwd tomcat
• set password for tomcat account
6. Login to "tomcat" account using SSH from current account terminal.
7. ssh-keygen -t dsa
• Leave "empty for no passphrase" for decrypting the DSA-key produced by
ssh-keygen, although it can be specified as last parameter for
sshHelper.openSession("localhost", "22", "tomcat-ssh-slave",
"/usr/share/tomcat6/.ssh/id_dsa", "").
8. From the "tomcat" account, run "ssh tomcat-ssh-slave(a)127.0.0.1"
• answer Yes: "Are you sure you want to continue connecting (yes/no)? yes"
• enter password for tomcat-ssh-slave set above via system-config-users.
• exit the connection.
• The purpose of this step is to test the account, and init
/usr/share/tomcat6/.ssh/known_hosts
9. sudo cp /usr/share/tomcat6/.ssh/id_dsa.pub
tomcat-ssh-slave/.ssh/authorized_keys
10. From the "tomcat" account, do "ssh tomcat-ssh-slave(a)127.0.0.1" again
• verify that login happens w/o password prompt, which is what happens when
authorized_keys is set to the
public key of the account accessing SSH.
• exit from tomcat-ssh-slave account. It's now ready to run out of tomcat.
11. passwd -l tomcat
• lock the tomcat account from further logins, now that it's been setup and
the dsa public/private keys have been generated.
1. *TODO:* remove password from user tomcat-ssh-slave ('!!' in passwd field
of /etc/shadow) password not needed for login
2. *TODO:* alternately, is there a local customization to ensure certs only
used for login to the account? I know this can be done globally in
/etc/ssh/sshd_config: "PasswordAuthentication no" and "PermitEmptyPasswords
no"
3. *TODO:* for user tomcat-ssh-slave, integrate "limited command processing"
by replacing /bin/sh as login shell with /usr/local/bin/tomcat-ssh-shell (or
equiv):
#!/bin/sh -noprofile
###############################################################################
#
# File: sshslave-shell
# RCS: $Header: $
# Description: Shell to allow execution of remote commands from a tomcat
server.
# For security purposes, this "login" is limited in commands it can
# perform, and runs as a separate user from the tomcat server, separating
# the ability to directly modify tomcat state from the functionality
provided
# by user tomcat-ssh-slave. This shell is run as the "login shell" (via
# /etc/passwd) for account tomcat-ssh-slave, which is accessed via SSH.
# The account is preferably a nonprivileged user account with pid>500, Home
# directory /home/tomcat-ssh-slave must exist, with correct permisssions.
# /home/tomcat-ssh-slave contains scripts referred to via
fully qualified
# filenames in this script. The directory would also store the accounts'
# .ssh settings, keys, etc. Secure, password-less access to the
tomcat-ssh-slave
# account can be achieved by having tomcat's SSH public identity
/usr/share/tomcat6/.ssh/id_dsa.pub
# installed as /home/tomcat-ssh-slave/.ssh/authorized_keys (and
keeping id_dsa secret)
# This would prevent use of tomcat-ssh-slave "account" from being used by
anything
# other than preauthorized accounts.
#
# Here's some example commands:
#
# ssh -x tomcat-ssh-slave(a)127.0.0.1 cleanlog
# ssh -x tomcat-ssh-slave(a)127.0.0.1 getlog
# ssh -x tomcat-ssh-slave(a)127.0.0.1 setdbglvl 'INFO'
# ssh -x tomcat-ssh-slave(a)127.0.0.1 getdbglvl
# ssh -x tomcat-ssh-slave(a)127.0.0.1 tomcat-restart
# ssh -x tomcat-ssh-slave(a)127.0.0.1 apache-restart
# ssh -x tomcat-ssh-slave(a)127.0.0.1 tomcat-start
# ssh -x tomcat-ssh-slave(a)127.0.0.1 apache-start
# ssh -x tomcat-ssh-slave(a)127.0.0.1 top
# ssh -x tomcat-ssh-slave(a)127.0.0.1 ps
# ssh -x tomcat-ssh-slave(a)127.0.0.1 df
# ssh -x tomcat-ssh-slave(a)127.0.0.1 free
# ssh -x tomcat-ssh-slave(a)127.0.0.1 reboot
# Author: Niels P. Mayer
# Created: Monday 8/10/2009
# Modified:
# Language: Shell-script
# Package: N/A
# Status: Production
#
# (C) Copyright 2009, Niels Mayer, all rights reserved.
#
###############################################################################
# make sure nothing funny goes on
PATH="/bin:/usr/bin"
# make sure they rsh or ssh in with a single command
if [ -z "$1" ] || [ "$1" != "-c" ]
then
echo You must use ssh -c to access this account
exit 1
else
shift
SSHSLAVE_COMMAND="$@"
fi
# only let them run specific commands, eg.
# ssh -x tomcat-ssh-slave(a)127.0.0.1 cleanlog
# ssh -x tomcat-ssh-slave(a)127.0.0.1 getlog
# ssh -x tomcat-ssh-slave(a)127.0.0.1 setdbglvl 'INFO'
# ssh -x tomcat-ssh-slave(a)127.0.0.1 getdbglvl
# ssh -x tomcat-ssh-slave(a)127.0.0.1 tomcat-restart
# ssh -x tomcat-ssh-slave(a)127.0.0.1 apache-restart
# ssh -x tomcat-ssh-slave(a)127.0.0.1 tomcat-start
# ssh -x tomcat-ssh-slave(a)127.0.0.1 apache-start
# ssh -x tomcat-ssh-slave(a)127.0.0.1 top
# ssh -x tomcat-ssh-slave(a)127.0.0.1 ps
# ssh -x tomcat-ssh-slave(a)127.0.0.1 df
# ssh -x tomcat-ssh-slave(a)127.0.0.1 free
# ssh -x tomcat-ssh-slave(a)127.0.0.1 reboot
case ${SSHSLAVE_COMMAND} in
cleanlog \
getlog \
getdbglvl \
tomcat-restart \
apache-restart \
tomcat-start \
apache-start \
top \
ps \
df \
free \
reboot \
) #single argument commands -- exact match to SSHSLAVE_COMMAND
exec "/home/tomcat-ssh-slave/${SSHSLAVE_COMMAND}"
;;
setdbglvl* \ #e.g., setdbglvl 'INFO' ... multiple argument command.
Beware command injection.
)
exec `echo "/home/tomcat-ssh-slave/${SSHSLAVE_COMMAND}" | cut -f1 -d" "`
`echo "${SSHSLAVE_COMMAND}" | cut -f2- -d" "`
;;
* )
exec echo You are not authorized to do that.
;;
esac
Niels
http://nielsmayer.com
Hi
I just checked out platform (core SVN revision: 22631) and enterprise, built it and installed the Generic installer XWiki. While starting it up I saw this exception:
2009-08-12 12:37:34.565::WARN: Failed startup of context org.mortbay.jetty.webapp.WebAppContext@4d88a387{/xwiki,/Users/schaefa/Development/xwiki/installations/xwiki.20090812/jetty/../webapps/xwiki}
java.lang.NullPointerException
at org.xwiki.observation.remote.internal.DefaultRemoteObservationManagerContext.isRemoteState(DefaultRemoteObservationManagerContext.java:36)
at org.xwiki.observation.remote.internal.jgroups.JGroupsRemoteObservationManager.notify(JGroupsRemoteObservationManager.java:150)
at org.xwiki.observation.remote.internal.LocalEventListener.onEvent(LocalEventListener.java:115)
at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:248)
at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:229)
at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:264)
at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:77)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:523)
at org.mortbay.start.Main.main(Main.java:119)
Can't figure out what is wrong but it seems to be an issue with the Execution not be set on the DefaultRemoteObservationManagerContext or the Execution.getContext() returns null.
Cheers
Andreas Schaefer
Hi,
In order to integrate Shindig with the XWiki datastore, 4 interfaces have to
be implemented: PersonService, AppDataService, ActivityService and
MessagesService (javadocs here [0]). To this end, I have created the
xwiki-social-opensocial module [1].
While implementing PersonService (PersonServiceXW - [2]), I have encountered
the following problem:
As I needed to access the datastore, I also made PersonServiceXW a XWiki
Component in order to gain access to the DocumentAccessBridge Component.
BUT, here is the problem, the DocumentAccessBridge never gets initialized
and at runtime is null.
The reason this might happen, as Sergiu suggested, is that Shindig uses
Guice to bind the services implementations in its code, thus the
PersonServiceXW component never gets to be registered with XWiki's Component
Manager.
My question is how do I get data in and out XWiki's datastore from the
PersonService implementation, if I cannot use the DocumentAccessBridge this
way? Can it be registered to the Component Manager somehow, or is there a
completely different way this could be achieved?
I will continue with some integration details (about the patch on
xwiki-web-standard and the OpenSocial XWiki Application). At the end I
included some instructions on how to build and test them.
***xwiki-web-standard patch (apply on xwiki-platform-web), consisting of:
- in standard/src/main/webapps/templates:
* added 3 .vm files which handles getting/adding/deleting friends:
addfriend.vm, getuserfriends.vm, deletefriend.vm
- in standard/src/main/webapps/resources/xwiki/opensocial:
* added javascript and css files necessary for the Shindig container
- in standard/src/main/webapps/WEB-INF:
* modified web.xml to include all shindig servlet mappings and necessary
Guice modules
- in standard/src/main/webapps/WEB-INF/classes:
* added container/default/container.js and shindig.properties - default
Shindig container configurations. I put them in the classpath as they
required modifications from the original files
- in standard:
* modified pom.xml, to include as a dependency xwiki-social-opensocial
module
***Open Social XWiki Application, consisting of:
- OpenSocial.GadgetContainerClass - the simplest OpenSocial Gadget
container; has a single url property (the url of the gadget); in view mode
it displays/renders it
- OpenSocial.GadgetContainerClassSheet
- OpenSocial.GadgetContainerClassTemplate
- OpenSocial.HelloWorld - hello world Gadget (only displays a String) - NO
OpenSocial features - works
- OpenSocial.LabpixiesTodo - Gadget with NO OpenSocial features 1 - works
- OpenSocial.Horoscope - Gadget with NO OpenSocial features 2 - works
- OpenSocial.ListFriends - SHOULD list the friends of the currently logged
in user. The friends are retrieved using the XWiki implementation of the
Shindig's PersonService, which is located in the xwiki-social-opensocial
module (PersonServiceXW). The service TRIES to use DocumentAccessBridge
component in order to retrieve the necessary data from the XWiki datastore.
- OpenSocial.TestingGadgetsSource - used to attach gadgets XML files to the
page. Their URLs can be used for GadgetContainerClass objects (e.g.
ListFriends gadget)
- Panels.My Friends - panel, displays the friends of the currently logged in
user
- Panels.Navigation
- XWiki.FriendClass - A friend; objects of this type can be attached to user
profiles; has as a single property friendName, which contains the name of
the friend
- XWiki.FriendClassSheet
- XWiki.FriendClassTemplate
- XWiki.XWikiUserSheet - to add the list of friends to profile
- XWiki.MyResources
- XWiki.XWikiPreferences
Instructions for testing (one possible way at least):
1. Patch xwiki-platform-web (changes are only in xwiki-web-standard), with
the patch from JIRA - [3]
2. Build xwiki-web-standard
3. Build xwiki-enterprise in offline mode (-o), so it will use
xwiki-web-standard from the local repository build at step 2
4. Run XWiki Enterprise. I always use
xwiki-enterprise-jetty-hsqldb-2.0-SNAPSHOT from the generated distributions
5. Import opensocial XAR - [4]
What to look for while testing (working stuff):
- Gadgets:
- see all/add new gadgets
http://localhost:8080/xwiki/bin/view/OpenSocial/GadgetContainerClass
- http://localhost:8080/xwiki/bin/view/OpenSocial/HelloWorld
- http://localhost:8080/xwiki/bin/view/OpenSocial/LabpixiesTodo
- http://localhost:8080/xwiki/bin/view/OpenSocial/Horoscope
- http://localhost:8080/xwiki/bin/view/OpenSocial/ListFriends (social
features) --> as specified before, not working
- While you're here, you could also:
- Log in as Alice (password 'alice')
- Go to profile page and edit friends list; You should have 2 friends:
Jane and Bob (they have as passwords 'jane', and 'bob')
- See My Friends Panel, with the friends of the current logged in user
displayed
[0] -
http://incubator.apache.org/shindig/shindig-1.1.x/apidocs/org/apache/shindi…
[1] -
https://svn.xwiki.org/svnroot/xwiki/sandbox/gsoc/opensocial/xwiki-social-op…
[2] -
https://svn.xwiki.org/svnroot/xwiki/sandbox/gsoc/opensocial/xwiki-social-op…
[3] -
http://jira.xwiki.org/jira/browse/XSANDBOX-36?focusedCommentId=43674&page=c…
[4] -
http://jira.xwiki.org/jira/browse/XSANDBOX-64?focusedCommentId=43675&page=c…
Other helpful links:
- Guice module configuration for my service implementations
https://svn.xwiki.org/svnroot/xwiki/sandbox/gsoc/opensocial/xwiki-social-op…
- Exemple of PersonService being injected by Guice in Shindig's code
http://svn.apache.org/repos/asf/incubator/shindig/trunk/java/social-api/src…
Thanks,
Anamaria
The XWiki development team is pleased to announce the release of XWiki
Enterprise 1.9.3.
Go grab it at http://www.xwiki.org/xwiki/bin/view/Main/Download
This is a bug fix and enhancement release mainly around security and
the tag and mailsender applications.
Changes since XWiki Enterprise 1.9.2.
Improvements:
* XWIKI-4065 New Footnote macro
Important Bugs fixed:
* XWIKI-4109: Guest users are sometimes logged in with another user account
* XWIKI-3827: GWT wysiwyg editor has dark background with Albatross skin
* XPMAIL-17: Wrong characters in non-ascii emails
* XATAG-21: List documents with tag, rename/delete tag fails with
specific versions of MySQL5
* XATAG-22: Rename and delete actions fail with tag containing non-ascii chars
* XABLOG-27: Article date not displayed properly in IE6
For more information see the Release notes at:
http://www.xwiki.org/xwiki/bin/view/Main/ReleaseNotesXWikiEnterprise193
Thanks,
The XWiki dev team
Hi,
Please give feedback on the menu iteration. You can view the mockups at
http://incubator.myxwiki.org/xwiki/bin/view/Improvements/Skin20Menu
1. We need to decide the way we handle the actions we are able to do
(depending on the rights we have): enable/disable them or hide them.
2. You can select to have an simple or advanced menu (View and Edit submenus
affected)
Thanks,
Caty
Hi devs,
I would like to introduce a first partial beta of the event network
distribution system in the 2.0M3.
Note that the module itself is complete what will need to be done with
debugging is making everything in core use the new Observation Manager
instead of the old notification service.
For this release i plan to:
- add the remote observation manager module (disabled by default)
- implement a EventConverter for documents events (event convert has a
generic converter for Serializables events but documents converted has
XWikiDocument and XWikiContext we want to filter before sending it to
the network).
- make XWiki cache store listen to remote doc event to invalidate the
cache accordingly (this is the main thing that will bring event based
clustering support to XWiki, all the rest is already supposed to
update its cache based on events remote or not)
Here is my +1
--
Thomas Mortagne
Hi
I know that we all volunteer for this project and so this is not a critic of anybody's work but I have to say that the Feed Plugin has more holes than a Swiss cheese and I should know. I could work around all the issues but now the SyndEntryDocumentSource class does not render Wiki 2.0 code (hard coded to 1.0).
There is also an issue where the conversion of Categories fails in the Rome Converters because the Categories is a String but the Rome expects a SyncdCategory. The only conversion that works so far is atom_0.3.
One of the problems I see with the Feed Plugin is that the test suite is not sufficient and therefore many of the method now fail in 2.0. I would volunteer to help to build it if someone could show me to how to setup a test environment where I could execute the Feed Plugin against (Blog first). Is there a plugin that tests against a mock up XWiki to make sure it is working?
Cheers
Andreas Schaefer