BuddyPress: Naturkontakt, Organising Sweden’s Largest Environmental NGO
Peer reviewed by @boonebgorges
Naturkontakt (Nature contact) is the home for members of the Swedish Society for Nature Conservation (SSNC), Sweden’s largest environmental NGO with over 200,000 members. This is a private site where SSNC members can read and publish internal news about the organisation, take part in forum discussions, and join or create groups to help them organise their work. Members of SSNC can create WordPress user accounts using their membership numbers from the organization’s CRM (Customer Relationship Management) software.
Naturkontakt has been around since the 90’s, powered by FirstClass. By 2010, that platform had become outdated and its market share was declining. This led some members to write proposals to find a new platform. Their goal was to select a platform which would serve as a hub for all the different aspects of SSNC’s mission and vision. These include “spreading knowledge, charting environmental threats, proposing solutions, and influencing politicians and authorities, both nationally and internationally. Under democratic forms, we work regionally in 24 county branches and locally in 270 community branches.”
Moving to WordPress
In 2011, SSNC acted on their decision to set up a new web-based platform for internal communications and contacted us at Klandestino to work on this project. After evaluating different platforms, we chose WordPress. Some deciding factors include WordPress’ open source licensing, our experience working with the platform, and the plethora of different plugins that extended WordPress to make it suitable for online communities.
The first iteration of the new Naturkontakt site was launched in 2011, powered by WordPress and WP Symposium. This was quite a while ago but as I recall (plus email logs), the choice stood between BuddyPress and WP Symposium. At that time, WP Symposium already had a forums component while BuddyPress lacked a solid forum integration. Remember that this was the time of the stand-alone bbPress forums which took a tortuous and unstable route to integrate to both WordPress and BuddyPress.
bbPress 2.0 to the Rescue
A year after we launched the new site, we undertook an evaluation which revealed some pain points. To name a few, WP Symposium had limited extensibility, some security issues, and major problems with performance. With those challenges in mind, we researched again into other community solutions for WordPress. By that time, the new bbPress 2.0 plugin was available and it worked very well with BuddyPress.
It was an easy decision to switch from WP Symposium to BuddyPress and bbPress. The major tasks were the arduous migration of data and continuous testing. This new set up has stood the test of time, we’re really pleased with it. The BuddyPress-bbPress combination gave us a running start with forums, groups, profiles, and messages, which are some of the required pieces of functionality needed on Naturkontakt.
Further development of Naturkontakt 2.0 led to the introduction of multisite features to the community. Fortunately, BuddyPress works very well in a multisite environment. Each local organisation (group) of SSNC could have their own subsite to publish news.
To make this work as smoothly as possible, we wrote custom plugins for the following functionalities:
- Many-to-many relationships between groups and subsites. For example, the group coordinating work on forest issues could be connected to the subsite publishing news about forest issues.
- File archives for groups so that members can upload and version docs, PDFs, images, etc.
- Sitewide search, a plugin that indexes all content from the entire multisite network into a “ghost” site to make it possible to have a centralised search throughout the entire network and blog/archive pages that lists posts from all sites.
- A drag and drop front page workflow where the editors of the site can search for and list articles from all sites on the network on the main site front page.
This second version of Naturkontakt was released in late 2012. Since then, the basic functionalities have remained more or less the same. The site did get a facelift a few years ago when we focused on making the site work better on phones and tablets.
Going forward with PHP 7
Last year, after a month of capacity/speed problems, a new evaluation showed that some long-delayed upgrades had to be made. We started a new project to focus mainly on stability and speed improvements. We finished the project just right before this article was written.
We implemented the following improvements:
- Combed through the codebases. We searched for deprecated functions and places where custom functionality could be replaced with newly added functionality from BuddyPress, WordPress, and bbPress. We decreased the number of active plugins by a third because of the new features that had been rolled into the above-mentioned projects.
- Switched over to Elasticsearch/ElasticPress. Our custom sitewide search has served its purpose well. However, since it’s only been used on this platform its development has fallen behind. And compared to new technologies such as Elasticsearch it didn’t cut the mustard. By switching to Elasticsearch we have offloaded a lot of the most expensive queries currently done by WordPress to a server/platform that’s fine-tuned for that kind of work.
- Upgraded to PHP 7. This was the last part of the project. We’ve seen major improvements in the response time from the server, on average about 50%-70% decrease in response times! That is, of course, very important on a dynamic site such as for any community where static page caching often isn’t an option.
Our stats show the continued growth of the SSNC community, even though the competition from Facebook can be really hard. One of the major advantages of using WordPress, BuddyPress, and bbPress is that SSNC owns its own data.
Of course, there are always things to improve on. When we completed the recent project to improve performance, despite limited budgets and time constraints, we were all satisfied and hopeful that the site will be around for many more years. We also expect that upcoming development work will be focused more on the user interaction elements of the site, hopefully by building upon and extending the great work that has gone into BP Nouveau. <3
To end on a personal note I’d like to thank all of the wonderful contributors to BuddyPress who have welcomed me into the community and helped me along with trac tickets and patches. Beyond my satisfaction with Naturkontakt and working with SSNC (whom I share a lot of political views with), and the functionality that BuddyPress has provided for the project, the best part of having worked on this site is that I also feel that I’ve become part of a community that tries to do something constructive about the unpleasant grip that Facebook has over our personal and professional lives.