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


Will not show more questions anymore.

Guess it is due to the constant max questions to show in qa-config.php

Why does the q2a core not allow to manually go through that list? Is it really just performance?

It would be great to go through *all* questions.

Q2A version: 1.8.0

1 Answer

+1 vote

Indeed the limit comes from the QA_MAX_LIMIT_START constant. I can think of two reasons why it is there. The first one, as the comment in its definition explains, it is performance. The deeper the database has to dive in the index the longer the query will take.

The second one, is related to getting your data copied. It is relatively simple to build a web scrapper that would go through all questions and copy their content. The more accessible questions there are, the more questions will be cloned. Also note that it is hard to believe a person has actually reviewed 50000 questions. Requests to those pages are likely to be bots.

Conclusion: If you don't care about getting your site fully webscrapped, feel free to increase it. Just try reaching the first question in your site and time it.

I would like to increase it for my expert members. So IF loggedin, then make all questions in lists available. Mostly I do like this for many performance costing features ;)

Do you think something like this could go into core?
Well, I'm not the one who decides that :)

Anyway, I can't still figure out why would someone need to take a look at question 50001. If there were 20 results per page then there would be 2500 pages. If a user doesn't browse any question and takes 5 seconds to look at all the questions titles in a page, that would mean a user would have to spend 12500 seconds to reach question 50000, which means 3.5 hs.

So what are those users trying to achieve? Is there a "Most pages browsed" badge in your site? :)
I have a bunch of editors who go through old questions to correct question titles and content (I have added edit points to the userpoints table). With this limitation (which i think is a design mistake) they cannot reach older questions at all :(
I see. I guessed there was some kind of reward involved. So you just want your users with the Editor+ level to exceed 50k. Well, I think that is quite ad-hoc. I get the impression that controlling it from the qa-config.php file for all user levels should be enough for 99.99% of the cases. In fact, you have that issue because you created an ad-hoc reward for that so it makes sense that an ad-hoc approach will have to be taken into account.

You could just go for 10 million and allow random users from the web to access them as well or maybe you could just make an override of qa_html_page_links() and qa_get_start() as well to take the user level into account.
If I put those "100000000", won't it have performance issues. I have about 500k posts now. Maybe in two years 1000k posts.
All I can tell you is to go back to the answer's conclusion: "Just try reaching the first question in your site and time it". If the query takes too long then that's what it takes to reach it. You will have to balance the need to reach those questions with the need for performance.
I eventually set QA_MAX_LIMIT_START to a very high value. Performance issues not to be felt for now. :)