[xwiki-devs] Distributed events
Hi devs, I'm currently working on a network event distribution system. The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups. There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc... To summarize I plan to do a Remote Observation Manager module which send events coming for Observation Manager and inject in it events coming for the network. See http://dev.xwiki.org/xwiki/bin/view/Design/DistributedEvents for more details (like events converters etc...). For now my choice is on jgroups for the network part which is simple to use, very configurable and well known. I looked at some other like JMS or Hazelcast but after all, I think jgroups contains all i need and is very light. Would be great if some of you who has experience on this (or not) could shoot with all remarks and suggestions. I should be able to commit a first try based on jgroups this week on sandbox. Thanks, -- Thomas Mortagne
Hi Thomas How you will be able to share it with Non-Xwiki instance? -arvind On Mon, Jul 13, 2009 at 7:45 PM, Thomas Mortagne <[email protected]>wrote:
Hi devs,
I'm currently working on a network event distribution system.
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
To summarize I plan to do a Remote Observation Manager module which send events coming for Observation Manager and inject in it events coming for the network.
See http://dev.xwiki.org/xwiki/bin/view/Design/DistributedEvents for more details (like events converters etc...).
For now my choice is on jgroups for the network part which is simple to use, very configurable and well known. I looked at some other like JMS or Hazelcast but after all, I think jgroups contains all i need and is very light.
Would be great if some of you who has experience on this (or not) could shoot with all remarks and suggestions.
I should be able to commit a first try based on jgroups this week on sandbox.
Thanks, -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Mon, Jul 13, 2009 at 20:28, Arvind Gupta<[email protected]> wrote:
Hi Thomas - How you will be able to share it with Non-Xwiki instance?
For the purely technical part In JAVA you will just need to reuse APIs you need and jgroups, you can directly reuse the component itself (plus it's dependencies ObservationManager and ComponentManager) for example. I seen there is a port of jgroups in .Net called GCT but i seems dead did not looked much at it yet. Then for any client to really receive events from an XWiki instance it mainly depends on the configuration of jgroups which has membership management. If it's important to support a large number of languages, I think JMS is better since ActiveMQ (http://activemq.apache.org/) "supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python, PHP ". Note that we can write a jgroups based module now since it's the easiest for inter-XWiki/JAVA for the first target which is clustering and latter a JMS based one or any other since nobody is supposed to directly call the module so you can change it easily without touching anything else in XWiki, you can even imagine having several event distribution modules at the same time (like one basic for inter-XWiki and one readonly with larger clients languages support).
-arvind
On Mon, Jul 13, 2009 at 7:45 PM, Thomas Mortagne <[email protected]>wrote:
Hi devs,
I'm currently working on a network event distribution system.
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
To summarize I plan to do a Remote Observation Manager module which send events coming for Observation Manager and inject in it events coming for the network.
See http://dev.xwiki.org/xwiki/bin/view/Design/DistributedEvents for more details (like events converters etc...).
For now my choice is on jgroups for the network part which is simple to use, very configurable and well known. I looked at some other like JMS or Hazelcast but after all, I think jgroups contains all i need and is very light.
Would be great if some of you who has experience on this (or not) could shoot with all remarks and suggestions.
I should be able to commit a first try based on jgroups this week on sandbox.
Thanks, -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Hi Thomas In my opinion jgroups is better choice. Please keep me in the loop for this module. You can tell me what to do so that we can make progress on this module. regards arvind On Wed, Jul 15, 2009 at 3:27 PM, Thomas Mortagne <[email protected]>wrote:
On Mon, Jul 13, 2009 at 20:28, Arvind Gupta<[email protected]> wrote:
Hi Thomas - How you will be able to share it with Non-Xwiki instance?
For the purely technical part In JAVA you will just need to reuse APIs you need and jgroups, you can directly reuse the component itself (plus it's dependencies ObservationManager and ComponentManager) for example. I seen there is a port of jgroups in .Net called GCT but i seems dead did not looked much at it yet. Then for any client to really receive events from an XWiki instance it mainly depends on the configuration of jgroups which has membership management.
If it's important to support a large number of languages, I think JMS is better since ActiveMQ (http://activemq.apache.org/) "supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python, PHP ".
Note that we can write a jgroups based module now since it's the easiest for inter-XWiki/JAVA for the first target which is clustering and latter a JMS based one or any other since nobody is supposed to directly call the module so you can change it easily without touching anything else in XWiki, you can even imagine having several event distribution modules at the same time (like one basic for inter-XWiki and one readonly with larger clients languages support).
-arvind
On Mon, Jul 13, 2009 at 7:45 PM, Thomas Mortagne <[email protected]>wrote:
Hi devs,
I'm currently working on a network event distribution system.
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
To summarize I plan to do a Remote Observation Manager module which send events coming for Observation Manager and inject in it events coming for the network.
See http://dev.xwiki.org/xwiki/bin/view/Design/DistributedEvents for more details (like events converters etc...).
For now my choice is on jgroups for the network part which is simple to use, very configurable and well known. I looked at some other like JMS or Hazelcast but after all, I think jgroups contains all i need and is very light.
Would be great if some of you who has experience on this (or not) could shoot with all remarks and suggestions.
I should be able to commit a first try based on jgroups this week on sandbox.
Thanks, -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Wed, Jul 15, 2009 at 13:29, Arvind Gupta<[email protected]> wrote:
Hi Thomas In my opinion jgroups is better choice. Please keep me in the loop for this module. You can tell me what to do so that we can make progress on this module.
Sure. You should watch http://jira.xwiki.org/jira/browse/XWIKI-3476, it's the first place where i will add comments about what i do.
regards arvind On Wed, Jul 15, 2009 at 3:27 PM, Thomas Mortagne <[email protected]>wrote:
On Mon, Jul 13, 2009 at 20:28, Arvind Gupta<[email protected]> wrote:
Hi Thomas - How you will be able to share it with Non-Xwiki instance?
For the purely technical part In JAVA you will just need to reuse APIs you need and jgroups, you can directly reuse the component itself (plus it's dependencies ObservationManager and ComponentManager) for example. I seen there is a port of jgroups in .Net called GCT but i seems dead did not looked much at it yet. Then for any client to really receive events from an XWiki instance it mainly depends on the configuration of jgroups which has membership management.
If it's important to support a large number of languages, I think JMS is better since ActiveMQ (http://activemq.apache.org/) "supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python, PHP ".
Note that we can write a jgroups based module now since it's the easiest for inter-XWiki/JAVA for the first target which is clustering and latter a JMS based one or any other since nobody is supposed to directly call the module so you can change it easily without touching anything else in XWiki, you can even imagine having several event distribution modules at the same time (like one basic for inter-XWiki and one readonly with larger clients languages support).
-arvind
On Mon, Jul 13, 2009 at 7:45 PM, Thomas Mortagne <[email protected]>wrote:
Hi devs,
I'm currently working on a network event distribution system.
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
To summarize I plan to do a Remote Observation Manager module which send events coming for Observation Manager and inject in it events coming for the network.
See http://dev.xwiki.org/xwiki/bin/view/Design/DistributedEvents for more details (like events converters etc...).
For now my choice is on jgroups for the network part which is simple to use, very configurable and well known. I looked at some other like JMS or Hazelcast but after all, I think jgroups contains all i need and is very light.
Would be great if some of you who has experience on this (or not) could shoot with all remarks and suggestions.
I should be able to commit a first try based on jgroups this week on sandbox.
Thanks, -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
HI Thomas, I'm exteremly new to XWiki and have been looking for a way to do a particular element but I just need some slight clarification if its what this tool will be for (or if I'm being dense and not realising how to do it already with the documentation I've read). We are looking to have several Wikis setup for each of our departments internally at our company and we want them all to have a specific panel of global links - this 'Global Panel' will solely have links into the other assorted wikis and maybe a few other handy links for our own use. What I want to know is: will this new tool allow us to make changes to the first wiki we built's Global Panel and then push that change to all the others? Currently each wiki is seperate as such but all are linked to via our main wiki and present in the wiki farm. I've been racking my brain over this and if this tool will allow us to do this then that would be awesome. Will this tool you are developing allow other resources to be edited on one wiki and auto populate the same areas on other wikis too? I'm highly curious as otherwise we may have to change our planned infrastructure. Thanks for the info thus far though and I will be watching this with great interest :) Regards, Tim tmortagne wrote:
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
-- View this message in context: http://n2.nabble.com/Distributed-events-tp3250788p3356375.html Sent from the XWiki- Dev mailing list archive at Nabble.com.
Hi Tim, On Thu, Jul 30, 2009 at 3:44 PM, tihughes <[email protected]> wrote:
HI Thomas,
I'm exteremly new to XWiki and have been looking for a way to do a particular element but I just need some slight clarification if its what this tool will be for (or if I'm being dense and not realising how to do it already with the documentation I've read).
We are looking to have several Wikis setup for each of our departments internally at our company and we want them all to have a specific panel of global links - this 'Global Panel' will solely have links into the other assorted wikis and maybe a few other handy links for our own use. What I want to know is: will this new tool allow us to make changes to the first wiki we built's Global Panel and then push that change to all the others?
Currently each wiki is seperate as such but all are linked to via our main wiki and present in the wiki farm. I've been racking my brain over this and if this tool will allow us to do this then that would be awesome. Will this tool you are developing allow other resources to be edited on one wiki and auto populate the same areas on other wikis too?
I'm highly curious as otherwise we may have to change our planned infrastructure.
Thanks for the info thus far though and I will be watching this with great interest :)
If what you're trying to do only involves having the exact same panel replicated in all your subwikis, it can already be done as of right now :-) To do this, here's what you need to do: - Let's assume that your main panel is on www.yourdomain.org and is called Panels.MainPanel - Go to your first subwiki's admin page in edit object mode subwiki1.yourdomain.org/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object - Find the panels field (either left or right panels depending on your preference) - In the field, put the panel name in the following way: xwiki:Panels.MainPanel - Save the page - Repeat with all your subwikis Now, your subwiki uses a panel stored on your main wiki. Each time you change the panel, its changes will be reflected on all subwikis. Basically, you can reference and include pages from other wikis anywhere in your subwikis using the following syntax : wikiname:SpaceName.PageName Hope this helps, Guillaume
Regards,
Tim
tmortagne wrote:
The goal is to be able to shared events across XWiki instance (or
not
XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
-- View this message in context: http://n2.nabble.com/Distributed-events-tp3250788p3356375.html Sent from the XWiki- Dev mailing list archive at Nabble.com. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Guillaume Lerouge Product Manager - XWiki Skype: wikibc Twitter: glerouge http://guillaumelerouge.com/
Guillaume Lerouge wrote:
Hi Tim,
On Thu, Jul 30, 2009 at 3:44 PM, tihughes <[email protected]> wrote:
HI Thomas,
I'm exteremly new to XWiki and have been looking for a way to do a particular element but I just need some slight clarification if its what this tool will be for (or if I'm being dense and not realising how to do it already with the documentation I've read).
We are looking to have several Wikis setup for each of our departments internally at our company and we want them all to have a specific panel of global links - this 'Global Panel' will solely have links into the other assorted wikis and maybe a few other handy links for our own use. What I want to know is: will this new tool allow us to make changes to the first wiki we built's Global Panel and then push that change to all the others?
Currently each wiki is seperate as such but all are linked to via our main wiki and present in the wiki farm. I've been racking my brain over this and if this tool will allow us to do this then that would be awesome. Will this tool you are developing allow other resources to be edited on one wiki and auto populate the same areas on other wikis too?
I'm highly curious as otherwise we may have to change our planned infrastructure.
Thanks for the info thus far though and I will be watching this with great interest :)
If what you're trying to do only involves having the exact same panel replicated in all your subwikis, it can already be done as of right now :-)
To do this, here's what you need to do:
- Let's assume that your main panel is on www.yourdomain.org and is called Panels.MainPanel - Go to your first subwiki's admin page in edit object mode subwiki1.yourdomain.org/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object - Find the panels field (either left or right panels depending on your preference) - In the field, put the panel name in the following way: xwiki:Panels.MainPanel - Save the page - Repeat with all your subwikis
Now, your subwiki uses a panel stored on your main wiki. Each time you change the panel, its changes will be reflected on all subwikis. Basically, you can reference and include pages from other wikis anywhere in your subwikis using the following syntax : wikiname:SpaceName.PageName
Note that this is how the "XWiki Ecosystem" panel on all xwiki.org sites is working. Take for example http://platform.xwiki.org/xwiki/bin/Main/ and http://enterprise.xwiki.org/xwiki/bin/Main/ -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Thu, Jul 30, 2009 at 15:44, tihughes<[email protected]> wrote:
HI Thomas,
I'm exteremly new to XWiki and have been looking for a way to do a particular element but I just need some slight clarification if its what this tool will be for (or if I'm being dense and not realising how to do it already with the documentation I've read).
We are looking to have several Wikis setup for each of our departments internally at our company and we want them all to have a specific panel of global links - this 'Global Panel' will solely have links into the other assorted wikis and maybe a few other handy links for our own use. What I want to know is: will this new tool allow us to make changes to the first wiki we built's Global Panel and then push that change to all the others?
No actually this tool gool is to share events between completely different instance of XWiki (or any other tools implementing the right api), if your use case is a wiki farm, all the wikis are "vistual" which mean the whole farm is on the same XWiki instance and already share events or anything else. Now what you want to do sounds more like insert some main wiki panel into sub wikis so you can do it easily whith what Guillaume explained.
Currently each wiki is seperate as such but all are linked to via our main wiki and present in the wiki farm. I've been racking my brain over this and if this tool will allow us to do this then that would be awesome. Will this tool you are developing allow other resources to be edited on one wiki and auto populate the same areas on other wikis too?
I'm highly curious as otherwise we may have to change our planned infrastructure.
Thanks for the info thus far though and I will be watching this with great interest :)
Regards,
Tim
tmortagne wrote:
The goal is to be able to shared events across XWiki instance (or not XWiki) of a same network groups.
There is two target: - unique easy clustering channel: if every XWiki instance of a network group share the events it's becoming easy to make sure all instance of the same cluster are synchronized and not only the code which is using default cache system - a new push communication interface to know what append on a farm for network administrator or for softs like XWord and XEclipse to easily update pages list etc...
-- View this message in context: http://n2.nabble.com/Distributed-events-tp3250788p3356375.html Sent from the XWiki- Dev mailing list archive at Nabble.com. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
participants (5)
-
Arvind Gupta -
Guillaume Lerouge -
Sergiu Dumitriu -
Thomas Mortagne -
tihughes