_ck_ (@_ck_)

Forum Replies Created

Viewing 25 replies - 1,226 through 1,250 (of 2,186 total)
  • In reply to: bbPress 1.0 Stable

    _ck_
    Participant

    @_ck_

    That roadmap is wildly inaccurate and just guesses.

    Not only does 1.0 gut huge sections of code that were perfectly working under 0.9 and need to be replaced but it also replaces entire concepts (like the new object cache). There is a huge amount of work to do and I don’t envy Sam and Michael’s jobs right now. Then it will need lots of testing and debugging.

    Then there is plugin stability since everything is in a state of flux. I can’t even keep up with the changes anymore, I’ve stopped updating my plugins until things settle down a bit.

    Sam is currently working on trackbacks (pingbacks) now which was suppose to be the big new “feature” for 1.0 IMHO it’s a huge waste of time that could be spent elsewhere in the code but pingbacks on forums was something Matt wanted, so he gets what he wants obviously. However it will be the first feature I delete (not just disable, but delete) since XML-RPC was the #1 security problem with WordPress over the years. It’s also going to be a spammer’s delight.


    _ck_
    Participant

    @_ck_

    Actually, the best thing to do is completely replace the search facility. That’s what I do in Super Search. bbPress’s search is very weak, so weak that there wasn’t even a link to it on any page in 0.9 (it’s similar to WordPress’s search, which also sucks, it’s the ugly truth no one seems to talk about).

    I assume you are using the bb-benchmark plugin to watch those queries happen (if not, you should be).

    Stupid question but you DO have the mysql cache turned on? I only ask because on many server configs (like CPANEL) it’s turned off by default. What does your my.cnf look like? (do a cat /etc/my.cnf in your shell)

    Try going into phpmyadmin (or command line) and test that first test query against adding AND post_text REGEXP ':<:%test%:>:' to the query like so:

    SELECT p.*, 0 AS search_score, MAX(post_time) AS post_time FROM bb_posts AS p JOIN bb_topics as t ON ( t.topic_id = p.topic_id ) WHERE p.post_text LIKE '%test%' AND p.post_text REGEXP ':<:%test%:>:' AND p.post_status = '0' AND t.topic_status = '0' GROUP BY t.topic_id ORDER BY p.post_time DESC LIMIT 5;

    I suspect in the end due to your huge db size you are going to need to completely replace the search functions with something like this http://sphinxsearch.com which has a PHP api. Fortunately in bbPress it’s very simple to hook the internal search and bypass it entirely without even template hacks. A quick google shows that a few WordPress plugins have sphinxsearch support so that would be easy to copy over to bbPress. If you find the keyword “sphinxsearch” on this source for example, you can see how it’s done: http://svn.scriblio.net/plugin/trunk/scriblio.php


    _ck_
    Participant

    @_ck_

    I did say “or regions” which should cover Europe ;-)

    “Europe” is triggered by the use of the .eu domain


    _ck_
    Participant

    @_ck_

    Well you’ll have to test to make sure a wikipost isn’t created yet on that topic (and that topic hasn’t been made yet, and they don’t edit the link to change the topic name,link, etc.).

    But adding bbcode style parsing to posts is very straightforward. You’ll need to use preg_match_all on the $post->post_text

    something like this:

    add_filter('post_text', 'make_wiki_links');  // you can also try 'pre_post' which will make it only process the text once during save and not everytime it's displayed

    function make_wiki_links($text) {
    if (preg_match_all("/[wiki](.*?)[/wiki]/sim", $text, $wiki_links)) {
    foreach ($wiki_links[0] as $wiki_link) {
    // do whatever you want to each $wiki_link here
    }
    }
    return $text;
    }

    You’ve got about a dozen problems to handle with this technique, including replacing the [wiki] parts afterwards with another preg_replace, good luck.


    _ck_
    Participant

    @_ck_

    Oh I see you want to turn any post into a wiki by wrapping the text in [wiki]. There is a huge problem with your logic as the wikipost plugin allows anyone to edit a post by assigning a generic user to the post, which is the trigger. Replacing that with bbcode as the trigger instead would be far more difficult.

    bbPress would not have any way to know to let another user edit the post until it scans the post_text for [wiki]. That’s going to be a huge problem.

    by the way is translated to <strong> not <center>


    _ck_
    Participant

    @_ck_

    I’m curious about this issue as performance problems always intrigue me. You must be using 0.9 as 1.0 has an index on stickies by default.

    As far as fulltext search there is a trick I use because of the multiple issues with fulltext (not only speed but fulltext can’t do words less than 4 characters until you customize and rebuild mysql). The trick is to use regex and do a two pass query where you first exclude all the posts without the words and then allow mysql to do a regular scan of the remaining posts.

    Query example from my Super-Search plugin:

    WHERE post_text  LIKE '%".$term."%'" AND post_text  REGEXP ':<:".$term.":>:[^']' "

    Compare the performance of that against a fulltext search that uses "MATCH post_text AGAINST $term" I don’t have enough data to do a huge benchmark but some simple tests with the cache off shows 0.4 seconds for the trick and 0.9 for the fulltext.

    The only downside to the trick is you cannot do partial word searches that way. ie. $term="cat" will only return posts with the exact word “cat” and not “cats” or “category”. But it should be way faster.

    Searching a huge number of posts is a non-trivial problem. It’s been known to crush other forums like vbulletin which has fancy code to prevent users from searching too often/too quickly and even disable search temporarily on high server load. Sites like Wikipedia have to go through several technically complex tricks to keep the search fast on that much data.

    Many large sites end up using sphinxsearch to replace fulltext search. You could interface it to bbPress via their PHP api.

    You can read more workarounds on the mysql fulltext search page (with far more knowledgeable people than me) http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html


    _ck_
    Participant

    @_ck_

    I’ve done some research (and actually got an email from the find-answer owner out of the blue today) and I believe the site/request are unrelated.

    But it does prove that it would be a wanted plugin.

    Google/Yahoo might not like all the duplicate content however so “noindex” might be a good idea to prevent being search-engine banned.

    Another consideration is that I believe bbPress keeps a full index on post text, so the table size for posts would become non-trivial for such a forum.


    _ck_
    Participant

    @_ck_

    September also features the first site to be purposely excluded from the listings. Not that I am passing judgement on it as there are other sites far more dubious that are in the list where the content is not their own.

    find-answers.net

    It’s impressive in that someone wrote a bbPress to Usenet gateway. But its not right to include it on the list since there will be millions of posts in no time at all and they use a fake subdomain for each group.

    At least it proves bbPress can handle such a load. They are going to really want my Super Search plugin (not released yet).

    I do wish they’d share the code they made to accomplish that however, especially considering they seem to be using my theme, my plugins, my favicon, etc.

    (What I really want is a Mailman to bbPress gateway!)


    _ck_
    Participant

    @_ck_

    “.mysite.com” should cover all subdomains.

    Techincally .www.mysite.com is a subdomain.

    I don’t know why it didn’t work for you

    unless perhaps it was already “.www.mysite.com” on the WP side. They have to match.


    _ck_
    Participant

    @_ck_

    You don’t need to tamper with the regex.

    Essentially you are adding the attibutes incorrectly.

    This is wrong: 'wiki' => array('a','href')

    That means set a new tag called “wiki” with the attributes “a” and “href”. But really only “href” is an attribute.

    I could help you more if I understood what <wiki></wiki> was supposed to do.


    _ck_
    Participant

    @_ck_

    I experimented for awhile with making a plugin that would make 2.6 work with the 2.5 cookies using a pluggable replacement but the task proved overwhelming. Then I tried making a replacement pluggable for bbPress to make it work with 2.6 cookies and that was just as insane too.

    Unless your mods are concentrated into one file I wouldn’t recommend tampering with the core.

    I don’t get the rush to WP 2.6 It’s getting terribly bloated.

    I miss 2.0 – feature rich yet still lightweight.


    _ck_
    Participant

    @_ck_

    Well that’s all for now, hope you enjoyed it.

    Your feedback and ideas are encouraged.

    I should note that sites that seem to be spammer operated or that I detect are infected by XSS scripts have been dropped from the list. There are currently eight sites affected by XSS and I have attemped to notify the owners (apparently without success). These infections are not from a bbPress fault but rather the overall security of their server and other software running on the site (otherwise it would be rampant).


    _ck_
    Participant

    @_ck_

    A new feature this month is an analysis of Server and PHP software popularity. What’s interesting is how Apache use is slowly being eroded by other options. Also, PHP4 is still VERY popular (1 in 3 servers use it!)

    Server Popularity (alphabetical order)
    
    Abyss/2.0.0.20-x2-win32 : 2
    Apache : 800+
    Apache/1.3 : 900+
    Apache/2 : 40+
    Apache/2.0 : 800+
    Apache/2.2 : 1000+
    Ideawebserver/v0.50 : 3
    Lighttpd/1.4 : 15
    Litespeed : 20
    Microsoft-IIS/5.0 : 12
    Microsoft-IIS/6.0 : 80+
    Microsoft-IIS/7.0 : 2
    Nginx : 19
    Nginx/0.3 : 2
    Nginx/0.5 : 17
    Nginx/0.6 : 10
    Nginx/0.7 : 2
    Webserverx : 16
    Zeus/4.3 : 2

    (abnormalities and unknown entities have been dropped)

    PHP Popularity (by version)
    
    4.3 : 200+
    4.4 : 900+
    5.0 : 40~
    5.1 : 200+
    5.2 : 2000+


    _ck_
    Participant

    @_ck_

    bbPress is being used in over 80 countries (or regions).

    Here is a sample in order of popularity:

    .  1. United States
    2. Germany
    3. Spain **
    4. United Kingdom
    5. Russian Federation
    6. Italy
    7. Turkey
    8. France
    9. Sweden
    10. China
    11. Denmark
    12. Netherlands
    13. Canada
    14. Japan
    15. Europe
    16. Romania
    17. Czech Republic
    18. Brazil
    19. Norway
    20. Austria
    21. Poland
    22. Australia
    23. Switzerland
    24. Hungary
    25. India
    26. Chile
    27. Belgium
    28. Argentina **
    29. Indonesia
    30. Finland
    31. Ukraine
    32. Saudi Arabia
    33. Greece
    34. Lithuania
    35. Israel
    36. New Zealand
    37. Slovakia
    38. Latvia
    39. Mexico **
    40. South Africa

    ** This list is subject to some inaccuracies based on guesstimates of language used or target audience. For example, a page in Spanish may be intended for an audience in Mexico, Argentina, or in Spain. A page in Arabic may be intended for several countries in the middle-east, etc.


    _ck_
    Participant

    @_ck_

    bbPress is currently installed on at least 5,000 sites.

    Here is a breakdown of bbPress forums by total posts:

    Posts 		Count
    0 - 99 3,000+
    100 - 999 640
    1,000 - 4,999 180
    5,000 - 9,999 52
    10,000 - 49,999 44
    50,000 - 99,999 12
    100,000 - 499,999 7
    500,000 - 999,999 2

    By my calculations, a bbPress forum will break a million posts by the end of this year!


    _ck_
    Participant

    @_ck_

    I assume you both asked on the WPMU support forum?

    In reply to: bbPress 1.0 alpha

    _ck_
    Participant

    @_ck_

    No, 1.0 alpha CHANGES the database upon install/upgrade that will make the database incompatible with 0.9.

    You may find yourself thinking it’s still working with 0.9 afterwards, but there will be critical updates missing, for example the topicmeta table is no longer used or updated in 1.0, even though it’s left in the db.

    In reply to: Server Overload

    _ck_
    Participant

    @_ck_

    Hmm, they shouldn’t have had to recompile but maybe something was out of whack with the version numbers.

    By the way, Cpanel has a very nice control panel to let you rebuild apache yourself (it’s called easyapache). But that’s something to learn down the road. You should very rarely (if ever) have to rebuild unless adding special features.

    Glad to hear you got it working in the end. eAccelerator and the mysql cache will definitely turn a turtle of a server into a rabbit.


    _ck_
    Participant

    @_ck_

    Did you comment out the line I listed above in the plugin?


    _ck_
    Participant

    @_ck_

    It’s always been that way. I think the tags are broken because they are imported from the plugin’s readme. It’s a customized copy of bbPress.


    _ck_
    Participant

    @_ck_

    Note that WP 2.5 / bbPress 0.9 uses a SINGLE key

    WP 2.6 / bbPress 1.0 uses THREE different keys


    _ck_
    Participant

    @_ck_

    If you want to also use [pre] then you have to also edit the bbcode plugin to translate that tag too.

    Hmm, this is strange, I have ‘pre’ in the allow extra tags list but it’s not being added.

    Update: argh, bbPress unsets “pre” and “br”

    Alright, if you want bbcode processed in code/backtick sections, simply comment out this line in the plugin:

    // if (preg_match_all("|<code>(.*?)</code>|sim", $text, $backticks)) {foreach ($backticks[0] as $backtick) {++$counter; $text=str_replace($backtick,"_bbcode_lite_".$counter."_",$text);}}

    It’s right under

    $counter=0;

    In reply to: Topic action hook

    _ck_
    Participant

    @_ck_

    add_action('topicmeta','hello_world');
    function hello_world() {echo "<li>hello world</li>";}


    _ck_
    Participant

    @_ck_

    I don’t understand what you are trying to do.

    IMHO, anything between code (or backticks) should ALWAYS be seen raw, unfiltered.

    If you need a tag similar to CODE, why not add the PRE tag to bbPress’s allowed tags. bbCode will work between PRE tags.


    _ck_
    Participant

    @_ck_

    bbcode is not displayed between code tags or backticks.

    This is a purposely designed feature, not a bug.

Viewing 25 replies - 1,226 through 1,250 (of 2,186 total)