Hi, Catalin is finishing his work on the xmlrpc API. We'd like to propose to create the following modules: xwiki-platform-core/ |_ xwiki-remote/ |_ model/ |_ client/ |_ server/ Where: * model: Generates a JAR and contains common objects shared between client and server code. Namely they are objects such as Space, Attachment, Comment, Page, User, etc (see http://swizzle.codehaus.org/ swizzle-confluence/ for more). Note: In the future, it's maybe possible that these be shared with XWiki's model objects too. * client: Client API for code needing to call XWiki servers from another JVM. * server: Server API in XWiki for accepting and handling remote APIs. Open questions: ============= * What about GWT? It's also a protocol to call XWiki remotely so we need to integrate it in this new structure. So maybe, instead use: xwiki-platform-core/ |_ xwiki-remote/ |_ model/ |_ client/ |_ server/ |_ gwt/ The reason I don't put gwt in clients/ and servers/ is because it's special as it's both and it generates client and server code when compiled. * Is it possible to share interfaces between the XMLRPC/SOAP implementation and the GWT one? * Do we want to have a separate module for the client/server APIs and for the implementations? My take is that we should put them in a single place and only separate them when we have more than one implementation. So when there are 2 we would have: xwiki-platform-core/ |_ xwiki-remote/ |_ model/ |_ client/ |_ api/ |_ swizzle/ |_ secondimplementation/ |_ server/ |_ api/ |_ swizzle/ |_ secondimplementation/ |_ gwt/ WDYT? Anything else I forgot? Thanks -Vincent