I had given this idea some thought when I was listening to how palantir
connects to outside sources and allows data to be mapped in, even if it
cannot be imported.
What came to my mind was some kind of user interface to create a mapping
between information in a database with an arbitrary schema and XDocuments
and XObjects and then "map in a space" so to speak.
Trying to imagine how the user would explain their schema in terms of
documents and objects is where I ran out of ideas, it would certainly
take a masterpiece of user interface.
The search matter is another mess since everything handles search
differently. If we're going to map in someone's legacy Oracle database
and their JIRA, we can probably make queries work okay. If we're going
to think big and map in Excel spreadsheets, directories full of Word
documents and sqlite email spools, we have to look at ways to soup up
Lucine to handle our XWQL searches in-house. Of course if these things
can be imported, we can use what we have but importing brings up issues
with synchronization and possibly authorization (where the wiki operator
might have permission to access a database but not have permission to
mirror it).
Thanks,
Caleb
On 06/12/2012 03:06 PM, Ludovic Dubost wrote:
Hi Devs,
I'd like to start a discussion about a Connector module for XWiki.
XWiki is a great tool to create, edit and organize information. But
while we can use macros to display external data, many XWiki's
organization (such as the livetable), editing and viewing features can
only be used for data stored in the XWiki System.
However from time to time we've seen that it would be really interesting to:
- allow editing/viewing of data from external systems using the XWiki
form system
- using livetable and search on external data
I've been thinking for a while that we can achieve that in XWiki by
transforming data read using an external API into XWiki Documents and
then use the XWiki APIs to display that data. We can also implement
livetable backends that would transform the livetable filters into
query supported by the external tool. And if all this could be
implemented as a "Connector Interface" most of the presentation code
would be generic and we could develop and install connectors and
magically you could make use of the XWiki development system to
display, present and create forms to edit data.
I've made a prototype for Salesforce and JIRA that shows the concept
and what the API could be (in this case in Groovy) and wrote a design
document that explains the system and the open questions:
http://dev.xwiki.org/xwiki/bin/view/Design/ConnectorModule
In my view this system is super powerfull if we can build it in the
XWiki Core so that the view/edit/save/search can be hooked to the
connector so that from the user experience the system is transparent
to the user.
WDYT ? Could the devs provide some insight of what the right
architecture should be for such a feature.
Ludovic