Some months ago, I created two projects for creating backups and archives for PunBB forums:

PunBBArchiver
PunBBArchiver is a set of PHP and Python scripts that create a plain-text archive of a PunBB board. There is a text file for each post (containing BB-code), and the files are organized in directories by category and thread. The archive should automatically be zipped and it should be possible to create one every day, so that users can download a recent backup file anytime. You can download example archives at McDuck.nl forum archives.

PunBBDownloader
PunBBDownloader is a set of Python scripts that can be used to download the content of PunBB boards and create usable plain-HTML archives of them. The archives are browsable just like real PunBB boards, but users cannot sign in, post messages, change things or search. You can use it to offer a (downloadable) archive of your (closed) forums or to download forums owned by other people who do not publish an archive themselves. An example of a PunBBDownloader-archived board: Off-topic.

Both archive types have their own advantages and disadvantages. They both are based on open standards though, which means that they'll probably still be useful after 50 years (in contrast to a PunBB forum which needs specific versions of PHP, a database system and PunBB itself).

I know there is some interest in these tools, but I'm not interested in further developing them. So I am wondering whether there are people from the PunBB/FluxBB community who want to take over, finish and maintain them. I will help them getting started with my code (if a complete rewrite isn't needed). It would be even better if something like this can be 'officially' built into PunBB/FluxBB -- it would become the first forum system where people's contributions don't eventually get lost.

2

(15 replies, posted in Feature requests)

Sometimes tagging on the web ('web 2.0') is a bit over-hyped indeed. But in this case I would think allowing multiple categories for one discussion can be very useful, when that discussion spans multiple topics. Then it would be more logical to call those categories tags or labels.

For the page I created there doesn't have to be tagging in PunBB. You can substitute the word 'label' for 'category' there if you want. What would you think about the design / functionality then?

3

(15 replies, posted in Feature requests)

Paul wrote:

What happens when you have a very large board with dozens of forums where members might only be interested in a small subset of the forums. You would need a setting in user profile where they could set from which forums they wanted topics to appear. All that filtering sounds like it would involve a lot of work for the database.

I don't see how that would cost a lot of work in the database. There might be one extra field in the users table ("show_labels") with for example the content "1,2,4" for someone who only wants to read about the topics with those IDs. Then that value could be converted to an array, and I guess it wouldn't be too hard to use it to select posts matching those labels ("SELECT * FROM posts WHERE label = 1 OR label = 2 OR label = 3").

Will it be possible to make such a thing with the upcoming extension system in PunBB? Can I modify the front page so that it looks like in my example?

Paul wrote:

I've seen comments about vanilla which suggest that their system of displaying all topics by default is fine for smaller boards but not so good for large busy boards. Isn't the same going to be true here.

I think that depends on what the forums are about. I'm hosting forums about Disney comics, and most visitors are interested in all topics discussed there. Putting them all in one category/forum would make topics hard to find, but using the 'classic' category system (instead of tags/labels) doesn't seem to be the best solution either. I understand that this is different when you have more general forums about various subjects, so probably it isn't a very good idea to use this tagging system in PunBB by default.

4

(15 replies, posted in Feature requests)

I made a simple static page showing how the viewforum.php page could look.

5

(25 replies, posted in Feature requests)

I'm still wondering what Rickard thinks of putting an (optional) time limit on editing posts. If you don't want to implement it, will it be possible to make  with a plugin in 1.3? (Will there be a 'hook' in edit.php?)

6

(52 replies, posted in PunBB 1.2 discussion)

They're great, thanks FredrikK & Co.! http://www.brunna.se/forum/img/smilies/storstark.gif

Probably the same bug: entering

[url=http://punbb.org/forums/][quote]test[/quote]
[/url]

outputs:

<a href="http://punbb.org/forums/"></p><blockquote><div class="incqbox"><p>test</p></div></blockquote><p></a></p>

8

(25 replies, posted in Feature requests)

Agreed. Maybe there could be an option to have one group being able to edit their post always (for FAQs), or only the first posts in topics. But at my forums, with quite serious discussions sometimes, the idea that people are able to change their old posts and manipulate the discussion is scary.

9

(25 replies, posted in Feature requests)

Rickard wrote:

Sander D: I will consider it smile

Have you already considered it? I think there are no good reasons for editing posts from days ago, and it can only cause confusion in discussions.

10

(0 replies, posted in PunBB 1.2 discussion)

Shouldn't the markup of quotations be different? Now the HTML code for

[quote=Somebody]Something.[/quote]

is

<blockquote>
    <div class="incqbox">
        <h4>Somebody wrote:</h4>
        <p>Something.</p>
    </div>
</blockquote>

, but the HTML 4.01 (and thus XHTML 1.0) specification states that

W3C wrote:

[t]hese two elements [BLOCKQUOTE & Q] designate quoted text. BLOCKQUOTE is for long quotations (block-level content) and Q is intended for short quotations (inline content) that don't require paragraph breaks

, which implies that text inside the BLOCKQUOTE should only be a quotation, and should not contain the name of the author. The Web Applications 1.0 draft also states that

WHAT WG wrote:

Content inside a blockquote must be quoted from another source

. So I think the "Somebody wrote:" text should not be in the BLOCKQUOTE, because it doesn't come from another source. How about

<p class="citation">Somebody wrote:</p>
<blockquote>
    <div class="incqbox">
        <p>Something.</p>
    </div>
</blockquote>

? (And can you get rid of the <div class="incqbox"> too?)

11

(28 replies, posted in PunBB 1.2 discussion)

Rickard wrote:

Does PHP contain an XML parser that could be used for this?

I think DOM XML would be useful for that. It's replaced by the DOM extension in PHP 5. Maybe you can make two versions of the BBCard parser, if DOM XML and DOM don't have much differences.

Rickard wrote:

If so, is this parser enabled by default and is it available in all post 4.3.0 versions of PHP?

DOM XML isn't enabled by default I think, but I don't know how many providers have enabled it. (Mine has, for example.) In PHP 5, DOM is enabled by default.

Maybe you can make the BBCard support optional, for those who have XML enabled?

There still are problems with the BBCard I proposed, like the fact that every system uses it's own BBCode (or maybe that could be standardized too?).

12

(28 replies, posted in PunBB 1.2 discussion)

This BBCard idea sounds good. I think using RDF or VCard isn't really necessary and only makes things more complex. Storing passwords wouldn't be a good idea either, because it's dangerous to use one password for multiple web sites.

What do you think about this:

<user xmlns="?" xmlns:PunBB="http://punbb.org/1.x" xmlns:phpBB="http://www.phpbb.com/2.x">
<!-- Each BB system can use it?s own namespace -->

    <nickname>Donald Duck</nickname>
    <nickname>Duck, Donald</nickname>
    <nickname>DD</nickname>
    <!-- Users can have several alternative nicknames, in case the preferred one is already taken -->

    <nickname preferred="yes">Donald</nickname>
    <!-- The preferred nickname can be marked with preferred="yes" -->

    <nickname for="http://gamingsite.example/forums/">CyberDonald</nickname>
    <!-- Users can specify a preferred nickname for one forum -->

    <resource title="Disney Online - The Official Home Page of The Walt Disney Company!">http://disney.go.com/home/today/index.html</resource>
    <resource title="Donalds Imaginary Weblog">http://donaldduck.example/blog/</resource>
    <resource>xmpp:donald@disney.com</resource>
    <!-- The user can specify several URIs/IRIs for multiple web sites, an email address, etc. -->

    <resource public="no">mailto:donald@disney.com</resource>
    <!-- This user doesn?t want his email address to be displayed -->

    <real-name>Donald Fauntleroy Duck</real-name>

    <location>Duckburg, Calisota</location>

    <signature type="application/xhtml+xml" xml:lang="en"><body xmlns="http://www.w3.org/1999/xhtml"><blockquote><p><cite>Donald</cite>:</p><p>Quack!</p></blockquote></body></signature>
    <signature type="text/x-bbcode" xml:lang="en"><![CDATA[[quote=Donald]Quack![/quote]
]]></signature>
    <!-- Users can have several versions of their signature -->

    <avatar width="10" height="10">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9EFBAoYMhVvMQIAAAAtSURBVHicY/z//z8DHoBH+v///yy4FDEyMjIwMDDhM3lgpaEuh7gTEzDiDxYA9HEPDF90e5YAAAAASUVORK5CYII=</avatar>
    <!-- Avatars could be provided as ?data? URI? -->

    <avatar width="80" height="80" preferred="yes">http://gravatar.com/avatar.php?gravatar_id=49df1f21d9f8ebe4793c249be9520edb</avatar>
    <!-- ?or as a link -->

    <topics-per-page>30</topics-per-page>
    <posts-per-page>14</posts-per-page>
    <allow-form-mail>yes</allow-form-mail>
    <show-smilies>yes</show-smilies>
    <show-images>yes</show-images>
    <show-images-in-signatures>no</show-images-in-signatures>
    <show-avatars>yes</show-avatars>
    <show-signatures>yes</show-signatures>
    <time-zone>-8</time-zone>
    <language>en-US</language>

    <style for="http://punbb.org/forums/">http://punbb.org/forums/style/Oxygen.css</style>
    <style for="http://bb.example/">http://www.w3.org/StyleSheets/Core/Chocolate</style>
    <!-- Users can specify their preferred style sheet -->

    <PunBB:save-password>yes</PunBB:save-password>
    <PunBB:use-avatar>yes</PunBB:use-avatar>
    <PunBB:title>World?s Most Famous Duck</PunBB:title>
    <PunBB:msn><phpBB:msn>donald.duck@disney.com</phpBB:msn></PunBB:msn>
    <PunBB:irc><phpBB:irc>123456</phpBB:irc></PunBB:irc>
    <phpBB:occupation>Unemployed</phpBB:occupation>
    <phpBB:interests>Sleeping</phpBB:interests>
    <phpBB:private-messaging>no</phpBB:private-messaging>
    <!-- System specific settings -->

</user>

I'm trying to make an XML-based forum system, so something like this would be useful for the database and for a BBCard system, if Rickard and others are going to implement it too.

13

(27 replies, posted in Feature requests)

Okay, but the [ code]-tags don't serve any purpose at both of my non-technical forums. I think there are many forums where people talk about books, movies, tv series and computer games. Those discussions often contain spoilers.

14

(27 replies, posted in Feature requests)

Could this spoiler tag be implemented in a new version of PunBB, instead of a mod? I think it's useful for many forums, and it doesn't really decrease the performance of PunBB, I think.

I'm using this code at my forums now:

// After $b[] = '[ code]$1[/ code]'."\n"; (line 78)

$a[] = '#\[spoiler\]\s*#i'; $a[] = '#\s*\[/spoiler\]#i'; $b[] = '[spoiler]'; $b[] = '[/spoiler]';

// After '<span style="color: $1">$2</span>'); (line 332)

$text = str_replace('[spoiler]', '</p><div class="codebox incqbox spoiler"><h4>Spoiler <span style="font-weight:normal">(click the black bar to read the text)</span></h4><p style="background:black;color:black" onclick="this.style.color=(this.style.color==\'black\'?\'white\':\'black\')">', $text);
$text = preg_replace('#\[\/spoiler\]\s*#', '</p></div><p>', $text);

It still isn't ideal, but it works when using multiple paragraphs. It doesn't work well when you use a link or an image.

15

(0 replies, posted in Feature requests)

Shouldn't the forum descriptions be shown at the forum page itself too? So that when you go to PunBB.org News, you see the text "News and announcements will be posted here." The same goes for the moderator list. I think you should get more information about a forum when you click on the link, not less.

16

(27 replies, posted in PunBB 1.2 discussion)

Looks nice. Maybe you can put the link relationships in the <a>-tags (like <a rel="next">), so that they can be used with the Link Toolbar?

Or still add the <link> tags, so that they can be used in Opera and other browsers? I don't think they support <a rel="next"> etc.

17

(27 replies, posted in PunBB 1.2 discussion)

Opera and Mozilla (and some other browsers like Lynx) support them. For Firefox, there is the Link Toolbar extension, and there's one for Internet Explorer too.

18

(27 replies, posted in PunBB 1.2 discussion)

You could at least use HTML links, for the browsers that support it (or have extensions for it):

<link rel="next" href="…" />
<link rel="previous" href="…" />
<link rel="first" href="…" />
<link rel="last" href="…" />

This didn't work at my server, where MultiViews is turned on. /post/1/ is being redirected to /post.php/1/ then, and gives an error. It was solved by putting

Options -MultiViews

in .htaccess.

20

(15 replies, posted in Feature requests)

Hm, the labels/tags could be shown at the front page, just like the categories are now. One page with all topics could be useful too, but maybe only if you click on the link for that.

21

(15 replies, posted in Feature requests)

It wouldn't have to be very different from how PunBB works now. In fact, maybe you'd only have to call the forums tags and allow multiple tags for one topic. But still it might be more flexible than the system most forum systems are using now. I like the Gmail system better than having folders like in most other email services.

22

(15 replies, posted in Feature requests)

How about using tags/labels for topics instead of categories? Then you could add multiple tags to a topic about multiple subjects. This system works very well at e.g. Gmail and Flickr and it would make finding topics easier.

23

(25 replies, posted in Feature requests)

A time limit for editing would be a nice feature indeed. People are requesting it at my forums too.

24

(6 replies, posted in PunBB 1.2 discussion)

This isn't complete safe, because people can change the user agent field in their HTTP headers, and pretend to be the Googlebot. I don't think there's a safe way to do this.

25

(7 replies, posted in Programming)

Rod wrote:

but ... how declare php in css ?!! rename the css file in php ?!

Yup. Or change the MIME type of .css files on your web server to the PHP MIME type, but I don't see any point in that.