Hybrid internal/custom database plugin

I thought Elgg would make a nice solution for a workgroup I need to build a collaborative tool for. The problem is, from the documentation Elgg seems to be all about "no external tables", although in this situation, I see no other way but to leave some of my data external from Elgg, because the data isn't generated by Elgg itself.

Basically, I have a giant pile of statistical and financial data that's broken down by company, person, and a few other logical "objects". We're talking ~50 tables, each with a varying number of columns...mostly all numbers. Every three days or so, some of this data changes, and some doesn't...we already have a system in place auto-updating the raw data in the database, and the tables could be in a shared database with Elgg.

What I want to do is elevate some of these conceptual objects (like company, person) as Elgg Entities, so that they are searchable within Elgg, but leave all the statistical data in the separate tables, where it belongs.

Then we could go onto the Elgg site, search for a particular company, have a page for it, with some visualization of historical or current data (i.e., Elgg plugins), but underneath it have Elgg's comments system inline, etc. and so on, and allow people to write articles with relationships to those Entities that could display on the front page.

Are there any existing plugins that take a similar approach that could serve as a model, or a place to start, research-wise?

  • I am also interested in a plugin like that - serving an other aim (namely supporting a database made up of civil organisations). Elgg should be able to embed and correctly display external database tables (taking their relations into consideration) without forcing the already existing objects' (groups or individual users) structures on these external tables.

    Think about them as auto-populating custom forms (for that a data source could be defined inline).

  • You can safely connect with other tables outside elgg. Write the necessery codes, to connect with the tables and fetch the details. Then out put it through the elgg views. All you need to do is extend the search plugin.