Search Results for 'phpbb'
-
Search Results
-
After getting progressively more annoyed at the amount of spam on our previous forum that ran on PhpBB and also finding out how frustrating it was to customise the look of it I decided to give bbpress a go.
I’ve already built a few WordPress powered website so was already impressed by how it was built and how easy and intuitive it is to customise and extend so bbpress seemed like a perfect direction to take the new forum.
It was very important that we kept all of the content and user base from the old PhpBB forum so I was delighted when I found a script on here to convert the PhpBB database into the new bbpress forum. The script wasn’t perfect though so after a bit of tweaking over 2 evenings I finally got it into a good state. There are still a few issues with broken links, images and smilies but slowly it’s being edited.
I’ve installed quite a few plugins and have customised the look with a custom theme.
Overall really impressed with bbpress and am even about to suggest it to a client. I hope it gains more traction as it’s a great platform compared to the other alternatives out there.
Where are we now?
Aside from the questions surrounding integration with WordPress, another of our big questions is “how do I import from _____” (insert a different forum product of your choosing)
Right now the approach is ad-hoc at best: We are handing a PHP script around hand-to-hand that is able to convert a phpBB v2.0.x forum over to bbPress v. 0.9, and if you want to convert a different forum (say, SMF) the accepted wisdom is to install phpBB, convert to that, then convert to bbPress 0.9 and then upgrade.
The official coding standards for WordPress state:
Avoid touching the database directly. If there is a defined function that can get the data you need, use it. Database abstraction (using functions instead of queries) helps keep your code forward-compatible and, in cases where results are cached in memory, it can be many times faster.
As it stands bbPress imports clearly violate that principle by using the script we are passing around.
Solving the problem
Importing data clearly is an example where a strategy pattern solves things in an elegant fashion.
The strategy pattern (also known as the policy pattern) is a particular software design pattern, whereby algorithms can be selected at runtime.
The strategy pattern is useful for situations where it is necessary to dynamically swap the algorithms used in an application. The strategy pattern is intended to provide a means to define a family of algorithms, encapsulate each one as an object, and make them interchangeable. The strategy pattern lets the algorithms vary independently from clients that use them.
More concretely, this means creating a bbPress Import plugin which provides an overall multi-step process, and delegates to an external sub-plugin to retrieve the external datasource specific steps. I would argue that this ought to be a plugin (and remain a plugin rather than being pulled into the core of bbPress) because once you’ve imported from a given external forum, you can deactivate and uninstall the “import” code as its no longer required.
Roadmap
- We need to create a basic import plugin. — This I have done, it’s experimental and I’d like some more eyes on the code before calling it “done”
- We need to create import strategies for external forums, starting with phpBB2 — This I have done, by extracting SQL from the script we all pass hand-to-hand. Again, it needs more eyes on the code as a QA step.
- We need to create import strategies for other external forums, specifically SMF and phpBB3 — this is where the strategy pattern comes into its own – each can be developed independently and combined later. Its also a great place for community input.
Looking further out
The import plugin relies on calling the internal
bb_new_post
,bb_new_topic
,bb_new_forum
and to a certain degree thebb_new_user
methods. As we move toward bbPress being a plugin to WordPress, these will become the only way to import data, as the script we pass around will become evermore obsolete.Secondly, WordPress itself has an import framework. I suspect that any “import plugin” we write now will become somewhat obsolete in that timeframe. That said, if we do things right, the import strategies we create might migrate over. What I dont know is the timeframe. Is the bbPress-as-a-plugin-to-Wordpress change close enough on the horizon that we should simply target the WordPress import framework directly?
Thoughts / comments?
I would like to start discussion regarding a single sign on feature, and developing integration for other platforms other than just wordpress “joomla, drupal, etc” in order to open up the usability of bbpress and be less restrictive than just supporting WP.
conversion methods and tools for both CMS platforms and forum software conversion “preferably from “phpbb, smf, vb, vanilla” to bbpress of course ..
any ideas and suggestions are welcome