|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
LiveEdit as Eclipse pluginHello!
Has anyone tried to integrate EditLive Bean into the Eclipse platform? Is it possible to use it with Equinox, or any other OSGi framework? The thing is, that it is compound framework based on (parented) class loaders managing. It is used to avoid direct access to class loaders (for loading resources, for example), using framework services instead. Besides, there are custom URL protocols for bundled resources, managed by it ('bundleentry', 'bundleresource', for instance). So when I am trying to instantiate the ELJBean from within OSGi bundle (Eclipse plugin), I get the following exceptions: Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: unsupported protocol: 'bundleresource' at com.ephox.apache.commons.httpclient.protocol.Protocol.lazyRegisterProtocol(Protocol.java:239) at com.ephox.apache.commons.httpclient.protocol.Protocol.getProtocol(Protocol.java:209) at com.ephox.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:218) at com.ephox.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:251) at com.ephox.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:171) at com.ephox.editlive.java2.http.HttpClientGetImpl.createMethod(HttpClientGetImpl.java:51) at com.ephox.editlive.java2.http.HttpClientImplBase.connect(HttpClientImplBase.java:121) at com.ephox.editlive.java2.http.HttpClientGetImpl.<init>(HttpClientGetImpl.java:42) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl.java:125) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl.java:108) at com.ephox.editlive.java2.http.HttpManagerImpl.getImage(HttpManagerImpl.java:244) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.checkDelegate(LazyImageIcon.java:68) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.getIconWidth(LazyImageIcon.java:78) at javax.swing.SwingUtilities.layoutCompoundLabelImpl(SwingUtilities.java:890) at javax.swing.SwingUtilities.layoutCompoundLabel(SwingUtilities.java:817) at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:262) at javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java:352) at com.sun.java.swing.plaf.windows.WindowsToggleButtonUI.getPreferredSize(WindowsToggleButtonUI.java:146) at javax.swing.plaf.basic.BasicButtonUI.getMinimumSize(BasicButtonUI.java:342) at javax.swing.JComponent.getMinimumSize(JComponent.java:1704) at com.ephox.editlive.java2.editor.ui.toolbar.WrappingLayout.minimumLayoutSize(WrappingLayout.java:25) at java.awt.Container.minimumSize(Container.java:1598) at java.awt.Container.getMinimumSize(Container.java:1583) at javax.swing.JComponent.getMinimumSize(JComponent.java:1706) at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:913) at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:816) at java.awt.GridBagLayout.minimumLayoutSize(GridBagLayout.java:650) at java.awt.Container.minimumSize(Container.java:1598) at java.awt.Container.getMinimumSize(Container.java:1583) at javax.swing.JComponent.getMinimumSize(JComponent.java:1706) at javax.swing.BoxLayout.checkRequests(BoxLayout.java:433) at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:251) at java.awt.Container.preferredSize(Container.java:1558) at java.awt.Container.getPreferredSize(Container.java:1543) at javax.swing.JComponent.getPreferredSize(JComponent.java:1626) at java.awt.BorderLayout.layoutContainer(BorderLayout.java:786) at java.awt.Container.layout(Container.java:1401) at java.awt.Container.doLayout(Container.java:1390) at java.awt.Container.validateTree(Container.java:1473) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validate(Container.java:1448) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:379) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:113) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: unsupported protocol: 'bundleresource' at com.ephox.apache.commons.httpclient.protocol.Protocol.lazyRegisterProtocol(Protocol.java:239) at com.ephox.apache.commons.httpclient.protocol.Protocol.getProtocol(Protocol.java:209) at com.ephox.apache.commons.httpclient.HostConfiguration.setHost(HostConfiguration.java:218) at com.ephox.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:251) at com.ephox.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:171) at com.ephox.editlive.java2.http.HttpClientGetImpl.createMethod(HttpClientGetImpl.java:51) at com.ephox.editlive.java2.http.HttpClientImplBase.connect(HttpClientImplBase.java:121) at com.ephox.editlive.java2.http.HttpClientGetImpl.<init>(HttpClientGetImpl.java:42) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl.java:125) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl.java:108) at com.ephox.editlive.java2.http.HttpManagerImpl.getImage(HttpManagerImpl.java:244) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.checkDelegate(LazyImageIcon.java:68) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.getIconWidth(LazyImageIcon.java:78) at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(BasicLabelUI.java:211) at javax.swing.JComponent.getPreferredSize(JComponent.java:1624) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:680) at java.awt.Container.preferredSize(Container.java:1558) at java.awt.Container.getPreferredSize(Container.java:1543) at javax.swing.JComponent.getPreferredSize(JComponent.java:1626) at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1157) at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1105) at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(BasicListUI.java:2226) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:187) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:214) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:408) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:417) at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:441) at javax.swing.JList.setSelectedIndex(JList.java:1732) at javax.swing.plaf.basic.BasicComboPopup.setListSelection(BasicComboPopup.java:1113) at javax.swing.plaf.basic.BasicComboPopup.configureList(BasicComboPopup.java:498) at javax.swing.plaf.basic.BasicComboPopup.<init>(BasicComboPopup.java:315) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox$6.<init>(PopulatingComboBox.java:85) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox$5.createPopup(PopulatingComboBox.java:84) at javax.swing.plaf.basic.BasicComboBoxUI.installUI(BasicComboBoxUI.java:212) at com.sun.java.swing.plaf.windows.WindowsComboBoxUI.installUI(WindowsComboBoxUI.java:123) at javax.swing.JComponent.setUI(JComponent.java:653) at javax.swing.JComboBox.setUI(JComboBox.java:238) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox.<init>(PopulatingComboBox.java:82) at com.ephox.editlive.java2.editor.ui.toolbar.EToolBar$2.run(EToolBar.java:135) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) I would really appreciate your quick response, cause it is essential for making a decision whether we could purchase the LiveEdit JavaBean or the one from RealObjects to integrate into our large commercial product (the latter, by the way, does not have such problems). Thanks in advance, Annika. |
|
|
Re: LiveEdit as Eclipse pluginWe haven't tried integrating with Eclipse ourselves, no.
Since you need a quick fix, try switching to the Sun URLConnection handlers. Just add this to your code before you call init(): eljBean.setHttpLayerManager("sun"); If that works, we can add the protocols you're using to our override list (eg file:// and jar:// urls are forced to use Sun connections). All we need is a list of them :) Regards, Andy --- Andrew Herron, Senior Software Engineer Global: +1 (650) 292 9659 x705 Australia: +61 (7) 3858 0100 Ephox <http://www.ephox.com> | Ephox Blogs <http://people.ephox.com> -----Original Message----- From: liveworks-bounces@... [mailto:liveworks-bounces@...] On Behalf Of annika karjakina Sent: Monday, 19 May 2008 12:05 PM To: liveworks@... Subject: [Liveworks] LiveEdit as Eclipse plugin Hello! Has anyone tried to integrate EditLive Bean into the Eclipse platform? Is it possible to use it with Equinox, or any other OSGi framework? The thing is, that it is compound framework based on (parented) class loaders managing. It is used to avoid direct access to class loaders (for loading resources, for example), using framework services instead. Besides, there are custom URL protocols for bundled resources, managed by it ('bundleentry', 'bundleresource', for instance). So when I am trying to instantiate the ELJBean from within OSGi bundle (Eclipse plugin), I get the following exceptions: Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: unsupported protocol: 'bundleresource' at com.ephox.apache.commons.httpclient.protocol.Protocol.lazyRegisterProtoc ol(Protocol.java:239) at com.ephox.apache.commons.httpclient.protocol.Protocol.getProtocol(Protoc ol.java:209) at com.ephox.apache.commons.httpclient.HostConfiguration.setHost(HostConfig uration.java:218) at com.ephox.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase .java:251) at com.ephox.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.j ava:171) at com.ephox.editlive.java2.http.HttpClientGetImpl.createMethod(HttpClientG etImpl.java:51) at com.ephox.editlive.java2.http.HttpClientImplBase.connect(HttpClientImplB ase.java:121) at com.ephox.editlive.java2.http.HttpClientGetImpl.<init>(HttpClientGetImpl .java:42) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl. java:125) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl. java:108) at com.ephox.editlive.java2.http.HttpManagerImpl.getImage(HttpManagerImpl.j ava:244) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.checkDelegat e(LazyImageIcon.java:68) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.getIconWidth (LazyImageIcon.java:78) at javax.swing.SwingUtilities.layoutCompoundLabelImpl(SwingUtilities.java:8 90) at javax.swing.SwingUtilities.layoutCompoundLabel(SwingUtilities.java:817) at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGr aphicsUtils.java:262) at javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java :352) at com.sun.java.swing.plaf.windows.WindowsToggleButtonUI.getPreferredSize(W indowsToggleButtonUI.java:146) at javax.swing.plaf.basic.BasicButtonUI.getMinimumSize(BasicButtonUI.java:3 42) at javax.swing.JComponent.getMinimumSize(JComponent.java:1704) at com.ephox.editlive.java2.editor.ui.toolbar.WrappingLayout.minimumLayoutS ize(WrappingLayout.java:25) at java.awt.Container.minimumSize(Container.java:1598) at java.awt.Container.getMinimumSize(Container.java:1583) at javax.swing.JComponent.getMinimumSize(JComponent.java:1706) at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:913) at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:816) at java.awt.GridBagLayout.minimumLayoutSize(GridBagLayout.java:650) at java.awt.Container.minimumSize(Container.java:1598) at java.awt.Container.getMinimumSize(Container.java:1583) at javax.swing.JComponent.getMinimumSize(JComponent.java:1706) at javax.swing.BoxLayout.checkRequests(BoxLayout.java:433) at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:251) at java.awt.Container.preferredSize(Container.java:1558) at java.awt.Container.getPreferredSize(Container.java:1543) at javax.swing.JComponent.getPreferredSize(JComponent.java:1626) at java.awt.BorderLayout.layoutContainer(BorderLayout.java:786) at java.awt.Container.layout(Container.java:1401) at java.awt.Container.doLayout(Container.java:1390) at java.awt.Container.validateTree(Container.java:1473) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validateTree(Container.java:1480) at java.awt.Container.validate(Container.java:1448) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java :379) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEve ntQueueUtilities.java:113) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea d.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread. java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: unsupported protocol: 'bundleresource' at com.ephox.apache.commons.httpclient.protocol.Protocol.lazyRegisterProtoc ol(Protocol.java:239) at com.ephox.apache.commons.httpclient.protocol.Protocol.getProtocol(Protoc ol.java:209) at com.ephox.apache.commons.httpclient.HostConfiguration.setHost(HostConfig uration.java:218) at com.ephox.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase .java:251) at com.ephox.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.j ava:171) at com.ephox.editlive.java2.http.HttpClientGetImpl.createMethod(HttpClientG etImpl.java:51) at com.ephox.editlive.java2.http.HttpClientImplBase.connect(HttpClientImplB ase.java:121) at com.ephox.editlive.java2.http.HttpClientGetImpl.<init>(HttpClientGetImpl .java:42) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl. java:125) at com.ephox.editlive.java2.http.HttpManagerImpl.createGet(HttpManagerImpl. java:108) at com.ephox.editlive.java2.http.HttpManagerImpl.getImage(HttpManagerImpl.j ava:244) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.checkDelegat e(LazyImageIcon.java:68) at com.ephox.editlive.java2.editor.actionhandler.LazyImageIcon.getIconWidth (LazyImageIcon.java:78) at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(BasicLabelUI.java:2 11) at javax.swing.JComponent.getPreferredSize(JComponent.java:1624) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:680) at java.awt.Container.preferredSize(Container.java:1558) at java.awt.Container.getPreferredSize(Container.java:1543) at javax.swing.JComponent.getPreferredSize(JComponent.java:1626) at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:11 57) at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.ja va:1105) at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(BasicListUI.java :2226) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelect ionModel.java:187) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelect ionModel.java:167) at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelect ionModel.java:214) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelecti onModel.java:408) at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelecti onModel.java:417) at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSe lectionModel.java:441) at javax.swing.JList.setSelectedIndex(JList.java:1732) at javax.swing.plaf.basic.BasicComboPopup.setListSelection(BasicComboPopup. java:1113) at javax.swing.plaf.basic.BasicComboPopup.configureList(BasicComboPopup.jav a:498) at javax.swing.plaf.basic.BasicComboPopup.<init>(BasicComboPopup.java:315) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox$6.<init>(P opulatingComboBox.java:85) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox$5.createPo pup(PopulatingComboBox.java:84) at javax.swing.plaf.basic.BasicComboBoxUI.installUI(BasicComboBoxUI.java:21 2) at com.sun.java.swing.plaf.windows.WindowsComboBoxUI.installUI(WindowsCombo BoxUI.java:123) at javax.swing.JComponent.setUI(JComponent.java:653) at javax.swing.JComboBox.setUI(JComboBox.java:238) at com.ephox.editlive.java2.editor.ui.toolbar.PopulatingComboBox.<init>(Pop ulatingComboBox.java:82) at com.ephox.editlive.java2.editor.ui.toolbar.EToolBar$2.run(EToolBar.java: 135) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThrea d.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread. java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) I would really appreciate your quick response, cause it is essential for making a decision whether we could purchase the LiveEdit JavaBean or the one from RealObjects to integrate into our large commercial product (the latter, by the way, does not have such problems). Thanks in advance, Annika. -- View this message in context: http://www.nabble.com/LiveEdit-as-Eclipse-plugin-tp17310077p17310077.htm l Sent from the LiveWorks! mailing list archive at Nabble.com. _______________________________________________ LiveWorks mailing list LiveWorks@... http://liveworks.ephox.com/mailing-list/ _______________________________________________ LiveWorks mailing list LiveWorks@... http://liveworks.ephox.com/mailing-list/ |
|
|
Re: LiveEdit as Eclipse pluginDear Andy,
Thank you so much for the great help! That was exactly what I needed! So now I was able to make quick Eclipse integration. And at least can ensure it is quite possible, especially with a little help of the Albireo project to make SWT_AWT interaction smoother. EditLive works fine. I haven't had such a positive impression from software for a long time. Great work, well done! And I am so amazed by your responsiveness! Do you, guys, never have some weekends there? :) Best regards, Annika.
|
|
|
Re: LiveEdit as Eclipse pluginHi Annika,
No problem - I'll add "bundleresource" and "bundleentry" to our list of Sun-only protocols so this won't happen in future. If there are any others you can think of I will add them to the list as well so the editor can be used in Eclipse without requiring the extra setting. It's always good to hear when people enjoy the editor. We don't work weekends though! Our engineering team is based in Australia, your message came in just before lunch on Monday morning :) Regards, Andy --- Andrew Herron, Senior Software Engineer Global: +1 (650) 292 9659 x705 Australia: +61 (7) 3858 0100 Ephox <http://www.ephox.com> | Ephox Blogs <http://people.ephox.com> -----Original Message----- From: liveworks-bounces@... [mailto:liveworks-bounces@...] On Behalf Of annika karjakina Sent: Tuesday, 20 May 2008 12:29 PM To: liveworks@... Subject: Re: [Liveworks] LiveEdit as Eclipse plugin Dear Andy, Thank you so much for the great help! That was exactly what I needed! So now I was able to make quick Eclipse integration. And at least can ensure it is quite possible, especially with a little help of the Albireo project to make SWT_AWT interaction smoother. EditLive works fine. I haven't had such a positive impression from software for a long time. Great work, well done! And I am so amazed by your responsiveness! Do you, guys, never have some weekends there? :) Best regards, Annika. Andrew Herron-5 wrote: > > We haven't tried integrating with Eclipse ourselves, no. > > Since you need a quick fix, try switching to the Sun URLConnection > handlers. Just add this to your code before you call init(): > > eljBean.setHttpLayerManager("sun"); > > > If that works, we can add the protocols you're using to our override > list (eg file:// and jar:// urls are forced to use Sun connections). > All we need is a list of them :) > > Regards, > Andy > > --- > Andrew Herron, Senior Software Engineer > Global: +1 (650) 292 9659 x705 Australia: +61 (7) 3858 0100 > Ephox <http://www.ephox.com> | Ephox Blogs <http://people.ephox.com> > -- View this message in context: http://www.nabble.com/LiveEdit-as-Eclipse-plugin-tp17310077p17332071.htm l Sent from the LiveWorks! mailing list archive at Nabble.com. _______________________________________________ LiveWorks mailing list LiveWorks@... http://liveworks.ephox.com/mailing-list/ _______________________________________________ LiveWorks mailing list LiveWorks@... http://liveworks.ephox.com/mailing-list/ |
| Free Forum Powered by Nabble | Forum Help |