ASKBOT / askbot-devel

Askbot is a Django/Python Q&A forum. **Contributors README**: https://github.com/ASKBOT/askbot-devel#how-to-contribute. Commercial hosting of Askbot and support are available at https://askbot.com
Other
1.56k stars 627 forks source link

Plugin system for Askbot like Q2a #767

Open Zerokami opened 6 years ago

Zerokami commented 6 years ago

If we wanted to add features to Askbot, the only choice would be to modify core and that isn't easy, especially if you want to share the code or features with every one. Every body would have to manually mix and match the code and each website's dev would have to put a lot of effort to do that. And this hacking the core would have to be repeated every time Askbot is updated.

This is the reason, I have not launched a QnA site. Q2A is not MVC and Askbot doesn't have plugins. So, I'm stuck not choosing either and not starting my site.

It's good that we have theming, but I think we need plugins.

1) Maybe, we could use django-plugins app or something

I'm not sure how it really works, but maybe we could have ways to push stuff into context and maybe have template tags that tries to render each block or content of each plugin. Or maybe have the dev have to modify just the template if he/she wants to install a plugin.

Having to just install the plugin and maybe having to modify just the template(or maybe not even that) would be something that would make Askbot popular and modular and extendable.

2) I also have another idea of how I can create psuedo plugin apps. It's using template tags.

The idea is having separate apps with foreign keys and template tags that do everything and then have the template tags included in Askbot templates to avoid messing the core.

This 2) method doesn't concern askbot source. It's just something I've been considering to extend askbot using external apps

vchoi commented 5 years ago

Finally, a real issue! Lots of people seem to think github issues are supposed to be a Q&A website.

About the plugin support, I think it's a good idea but clearly @evgenyfadeev has a lot of requests and little help from the community. He's pretty much the only person commiting code to this project, yet there're a lot of people asking for features, etc.

The reason for the lack of developers in this project could be because of Stack Exchange's success. Currently there are three ways to create a new SE site: (1) start a new community on Area51 and follow their process, (2) pay $10 per month for a small team license, or (3) pay more to get an enterprise license. With these options they catch, respectively, any community large enough to grow to "internet scale", small business and big players. So pretty much everyone worth some money is attracted by SE's critical mass.

As stated by Joel himself about Stack Overflow launch:

The hardest thing about making a new Q&A site is not the programming—it’s the community.

The same is true for a software community.

There're a couple of features lacking on SE, though. Open source license and customizability. Askbot is already free, both as in beer and freedom, and customizability could be provided by a plugin architecture. These features would enable Askbot to cater to a segment currently not serviced by SE: product support and smaller communities.

As it gets more attractive to those users, developers should follow.