Linking databases question

availfid

New Member
Messages
2
Reaction score
0
Points
1
Okay we have a website set up that people can register on but we want to use a 3rd party forum instead of the website one which is ok but not all that great. Is there a way to link the website member database up with a 3rd party forum such as Simple Machines Forum (smf)? Currently we are using a e107 CMS website that has a member system built in if that helps any. I am not much of a database person which is why I am here asking for a little assistance in gaining some knowledge over how to go about doing so. Maybe you know of a tutorial on the web or something as I would like to learn how to do this.

Thanks.
 

essellar

Community Advocate
Community Support
Messages
3,295
Reaction score
227
Points
63
It certainly can be done, but it's not quite as simple as "linking databases". You will have to alter the code (specifically, the SQL queries) of one application or the other so that it can use the membership table from the other database/application (assuming that there is no off-the-shelf plugin available to do the job for you), and will also (probably) have to alter the members table in the database you choose to be your identity container so that it contains all of the needed information (additional data fields, ID keys used to get data from other tables, and so forth). Since both applications are FOSS (free and open source software), you can modify either, but SMF is 3-clause BSD-licensed, which may give you more useful options for modifications than e107's GPL license. (In general, too, a full-blown CMS will have a lot "deeper" and more convoluted code than a single-purpose application like a forum, so it may be many times easier to modify the forum's code and the CMS's member table than to do it the other way around.)

It shouldn't be horribly difficult (well, other than figuring out where the developers hid the code you'll need to change, that is — current "best practices" seem to concentrate on somehow "increasing maintainability" by making sure that everything is reached via include() or require() calls going at least ten levels deep). You'll need enough SQL knowledge to know what needs to be in the users table and how to specify a database as well as a table in a query. If you don't have the knowledge yourself (or in-house), it's something you can probably have done quickly and cheaply via one of the many rent-a-code-monkey sites out there.
 
Top