Development Diary Part 4: The Portal (continued…)

For the portal we need to decide on what route we take either using an open source platform and tailor it to requirements or build our own.  With this in mind I did a little research on some of the better available options.

The main requirements:

Social features more important than CMS
Must have an API for user integration
Easily skinnable

WordPress +Buddypress

https://buddypress.org/
https://wordpress.org/

My 1st choice would have been to use wordpress for the CMS and Buddypress to add the social feature. But when looking into this solution I ran into a major snag in that WordPress itself has various plugins to allow API integration which is great but when looking at buddypress it seems it currently has no support for any external API.  So it seems that the main feature that I require which is a bridge between the game user registration and the CMS/Social platform is not going to work.

Looks like I will have to do some more digging on this one as all the possible ways around the this issue are very hackish and I am looking for a more elegant and robust solution

HumHub

https://www.humhub.org/en/

An open source Social media platform written in PHP using the Yii framework. I only came across HumHub recently so im not very familiar with it unlike WordPress so im going to have to do more research and testing on this one but it looks promising having all the social media features you would expect, its open source and free to use and claims to be very extendable.

Buddycloud

http://buddycloud.com/

This one is more of a social media backend that makes care Select a Shortcode aboveof a lot of the donkey work and allows for easy integration into your own applications which would require more development work that the other two solutions but much less than developing something myself.  Having looked through the docs it sounds like an elegant solution but their are a couple of snags.

The 1st issue is that to run it yourself would require a server dedicated to the system which is going to involve a cost and as this is just an experimental project then I want to be keeping costs to a minimum so really do not want to have to pay for another server just for this.

The 2nd issue is that when I came to try it out using their hosted option the registration page failed which doesn’t inspire confidence but I will try again later see if I can get one as I still want to have a better look at their system as I do like the idea of the way it works even if it may not be feasible at the moment due to the costs of use.

Build our own

The final option is to build our own platform for this. There are a couple of advantages/disadvantages with this:

Advantages

Full control of the way it works so no integration worries or useless features that aren’t required but come with an off the shelf solution.

No costs (other than time)

Disadvantages

Time: it’s going to take a lot longer to develop the portal as most features will have to be developed from scratch whereas the off the shelf solutions would just require the integration of the gaming platform content.

Features: this is related to the time element but using an off the shelf solution will have more features available from the start where as developing our own will require us to release without several features and add them over time as the platform is developed

WordPress + Xenforo

https://wordpress.org/
https://xenforo.com/

As I was finishing writing this article another idea came up on how the portal could be put together in a similar way as to my first choice of using Budypress with WordPress but instead substitute the Xenforo forum software for Budypress.  I have used Xenforo previously in the past and knew it had quite a few social features that I am after but wasn’t sure about integrating this together with WordPress along with my code for gaming backend.

At first when I looked into it this seemed to be a none starter as their was no official API for Xenforo but after doing some digging I found a couple of  plugins provided by third parties one to integrate WordPress and Xenforo’s user accounts and the other provides an API I can use to get the gaming back end system to talk to Xenforo to sync data.  After a few experiments I have a test rig up and running and it seems to be all working well together  so this looks like the route I am going to take so WordPress will be handling CMS duties, Xenforo the Social media/Forum and I will be creating plugins for them both to communicate with the gaming backend that I  will bcreating.