Hi,
There's a pb with the current implementation:
When we get the Observation manager implementation and list the
registered listeners we only get the components that have been
initialized *before* we get the Observation manager component. Thus if
we want to be sure all listeners will receive events we need to ensure
they're loaded first. This is hard to do.
I'm proposing instead to modify the observation module:
* Modify EventListener to be a @ComponentRole
* Add List<Event> EventListener.getEvents() (the events that the
listener handles)
* Inject List<EventListener> in DefaultObservationManager. Thus when
the Observation Manager is looked up, all listener components are
created and injected.
* Keep add/removeListener in ObservationManager so that listeners can
be manually added/removed (for ex if a new listener component is added
dynamically in the system) but with following signatures:
- addListener(EventListener);
- removeListener(EventListener);
WDYT?
Thanks
-Vincent
Hello,
I have recompiled a XWiki 1.9-RC1 for jetty+derby and I have some little
problems and I prefer asking before thinking:
- I don't see the icons in the administration page and the last item
"OpenOffice Importer" seems badly HTML formed and displays
"
http://www.mandubian.org/xwiki/bin/download/XWiki/OfficeImporterAdmin/icon.…)
no-repeat;">OpenOffice Server"
Please see the attached screenshot
- I can't view Blog.WebHome because there is some bad SQL for Derby
apparently
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception
while searching documents with SQL [select distinct doc.space, doc.name,
publishDate.value from XWikiDocument as doc , DBStringListProperty as
categories join categories.list as category, BaseObject obj, IntegerProperty
isPublished, IntegerProperty hidden, DateProperty publishDate
where (doc.hidden <> true or doc.hidden is null) and doc.fullName <>
'Blog.BlogPostTemplate' and
obj.name = doc.fullName and obj.className = 'Blog.BlogPostClass' and
publishDate.id.id = obj.id and publishDate.id.name = 'publishDate' and
isPublished.id.id = obj.id and isPublished.id.name = 'published' and
hidden.id.id = obj.id and hidden.id.name = 'hidden' and
(doc.creator = 'XWiki.Admin' or (isPublished.value = 1 and
hidden.value = 0)) and obj.id = categories.id.id and
categories.id.name='category'
and category in ('Blog.News') order by publishDate.value desc]
Wrapped Exception: could not execute query
at
com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNamesInternal(XWikiHibernateStore.java:2302)
at
com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNames(XWikiHibernateStore.java:2266)
at
com.xpn.xwiki.store.XWikiHibernateStore.searchDocumentsNames(XWikiHibernateStore.java:2747)
at
com.xpn.xwiki.store.XWikiCacheStore.searchDocumentsNames(XWikiCacheStore.java:267)
at com.xpn.xwiki.api.XWiki.searchDocuments(XWiki.java:406)
at sun.reflect.GeneratedMethodAccessor325.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 154 more
2009-05-29 12:01:25,585 [http://localhost:8080/xwiki/bin/view/Blog/]
[1857040122@qtp0-6] WARN util.JDBCExceptionReporter - SQL Error:
20000, SQLState: XJ061
2009-05-29 12:01:25,585 [http://localhost:8080/xwiki/bin/view/Blog/]
[1857040122@qtp0-6] ERROR util.JDBCExceptionReporter - The 'absolute()'
method is only allowed on scroll cursors. [ERROR] Exception in macro
#getPagedBlogEntries at Blog.WebHome[line 141, column 5]
[ERROR] Exception in macro #getBlogEntries at Blog.WebHome[line 17, column
3]
[ERROR] Exception in macro #printBlog at Blog.WebHome[line 7, column 3]
org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with
id [Blog.WebHome]
any idea?
Pascal
Hi,
Here is my experience when I tried to publish a post to blog in
gsoc.myxwiki. And I want to clarify few things about it. I have created a
blog post called RunningSeleniumTests to be published. After created it I
have saved it and used small button to publish the post. But it did not
publish or told me any reason why it did not publish.
Questions
1. Is it only allowed to be published after acceptance by some person in
admin group?
After that, I thought I should try to change some rights of the objects and
then changed the rights and only added edit rights to XWikiAdminGroup I
think. and I just saved. After that only I realized I can't edit the post
any more. Is it a bug? because I have created the post and changed rights,
but then I can't edit it any more ?
And also eventhough it is not published you can even view it by adding the
link to your normal page. Eventhough its not published we can view it using
the link.
http://gsoc.myxwiki.org/xwiki/bin/view/XMPPIntegration/RunningSeleniumTests
Finally what I did was added the link to my main page rather than waiting it
to be published. :)
2. Could anyone please tell me some tips to resolve this ?
Kind Regards,
-Tharindu
Hi,
I want to resurface this question in case it is something that could be addressed in the 2.0 release. I have a macro that requires some js support (jquery) and would thus like to have additional files referenced in the head section of the page when the macro is used.
It was suggested that I could specify dependencies of css and js files for a macro by using getPluging("jsfx") and invoking the use method.
>From what I can tell this method does not work so I'm wondering if the 'context' obtained as suggested is not the proper context to add additional elements to the rendered page.
Here is what I've done:
To get the context, I added this:
@Requirement
private Execution execution;
And then in my macro execution method I added the following:
ExecutionContext executionContext = execution.getContext();
XWikiContext context = (XWikiContext) executionContext.getProperty("xwikicontext");
XWiki xwiki = context.getWiki();
AbstractSkinExtensionPlugin plugin = (AbstractSkinExtensionPlugin) xwiki.getPlugin("jsfx", context);
plugin.use("/foo/bar.js",context);
When I utilize this from my macro execution callback it doesn't emit any code in the header. (using jsfx as a velocity macro does work though).
Is the context obtained via this method the right one or is there a different one somehow attached to the rendering agent?
Thanks,
Glenn
Hello again,
I write something like:
(% style="somestyle" %)
(((
my embedded wikipage
)))
the style is not applied to the <div> surrounding the embedded wikipage.
Is it normal or is it a bug?
Pascal
Hello all,
I have developped a little XWiki selection tool because I needed it for own
purpose.
It provides a way to hook the xwikiexplorer provided within the Wysiwyg
editor to an existing form and when you select a space and page, the result
is put into the form.
This is a standalone gwt client module with no server part based mainly on
the wysiwyg code.
It doesn't require the wysiwyg to compile (lots of code comes directly from
wysiwyg but not all the code from wysiwyg was needed)
It can be deployed outside XWiki and uses an existing XWiki instance in the
same domain.
It also provides a way to login/logout to the existing XWiki instance.
I wondered whether it would be of any interest to someone...
The idea is described here in details and there is a demo site it also...
http://www.mandubian.org/magnoliaPublic/mandubian-org/opensource-playground…
Don't hesitate to comment... this is a draft...
regards
Pascal
Hi,
Regarding the http://jira.xwiki.org/jira/browse/XWIKI-2963 issue, this
is how I propose the macro to look like:
{{columnedtext}}
{{column with="40%"}}
My first text
{{/column}}
{{column with="60%"}}
My second text
{{/column}}
{{/columnedtext}}
This way, depending on how many {{column}} blocks it finds, the macro
transformer has a complete overview over the text to be arranged in
columns.
What do you say?
Tnx.
Dan
Hi,
I'd like to remove the usage of Composable and instead inject directly
the ComponentManager.
Implementation note: I'll create a component manager component
wrapping ComponentManager (thus using Composable internally).
Here's my +1
Thanks
-Vincent
Hi devs,
I have been working on two small enhancements for officeimporter interface:
1. Use a drop-down list for target space input field. This list contains all
existing spaces + an option to create a new space.
2. Suggest the target page name based on the input file name.
To implement these two features I used bit of javascript which I embedded in
the XWiki.OfficeImporter page (inside <script> tags). I didn't bother using
JSX because this javascript fragment is really small. Is this ok?
In the first feature, the user can select one of existing spaces. If he
selects the [New Space] option, a javascript un-hides a text field into
which the user can type in the new space name. Question; should I worry
about browsers with javascript disabled? Any hints about how to handle such
a scenario? :)
The second feature calculates the target page name based on the input file
name and updates the "Target page" text field. If the user does not like the
auto-generated page name, he can adjust the value in "Target page" text
field manually. For an example, if the input file name is "My Word
Document.doc" the target page name will be "My Word Document". This
calculation + update is also done in javascript.
Please let me know what you think, I didn't commit these features because I
am not sure if my approach is ok.
Thanks.
- Asiri