Page 1 of 5 123 ... LastLast
Results 1 to 10 of 41

Thread: A bbPress alternative for WordPress

  1. #1
    greenshady's Avatar
    greenshady is offline Here For The Peanuts
    Join Date
    Jan 2009
    Posts
    170

    Default A bbPress alternative for WordPress

    As some of you know, I've been working on a new WordPress plugin that adds a forum to your WordPress install. You are all welcome to try it out here:
    http://popcritics.com/forums

    That's not why I'm posting right now. Since many of you are devs, I'd like to get your honest feedback on how the data should be structured and which APIs to use.

    Note that the term "post" here refers to a post in a forum, a reply to a topic made. It doesn't refer to a blog post in WP.

    Here's how everything is currently structured:

    • Forums - custom taxonomy.
    • Topics - custom post type.
    • Posts - custom comment type.
    Here's how I'm considering structuring things:

    • Forums - custom taxonomy.
    • Topics - custom post type.
    • Posts - custom post type.
    Why change the structure?

    I've been facing a few problems that definitely need to be addressed with the comment system:

    • There's no 'edit_comment' capability, so allowing users to edit their posts is problematic.
    • 'comment-page-x' isn't an appropriate permalink structure for pagination (I'm not sure how easy it is to change).
    • Attachments (uploading media) would likely have to be attached to the topic instead of the individual post.
    These problems could easily be fixed using a custom post type, plus give some extra:

    • Allow singular views of individual posts outside of the topic.
    • Should work with cool front-end editor plugins (I think there may be a couple).
    • Don't have to filter so many of the comment functions to get around settings and theme setups.
    • Posts could support their own taxonomies, even though taxonomies should be possible with comments.
    • Allow titles for individual posts (though comment meta would allow this too).
    • Loading data is probably easier than the crazy functions I'm using now.
    Workarounds using the comment system:

    • 'edit_comment' capability? No idea right now.
    • Paginated comment permalink? No idea right now.
    • Attachments? Give the attachment to the topic and use the attachment metadata to "attach" it to a post/comment.
    Let's suppose we use a custom post type for forum posts.

    • Should we use separate 'forum_topic' and 'forum_reply' non-hierarchical post types?
    • Should we use a single 'forum_post' hierarchical post type?
    I'm leaning toward the former because you can still give a 'post_parent' the ID of something from another type.

    Thoughts? Opinions?

    I really want to make a great forum plugin, and I could use as much feedback as possible. If you see potential problems or solutions, I want to hear about them. Or, if you want to know how I'm handling certain functionality, please ask.

    Also, you can see a bit of this conversation in the IRC logs:
    https://irclogs.wordpress.org/chanlo...6-25&sort=desc
    Last edited by greenshady; 06-25-2010 at 06:34 PM.

  2. #2
    greenshady's Avatar
    greenshady is offline Here For The Peanuts
    Join Date
    Jan 2009
    Posts
    170

    Default

    Just in case anyone wants to ask why I'm not just putting this energy into the bbPress project instead:

    I have my reasons for moving away from that community. I don't want to argue about those reasons or get involved in the drama there. I love bbPress and have been using it for years. In fact, my development is based off the ideas behind bbPress. The project simply hasn't been moving forward. Right now, I feel that the best thing for me to do is to simply move forward on my own (or with anyone that wants to join me).

    I also brought the plugin up on IRC to get an idea of where bbPress (the plugin version) might be going because I want users to be able to switch between the plugins without a lot of hassle if they choose to do so.

  3. #3
    Devin is offline Hello World
    Join Date
    Mar 2010
    Location
    Portland, Oregon
    Posts
    18

    Default

    When you create a new topic or thread, could that be added to the taxonomy? Then each post (content type) in the thread could be hierarchical and associated with that taxonomy. Some of the posts would be top level in the hierarchy, but replies would be underneath the post they reference. Each thread would be pulling a taxonomy template, and then the posts could be ordered by date within their hierarchy. You wouldn't really use a single-contenttype template.

    This is my quick thought, but I may be missing other issues that could come up.

  4. #4
    Ryan's Avatar
    Ryan is offline WordPress Legend
    Join Date
    Jan 2009
    Location
    New Zealand
    Posts
    2,797

    Default

    Damn. Those are annoying problems to find.

    I haven't thought about this in any depth, so the following is just my meandering thoughts as I pondered your post above ...


    Either way would work, but at least you know doing the posts as custom post-types is going to work without requiring changes to core, and it would make things easier I assume if you can attach stuff directly to each reply. It would probably make your life a lot easier when it comes to setting up things like splitting and merging topics as each chunk of data for the post would be attached to it directly rather than you having to shunt everything across to the new topic.

    Do you need a different custom post-type for topics and posts? I'd have assumed that you could use a hierarchical post-type, then have the topic as the first post, but all of the actual posts (including the first ones) as children of that topic. In fact, you could extend that out to "forums" being the first level, then their children being the "topics" and the actual "posts" being the grand-children. You could set the type of post it is based on a taxonomy of that post-type .... or may be that's what you had in mind already ...

  5. #5
    Ryan's Avatar
    Ryan is offline WordPress Legend
    Join Date
    Jan 2009
    Location
    New Zealand
    Posts
    2,797

    Default

    I registered for your forum and apart from the lack of ability to edit posts, it all seems to be working pretty darn well.

    I'm super-keen to use this if it ends up being as good as I thin kit will. I'm currently using SMF and I'm keen to move away from it, but not towards bbPress ince it seems to be somewhat of a dead project these days. I get reasonably decent traffic on my forum so hopefully I can be a good guinea pig for beta testing it :)


    I suggest making shortcodes for login pages, registration page, search pages, profile pages etc.
    If you don't do that and I end up using the plugin myself I'll probably make plugins for all of those things and release them for others to use. The built in log-in system for WordPress is a little gammy for forum users IMO. I don't think they should have to leave the main section of the site just to use the forum. Keeping that sort of thing out of the core plugin may be a good idea just to keep it small and light at this stage though, plus I'm sure you have lots of more complex things to deal with first.


    I know a lot of WordPress people won't agree, but I also consider BB codes to be mandatory for any good forum. They're the standard code used to change text effects in forums and a lot of users will just expect that sort of functionality to be built in. Thankfully since you are doing this as a WP plugin, there are already lots of other plugins out there which can do this anyway :)

  6. #6
    greenshady's Avatar
    greenshady is offline Here For The Peanuts
    Join Date
    Jan 2009
    Posts
    170

    Default

    Quote Originally Posted by Devin View Post
    When you create a new topic or thread, could that be added to the taxonomy? Then each post (content type) in the thread could be hierarchical and associated with that taxonomy. Some of the posts would be top level in the hierarchy, but replies would be underneath the post they reference. Each thread would be pulling a taxonomy template, and then the posts could be ordered by date within their hierarchy. You wouldn't really use a single-contenttype template.
    Do you mean each new topic becomes a new term for a particular taxonomy? Then, list the posts using a taxonomy.php template?

    That's an interesting take and would definitely work. It'd make pagination really easy.

    Quote Originally Posted by Ryan View Post
    Damn. Those are annoying problems to find.
    Yep. And, I really wanted to leverage the built-in commenting system. It just made sense from the beginning, but the more I dive into it, the more I realize the limitations with it.

    Quote Originally Posted by Ryan View Post
    Either way would work, but at least you know doing the posts as custom post-types is going to work without requiring changes to core, and it would make things easier I assume if you can attach stuff directly to each reply. It would probably make your life a lot easier when it comes to setting up things like splitting and merging topics as each chunk of data for the post would be attached to it directly rather than you having to shunt everything across to the new topic.
    Splitting and merging should be possible via comments (comment_post_ID). And, you can definitely add metadata to comments. But, posts makes a lot of this easier. Attachments are a biggie.

    I personally have never needed these things running support forums, but they're definitely standard in forums software.

    Quote Originally Posted by Ryan View Post
    Do you need a different custom post-type for topics and posts? I'd have assumed that you could use a hierarchical post-type, then have the topic as the first post, but all of the actual posts (including the first ones) as children of that topic.
    I'm not sure if I need separate types yet. That's a big debate I'm having with myself. I need to figure out the pros and cons of each.

    Quote Originally Posted by Ryan View Post
    In fact, you could extend that out to "forums" being the first level, then their children being the "topics" and the actual "posts" being the grand-children. You could set the type of post it is based on a taxonomy of that post-type .... or may be that's what you had in mind already ...
    I've been leaning toward forums being a taxonomy. But, the problems I see with that is the lack of taxonomy metadata and setting specific forum moderators via capabilities. For example, if I wanted to create a "VIP" forum that only certain people could post to, it'd be easier to go with a custom post type.

    Quote Originally Posted by Ryan View Post
    I suggest making shortcodes for login pages, registration page, search pages, profile pages etc.
    If you don't do that and I end up using the plugin myself I'll probably make plugins for all of those things and release them for others to use. The built in log-in system for WordPress is a little gammy for forum users IMO. I don't think they should have to leave the main section of the site just to use the forum. Keeping that sort of thing out of the core plugin may be a good idea just to keep it small and light at this stage though, plus I'm sure you have lots of more complex things to deal with first.
    I don't know how far I'll take it in version 1. I'd rather focus on making sure the forums work and leave it open for feature improvements.

    Quote Originally Posted by Ryan View Post
    I know a lot of WordPress people won't agree, but I also consider BB codes to be mandatory for any good forum. They're the standard code used to change text effects in forums and a lot of users will just expect that sort of functionality to be built in. Thankfully since you are doing this as a WP plugin, there are already lots of other plugins out there which can do this anyway :)
    I agree.

    Now, I just don't want any ol' user using all my shortcodes though. For example, a shortcode for wp_list_pages() shouldn't be used by anyone. This should be easy to fix.

  7. #7
    dancole's Avatar
    dancole is offline Tavern Regular
    Join Date
    Jan 2009
    Location
    USA
    Posts
    237

    Default

    Type: Bug
    Priority: Low
    Comment: When I was viewing your "Put test topics here" topic, I clicked the Quote button for one of the posts and nothing appeared to happen, except that "#comments" was added to the URL. I do not have an account on the forum, i.e. I was not logged in. It should ask you to login/register, then redirect you to what you were trying to do.
    Dan Cole, Future Engineer.

  8. #8
    greenshady's Avatar
    greenshady is offline Here For The Peanuts
    Join Date
    Jan 2009
    Posts
    170

    Default

    Quote Originally Posted by dancole View Post
    Type: Bug
    Priority: Low
    Comment: When I was viewing your "Put test topics here" topic, I clicked the Quote button for one of the posts and nothing appeared to happen, except that "#comments" was added to the URL. I do not have an account on the forum, i.e. I was not logged in. It should ask you to login/register, then redirect you to what you were trying to do.
    Yeah, someone else just mentioned that on the forums there. Reminder to myself: Do more testing while logged out.

  9. #9
    dancole's Avatar
    dancole is offline Tavern Regular
    Join Date
    Jan 2009
    Location
    USA
    Posts
    237

    Default

    I hope this isn't annoying, because it's not what your focusing on right now, but here is another bug for your long list of things todo.
    Type: Bug
    Priority: Low
    Comment: The navigation bar allow you to view the Add New Topic page, but there is only a title. I'm not logged in. It would be helpful if it gave an error message or helped the visitor to login/register.
    Dan Cole, Future Engineer.

  10. #10
    gautam's Avatar
    gautam is offline Hello World
    Join Date
    Oct 2009
    Location
    Gurgaon, Delhi, India
    Posts
    12

    Default

    I'm leaning toward the former because you can still give a 'post_parent' the ID of something from another type.
    I think this idea could work. If a post doesn't have post_parent then it would be displayed on the front page, and when a post/topic is opened then posts with that as post_parent would be called. It could also be helpful in having a threaded/nested replies feature.

    The (bbPress) project simply hasn't been moving forward.
    Well, not really.

Page 1 of 5 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •