Dear Thomas,
*RoadMap.*
1)Complete SyncDaemon
2)Complete Encryption features. ( The module will not be fully specified.
Only little functionality for this project)
3)Do full documentation of the current platform. (quick starts,
contribution guides ...) <<need opinion. Is documentation considered part
of GSoC?
4)Junit Tests (for the new high level rest layer, xwiki Domain model
persistence)
5)Some more UI demos. (what about making a View-Generator-Engine as a
reusable component to generate android view widgets for Document and its
parts?. Only objection with me is time concerns)
Extra:
I did not do that announcement yet :-). Hope you are not angry with me. I
planned to do it after I add UI to demonstrate "Sync Daemon". Currently you
can only manually save and do the publishing later.
I hope to complete SyncDaemon demo, Encryption by the end of this week.
(Then only left will be Junit tests and some more UI demos to show adding
comments , attachments to the android's XWiki Domain model).
I will be completing the RAL layer without the querry methods.
Querry methods are a lot of big work. I'll just note the idea here.
ex: querry all documents with a blogpost object or a blog category object.
How to do:
Make 2 instances of Document Object (doc1, doc2)
doc1.addObject( XBlogPost)
doc2.addObject(XBlogCategory)
in the RAL : DocumentRao.querry( doc1, doc2) <<here querry
method signature is querry(Document ... docs)
:-) This is very highlevel. And I am not smart enough to fully implement
it. (slight idea of using QuerryBuilders and Filter Chains :-( )
So I want implement it.
Also the test build is not working.
The test modules are running up to mvn phase apk. Shall I see to it later,
when I add my own Junit tests.
Regards.
Sasinda.
Hi,
I am very new in wiki and am asking for help in such a request:
We have a groovy script which compiles a content from all the pages before printing to PDF. This document finally will be sent to third parties, so no links to wiki pages should be inside. But currently the output document does contain the references to wiki pages(for ex. [[Start up>>{UseCase}Startup||rel="__blank"]]) which should be replaced with the local document anchors (like [[UC:Start up>>#HUC:Startup]]).
àHow to make this replacement in a more efficient way in the final document before printing?
Thanks in advance!
Hi devs,
I've been thinking about Displayer architecture today and here are my thoughts on how I see them implemented (without entering low-level details):
Basics
======
* Everything in XWiki should be a Component and should be able to be implemented in Java and optionally extended in wiki pages (wiki components notion)
* Have a Displayer component Role (ie a java interface for displayers)
* Have default implementations in the display module for all basic types we want to support (textareas, date, string, number, etc). Basically this means rewriting the current displayers as components.
* Allow to register Displayers defined in wiki pages by using wiki components (same mechanism as wiki macros).
* Since a lot of Displayers are better written in wiki pages (javascript, css), create a UI submodule of the current display module which contains displayers we want bundled by default in XE (for ex for Dates and Users/Groups)
* Extend the current {{display}} macro to support displaying Objects and Object Properties (it already supports passing an EntityType parameter but it's not used ATM).
* The {{display}} macro will use the CM to get an instance of a displayer for the Object property type. It'll do by finding the XClass and getting the type from the XClass and then do a getInstance
* Add an optional parameter to the {{display}} macro to support passing a displayer hint (by default it would use the "default" displayer for the property type). This will allow some pages to decide which displayer to use to render their content without being forced to use the default displayer.
Advanced
=========
In order to make it easy for a given class or a given object to decide how to display itself we could also define some special DisplayerBinding XObjects (one per property type). It could work like this:
* If the {{display}} macro has the displayer hint specified as parameter then use it
* If the {{display}} macro doesn't have the displayer hint specified then check if the xclass document has a DisplayerBinding XObject defined and if so use the displayer pointed to by the binding
* If the {{display}} macro doesn't have the displayer hint specified and the xclass document doesn't have a DisplayerBinding XObject defined then check if the object to display have such an XObject and if so use it
* Deprecate the notion of "custom displayer" that we have in our XClass since it wouldn't be needed anymore
WDYT?
I know we're not there yet but it would be cool to make progress on the direction we'd like to take.
Thanks
-Vincent
Hi devs,
As part of the Hackathon 2012, I'm requesting 2 projects on our GitHub Contrib org:
- editor-autocomplete
- editor-syntaxhighlighting
Thanks
-Vincent
Hello XWiki experts,
I'm having a very weird behaviour in a set of velocity files inside curriki, running xwiki 3.5.
The view code calls startpage.vm, itself having:
#template("xwikivars.vm")
which contains:
#set($GA_uacct=$xwiki.getXWiki().Param('curriki.system.GA'))
and, a few templates later, in analytics.vm, one has:
#if("$!GA_uacct" != "0" && "$!GA_uacct" != "")
.... <!-- have the setting -->
#else
.... <!-- missing -->
#end
I know I could put the #set() statement inside analytics.vm, where it was some versions ago. However, I'd like to understand.
What I have as behavior is that about half of the executions above show missing and the other half doesn't have them...
- should I never expect this variable to be defined inside analytics.vm? (there would be other settings such as the hostname that are needed and are read the same fashion)
- shouldn't this variable always be defined?
thanks for hints.
Paul
I seem to be running into an error I can't find my way around when passing the xwiki context to an eventListener. According to the error message itself (below) I appear to be passing the right objects, but I'm still getting an exception thrown.
I should point out that I'm new to both xwiki and groovy, so I may have missed something obvious, is the context not instantiated by the time it's been sent to the event handler? or should I be grabbing it anew?
thanks
-s
Error and groovy code below...
2012-07-05 21:19:59,471 [http://localhost:8080/xwiki/bin/preview/Task/look+into+CMH+%2F+TDT] ERROR .o.i.DefaultObservationManager - Failed to send event [org.xwiki.observation.event.DocumentUpdateEvent@6b193509] to listener [MailingEventListener@171aa1cb]
groovy.lang.MissingMethodException: No signature of method: static com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMail() is applicable for argument types: (com.xpn.xwiki.plugin.mailsender.Mail, com.xpn.xwiki.XWikiContext) values: [From [seth.redmond(a)gmail.com], To [], Subject [xwiki done some stuff, yo], Text [document TaskClass has been changed], ...]
Possible solutions: sendMail(com.xpn.xwiki.plugin.mailsender.Mail, com.xpn.xwiki.XWikiContext), sendMail(com.xpn.xwiki.plugin.mailsender.Mail, com.xpn.xwiki.plugin.mailsender.MailConfiguration, com.xpn.xwiki.XWikiContext), sendMails(java.util.Collection, com.xpn.xwiki.XWikiContext), sendMails(java.util.Collection, com.xpn.xwiki.plugin.mailsender.MailConfiguration, com.xpn.xwiki.XWikiContext), findAll()
{{groovy}}
import org.xwiki.observation.*
import org.xwiki.observation.event.*
import com.xpn.xwiki.plugin.mailsender.*
import com.xpn.xwiki.web.*
import com.xpn.xwiki.*
class MailingEventListener implements EventListener
{
def xwiki
def xwcontext
def context
def xdoc
MailingEventListener(xwiki, context)
{
this.xwiki = xwiki
this.context = context
this.xwcontext = context.getContext()
this.xdoc = context.doc
}
String getName()
{
// The unique name of this event listener
return "mailing"
}
List<Event> getEvents()
{
// The list of events this listener listens to
return Arrays.asList(new DocumentUpdateEvent())
}
// Called by the Observation Manager when an event matches the list of events returned
// by getEvents()
void onEvent(Event event, Object source, Object data)
{
def mailfrom = 'seth.redmond(a)gmail.com'
def mailto = xdoc.getStringValue('assignee')
def subject = 'xwiki done some stuff, yo'
def message = 'document '+xdoc.name+' has been changed'
def mailItem = new Mail(mailfrom, mailto, null, null, subject, message, null)
MailSenderPlugin.sendMail(mailItem, xwcontext);
}
}
// Register against the Observation Manager
def observation = Utils.getComponent(ObservationManager.class)
observation.removeListener("mailing")
def listener = new MailingEventListener(xwiki, xcontext)
observation.addListener(listener)
println "{{info}}Listener $listener.name is now registered on $listener.events{{/info}}"
println "{{info}}Context = $listener.context{{/info}}"
println "{{info}}$listener.context.doc.name{{/info}}"
{{/groovy}}
Hi devs,
Some time ago, I have written this extension:
http://extensions.xwiki.org/xwiki/bin/view/Extension/LiveTableExcelExport+M…
which is reused by some developers for their projects.
I think it's time to have this project on contrib, in order to have a JIRA
and a MAVEN repository. That will permit people to have this extension as a
dependency on their maven build. My github account is gdelhumeau.
Would you please open this project?
Regards,
Guillaume D.