Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+3 votes
in Q2A Core by
Well, I have a few ideas of things tha could be done, and I would like to hear everyone's opinions. :D

1 - A Wiki. It would be great if Q2A had a official wiki, so everyone would contribute to the documentation and make tutorials. And it starts to become more important as long as the plugins get more possible features.

2 - A plugin browser, maybe any open source software you find and that fit the needs. I mean, just a simple plugin browser where the users could share they work with the world. :)

3 - A plugin module to do some database cleanup. Like the possibility to add a custom button at the end of the stats page, in the admin center, so plugins could make some database cleanup too.

4 - Possibility to add custom events to the event logger, even plugins. It would be great because it would allow plugins to interact better with each other, and if someone need to hook the core code of the application, it ould be easier to just regist there an event and then do the rest on a plugin.

What do you think? :)

2 Answers

+2 votes
Best answer

Hi there. Let me answer as well:

1. As I said here, a wiki would be great, and I will fully support it if someone sets it up and takes responsibility.

2. When there are enough plugins/themes/languages/etc... to justify it, I will create an improved interface for browsing them.

3. I'm not sure this is widely needed, but there is nothing to stop you creating a custom page which offers this cleanup (by running whatever database queries you like), and then including a link to that from within the admin interface (using a layer in 1.4).

4. You can safely report any custom event type you want via qa_report_event(...) in qa-base.php and then handle it from an event module elsewhere. But I'm not sure this is the best approach for inter-module communication - here's another suggestion from this page:

Apart from the member functions that Question2Answer requires for each type of module, a module class can define any additional functions for other purposes. These functions can also be used for communication between modules, either within a plugin, or between different plugins. To call a function defined in a module, call qa_load_module() to retrieve an object of the module's class, then call the object's function in the usual PHP way. Note that multiple calls to qa_load_module() will return the same object.

Thanks gidgreen. I just have a question: so layers also can change the look of the admin center?
Yes, layers can change the HTML which is output for any page. As with advanced themes, the layer code can check this->template or $this->request to see what page is currently being generated. Docs on $qa_content are still rather scanty, but print_r() should hopefully help you quite a bit.
Thanks for the help. :)
+2 votes

Why would anyone get upset that you're making suggestions? As long as you put a little thought into it - which you obviously have - then all suggestions are surely welcome! It's great for us to discuss Q2A :)

1. Yep, agree. If there's a way to link it to the current Q2A accounts, then you could restrict editing to people with at least a few points.

2. Don't know what you mean. There are many add-ons listed on the main site here.

3. Is this not possible already? Plugins can access the database and run queries if I'm not mistaken.

4. I thought this would be possible with 1.4 but I haven't used it yet so I dunno, sorry.

2 - Well, as long as there are just a few plugins, that page works, but imagine that the number of plugins increases significantly, it would be hard to update the page or find the plugin we are searching for. What I mean is a specific software for publishing and viewing plugins. :)

3 - Yes, but I'm talking about a possible new plugin's module which could add a button into the admin center, in the stats page, to get thing more organized, because that would be the only way the change the admin center (excluding the plugins page).

4 - It is possible to catch predefined events thrown by the Q2A core code, but I have find no way to throw them from plugins, not even from creating new ones in the Q2A source code, but I can also be missing something. :)