Hi Marco, On 03/03/2011 02:49 AM, Marco Pinheiro wrote: > Hi, > > I'm trying to extend wysiwyg editor with a new menu item or toolbar icon. > Here are the steps I'm following but the new menu item doesn't appear in > editor. > > 1) i copied ImporterPlugin java files to my project and modified package > name > 2) i modified plugin name in SomethingPluginFactory and menu item name > in SomethingMenuExtension. > 3) i export classes to a jar and copied to lib xwiki folder. > 4) modified macros.vm and put in plugin and menu parameters the name of new > plugin > > After restarted xwiki and couldn't see the new menu item. > Do I have the jar in the correct place? Do I need to tell xwiki to enable > the use of this "new" jar?
Unfortunately it's not that easy to write a plugin for the WYSIWYG content editor. Although the code is written in Java it needs to be compiled into JavaScript and moreover plugins are (currently) not detected automatically (mainly because the Google Web Toolkit framework we're using doesn't support reflection) and so they have to be known by the editor at compile time. If you're still willing to write the plugin then you should follow this steps: * checkout the client side http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/xwiki-gwt-wysiwyg-client/ (which I think you already did) * checkout the server side http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/xwiki-gwt-wysiwyg-server/ * write your plugin inside xwiki-gwt-wysiwyg-client module (e.g. org.xwiki.gwt.wysiwyg.client.plugin.foo.FooPlugin) * register your plugin factory inside org.xwiki.gwt.wysiwyg.client.WysiwygEditorFactory * add your translation keys to org.xwiki.gwt.wysiwyg.client.Strings or to org.xwiki.gwt.wysiwyg.client.Messages, if they have parameters * add your images to org.xwiki.gwt.wysiwyg.client.Images * build xwiki-gwt-wysiwyg-client * build xwiki-gwt-wysiwyg-server (use -Pdev while you are developing to reduce GWT compilation time) * replace resources/js/xwiki/wysiwyg/xwe directory from your XWiki Enterprise instance with the one from the war generated by the xwiki-gwt-wysiwyg-server build * modify macros.vm as you did Note that if your plugin needs a service you have to put the service interface inside xwiki-gwt-wysiwyg-client but you are free to write the service implementation in your own module because the service is a server side component which is picked up automatically by the component manager as long as the service implementation jar is in WEB-INF/lib. Hope this helps, Marius > > Thanks, > Marco Pinheiro > _______________________________________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/mailman/listinfo/users _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users