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

Hi all. Q2A 1.6 beta is being readied. These changes have been implemented and can be seen in action on this site:

  • Allow users to post public messages on other users' pages (if admin allows it)
  • Full protection against cross-site request forgery attacks on all forms (CSRF)
  • Allows names to be added to anonymous posts
  • Add panels in user page for recent user activity and all user questions and answers.
  • Highlight user favorite questions, tags, categories and users wherever those entities appear.
  • Make it clear why each item is listed in the user updates page (you should see this for all events from Jan 31 in your 'My Updates' page).
  • Allow moderation to be reapplied when a post is changed (filter modules can also now apply remoderation)
  • Allow privileged users to see who voted posts up and down, and who flagged them, by mousing over.
  • Allow custom user profile fields to optionally be shown on the registration form, and to have restricted permissions for viewing them on user profile pages.
  • Allow user moderation - either to prevent unapproved users doing anything, or to have different permissions for unapproved and approved users. Emails can be sent to admin notifying of new users. Also fast one-click admin interface for moderating users, which shows their profile fields.
  • (Slight) improvement to plugins section of admin panel.
  • Edits can be made silently by users with appropriate permissions.
  • New BLOBs (avatars, uploaded files) can be stored on disk rather than in the database - see QA_BLOBS_DIRECTORY in qa-config-example.php. It's OK if some old ones are in the database and some new ones on disk. Uploaded files can be migrated between disk and database on the admin/stats page.
  • File and image upload API (for plugins) in qa-app-upload.php
  • Per-category level settings for users (e.g someone can be a moderator for a specific category only).
  • Lots of small tweaks and fixes

Q2A 1.6 beta 1 is complete, and barring any surprises, it will be released tomorrow (June 6th).


closed with the note: Old version
I know this is probably way late Gideon, but what would your thoughts be on a 'Listener' module type?
I just posted a long wafted response to Mehede Hasan's post here that could give you an idea of what I'm thinking.
You can't select best answer it brings up error message Please click again to confirm
Divide the My favorites page after 30 issues.  And then my selected questions on one page, very long.
>Can you make the voting plugin to allow people that are not loged in to vote?
Agree. In pligg it s allowd to vote for anonimous visitors

60 Answers

+7 votes

addition to features that should be core:

1. Convert comment to answer. The other way around is already implemented.
Issue was raised in 2010!

2. Move answer to another question. We have a merge-plugin here, however, it moves all answers. It would be practical to decide which answer should be moved to which question.

Core as well:
3. New admin option "hide closed questions from question list"? and from unanswered list (issue described here)
4. How to list all questions of certain user? → there is a plugin, but must be core! + list all answers, list all comments
5. Improving the search / search algorithm of q2a? 5 things to do better

Could be core:
6. How to show questions of two or more tags?
7. NoFollow links should be optional and not be posted to database! → should be admin option

for more ideas, see http://www.question2answer.org/qa/19042/

+4 votes
I would also love;

#1. That the user's full name( or display name) is appended to the questions they ask rather than their username.

#2. The registration system be revisted. When not register using one's email address, full names and password like it is with twitter and facebook instead of having users create another set of usernames and passwords

#3. Notifications instead of "my updates" should be used. And the state of "notifications" right now is not at all good as the user doesn't easily get to know when they've answered their question, voted up or someone commented on their Qn. Facebook-style notifications should be used.

+7 votes
  1. Direct access to module and components from theme(like plugins)
  2. maybe object orienting the code, if you have time
  3. adding options to add meta description to Tags and show them on sidebar
  4. Social logins
  5. better image managment, letting admin choose between BLOB and file system image managment
  6. Better permission managment(using checkbox instead of combo list to assign permissions)
  7. set a more extended log. "when, who did what?" for everything and with direct access throught theme.
  8. a better plugin managment page. maybe using vertical tabs. one page for all plugins can get hard to mannge.
  9. In-Site personal messages and notifications and user connections, some Social Engagement tricks can do magic.
  10. Farum Categories: letting admin check some category as Forum Categories so system can show diffrent lables and styling to make it look like a forum so users can share their posts there not as questions.

I'm ready to beta test new versions and create a Free,Responsive, Clean and Powerfull theme for next version.

Open Source Rocks



+1 for OO code. We could at the very least move the functions to static objects e.g. QA_string::remove_accents() or QA_db::connect()
Actually this would allow much easier overriding instead of redefining functions.
From what I understand, the problem with object-orienting the code is that the entire functionality for each class needs to reside in a single PHP file. This means a lot more code would have to be complied for each page view, assuming you're not using an opcode cache, and this would slow Q2A down. Or am I missing something?
edited by
Yes, all the functionality for each class would need to be in its own file. But what I'm saying is to take each file that current exists and make that file one class, not to combine every file into one. So the QA_string example above would be all the functions from qa-util-string, and QA_db from qa-db.php. Then for example, QA_db_admin for qa-db-admin.php which would utilise the QA_db:: functions and so on.

That was just intended to be a starting point. Ideally for OO you would have classes representing real objects like a Question object or a User object.
+1 for #'s 2, 6, and 8
–4 votes
I think one of the best options would be letting anonymous people vote (optional). From my experience many people don't register but would surely vote.
If non-registered voting were enabled, I would expect bots and miscreants to run amok. Realistically, can a Q/A site be effective if does not function as a meritocracy? Unless voting is reserved as a "priviledge" of membership (registration)... the inevitable vote tampering would represent a disservice (and a demotivator) to those participants who did care to register.
+4 votes
My thoughts -

* Search, search, search with auto-suggest and save user requests and use for auto-suggest.

* Define Tag aliases and ability to search across these aliases.

* when one scrolls to the bottom, autoload more questions

* Need a "Answered" section ( like 'Unanswered' )

* Unanswered by category

* A reporting plugin which is a link widget and one can attach any SQL query on q2a database and show results in table format.
"when one scrolls to the bottom, autoload more questions"

^--- might be desirable if provided to logged in users as an optional feature...

but, for SEO, I think the pagination links must remain.
(most crawlers are not javascript-enabled, so would miss or ignore any lazy-loaded content)
+3 votes
Rest style Api to allow content to be shared with other Saas solutions

pay per question feature

Invite friends feature, to encourage uptake like spigot icon

bounty style widget to encourage first question, first answer, first vote, invite friends etc. like in Dropbox
How would the bounty mechanism "work"? Does the site collect bounty funds, hold funds in escrow, and payout after an answer has been marked as acceptable? What if the person who offered the bounty fails to mark any answer as acceptible? Site staff is expected to intervene and make a decision?
edited by
"Pay (real money) per question" model was tested in 2002 by Google Answers. It didn't work at all...
+5 votes

Image upload would be a number one priority. Then we dont have to load this heavy ckEditor.java which slows donw the website.

+3 votes
1) Category information in url

example.com/postid/category-name/sub-category-name/question anytime a link for a question is generated

2) Email templates for all of the default email's used by the platform with an editor to modify them. With a checkmark to switch between text emails and html emails.
FYI the email templates are all in qa-lang-emails.php and can be customized as explained here: http://www.question2answer.org/translate.php#custom

This doesn't address the issue of HTML email though...
+2 votes
Admins can see the private messages! User send a private messages to other user. But we cant see this. İ think this is very very important!!!
In some jurisdictions, wouldn't that represent a violation of privacy? If the communication feature is labeled "private messaging", that creates a "reasonable expectation of privacy" for the user. Do you think (are you willing to risk) that a disclaimer clause placed in the user agreement, vis "this system does not provide any mechanism for truly 'private' user-to-user communication" would sufficiently protect you, in the event of a lawsuit?
+3 votes

Time limit for editing answers and questions

I would like to suggest an ability to add time limit for editing questions and/or answers like it is on vBulletin, where I can set a time limit, for example after one week the answer can not be edited by the user any more. The idea is that users can not go back and insert links to old posts or delete the answer all together.


Option to list tags alphabetically,

If there are lot of tags it would make it a lot easier to find the tags if they are listed alphabetically.


Better user management

  • Ability to create new users for admin.
  • Option to mass delete inactive users.
  • Ability to search for users.
Searching for users and tags would be really useful!
re "time limit for editing questions and/or answers":
Predictably, over time, a number of links embedded into posted messages will become stale. Preventing users from "maintaining" their earlier posts is less than ideal (if they post a followup comment to provide an updated link, someone reading the thread probably won't notice it and will still click the broken link earlier on the page.

"You may not edit/delete a post if anyone has posted a followup anwser/comment to it" seems like a (still less than ideal but) more reasonable limitation, in my opinion. I guess it boils down to the specific needs of a given site's community.
+2 votes

I would like to make a link in the FAQ to the user profile page of the current logged in user. When I link to index.php?qa=user, i am automatically redirected to the index.php?qa=users page. Would be great if I would not be redirected, but in that case would see the profile of the currently loged in user. 

You can just click your username for that.
So now I write in the user FAQ: "When you click on the username in the upper right corner of the screen you will be able to see your user profile. On the profile you can see how many points you have and what changes were recently made by you", instead of "On your _user profile_ you can see how many points you have and what changes were recently made by you".
+2 votes
In the upper right croner of the screen is shown Hello <username>, would be great if the number of points would be shown after the username
It *is* shown after the username. If it's not on your site it's either a problem with the theme, or there is an option somewhere that you accidentally turned off.
I switched themes and after HI,<username> no points are shown. Furthermore I disabled the badge plugin, but this also does not help.
Managed to solve this. I added
        function logged_in() // adds points count after logged in username
            if (qa_is_logged_in()) {
                    ? qa_lang_html_sub('main/1_point', '1', '1')
                    : qa_lang_html_sub('main/x_points', qa_html(number_format($userpoints)));
                    '<SPAN CLASS="qa-logged-in-points">',

to qa-theme.php and .qa-logged-in-points {color:#FFFFFF;font;size:13px;} to qa-styles.css and now it is visible