A Simple Forum

Another thing that Discourse has is “expandling” links. If you put a link to a different post in your post, instead of showing only the link like
http://www.sitepoint.com/forums/showthread.php?1191091-A-Simple-Forum&p=5628164&viewfull=1#post5628164 it shows an excerpt eg.

It seems that the biggest innovations for forum-like web software seem to be within browser side javascript.

For instance, with Discourse there is the ability to paste in a youtube url, into the thread/post editor, and it automatically turns into an embedded video.

Both of those are ideas I will be implementing. I used to work for an online flash game company and when I created the forum for that I made it so if people added a link to a game it would show the thumbnail and description.

I have used JS heavily on ASF. I did plan on using something a bit more advanced such as building the whole app using NodeJS. This would have made an awesome user experience utilizing real time data, however it shrinks the target audience a bit considering most people on shared hosts wouldn’t be able to use it.

Ok so heres an interesting thing. While helping Kiwi to set up ASF on his server I came across the fact that PHP 5.3 doesn’t support the use of “$this” within closures ( which I use alot in ASF ).

I knew some things weren’t going to work in 5.3 (traits) but I was prepared to remove those things if it meant getting it working on 5.3. Now, however it looks like the whole app depends on 5.4 since I use closures alot and it would require some hacks to get “$this” working for them.

So do you think I should give in and break out some hacks to support 5.3? Or, since 5.3 is deprecated anyway, do you think I should stick with 5.4?

Yet another issue surfaced while I was looking at what might be needed to implement a plugin system. I looked at the way vanillaforums does it, using magic methods. However there is a gap in its functionality: there is no “reply by email” plugin because there are no “cron-like” hooks to plug into. Because email systems don’t fire an “email arrived” event you effectively have to poll it. Not sure how you would do that without cron functionality and I know many budget-budget web hosts don’t provide a cron service.

I’ve resorted to “pseudo-cron” in the past. eg. on the first page load in a given time span I call a script.
Not the best solution since if the script is time heavy that user’s experience will be degraded, but it works.

While I do need to take things like a plugin system into consideration they aren’t at the forefront of my mind at the minute. I still need to work on a lot of things to finish the core of A Simple Forum and still need a lot of beta testing.

From this post and other posts on forums/social networks I have around 2,000 views. However the site only gets 1 maybe 2 visits per day and none of them are interested in testing or even engaging. Need to think of a better way to promote it for beta testing

Just a quick heads up. I have added documentation to the forum in the form of phpDocumentor. This will help those of you wanting to read through the code and understand it a bit more. Or it will do once I have added some comments to my code (never been one for doing this).

You can access the docs by clicking on the “Documentation” link on the forum or by going here.

The only one that is complete is the small language class located here. From this you will be able to get a general idea of what use this will be.

If you want to help with commenting (since its low on my todo list) then you can fork the repo on github, add some comments and then submit a pull request. This would really help (as would some general testing).

Thanks

Okay lets get the ball rolling with some discussion. This is an internal list of things I have planned. Items ending with a ? require some discussion before I decide. If you want to add anything to the list then please do. Would love to get some thoughts on this.
These are not in any sort of order btw.

Moderators
- Add notes to a users account which will be visible in moderator and admin sections (Eg: This user could be a bot). This enables mods and admins to “watch” users who become suspect.
- Perform actions of a batch of topics at once (via checkboxes). EG: Delete 7 selected topics
General
- Post revisions. Users will be able to click a link under an edited post to see all revisions of that post

User Settings
- Changes to profile settings from within the profile page with one click
- Profile background images
- Ability to move modules around on their profile?
- Themes that override admin options?

Admin Settings
- Basic template editing such as colors. Admins will be able to select a color for pre defined sections of the site (EG headers, footers, links)
- Several email templates that can be changed easily from within the admin panel

Editing
- Markdown editor (may show preview pane or may be updated on the fly)

I also want to point out a feature that hasn’t been documented on as of yet. Admins can choose how to handle double posts. I’ve been on a lot of forums with strict rules on double posting and users have had to be warned due to this. With A Simple Forum the admin has 3 config options to target this.

Allow: Double posting is allowed
Disallow: Double posting is not allowed (User will have to edit last post)
Merge: Another post is allowed but it will be merged with the last post under a heading of “Update”.

Maybe if you give an indication on, say, a scale of 1-5, where 1 is easy, 5 is hard,how easy each feature is to implement.

@Kiwiheretic They are all easy to implement. I would give a rating of 2 to all of them :stuck_out_tongue:

Also, since I consider Discourse to be my main competitor in terms of revolutionizing the forum market, here are some stats from GTMetrix: http://gtmetrix.com/compare/KNC92CBN/Rwmgm9k8

Some of these things cant be helped (like gravatar avatars) and discourse does have more content on the page.

In addition to being able to delete, I think mods should be able to move. eg. a PHP page that outputs faulty mark-up posted in PHP but should be in HTML

Maybe due to tiredness (4:30am here) but I dont think I understand this bit:

eg. a PHP page that outputs faulty mark-up posted in PHP but should be in HTML

Sorry, I should have said “PHP forum instead of the HTML forum
Sometimes a member might have trouble deciding what forum to start a thread in. Another example, my PHP database code doesn’t work so I start a thread in the Database forum. But it becomes realized that the problem isn’t with the database schema or query, and is a mistake with the PHP code. If left in the Database forum (presumably frequented by database pros) it likely won’t get the help it would get if it was in the PHP forum (presumably frequented by PHP pros)

Does VBulletin not have that already? I am sure myBB does. Bit surprised to hear that some forums don’t have that.

I will be providing the capabilities to move topics. These will follow the batch methods aswell so mods can move several topics at once. The admin will also have to option to display a ghost topic or not (the topic in the original forum is still displayed but servers as a redirect to the new location like Sitepoint (VB) does).

Yes, vBulletin does have it. Just that post #28 had “batch … eg. delete” but didn’t have “move” anywhere so I was just making sure.

I just noticed that Private Messages isn’t there. Could be a pain, but might some want and expect it?

Private messages are in the works (I should have mentioned that the list is not comprehensive and just a few ideas I had while looking over other forums). If I recall the very first version of A Simple Forum had private messaging so yes it will defiantly be a feature and a bit better than VB’s :p, you will be able to see previous replies to messages within the current message rather than having to go back to the inbox and look at the previous message.

I’m curious. What makes it “Simple”?

eg. lightweight pages, easy install, easy to use, less code bloat at the expense of some of the usual features?

You know I have only been asked that question once @Mittineague. It was originally supposed to be a very simple forum. Few features, small code base (no MVC and custom router). But I kept adding features to it and thinking of bigger and better things, but the name stayed. Even though changing the name now would have little impact on SEO and page ranks I feel compelled to stick with it (I hate naming projects). The install process, however, will be simple. It wont be “one click install” as there are a few settings that need to be defined but it will be a complete “guided wizard” and a lot quicker than something like phpbb.