Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+55 votes
in Q2A Core by
edited by

Whew. Thanks for all your suggestions! Below is the roadmap for Q2A 1.5, in no particular order.

Major features:

  • Ajax-based commenting and answering.
  • Closing questions as duplicates, or for other reasons.
  • Optional moderation mode for questions, answers and comments.
  • More advanced private messaging (message store).
  • Users can favorite questions, users, tags and categories.
  • Personalized news feed for users showing updates on their favorite items and relating to their posts.

Minor features:

  • Admin can send email to all members.
  • Deleting users completely.
  • Option to send emails via SMTP.
  • Option for 'unanswered' to show questions with no upvoted answers.
  • Separate permissions for up and down voting.
  • Limit account creation rate per IP address.
  • Answer list pagination.
  • Admin can assign bonus/penalty points to a user.
  • Separate permission for changing tag or category of a question.
  • Custom field on question forms.
  • Better dates for older posts.
  • Allow custom pages and links to have minimum permission level.
  • Optional custom explanatory HTML to display to users asking a question, answering a question, or registering.

Developer features:

  • New "filter" module type allowing user-entered input to be validated or modified by plugins.
  • New "search" module type allowing plugins to implement their own content indexing and searching algorithms.
  • Translation support for plugins.
  • Update detection for themes and plugins.
  • Database tables for meta information on posts, users, categories and tags.
  • General mechanism for on-site notifications.
  • Pass more useful contextual information to theme functions.
  • A select list of pluggable functions that can be replaced by plugins.

Each feature in this list was chosen based on several considerations:

  1. How many people asked for it. Obviously, the more, the better.
  2. How easy it would be to implement as a plugin. If it's easy (or indeed has already been done) it needn't necessarily be in the core.
  3. How much it will help plugin developers in future. As Q2A matures, there is more focus on its development as a platform, rather than just a product. The goal is to make it as extensible as possible.

Please note that there is no guarantee that all of the above features will make it into the release, which is scheduled to enter beta in late December.

As several have requested, Q2A will also be available on GitHub, starting with the beta of version 1.5. The primary purposes of this are to:

  • Enable bug fixes to be submitted by the community.
  • Allow users to maintain private branches of the core code, so that their changes are easy to merge into Q2A updates.

However, Q2A 1.5 will not yet be opened to general community development. I would like to personally ensure that the Q2A core remains small, fast and secure, so that anyone installing it can feel confident that it will run efficiently and safely on their site. I feel it's important to avoid the issues seen by projects like WordPress, which has suffered a number of major security issues over the years, despite its outstanding developer community. I'm sorry if this decision frustrates some people - please consider whether you can achieve the same goal using a plugin.

Thanks again for all of the community input into this feature list - off to work!

I'm not updating the post because last time that led to too many people wanting a nightly build, and that in turn ended up being a bad idea (interim DB changes, etc...) But FYI I've done the majors, all but 3 1/2 of the minors, and only a very small part of the developer features. So I'm still hoping to hit beta before the end of the year.
@Micangello it says right up there ^^^ late December for the beta. It's usually only a few weeks after that until the stable release.
Q2A 1.5 beta 1 has now been released - please see link on right.
Thanks Gidgreen! Will test it on this weekend

21 Answers

+1 vote
edited by
That seem a lot of work but will be highly useful! ;)

Are you planning to do the developer feature last? If not, it would be great to have an intermediate launch with the dev feature so we could use the new plugins you will add. I'm especially interested in the search since this is next on my task list! If not, a pointer on how I could do my work so I can later integrated to the core via the search plugin would be great!

I'm afraid the developer features will be coming late this time round, so they won't be previewed before the beta. Sorry about that. I'm still deciding exactly how the search module will integrate but the basic idea will be that you're passed the search term, and you hand back the results to be displayed.
OK, I'll keep that in mind! Will you also let us know when we must refresh our index or we'll keep using the event pluging to do so?
Yes, I expect there will be calls into your module to index or unindex some content.
Maybe integrating it the same way external users are would be fine. I don't think we need more than one search module by site so just setting something like External Search to true in qa-config and then providing a qa-external-search.php with the required functions would do the job! Plugins are useful when we want more than one of one type, for search using the external approach would probable by simpler.
I don't know where you are on your progression, but I just wanted to let you know that I did implement my own search using the 'external' approach and it worked fine with minor changes to the base code. That file has method to reindex all, index and unindex post, get the filtered score (qa_external_match_to_min_score), search, look for similar question and related one. One thing I had to slightly modify to work with my engine was to always index/unindex the whole question instead of only its comment or answer since the whole thing was one entry in my case. So it would be great to always give the whole post to the external search so it can optimize how it works.
0 votes
edited by

In response to "Translation support for plugins" :

In the core there could be some variable of the locale chosen language (en_US, pl_PL, etc.) - it  will be good for plugins that uses the language as a parameter (e.g. facebook login, like button).

My sample code :


    function GetLocale() {
        $locale = str_replace('-', '_', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 5));
        if (strlen($locale) < 5) return 'en_US';
        if (strrpos($locale, ','))
            $locale = substr($locale, 0, 2) . '_' . strtoupper(substr($locale, 0, 2));
        return strtolower(substr($locale, 0, 2)) . strtoupper(substr($locale, 2, 3));


0 votes
Would you be open to integrating MailChimp.com to email all members instead of building your own mail system (bounce backs, unsubscribe, etc.)? You might also be able to make money through their affiliate program.
It's an interesting idea, but I think integration with commercial services is probably best suited for plugins rather than the Q2A core.
That's a good point. Maybe I can write that plug-in. I have to look into their API for another project I'll be working on soon. I can start by adding new registered members to the designated MailChimp.com list and take it from there.
that will be good> i am looking for that sort plugin
I just started working on the plug-in for this and so far it's looking good. I'm going to have it add new members as they confirm their account and give the option to bulk add existing members.
0 votes
Is there a RSS feed or email subscription where we get notified once the new version is out? Thanks!
I plan to send out an email to all registered users of this Q&A.
0 votes
All features are excellent and i have a suggestion for making it better. Can you please change the default WYSIWYG editor to TinyMCE ?
TinyMCE has much more abilities and its better than current editor. Or maybe someone can make a plugin for it. But if you make it default editor, it will be better in my opinion.
The WYSIWYG editor is a plugin, so you can replace it with another plugin without too much trouble. See here: http://question2answer.org/plugins.php
Its easy for a programmer not for a usual user :) . Can someone please help me to do it? I am sure many users will like it.
0 votes
late December for the beta,It's a great!
0 votes

Installation environment and the same 1.43, but the reported error after 1.5 install is not whereyou need to change the configuration

0 votes
Nice work indeed
0 votes

Please, add debate option when we are asking questions.