There's been lots of talk about morphing pgpBB into a portal, which I think is a great idea. This seems, however, a little like the tail wagging the dog. I think we need to conceptualise the portal, and move what we can from the phpBB codebase into that concept.
I envision a multi-db aware platform, using transactions. If the db you choose does not support transactions, then the codebase needs to cope with that. ADODB is a good example there. Also, DBCache is just a given. The more traffic you get, the more you need it.
A user/group security model is required, and all entities within the portal would need to be able to interact with the model. From some as major as an entire section of a site, through to a single line within a message. Envision something like [group admins.moderators!interstate]this will display to members of the admins and moderators groups, but not to members of the interstate group[/group].
From there, a universal threading system is required. This allows you, for example, to create a topic, insert a message within it, reply to the message with another message, reply to that message with an image, reply to the image with a rating (think a voting poll), etc. WHAT the reply is becomes immaterial - it's just another thread aware object. Display of these threads are up to the admin and user. You can also disallow replies to that thread, making a Poll just a Poll.
This then moves into objects. Using some form of modular object creation system would allow you to fashion the site as you choose. Create a Topic called "Gallery", thread in Topics called "Albums", thread in Media called "Pictures", thread in a Poll called "User Ratings", thread in a Topic called "Discussions" and limit this thead so users can only enter Messages, etc. Another exmaple, create a Topic called "Downloads", thread in a Database Object called "Files" which view/access is controlled by the security system. Examples could continue easily.
Objects would include: Topic (aka Folder), Message, Media (aka JPEG, PNG, GIF, SWV, MOV, MPG, etc), DBObject (aka BLOB), Poll, Link, Event (aka Calendar type objects), and more.
Now, wrap all this in a template system.
From what I've seen from phpBB2, the user/group system, templates and database sections are all looking good for this model - although I suspect ADODB has a better range of DB options and functions - although I may be wrong here. The message system has also evolved consideribly, but in itself, it's a few steps outside of an "object" type environment.
Well, that's my thoughts on the issue. I've helped on the PHPNuke project till I had my fill of the developer, moved onto PostNuke for a bit, and then helped write the Geeklog weblog. I seriously think my conceptual model is the next step ....
Your thoughts, ideas, and concepts are welcome, please add them
Flames sent to /dev/null ...