A Simple Forum

Hi. Firstly I would like to thank everyone who tested that version of the forum. God knows it had it’s issues. But, not one for letting a project die, I decided to resurrect it a few weeks ago. I have learnt alot since the last version and the new version is a lot better.
<snip/>

This version uses the PHP framework “Silex” and HTML template system “Twig”.

Because of this, errors should be kept to a minimum and development will be a lot faster.
There are also several tests ran both while coding and deploying. Stuff like grunt and jshint for parsing errors and php unit for unit tests.
The code is also deployed via git which means no more FTP errors.

I have also implemented caching in 2 forms. The first and default method is disk caching. Data will be encoded and saved in files so they can be accessed later rather than pulling info from the database all the time. The other method is NoSQL. I use mongodb as a caching layer and store information in collections (similar to disk caching method).
<snip/>

The design of the site has been improved a lot and will continue to see improvements as I develop more towards a mobile friendly structure.

<snip/>

Thanks

Edit:

continued from A Simple Forum (Forum Software)

It says the domain is pending for renewal or something :X

Sorry, I forgot I was letting that domain expire in favour of the .co.uk one. <snip/>

Just a quick heads up. I’ve changed the structure of the site to include a home page. <snip/>

To be quite honest I don’t understand how this software would meet the business needs of most clients when compared to more mature solutions. It puts a bad taste in my mouth also that the software hasn’t changed in about year. For a years worth of work it doesn’t really look like much is there. Perhaps it was a nice exercise in Silex but otherwise I don’t see it being all that practical when compared to the main players. Especially with the amount of work and large community surrounding those platforms. Things like this make a great exercise and learning experience but there is really no comparison when it comes to powerful features offered by the main stream competitors that most clients looking to have a forum will eventually want/expect are *easy things to do/configure from a technical stand-point. Silex is great and all but really provides very little in terms of what competitors offer from a business and value perspective. I would choose the value of features that are easily configurable over clean but what many clients would refer to as incomplete software based on their expectations of a one-install forum any day. I know that sounds harsh but really there just isn’t much there. Putting that aside I disagree with the decision to use Silex. A forum is in all sense of the words an application to me. So if you are starting from scratch you should probably be using the entire Symfony stack since eventually you would probably need it all/most of it if you are to further develop this platform. Silex is really just meant for mini applications and a practical forum software package is not a mini application. If this were to evolve you would most definitely need a MVC architecture, sophisticated router, mailer, database asbraction layer/ORM, authentication, authorization, asset management, etc and by the time you add all that you’re pretty much using the standard Symfony stack anyway.

I think in order for this to gain traction is to foster a good development community. For that you will need great documentation and make it easy for others to get involved. Also you need a good plugin architecture to allow people to extend its functionality and make it easy for creating new themes also.

I will have a proper look at it when I get a chance.

For a years worth of work it doesn’t really look like much is there.

I haven’t said I have been working on this version for a year, I stated that I started developing it again from scratch a few weeks ago.

Especially with the amount of work and large community surrounding those platforms.

They all started out somewhere too didn’t they? Whats to say that a small company/person can’t compete with them? Yes they have bigger communities and stuff like community made addons but everyone has to start somewhere.

This project has technically been in development for a few of years (the first version was back in 2010), but this version is new and reworked. Yes there isn’t much content but I haven’t advertised this as a complete project. I’m probably looking at another couple of months just to get the core finished and the features I have in mind.

It will always be evolving and I may decide to use Symfony over Silex but that remains to be seen. Most people I talked to when planning this version advised Silex over Symfony and it is (so far) providing everything I need.

I haven’t looked at Silex yet but I am not fond of symfony with their controversial “code annotations”. I like CodeIgnitor for its simplicity.

Have you looked at discourse.org? They have some good ideas. Also some very bad ones like making a forum that is very difficult to install. I like Wordpress famous 5 minute install and I think without that it will be an “elitist” project. I’ve been trying to install discourse for 3 weeks but still no avail and I installed vanillaforums in half hour on my first attempt.

I think it would be helpful if you explain in a blog what makes your forum different from others. Like does it work better with mobile apps? Is it easy to install?

One thing I wish forums had is the ability to uploaad photos and not just link to them. When I posted to a physics forums I wanted to upload some diagrams in png format but they suggested I use photobucket which I hate using from mobile and in the end I had to upload some images to my vps and link to them. However what happens when I move my vps to another provider that forum will then have broken image links!!

Another possibility which will help your market share is the ability to integrate with wordpress.

Of course a lot of these things could be done via plugins as well. On a side note, when you get to designing your plugin architecture, please dont do “monkey patching” with plugins the way phpBB does. Its something I’ve grown to dislike immensely.

[ot]

You know you can upload photos to this forum, don’t you? In fact, we have a photo competition thread open right now. :)[/ot]

Off Topic:

I didn’t know but thats because I usually access sitepoint via Tapatalk but that’s good to know. :slight_smile:

I think it would be helpful if you explain in a blog what makes your forum different from others. Like does it work better with mobile apps? Is it easy to install?

At the minute nothing is different, it is actually missing a lot of content. But this has only been in development for a few weeks now.

Understood, but it might still be helpful to understand your vision for the future.

The plan is for the forum to be simple to install, simple to change and simple to create plugins for. So many times I go from a site to their forum and the forum looks completely different. Even if they have managed to get the colors the same as the main site. I’m not saying that users will be able to make A Simple Forum to look exactly like their home site, but a close approximation is better than not.

Forums have all been the same for years and most of them are exactly the same. I’m not only looking to create a forum, but to change the way they work, and the way they are presented to the user. Granted you may not see much of hat yet but I need to build the core before experimenting and implementing new ideas. One example is the pagination, although there are a couple of forums that do it the same way, the plan was to remove needless page redirects and just use a continuous stream (like facebook).

I also want the community heavily involved in this project ( I haven’t been able to drum up much interest so far ). Plug in modules made by the community are good, but what about having them already in the code when you download the software? You may say that this will bloat the software with unneeded code but it will all be modularized, meaning users will be able to pick and choose components when they download.

I also want to offer more advanced features like post and topic analytics and provide an updated product to an old market. I have had a look through the source code of most forums out there and the code is very out dated. It could be a lot more efficient if time was taken to rewrite it.

I’m not saying that my software will be the best on the market ( when I finish it ), but I will make every effort for it to be competitive.

Just want to make this clear since some people seem to have misunderstood. This forum has only been in development for a few weeks. As such there is still a lot of work to do and shouldn’t be considered a complete package. There is no way to install it and no wiki or documentation. The current website is provided as a testing stage that you can use to route out bugs and suggest your ideas.

It will probably take another 4 weeks before I can confidently say the forum is in official alpha. Until then, there will be features missing (user settings, admin sections, moderator sections). The forum is currently very bare bones.

The reason it is open source is because the most interesting aspect of it (so far) is the code and the methods I have implemented, which makes it very different from other forums (using mongoDB as a caching layer for example).

Im currently working on an attachment system for posts. In older versions of the forum I have used php to handle this. This was to maintain cross browser support.

Now I am thinking of using javascripts FileData. This is a HTML5 thing and only works in IE10. So what do you think? Should I support the older browsers (namely IE) or should I use the modern approach. Everything else so far supports IE >= 8. The attachment system would just not be available for old versions. True I could code a fallback for them but I’m not too sure about that option.

[ot]As per discussion with doddsey_65, this thread is ~not~ a review request.
Please keep the discussion in terms of General Web Development & Application Design Issues[/ot]

Thanks for reinstating the thread @Mittineague ;

I decided to go with using HTML5s FormData. I realise that users of < IE10 won’t be able to use file attachments but I am looking to the future. I started ASF to create a forum that was different and modern (after looking through phpbbs horrible code :P).

I have also created a simple installer and brief documentation over at Github so you can install the forum on your local server if you wish.

A big update will be under way tomorrow. After reading comments on here and speaking with fellow developers I have decided to migrate from Silex to Symfony and support PSR-4. This will be a huge task but worth it. I had hoped that the core of the site would be done by now but this migration will take a few days to complete.

It does, however, mean that new features will be alot easier and faster to code and contributions will be easier.

Thanks
Carl

Ok, I am a little more familiar with symfony than silex. Trying to get my head around the “framework within a framework” was proving a bit awkward.

I certainly think its important to lower the barrier to new contributors which seems to be the big failing of so many forums.

I agree with you about phpBB. I particularly dislike their plugin architecture so I would like to put some thought into a good forum plugin architecture and maybe we can discuss it here (on sitepoint) with input from other members.

Input sounds good. I built this forum with the hopes that I would get ideas, feedback and support from not only fellow developers but all of the community.

In regards to PHPBB, I redownloaded their source the other day and they are using very outdated techniques. Using the global keyword is a pet peeve of mine :stuck_out_tongue:

I welcome anyone who has ideas regarding A Simple Forum and forums in general. I want this to be a community effort, not one person/company thinking they know what people want.

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.