-
Notifications
You must be signed in to change notification settings - Fork 676
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refine plugin architecture #47
Comments
And custom Table fields |
I think I know what you mean, but just in case: can you explain? |
The plugins also needs to be able to add custom fields to tables... |
Yep, that makes sense... I think requiring plugins to create their own tables that join to existing ones would be safer. |
I'm taking a crack at this one as I speak... I'm trying to to everything from scratch and then we can make the old code plug into the new one instead of making new code to fit the old one. We should also make sure that any API we provide to te plugins does not get to spesiffic, we do want reusability right? |
Excellent... and yes. |
Interesting, thanks cvi. I'll get this set up on my dev box and give it a test run today, and have more feedback later on tonight. |
it is a quick'n dirty smack together so it barely works :p said that already, but the point here is to show an idea of how we could put it together (if there is a better saying for that, tell me :p) also the files in config_c is supposed to be compiled by install script (faster that way, database may be slowing it down) It is just one simple plugin there... I'm not sure if i want to touch the crawlers directly (ill be happy to make APIs for them to use tho) |
Gina's take on this: I'm going to work in this tree till I get the db changes done and do more testing, then I'll merge it into master. |
This is more of an ongoing project than a next action, so I'm putting the project on the TT roadmap wiki page, and I'll add discrete to-do's to the Issues list as they come up. |
IMMEDIATE TODO'S:
BACKGROUND:
To make TT truly multi-service and enable users to build their own features into it, it's got to be pluggable. There should be allowances for both webapp plugins (data visualizations and custom listings, etc) as well as crawler plugins (new data sources like Facebook and Buzz).
As we build TT plugins, we will continue to refine the plugin architecture.
Here's an update on the current state of the pluggable architecture:
Files
Database
Future plans:
My vision is that ThinkTank plugins will work like WordPress: you drop a folder into the common/plugins/ directory, and it gets listed in the webapp as "Inactive." Click a link to activate the plugin (insert its row into the db, set is_active to 1, run any relevant installation routines) and the crawler and webapp will execute the methods it registers from there on in.
A hooks wishlist is underway here:
http://wiki.github.com/ginatrapani/thinktank/thinktank-plugin-hooks-wish-list
The text was updated successfully, but these errors were encountered: