Screenshot of BuddyBoss Groups


Background

The most important requirements for the MyLabBook Electronic Lab Notebook (ELN) and Research Platform (RP) have been driven by the creation of the UH biotech program and funding like the NSF ESRM grant which supported these developments. Since the IT support for these endeavors was secondary, we chose to use a Content Management System (CMS) for the initial ELN.

Successful CMS platforms can have a life of their own based on their wide usage and resultant large community. This can be an advantage compared to a targeted research platform that by its nature is used by a narrower research community. Often the CMS capabilities are good enough so that with some familiarity with the CMS then we can create the features needed for the research to proceed. We also often gain other useful features from the CMS, such as utilization of a social network for improved collaboration and teaching. Using a CMS also makes it easier to generalize what we find for our research so that other research groups can benefit as well. This can lead to a community of researchers that can use the CMS approach and experience the benefits of working together.

Initial Requirements

After having evolved the MyLabBook approach over numerous years, we decided on the following features for our initial requirements.

  • A Social Network - This has not been a standard feature for most ELNs or even research platforms. But as the capabilities of social networks improve and their costs decrease, it seems appropriate to include a social network as part of the requirements for our research platform. This was reinforced by a spontaneous request by one of our lab administrators for better social networking features.
  • Custom Content Types - This is very useful for ELNs and research platforms. It is one of the strongest features of the Drupal CMS. It turns out that WordPress also has strong capabilities in this area, enough certainly to meet the needs of our research project and probably many others as well.
  • Geolocation and Mapping - In our particular case, we are gathering soil samples from numerous locations across the United States. We would like to analyze the data as regards phylogeography. So, appropriate mapping and geolocation is an important requirement.
  • Data Import and Export - A critical requirement for our situation is to be able to move data from our Drupal CMS to the WordPress CMS. We also want to have a robust solution for round tripping data, so that data can be exported from WordPress for data analytics and modeling and then ideally use the same format for data import into a comparable WordPress site.
  • Standard CMS Capabilities - We have other requirements that are fulfilled by most capable CMS platforms. These include features like authentication, authorization, document management, data management, and data display.

Those form the core requirements, and they can also apply to many other research projects as well.

Fulfilling the Social Network Requirements

The first requirement is to include a Social Network. When we used Drupal, we tried using the Open Social platform. It is a nice platform for what it does, but we found it difficult to customize for our specific use cases. For example, it was difficult to add a new tab or menu item to a researcher's profile. Yet the most logical approach in a research social network is to have the data associated with the researcher to be available from their personal profile. We ended up having a separate data grid for the experiments where the researcher could click on their own experiment to start editing it.

When considering social networks built on WordPress, then the two major options are BuddyPress and BuddyBoss, which is compatible with BuddyPress but has more features. BuddyPress is free and supported by Automattic, the company behind WordPress.com. Following the GNU license, the BuddyBoss plugin is also free, but a BuddyBoss theme is offered for sale that shows off the BuddyBoss features in a useful and aesthetic manner. In our case, we decided to go with the BuddyBoss approach, including the theme.

There is also the matter of whether we want researchers to be able to access the administrator area of WordPress or to just use forms on the front end. When the data collection needs are not that extensive, it is nice to have the researchers enter their data within forms on the front end. To accomplish this, we found the WordPress plugin of BuddyBlog. BuddyBlog allowed us to create a custom post type and then add it to the menu on the researcher's profile.

Fulfilling the Custom Content Type Requirements

There are several different approaches to creating custom content types, or Custom Post Types (CPTs) as they are called in WordPress. What gave us the most flexibility was to create CPTs from custom code. Because we wanted to have documentation for this option, we have documented this more fully on a separate page.

Data Import and Export

There are a couple of options when considering importing data from Drupal. First of all, WordPress has some very capable paid plugins based on the FG Drupal to WordPress plugin. These worked well on their own in creating CPTs for the different Drupal custom entity types being imported. The FG plugins were also excellent at importing users, even importing the passwords as well. However, there was a limitation for the imports in that when we tried to use the imported CPTs with the BuddyBlog plugin, then we were not able to use a form within the front end for editing. Since that was a very desirable feature for us, and we were able to use the form editing in the front end when we decided to not use the imported CPTs from the FG plugins.

Another option is to use the Drupal Entity Export module.