paulhawke (@paulhawke)

Forum Replies Created

Viewing 23 replies - 26 through 48 (of 48 total)
  • Getting back to what @frooyo asked at the start…

    Since the future is that bbPress will be a plug-in of WordPress, does that still allow bbPress itself to have plugin capability? Because essentially then, any plugin of bbPress would be a plugin of plugin to WordPress.

    Plugins would be managed in a single interface. They would use the regular WordPress functions to add admin-area functionality, and to add action hooks and insert themselves into the filter processing. The issue is which actions and which filters are registered in a given plugin. As bbPress is migrated to being a plugin the developers will make sure that it will broadcast its own actions, separate from WordPress, when it makes sense to, and share action/filter hooks when it makes sense. For instance, I could see the “talk like a pirate” plugin for WordPress being shared between bbPress and WordPress on a given site.

    In addition to action and filter hooks being distinct between the two systems, or shared in certain cases, it’s entirely possible to write code that a plugin registers with, separate from the main WordPress. Take for instance the current “Topic Icons” plugin that allows other plugins to register new “rules” on how to apply icons. This capability allowed the “Topic Icons” plugin to support skinning the “Support Forums” icon set without ever needing to be coded into the core “Topic Icons” plugin – people who dont run “Support Forums” never need activate that piece of code. What I’m getting at here is that one plugin can register and talk to another – there just has to be a little care about how its done; if bbPress becomes a WordPress plugin, there’s nothing to stop it having its own sub-set of plugins specific to it.

    How would the Admin interface look for bbPress within WordPress

    Its very easy to add a new top-level menu item in the admin interface, its just not something plugin writers normally do. In the case of bbPress, I could see a “forum” menu being added that then contains a sub-menu of management pages specific to bbPress. That said, we get user and theme management for free from the main WordPress.

    @bobtheman – you asked an interesting question

    on a side note, this sorta makes you want to ask yourself, will every project that automattic picks up be transformed into a worpdress plugin?

    It’s been said that “when all you have is a hammer, all the worlds problems look like a nail”

    The fact is, WordPress is a thoroughly versatile foundation to build upon. To quote another software engineering saying, “it isnt code re-use the second time some code gets used – that’s just a happy accident. Code re-use doesnt happen until the third and subsequent time.”

    What do I mean here? Simply this: the foundations of WordPress (user management, theming, admin, plugins, etc) are great. They make a solid basis for building from. BuddyPress started down that road and by a “happy accident” made use of the features. Now we are looking at bbPress and saying “wow – code re-use!” but there are large slabs of code that will not be used when you’re a bbPress user/admin. The thing which needs to happen is to look, now that a third (WP, BP, bbP) project is building on the same backend, and refactor the truly common code into a modular WP-Core that is lean-and-mean, and the additional functionality builds upon. We have an opportunity to drive the architecture of WordPress into a better place as bbPress becomes a plugin.

    For instance, what if I want to swap out and run my WordPress against Microsoft Active Directory for all the user management thereby gaining single-signon in a corporate shop? Impossible right now, but if the core is more modular, maybe it would be possible. If the core were more modular, then an install of bbPress need not drag the entire WordPress codebase along with it.

    My experience of the WordPress codebase extends to version 2.9.1, I cannot speak to what is going on with version 3.0. Matt said something about bbPress being hosted on a page using a WP short-code at one point. As far as I know, there is no facility for page slugs to handle wildcards (from what I have seen). If you wanted to host bbPress as a plugin using a short-code on a WordPress page, it’s my guess that you would need to have different short-codes for the front page, topics page, views page, single topic, etc. Either that, or you recode the entire bbPress GUI to be Ajax based and run on a single page in-place. Somehow you need to extend the WordPress roles to encompass the bbPress side of the house.

    When you go down this road you eventually get to the point of Drupal – amazingly vague and configurable database, slow because it’s got to be all-things-to-all-people and … well … yeah. I would rather not see either WordPress or bbPress end up there.

    It it’s favour we can strip out a large portion of the codebase that deals with preferences, users, filters, plugins, themes, sidebar widgets and so on. We gain a lot from the main WordPress codebase but its worrying the “bloat” that comes with that approach.

    @yoyopop – I have been looking at what is core to bbPress thus far. It hadnt even crossed my mind that private messages would want to be converted. But there’s a problem – if I convert them, what do I convert them to? Does the community feel that any one private messaging plugin should be endorsed over any other, and, does the private message plugin provide the code I need to create its raw data? If the answers are “yes” (or a ‘qualified yes’) then I’ve no problem working it in.

    For those interested in beta testing, the plugin (at present) is grossly inefficient as far as memory goes and now that it works at a basic level, I’m looking at optimizing & reducing memory footprint.

    I have an experimental plugin for bbPress I’ve been working on this week that adds an “Import” wizard under the admin area “Tools” menu. As it stands I have been using a phpBB 2.0.23 forum with 3 users (“Anonymous”, “admin” and one other) and about a dozen posts for testing and things look pretty good.

    The “Import” plugin needs beta testers who’re willing to give it a run through and provide feedback.

    The plugin reads data from the phpBB database, and rather than generate an enormous SQL file that is version specific, the plugin calls the same internal methods inside bbPress as occur when you manually create forums/topics/posts/users. A mapping is maintained between old and new user/post/topic/forum ID values, and referential integrity is maintained throughout.

    In reply to: Thanks plugin

    @bingsterloot … “ask and ye shall receive” (to quote an age-old saying). Version 0.7 of the plugin has been released and votes are now immediately refreshed via AJAX and the old static “thanks” message removed from the admin area too.

    In reply to: Thanks plugin

    Version 0.6 has been released, with the features mentioned in my earlier post: no voting link if you’ve already voted, and an optional list of users who’ve voted “thanks”.

    As always, let me know what you think.

    In reply to: BBPM Problem

    I installed the plugin, deleted the table … then walked through rebuilding the database from what I saw in the code. The following SQL is an export of my bb_bbpm table direct from mySQL. If you run it, you should get PMs back up and running.

    CREATE TABLE IF NOT EXISTS bb_bbpm (

    ID bigint(20) unsigned NOT NULL auto_increment,

    pm_title varchar(100) collate utf8_unicode_ci NOT NULL,

    pm_read tinyint(1) NOT NULL default 0,

    pm_from bigint(20) unsigned NOT NULL,

    pm_to bigint(20) unsigned NOT NULL,

    pm_text text collate utf8_unicode_ci NOT NULL,

    sent_on int(10) NOT NULL,

    del_sender tinyint(1) NOT NULL default 0,

    del_reciever tinyint(1) NOT NULL default 0,

    reply_to bigint(20) unsigned default NULL,

    thread_depth int(10) unsigned NOT NULL default 0,

    pm_thread bigint(20) unsigned NOT NULL,

    PRIMARY KEY (ID),

    KEY pm_to (pm_to,pm_from,reply_to),

    KEY pm_thread (pm_thread)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

    In reply to: Thanks plugin

    Great feedback, thanks!

    I’ll modify the plugin so that if you’ve already voted I’ll have it take away the voting link.

    I’ll also look at writing out a list of who has voted “thanks”, but by default that output will be turned OFF. You will need to enable it via the admin interface.

    Is anyone running this plugin on the 0.9 branch of code? I see no reason why it shouldnt function, but someone has asked if it does. If someone can give me a yes / no on that I’ll amend the “Requires version” tag accordingly.

    In reply to: Thanks plugin

    I just committed files to SVN … the “thanks” plugin is a reality and available to test. I’m waiting on the refresh cycle of the plugin browser for it to appear on the site now.

    There are plenty of 3rd party libraries that deal with the feed reading. Thus far I have a working admin screen that relies on AJAX services to validate a given feed URL. Combination of a GOOD rss library on the backend, and the encode_json() method from PHP means I’m golden for right now.

    Milestone 1 of the plugin is complete – administration page to handle a single feed. Milestone 2 is starting – using that data to actually monitor the single feed. When Milestone 2 is completed I’ll grab a couple of people to beta test.

    In reply to: Thanks plugin

    @Michael R – I am creating an admin page to let you change the voting text – it will let you say whatever you like. Out of the box, it will say “Add your vote of thanks”, and “# said thanks for this post”. The admin page will let you purge all votes, choose if you want the thanks div to appear before or after the actual post (to aid in CSS styling) and some prefix / suffix suffix text (to aid in CSS styling).

    Note: if you enable the plugin you will need to tweak the CSS of your forum template to style it. That goes way beyond the scope of the actual plugin itself though!

    I think there are a number of big architectural hurdles to get over. In WP I bind a given slug to a page on a 1-to-1 basis, and that’s what is used to resolve a given URL. If I have a forum I would want “virtual page slugs” where anything starting with (say) “/forum” is passed to my plugin for resolution of the rest. The URL processing in WP is messy (to say the least) and is a perfect example of the opposite of the “Open/Closed” OO design principle – “Closed to modification but Open for extension” – I imagine that a rewrite of that code would go a long way to improving WP itself.

    If bbPress were hosted on a single page using a WP shortcode, then the entire GUI needs to be re-coded to run fully AJAX as the user will need to remain on that particular page.

    Or, like me, you can grep the bbPress source for “do_action” and “apply_filter” to see what the code does. In any case, the code itself is the best documentation.

    In reply to: Thanks plugin

    I spent a little while looking at this at the weekend. There’s a nice ‘action’ that I can hook into for generating the voting links and output. A little more tweaking on the back-end (AJAX processing of votes) and I’ll be ready to let this out for a beta test.

    In reply to: Thanks plugin

    I’ve seen this in other forums – rather than scrolling the topic with lots of new posts saying “wow, thanks man, that link was exactly what I needed.” people can opt to click a button/link on a post to register a “thumbs-up” / “vote of thanks”.

    The template would then present these “thank you” votes in some form – perhaps a bar across the footer, or just below a given post, or in the meta-information somewhere. The presentation could be a simple count (“35 people said thanks for this post”) or maybe a list of names.

    Putting the “thank you” bar between posts lends itself to the forums that host ads in that space also. In most bbPress themes, I’d (personally) add the thanks message in summarized form to the space left of the post, under the poster’s name.

    It wouldnt be hard to collect the data (in the post_meta) table, or to add a link to add my vote of thanks to a given post. The challenge would be to modify the various themes – to “thanks enable” them – to display it correctly somewhere.

    The following plugins are mine, and I know they work with 1.0.2

    In reply to: Prefixes for Topics

    That’s the “support forum” plugin. The “support forum” plugin also lets you display a small icon next to the topics.

    The “topic icons” plugin will allow you to “skin” your icon set, if you dont like the default icons that “support forum” gives you.

    @bingsterloot – you are quite correct, no need to reinvent the wheel. Your plugin looks good! For someone synchronizing with their own WordPress, your plugin looks like the perfect solution.

    That said, the “Rss Poster Bot” is still something I will pursue as it will allow me to draw on news/posts from a variety of other sources so long as I have a feed. Think of it this way:

    1. a post is made to your favourite news web site
    2. the “Rss Poster Bot” pulls the feed and sees a new item
    3. the bot now makes a post to your bbPress forum, starting a topic
    4. local users are able discuss that news item

    I’ll give it a shot in my spare time and see how it turns out.

    I am planning to create a plugin to do this – I was going to call it my “RSS Posting bot” – with options to post new items to either a single thread or start a new thread for each item, and config to say who (which bbPress user) the bot should post as. Other than general design, however, I’ve not really got too far. Should I take it that you would like such a plugin created? If so, any other features you’d want?

    If you are running WordPress for your blog, then there’s a nice “extended user profile” plugin for WP (https://wordpress.org/extend/plugins/extended-user-profile/) that would allow you to add to the fields normally available. Tweak your WP theme, and all should be well.

    In reply to: Help out with bbPress

    I would be glad to help out in any way I can.

    I have an offline monthly fiction writers group I run, who coordinate via a bbPress forum. Administration of that’s been a breeze, and I can think of no better forum software to use. So I’ve had experience simply administering a bbPress installation (admittedly with only a couple of dozen active users).

    I’ve been creating custom themes & plugins for bbPress for a while for my own enjoyment, aiming to bend the software into new and interesting places. For instance

    1. making a very “blog-like” theme giving strong emphasis to opening posts with all replies looking like comments & discussion of the opening post
    2. writing and enhanced form of the RSS portion of the site to use bbPress as a super-flexible podcast hosting site generating iTunes compatible feeds
    3. Forum specific theming (a gaming site who wants an “XBox theme” active for certain forums, a “W.o.W theme” in others, etc)
    4. creating a fine-grained access control mechanism for forum/topic/board ownership and read/write privilages (to support separation of gaming forum admin, and multiple podcasters for 2 instances of its use)

    Prior to hacking on the bbPress codebase, plugins and themes I lived in WordPress land – themes and plugins – using it for blogs, CMS and podcast hosting.

    I write HTML/CSS/PHP for pleasure. Java/XML/etc is the day-job.

    You wrote

    WordPress didn’t have decent documentation until many years after it was around, don’t expect bbPress to be any different

    I am on the verge of writing something about my experience of creating a bbPress plugin as a set of guideposts for others to make use of. Not sure how much it would count as “documentation” so much as a quick-start to get someone rolling.

    For what it’s worth (and probably a little off-topic) but my newly released “User Directory” plugin integrates with the “Private Messaging” plugin, assuming that it is active in a given user’s forum. While it’s not an enhancement per-se, it does raise the status of your changes a little and hopefully drive downloads of both plugins.

Viewing 23 replies - 26 through 48 (of 48 total)