Blog

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 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

Development Update: Command Line Interface

Posted by naderman in Development with the tags on November 13th, 2013

As we are preparing to release Alpha2 of phpBB Ascraeus 3.1 we merged another new feature. Ascraeus will ship with a new command line interface. This will become a useful utility for phpBB administrators who have access to a shell on the server they run phpBB on as well as extension developers. The command line interface was built using the Symfony Console Component. The component automatically creates a rich command line user experience with generated help pages and detailed explanations of all options and arguments.

For now the console’s functionality is limited to displaying, enabling and disabling extensions as well as clearing extension data and recalculating email hashes in the database. However with the console application framework in place it is now very easy to add new commands as part of our regular development process. This project had originally been proposed for this year’s Google Summer of Code on our Ideas Page on the Wiki. Other ideas for future functionality include editing of configuration, managing styles, users and groups or other administrative tasks currently accessible in the administration control panel.

Extension developers can add their own commands to the console by creating respective service definitions with a “console.command” tag, as seen in phpBB’s console.yml. We expect the command line interface to become a useful utility for system administrators running phpBB forums who wish to automate some of their administrative tasks.

Extensions Development Team

Posted by EXreaction in Uncategorized on November 7th, 2013

On behalf of the phpBB Team, I am proud to announce the formation of the Extensions Development Team!

With the release of 3.1, phpBB will leap into the new era of drop-in plugins that we have desired for so long. In an effort to maximize the benefits of this change, we are further looking to bridge the gap between the users of phpBB and the developer community.

Due to the great diversity of customisations requested by our userbase and the relatively limited resources available, we have always heavily relied on independent MOD authors, one of the most valued portions of our community, to populate and support our extensive MOD database. The Extensions Development Team will lower the learning curve for developers to get involved with the phpBB project by supporting their efforts and guiding them toward the successful release of extensions. The team will likewise produce and maintain officially-supported extensions.

The team was formed several months ago and began the process of initial setup and planning. The team is likewise working on “Board Rules”, the first official extension which will provide administrators with the ability to setup and configure a page of rules for the overall board or website.

You may have seen that a [3.1.x] Extensions in Development forum has been created on phpBB.com. In this forum you will find further information about the current status and plans of this Board Rules extension.

We will be looking for supplement this team with additional members in the future. We would like to have a very diverse team in skill sets, whether they be PHP, HTML, CSS, Javascript, UI development, support, or others. Regardless of your experience level, you can get involved and help! If this sounds interesting to you, please do not hesitate to contact me with a private message.

We will look at popular MODs and MOD requests for phpBB 3.0 as well as the phpBB Ideas list to identify which extension ideas should be prioritized. We are looking forward to producing some fantastic extensions in the future and helping our community members build some fantastic extensions of their own!

Development Update: Timezones in Ascraeus

Posted by naderman in Development with the tags , on November 5th, 2013

This week we saw many smaller bugfixes and improvements. One of these changes was to ensure timezones in phpBB 3.1 can be translated correctly. So I picked an explanation of our timezone handling for this week’s blog post.

In phpBB Olympus 3.0 we provide the user with a list of UTC offsets and a corresponding timezone name. In addition to the timezone a user can select whether DST (Daylight Saving Time) or Summer Time, as it is called in other places, currently affects them. If the DST option is selected the UTC offset is increased by one hour. I live in Germany so I select “[UTC + 1] Central European Time, West African Time”. In the spring I have to check the DST box and in the fall I deselect it. This results in UTC+2 in the summer and UTC+1 in the winter.

Clearly it is annoying for users to have to switch their timezone settings twice every year. Most users will probably not bother to change DST if they are even aware of the option to begin with. Users may also be unfamiliar with the name of their timezone or the corresponding UTC offset. So back in 2010 Chris Smith (ToonArmy) proposed an alternative approach to handling timezones in the Switch to PHP timezone handling RFC on our Area51 development community.

In this example my current timezone is set to Europe - Berlin where the current time is 1:40 am. However I am currently in New York City so phpBB suggests I update the timezone to match my local time which is UTC-5.

In this example my current timezone is set to Europe – Berlin where the current time is 1:40 am. However I am currently in New York City so phpBB suggests I update the timezone to match my local time which is UTC-5.

In phpBB Ascraeus 3.1 we now offer a much longer list of timezones grouped by continent and identified by cities and countries in these continents. Each timezone selection includes information on when DST applies in the respective location so users no longer have to manually select whether DST applies to them. As this list contains around 500 different options we allow the user to first select the current local time and then reduce the options to all those timezones which actually match the user’s current time. So user’s really only have to pick what time it is at their current location anymore. We use JavaScript to guess which timezone the user is most likely in, based on the browser’s reported timezone. On upgrading from Olympus the UTC offset is retained until the user selects a different timezone.

Further pull request 1812 added a new type of notification which informs administrators of newly registered users if the community requires admin activation. This makes use of our new notification system, so the notification will be appear in the forum’s header and be available via email and/or XMPP.

Development Update: Responsive ACP & CodeSniffer

Posted by naderman in Development with the tags on October 28th, 2013

Thank you all for your feedback on the responsive version of prosilver which we published on Area51 last week. Your feedback has lead to a large number of improvements and corrections over the last days, the last of which will show up on Area51 later this week. Following the responsive version of prosilver, Arty has also finished a pull request for a responsive version of the Administration Control Panel. So you will be able to test the responsive ACP on your handheld devices in Alpha2 which should be released within the next 2 weeks.

We integrated a pull request which enables CodeSniffer in our automated test suite. CodeSniffer is a tool which can automatically check our code for coding standard violations. A human readable version of the coding guidelines for Ascraeus is available at area51.phpbb.com/docs/31x/coding-guidelines.html. This change will ensure that every pull request and commit is automatically checked for misformatted code as part of our Travis CI builds.

Some MOD authors have started to test the new extension system but we are still looking for more feedback and help with improving the extension documentation on the wiki. One of the improvements implemented this week expands the routing configuration for extensions to allow a definition of routes across multiple files. Routing is the process of matching a URL to a particular piece of code within an extension which is handled with the Symfony Routing Component in Ascraeus.

Development Update: Responsive Design

Posted by naderman in Development with the tags on October 20th, 2013

Screenshot of Mobile Viewtopic

Since the release of phpBB 3.1 Alpha1, the development and styles team have been busy working on further improvements to the version codenamed Ascraeus. Thanks to Arty finishing up his responsive design for prosilver pull request, phpBB’s default style now dynamically adapts to the screen size of the device used to browse the forum. We’ve updated the Area51 forum to the latest development version so go visit it with your favourite handheld device and check out the differences to the desktop version!

We’re still working out some kinks and trying to improve it, and the improved version of prosilver will ship with Alpha2 soon!

In other news, our Travis CI build matrix has been updated to run our tests on MariaDB in addition to MySQL and PostgreSQL. Tests are automatically executed for every pull request sent to the GitHub phpBB repository. When they run through successfully, this is noted in green on GitHub so the developer reviewing the changes can be certain it did not unintentionally break other phpBB features.