We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

EE to build an Image Board?

How Do I?

Brainwrek's avatar
Brainwrek
75 posts
8 years ago
Brainwrek's avatar Brainwrek

Hi. I have a new client who wants to make an Image Board site for full time RVers and live aboard boaters.

They want something like 4chan, but WITHOUT anonymous posting. And they want it to be more modern looking – kinda like NodeBB. So a regular Image Board script won’t work because they don’t seem to support memberships. And a vBulletin-type forum would require a tonnn of hacking to make it right.

So I’m thinking EE might work.

Requirements would be:

  1. Front end member registration

  2. Front end posting by all members

  3. Picture upload required to create an new post

  4. Picture upload optional on all comments

  5. Front end post and comment uploads restricted to images only – .jpg, .gif, .png

  6. Appropriate security to prevent uploading malicious files disguised as images

It’s been a very long time since I’ve used EE – and I’ve never used EE3 – but I’m thinking it’s the most robust platform for this sort of thing. Just wondering how many of these requirements can be accomplished with EE3 out of the box?

       
Derek Jones's avatar
Derek Jones
7,561 posts
8 years ago
Derek Jones's avatar Derek Jones

Sure this sounds right up ExpressionEngine’s alley, with maybe a snag on #4 only.

  1. Check.
  2. Member groups can be given publishing rights to any Channel you create. Front end publishing would use Channel Form. You can see a very basic example of Channel Form on our showcase submission page. Ours is open to guests, but posts are not published until a moderator approves them. Allowing anonymous guests to post is optional, the default is to respect your member group privileges.
  3. You can set individual Channel Fields as “required” which will only allow publishing with content in those fields.
  4. Commenting does not support file uploads out of the box. You could enable this functionality with a fairly simple plugin, but would require a little PHP know-how.
  5. You can restrict a File Upload location to “Images Only”
  6. ExpressionEngine will validate both that it’s a legitimate image file, and that it does not have embedded XSS hidden in the file which might be executed when the browser renders it.
       
Brainwrek's avatar
Brainwrek
75 posts
8 years ago
Brainwrek's avatar Brainwrek

Cool man. Thank you for the detailed answer.

Everything is looking good!

But I am concerned about #4 – allowing pictures in comments. My PHP skills are about as advanced as my belly dancing skills – that is to say – nonexistent. So I’ll have to chew on that.

Can you comment on the scalability of something like this? This client is running a couple of old-school forums with nearly 120,000 members combined – and these folks love to share pictures.

So I’m planning to use either Amazon S3 or a separate media server. I think I have that worked out.

But what about EE? Can it handle hundreds of thousands of channel entries, comments, and the associated assets?

       
Jeremy S.'s avatar
Jeremy S.
353 posts
8 years ago
Jeremy S.'s avatar Jeremy S.

ExpressionEngine (v.2), powered the campaign sites for both Obama and Trump… I’m sure with the right server support/infrastructure etc., you’ll be good. If I’m not mistaken, ee powered whitehouse.gov for a while under the Obama administration as well.

       
Brainwrek's avatar
Brainwrek
75 posts
8 years ago
Brainwrek's avatar Brainwrek

Hi Jeremy.

Thanks for that. I know that EE has been a great choice for some very high-profile projects (handling lots of traffic). No worries about the traffic part.

I’m just concerned about how it handles a huge data set (on both the front and back ends). Hundreds of thousands of entries – even with low traffic – could bring a CMS to its knees if it’s not well designed.

I Googled it, and several years ago this issue was discussed. Indeed, it seems EE 2 did have some performance issues with large data sets. Wondering if anything has improved since then.

       
Derek Jones's avatar
Derek Jones
7,561 posts
8 years ago
Derek Jones's avatar Derek Jones

Much of the issues of scale with content at extreme volumes are an environmental issue. Hardware, network latency, along with web server and MySQL config make a big difference, and at scale, much of the performance is their purview. Implementation also comes into play a great deal. In most circumstances, the Channel Entries tag is going to be using primary keys on tables to find the content, before joining or fetching any data, and with reasonable limits.

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.