Blog

phpBB Developer Documentation

Posted by nickvergessen in Development, Extensions with the tags , , , on July 5th, 2015

When the phpBB Team met in Prague last month for a short productivity meeting we achieved many things. We fixed bugs, worked on our bamboo infrastructure, reduced the size of the extension validation queue and worked on a new phpBB/Symfony Authentication bridge however one of the most significant things we did was start the base of our new developer documentation:
https://area51.phpbb.com/docs/dev/31x/

The plan with this documentation is to consolidate all core and extension development related information that is currently spread out on our wiki, Area51 (and a variety of other places) into one central location.

As a first step the “[HowTo] Convert a 3.0 modification into a 3.1 extension” tutorial was converted and is now available to view here.

Since then, we have ported over many many other Wiki pages and readmes to the new doc system including:

The documentation is written using rst and our documentation source can be found in the “development” folder of our pre-existing documentation repository: https://github.com/phpbb/documentation/

We will be continuing to move existing documentation over the coming months and if you are familiar with rst and git(hub) and want to help, please do feel free to send pull requests. Whether it is with porting existing documentation over, fixing typos or even writing brand new pieces of documentation, every contribution is appreciated.

phpBB at Symfony Developers UK (London)

Posted by Michael Cullum in Events on May 25th, 2015

At a recent meeting of the Symfony Developers UK user group in London I gave a talk titled “How we Build phpBB: The Next Generation”.

Screenshot 2015-02-03 01.33.28

After a brief introduction to phpBB’s functionality the talk covers different aspects of phpBB’s development. It provides insight into phpBB’s history, in particular that of its versioning, and how this affects how we operate to this day – keep in mind that we published our new release policy after this talk was presented.

The talk follows the process a feature goes through from a phpBB user’s idea all the way to making it into a phpBB release. Along the way it covers the numerous different tools used to aid us in developing phpBB; such as the issue tracker, GitHub, Bamboo, Travis CI. These tools are vital in helping our quality assurance process preventing regressions and they make it easier to develop phpBB. The talk concludes with a summary of the Symfony components we have adopted in phpBB and how we use them. It further explains why we are using more external libraries and components instead of “reinventing the wheel” as the term goes.

The talk was well received by the audience and many members of the Symfony community were positively surprised by the amount of Symfony components we now use in phpBB, by the free code and security audits performed by the styles and extensions teams on submitted customisations in order to ensure a high level of quality, and the outstanding security record that phpBB 3.x has now gained.

A video of the full talk can be found on Youtube and the slides are available on Speaker Deck. Please note that the slides may not make sense without the context of the talk.

If you run a user group or conference and are interested in having this talk, or a similar one, presented at your event by myself or another phpBB team member, please contact me or a member of the management team.

[Poll] Community Choice: Next Official Extension

Posted by VSE in Extensions with the tags on May 13th, 2015

The Extensions Development Team would like to ask you (again) to vote for another official extension!

Our previous community choice resulted in our Auto Groups and Pages extensions. We have a few more ideas and would like the community to help us decide which of them would be the most popular:

  • Advertisement Management - Ability to add multiple advertisements and display in various locations (header, footer, specific forums, etc.)
  • Google’s new reCAPTCHA - spam countermeasure, more information
  • Paypal Donations - Add donations with option to add users to groups based on payment
  • Welcome PM – send new users a customised welcome private message

Vote Now to be heard (until May 19)!

OSCON 2014 Recap

Posted by darcie in Events with the tags on August 9th, 2014

Last week phpBB again attended OSCON, the O’Reilly Open Source Convention, in Portland, Oregon. Yuriy, Derk, and I had a great time chatting with those attending the conference as well as those exhibiting. We were provided booth space by Bluehost as part of their ongoing commitment to support open source projects. We had a great spot right at the front of the hall.

2014-07-23 10.07.24_1 2014-07-22 12.35.47

We arrived and set up Sunday in preparation for the Expo Hall opening Monday. Monday evening, the Expo Hall hosted a one hour first look at all the booths for conference attendees. The hour went by quickly, but after parties and further networking opportunities closed out the day. The “Elements” themed party the first night had us flying high and ready to conquer the week!

2014-07-21 17.36.02 2014-07-21 17.35.03

Tuesday started damp, as we would expect for Portland. This was the first full day with the exhibitors, with that night being booth crawl night when the convention center brought in food and drinks. Bluehost had Tim O’Reilly come play a game of ping-pong with them!

2014-07-22 18.40.26 2014-07-22 18.40.04

All week, we explored the hall and networked with other groups and attendees. We found our name on the Google Summer of Code board and chatted with the representatives of the program. We talked with someone in Community Development at O’Reilly Media about partnering with them on some interesting opportunities. And we left our mark on the giant chalkboard in the convention center hallway.

2014-07-22 11.20.55 2014-07-22 17.40.37_1

Bertie helped give away lots of gummy bears. We talked with many people about 3.1 and improvements due in the next version. We had a great response to the concept of extensions and responsive layouts. We met many conference attendees that mentioned they got their start in coding by having a phpBB forum as a teenager, which was very rewarding!

2014-07-22 21.02.09

Additional highlights of the conference are available at the OSCON 2014 site.

[Poll] Community Choice: Next Official Extension

Posted by EXreaction in Extensions with the tags on July 15th, 2014

The Extensions Development Team would like to ask you to vote for the next official extension!

We’ve compiled the following list for you to choose from:

  • Auto Groups – an extension which allows admins to configure conditions, e.g. reaching defined post count, membership days, or warnings, that will add users automatically to a defined usergroup.
  • Posting Templates – an extension that allows admins to create predefined/canned message templates that can be used when a user starts a new topic.
  • Paypal/Donation – a page for accepting donations through PayPal including the ability to add users who donate to a special group (Donor Group).
  • Pages – an extension that allows admins to create custom static pages for their forum.

Vote Now to be heard (until July 28)!

Development Update: Notifications & Custom Profile Fields

Posted by naderman in Development with the tags on February 19th, 2014

After releasing Alpha3 last week, the development team is working on fixing outstanding bugs and getting ready for the first Beta release. As I mentioned in a previous blog post, we are now working on transitioning existing hard coded profile fields – such as occupation or location – to custom profile fields. The pull request converting location to a custom profile field also introduced a new option to display custom profile fields on the memberlist. As we are turning hard coded fields into custom profile fields, we are ensuring that all previous functionality can be achieved through configuration. At the same time these options can now be used for other custom profile fields you may wish to display.

Ascraeus Notifications Dropdown

Ascraeus Notifications Dropdown

As we fixed a bug regarding the display of avatars in notifications I want to use this opportunity to show you the new notifications functionality we built into phpBB Ascraeus 3.1. You may be familiar with the concept of a central location for notifications from Facebook or Google+. The idea is to provide users with a single location that will inform them about all the activity they are interested in. So far this includes notifications regarding posts, such as replies to bookmarked or subscribed topics or posts you have been quoted in, notifications regarding moderation of newly submitted posts waiting for approval and reported posts as well as notifications for new private messages and requests to join a group you lead. You can configure whether and how you would like to be notified for each of these notification types individually in the User Control Panel. The options are email, Jabber or the notification on the website. Extensions can easily add new notification types making the system very flexible.

Further we’re now testing phpBB automatically with the alpha releases of PHP 5.6 on Travis CI. A final version of PHP 5.6 is expected this summer.

phpBB 3.1 Alpha3 Preview Release

Posted by naderman in Development with the tags on February 10th, 2014

We’re happy to announce the immediate availability of the third preview release of the upcoming phpBB 3.1, codenamed Ascraeus.

This preview release is targeted at phpBB developers and advanced users who wish to assist us with this very important testing phase. We do not recommend, and will not support, running this version in a live production environment.

As with previous releases we compiled a list of feature and bugfix highlights on our wiki. We now have a generic framework for dropdowns in prosilver. We’ve started to use it for the new topic tools button from where you can manage bookmarking, attachment downloads and subscriptions to topics. Topic titles now link directly to the oldest unread post.

The only known issue remains that updating from 3.0 to 3.1 on Microsoft SQL Server is not possible.

Please use this release for testing purposes only. As always, we will provide no support for upgrading until the RC stage and urge users not to use testing releases in a production site. Please help us by reporting any bugs you find via a ticket on our tracker.

Unstable packages are available on Area51 at area51.phpbb.com/downloads/. Information on moving from 3.0 to 3.1 (currently only for testing purposes) is available at wiki.phpbb.com/PhpBB3.1#Moving_from_3.0_to_3.1

Please note that phpBB 3.1 has some requirements that differ from phpBB 3.0:

PHP version 5.3.3 or greater
PHP’s json extension
Only PostgreSQL versions 8.3 and above are supported

Stuttgart Developer Meetup

Posted by naderman in Development, Events with the tags on February 5th, 2014

After the German phpBB Association’s general meeting on Saturday a group of developers spent Sunday making some great progress toward a first phpBB 3.1 Beta release. The German phpBB Association runs phpBB.de – one of our many international support sites. A number of German phpBB developers – including me – are members of the German association and decided to use the opportunity to work face-to-face for a day. We were joined by phpBB.de volunteers who helped with bug triaging and pull requests and worked on translation related projects.

Sunday group picture of phpbb.com and phpbb.de team members

Sunday group picture of phpbb.com and phpbb.de team members

We managed to merge the password hashing manager which will allow us to easily transition to newer more secure password hashing algorithms in the future. It will be the basis for an easier conversion process from hashing algorithms used by other forum software. Currently switching from another forum software to phpBB requires the use of a custom authentication plugin to keep passwords working.

The refactoring of profile fields which was merged at the event will allow extensions to work with profile fields and add new types of profile fields. This is a first step toward modularizing the entire profile so that all default fields can be configured by administrators.

The group working on phpBB in Stuttgart

The group working on phpBB in Stuttgart

After a lot of debugging over the past weeks we finally worked out why our tests were failing on PHP 5.5. It turned out that PHP 5.5.7 which is used on Travis CI has a bug in the OPcache extension. The OPcache extension is the new default opcode caching mechanism in PHP 5.5 which greatly speeds up the execution of PHP code.

On our path to Alpha3 – hopefully the last Alpha release of phpBB 3.1 – we also spent some time working on bugs in the build process. These prevented us from building packages for Alpha3 so far. As a consequence we will stop providing old text format MOD files for style and language file changes. We realized the algorithm may generate incorrect results which could go unnoticed, resulting in incorrectly updated styles or language files. Instead we will provide regular patch files generated with GNU diff. Alpha3 will contain all the improvements we finished over the weekend.

Development Update: Uploading & Downloading Attachments

Posted by naderman in Development with the tags on December 12th, 2013

phpBB 3.1 codenamed Ascraeus has already seen a number of improvements to the process of uploading attachments. We have recently updated the plupload library introduced as part of a GSoC project in the summer of 2012 to version 2.0. I want to use this as an opportunity to present new functionality relating to attachments introduced in Ascraeus.

Plupload file upload

Uploading multiple files simultaneously

Firstly it is now more easily possible to upload multiple files at the same time. You can even drag and drop files into the upload area directly. Uploaded file size limits are no longer as limited as before and there is visual feedback throughout the uploads making use of new HTML5 features. So you can watch the upload progress as you continue to edit your post.

topic tool dropdown

Topic Tool Dropdown offers options such as attachment archive download

Further we now offer an option to download all attachments contained in a topic as an archive file (zip, bz2, gz, tar). This feature has been integrated into a new topic toolbox which contains topic options such as subscription management and bookmarks.

Recent user interface improvements also included changing the topic title link to point directly to the oldest unread post of a topic instead of the first post. Previously you had to be aware of the purpose of the small yellow icon next to topic titles to get there.

Just before the Alpha2 release we fixed bug PHPBB3-11525 which resulted in users having their avatars set to seemingly random avatars of other users. This happened to a few users on Area51, so you may want to check your avatar on Area51 and correct it if it was modified.

phpBB 3.1 Alpha2 Preview Release

Posted by naderman in Development with the tags on November 21st, 2013

We’re happy to announce the immediate availability of the second preview release of the upcoming phpBB 3.1, codenamed Ascraeus.

This preview release is targeted at phpBB developers and advanced users who wish to assist us with this very important testing phase. We do not recommend, and will not support, running this version in a live production environment.

As with previous releases we compiled a list of feature and bugfix highlights on our wiki. Most note-worthily Alpha2 ships with a new responsive version of prosilver optimised for handheld devices which we introduced in previous blog posts. Based on feedback from extension authors we have additionally made a number of changes to the extension system to better accomodate the different needs extensions have.

There are a number of known issues with this release which will be fixed in upcoming versions. It is currently impossible to upgrade from 3.0 to 3.1 on Microsoft SQL Server and the redirect() function does not work correctly from within (extension) controllers.

Please use this release for testing purposes only. As always, we will provide no support for upgrading until the RC stage and urge users not to use testing releases in a production site. Please help us by reporting any bugs you find via a ticket on our tracker.

Unstable packages are available on Area51 at area51.phpbb.com/downloads/. Information on moving from 3.0 to 3.1 (currently only for testing purposes) is available at wiki.phpbb.com/PhpBB3.1#Moving_from_3.0_to_3.1

Please note that phpBB 3.1 has some requirements that differ from phpBB 3.0:

  • PHP version 5.3.3 or greater
  • PHP’s json extension
  • Only PostgreSQL versions 8.3 and above are supported