Automatically Post New Threads to PHPBB 3 Forums Using RSS

Update 1-15-2011:  I have confirmed that this guide also works on PHPBB 3.0.10 :) .

Update 8-12-2011:  This guide was was written for PHPBB 3.0.8; however, I have confirmed that the mod does still work with the latest PHPBB 3.0.9 version (end of update).

This article addresses how to enable automatic posting to a PHPBB 3.0.8 bulletin board.  This procedure should also work for other 3.0.x versions above 3.0.6; however, I can not guarantee that it will.  You perform these steps at your own risk and neither, I or Verry Technical are responsible for any bad results.  With that said, i encourage you to share your experience with this method and I will attempt to help where and when I can.

If you are running a blog, newsfeed, or any other regularly updated website alongside a forum system, chances are that you would love to have the forums automatically have a thread for new post(s) so that your members can have a place to discuss the article(s) in question.  Chances are also good that you would like a free solution to this problem.  If your website has an RSS feed of your posts, and the latest version of PHPBB forum software, you’re in luck.  With a small amount of tweaking and less than half an hour of your time you can have a automaticly updating forum folder where your member can go and talk about your postings in the threads.  You can also further integrate the forum threads by linking to them from the posts; however, that is not covered in this guide.

The following is what you will need in order to get started:

  • A website with RSS feed (have the rss link handy)
  • The latest PHPBB (3.0.8 at the time of this writing) installation.  See the PHPBB support forums for help in updating if necessary.
  • SmiX.MODs Feeds News Center  (Download here (please contact me via comments if this link fails))
  • An un-zipping utility such as 7-zip (Vista and 7 can handle zip files by default)
  • FTP or other means to upload files to your web server.
  • Access to your forum’s ACP
  • More than a bit of patience :)

Okay, the first thing you need to do is examine the list above to make sure that you have everything in order.  The patience item is one of the more important things to verify in order for this mod to go successfully.  If you need to relax, perhaps do nothing for a few minutes :)

Now that you’ve calmed your nerves, back up your forum installation by copying your theme’s folder to your hard drive or another part of your server (or both).  You may also want to back up the forum database as well, just in case; however, that should not be necessary.  With that done, you now have a nice safety net in case something goes wrong and can now focus on a successful mod instead of worrying about messing up.

See, relaxed! ... i think?

You’ll notice on the Smix.MODs Feed News Center mod’s information page, there is a ModX logo signifying it’s compliance with the modification format.  I’ll be extremely honest here and say that I was very hesitant at first to mod my phpbb installation because it felt very daunting and no matter what search terms I tried I could not find out how to install the mod.  There is a lot of information available on the mod; however, I could not find any instructions on actually installing it.  It was rather disheartening for someone new to phpBB.  I’ll spare you that and tell you the good news.  The ModX designator and format is how to install the mod!

Little did I know the big meaning of the small image!

Once you’ve grabbed the sfnc_0.3.4.zip file, you’ll need to unzip it using 7-zip or your operating systems’ included utility.  7-zip can be found here if you need it.  You may run into this error screen, at least if you are using Windows’ built in utility.  If so, check the box to perform this action for all items and hit the “Yes” button.

Inside that newly-unzipped folder is the magic that is ModX:  the instructions!  For now, ignore the rest of the files and folders and open up the “install_mod.xml” file.  Inside, it details all the little changes that you will need to make on your own install in order to successfully use the SmiX Feed News Center mod!

This XML file will guide you through the installation of the SmiX Feed News Center mod.  Follow each instruction to the letter, making to double and even triple check your work.  It would be best to copy and paste any code from the install instructions into your own files.  Depending on how you access your web server’s files, you will need to used the “Code Edit” function available from the browser based file manager or download the files using your FTP client (FileZilla is a good choice).  If you are using FTP to edit your files, remember to only use a text editor such as Notepad or Notepad++.  Do not use a word processor such as Wordpad, Open Office, or Microsoft Word as these word processors add other lines of code that will render your files unusable.

In other words: You have been warned.

If you are asking yourself why i don’t detail all the steps in the install xml file, it’s because the file itself does an excellent job of directing you through the necessary changes and as it is the original, there is much less of a chance of typos in the necessary code.  The install_mod file is meant to be used with phpBB 3.0.6 and 3.0.7-PL1, and for that purpose it does it’s job; however, 3.0.8 requires additional steps that this guide is addressing and expands on the DIY Instructions to make this mod compatible.  Please follow all the instructions up until you get to the DIY instructions section.  Once you get there, stop following the install_mod and come back here to continue the install.

A small tip:  In the sections where you are instructed to search for lines of code which you are then supposed to add to or change, you may not always find the entire line of code when searching.  Try searching for the whole line it asks you to search for first; however, if the search function isn’t able to find it, try selecting smaller bits of the code to search for.  In one example, when asked to find the line ‘Log_Error_Email,’ the search function repeatedly came up empty.  Searching only for “email,” I was able to locate the line, however.   Also, dont forget that “ctrl+f” is the search command :) .

Okay, now that you have successfully updated all your files and/or uploaded the new versions to your web server (replacing the old files) you are ready to begin the DIY Instructions.  The problem is (at least for 3.0.8 as I can’t speak for the earlier versions) that following only the DIY instructions is not enough for the mod to function properly.  Therefore, let’s go through the steps together and expand upon some things in order to get this mod working :) .

Here are the first two listed instructions:

After editing all templates, copy file contrib/install.php to contrib/install.php. After running the install.php script you can delete the contrib directory.

This part still holds true with 3.0.8; however, in my opinion it is not readily apparent to someone new to web mastering how to run the php script.  What you need to do is to find the install.php file.  Then create a new folder in your forums root directory (this is the same folder that holds the styles, languages, images, adm, and other folders) named “contrib”.  Now, inside that folder you created, upload the “install.php” file.  Now, using your web browser, navigate to this address:  http://(your forum url)/contrib/install.php replacing the blue text with the url of the index or main forum page.  In my case, that directory was http://www.forums.verrytechnical.com/contrib/install.php, for example.  If everything went well, you should have gotten a success message.  With it correctly installed, (meaning you recieved no errors) delete the contrib folder from your web server.

The next listed steps are as follows:

Navigate to: Administration Control Panel > System > Module Management :: Administration Control Panel > .MODs and create a Category for modules. Select “Feeds list” (SmiX.MODs Feed News Center) from the Module drop-down menu and click “Go”. Then click “Enable” on the Module. Do it again and select “General configuration” from the Module drop-down menu and click “Go”. Then click “Enable” on the Module. Browse to ACP > .MODs > Created category and set up everything as you want …

Required ACP permissions are Board administration …

The first time i installed this mod, following these instructions alone was not enough for me to get ACP to display the needed setting menus.  So, instead of following the above, let me guide you through it.

What you need to do is to log into the ACP (the Administrative Control Panel), which you can get to either by url or by logging into your forums and finding the link.  Once there, you are greeted with something that looks like this:

Administrative Control Panel Screenshot

Now, click on the “System” tab where you will see this panel:

Administrative Control Panel System Tab

I highlighted in blue the Module Management section.  In green is circled the Administrative Control Panel for modules, which will allow you to set up the necessary setup menus for the SmiX mod.  Click on the Administrative Control Panel and let’s get started:

Administrative Control Panel Module Management ACP

Here, you are presented with a list of modules.  You’ll notice that each of these listed modules are the same as each of the tabs of the ACP.  As I’m sure you’ll guess, this is the place where all the options and settings in each of the tabs is customized and controlled.  For this guide, we only need to focus on the “.MODs” category.  If you do not have this listed, you’ll have to create it.  Below the list is a text entry box and a Create new module button.  Enter “.MODs” into this text box (without the quotes) and hit the create button.  This will create the needed module.  Once it is created, click on the .MODs module.

ACP_System_ModulesManagement_ACP_MODs_

You are now presented with a screen that listed all the modules inside the .MODs module.  This is where I became stuck in following the DIY Instructions in the install xml file.  It is very simple to do in retrospect; however, if this is your first time installing a mod it can be a bit frustrating getting this to work.  What you need to do is create a category inside the already created category of .MODs.  What you need to do is to located the “Create new module” button and its accompanying text box.  Enter “SMIX.MODS” into that text box and hit the create button.  You will now have to configure the new module.

Edit_Module_ACP

Configure the module as shown in the above screenshot by setting the Module type to Category, and the Parent to .MODs.  Finally, set the module to enabled by selecting the “Yes” radio button.  Hit Submit when finished.  You now have a SMIX.MODS category inside the .MODs category.

A small tip:  What this does is, when finished, the .MODs Administrative Control Panel tab will conatin a SMIX.MODS entry which will then contain all the neccessary settings.  This is important because if you do not place the modules inside this SMIX.MODS category, you will not be able to access all of the settings!  So, if you’re configuration looks like the above screenshot that is highlighted in red and crossed out, you will need to redo the upcoming directions and be sure to place them in the SMIX.MODS category.

Now, click on the SMIX.MODS category, then locate the Add module section in the lower right.  Using the dropbox, find and select the “Feeds list” option under the SmiX.Mods Feed News Center heading (this heading will be in bold text).  See the screenshot for an example.  Once selected, click the Add module button.

Module_Management_FeedSettings

You now need to configure the Feed Settings module.

Module_Management_FeedSettings_General

Configure the module using the above screenshot for guidance by ensuring that the Module type is set to “Module,” both “Yes” radio buttons are checked to enable and display the module, and the module mode is set to “Feeds list”.  Hit submit once you have verified that your settings are correct.

Now you will need to repeat that same process of adding a new module but instead of selecting “Feeds list,” you need to select “General configuration” which is also listed under SmiX.Mods Feed News Center heading in the Add module drop down box.  For reference, see the following screenshot (which is also available above):

Module_Management_FeedSettings

The configuration settings for this module are very similar to the previous module and are as follows:

Module Management General Configuration Settings Screenshot

As per the screenshot, make sure the Module type is set to “Module,” it is enable and allowed to display by setting “Yes” to both radio button settings, and it’s parent is SMIX.MODS.

Phew, this is a lot of work!  Let’s see what all this configuring has gotten us so far (we aren’t done configuring quite yet, so bear with me).

.MODs Tab Screenshot

Finally, some simple GUI menus!

What all our hard work has gotten us is a new tab in the ACP named .MODS.  Don’t worry if your setup does not look the exact same as the above screenshot right now as it will once we finish setting it up!  For now, you should have a SMIX.MODS section on the left hand of the ACP panel with Feeds list and General configuration as sub sections beneath it.  Before we configure these menus, there is one more step that needs to be completed.

A small tip:  This next step can be completed after configuring; however, you will still need to re-enter the configuration settings to add the new value(s) so it is better to complete this step first so that you can get the mod set up correctly the first time.

What we need to do is set up a forum user that SmiX.Mods Feed News Center will use to post the RSS feeds that you give it.  While it is possible to assign the mod to an existing user or administrator this is strongly advised against for both security and stability reasons!  With that said, let’s create a new user.  The easiest way to do so is to log out of the ACP and of your administrator account and register a new account.  We’ll give this account the username of “SiteRSS”.  Beyond that, the required information needed to register will depend on your specific forum configuration.  Remember to give the SiteRSS account a strong password.  Once the account has been registered and activated (if neccessary), log back into your administrator account and then log into the ACP.  Go to the Users and Groups tab and find the Manage Users section.  Once you are there, find your new user using the search box.  You should then adjust the new users permissions to limit its access to only the forums that you want it to post to.  For example, SiteRSS will have permission to post to the News forum but no other forum.  It will also not have permission to use any advanced features such as polls and attachments.  These user permissions are modified for security reasons and this automatically posting account is not likely to be monitored and if its username/password was somehow hacked, they would only have limited access to your forums.  It is a method of reducing potential damage, and should be applied to all the users on your forum in that they are only given the absolute minimum permissions necessary to do what they need to do.

Once the user is set up to your preference, save your settings.  In order for the Feed News Center mod to post, you need to give it the user ID of the user you want it to post with.  Unfortunately, you can not simply give it the user ID “SiteRSS’ and the password you set.  Instead, you need to give it the numerical user ID assigned to “SiteRSS” in your forum database.  You will need to log into your web server’s control panel and access phpMyAdmin to find the user.  Accessing the forum database needs to be handled with care, as modifying the wrong entry can and will prevent your forum from performing properly.  With that said, as long as you follow the directions carefully and do not modify anything you’ll be fine.

phpMyAdmin Screenshot

Locate the phpMyAdmin icon/link in your host’s control panel.  Verify that it is the correct link, then click it.  It may take some time for it to load, so you may need to be patient here.

phpMyAdmin Database List Screenshot

Once phpMyAdmin loads, you are confronted with a wealth of information.  Don’t panic, and calmly find the area that corresponds with the above screenshot.  This area should be on the upper left and is a list of all the MySQL databases you have set up for your website.  Depending on wether or not you set up the forums yourself or used something like Fantastico to install phpBB, you may or may not already know the name of your forum database.  If you do not know the name of your database, you should contact your web host for assistance.  With that said, the database should contain phpb or some other naming convention referencing phpBB in the database name (you did make sure it was easy to remember, right? :P ) as the example above shows.  Once you know the name of the database, click on the appropriate one.

You’re now presented with a list of various aspects of the forum database.  Scroll down to “phpbb_users” and click Browse.

phpMyAdmin Screenshot 03

The phpbb_users query will return a list of every user on your forums.  Scroll down to the bottom of the page and find the option titled “Page Number.”  In the page number dropbox, select the last page available.  Now, scroll to the bottom of that list and find your newly created “SiteRSS” user.  Write down the user id from the corresponding ”user_id” column.  This id will be a numerical value.

Now that you know the user id of the user, we can resume configuring the Feed News Center mod.  Exit phpMyAdmin and re-log into your forum ACP.  Go to the .MODS tab.  In the left side of the .MODS panel should be the SMIX.MODS section we created earlier.  Click on Feeds list, and then on the “ADD new feed” link.

.MODs Tab Screenshot

Finally, some simple GUI menus!

Here, you can configure the RSS feed that the Feed News Center will parse and then post.  Let’s go through the various settings available:

SmiX.MODs Feed News Center Feed Settings

The first setting available allows you to name the feed and provide that feed’s RSS link.  To eliminate any problems, make sure that the link works by testing it with Google Reader or your RSS client of choice.  You’ll next need to tell the mod what type of feed the link you provided is.  The mod is capable of parsing RSS, Atom, and RDF feeds.  In my example, the link is purely RSS so “RSS” was set as the type.  The encoding field controls which character set the mod uses to read the feeds and is set automatically, so leave this field blank (it will be automatically identified and set later which is why the field is not blank in the above screenshot).  The next option controls how long it waits before checking for new content.  If you will be using a CRON job, this setting is not used and instead the mod checks for new content whenever the CRON job is started.  In my example, I am using index initiation so the setting is used.

In order for the mod to post content to your forums, you need to check the Enabled radio button.  Further, you can limit the number of posts that the mod is allowed to post each time it is run.  This can be handy if you are using a third party RSS feed and want to limit how much new content is posted to your boards at any one time.  The next option is where you will input the user id that you used phpMyAdmin to find.  Ensure that it is correct, then proceed to the next setting.  The forum ID is the forum into which you want the mod to post new threads into.  The topic ID and post template are not configurable as they are not available in the latest version (they were planned additions to 0.3.5; however, the mod was abandoned).  Similarly, the news ticker section is also not configurable.  Once you’ve verified your settings, hit submit.

Now navigate to the General configuration link under the SMIX.MODS section.

Feed News Center General Configuration

Here is where you are able to configure how the mod automatically posts.  You’re settings will differ if you are using a Cron job to start the process; however, if you are using index initiation, your settings should match the above screenshot.  Let’s further examine the options:

A small tip:  Index initiation means that anytime someone accesses your forums main/index page, the process to check for new content is started, and if the wait time allows for it, the mod will post any new content that it finds.  Conversely, a Cron job is a scheduled process that will run at certain time(s) independent of whether anyone accesses the forums or not.  A Cron job is, unfortunately, beyond the scope of this article and will be something for you to further research.  An index initiation is the easiest method and is what will be covered here as I can be of more assistance if people need further explanation(s).  With that said, if you have been successful in setting up the Feed News Center mod I would be happy to include and attribute any guide on the subject.

For index initiation to work, you need to set “Index init” and “Index Posting” to Enabled, and “Cron init” and “Cron posting” to Disabled.  The Download function setting will depend on the capabilities of your server, and more specifically on the version of PHP that your web host employs.  You should try “curl” to begin with, and try the others if necessary.  If you have verified that your other settings are correct, you may want to contact your web host for assistance in choosing the method.  Once you’ve submitted the page and saved your settings, click on the General tab and clear the board’s cache for good measure.  Now, click on the Board Index page to go back to your board’s main page.  You may need to refresh the page a few times; however, you should begin to see posts in the specified forum by your “SiteRSS” user.

SiteRSS is ALIVE!

If after a few minutes, you do not see any new posts, ensure that you entered the correct RSS link.  If you’re sure that the link is correct and you are able to access it from another RSS client, you may need to try a different “Download function” setting.  If your web host has confirmed that you are using the correct method, you can test that the mod is able to read and post by navigating back to the general configuration and setting Cron posting and Cron init to enabled and saving your settings.  Now, in your browser’s address bar type in your forums url followed by “update_feeds.php”.  If successful, you will be taken to a page indicating as such.  Then, return to your forum index and check for new posts.  If the mod was successfully able to post using that method, you may need to re-check the index init settings and the amount of time you set for the mod to wait between posting.

You should now be fully up and running with the SmiX.Mods Feed News Center automatically posting new content as the RSS feed delivers it.  If you found this guide helpful, please share it with others as well as utilizing the “Share This” feature to share it on Facebook and Twitter.  Doing so would be most appreciated.  If you have any questions, comments, or spotted any mistakes, please feel free to let me know via the comments or forums!

About Tim

You can connect with Tim via several sites around the web. Email: tim@timverry.com Google Plus: http://gplus.to/tverry PC Perspective: http://pcper.com/users/Tim-Verry For some reason I can't put any blank space into this, very annoying