Massive Platform

Travel Massive's Global Community Platform

View the Project on GitHub travelmassive/massiveplatform

Platform Sponsors



Email us at platform@travelmassive.com if you would like to become a sponsor.

Welcome to Massive Platform, the 2017 Edition!

Welcome to Massive Platform, Travel Massive's open-source community and event platform.


What Is Massive Platform?

Travel Massive is a world-wide community in more than 100 cities (see our latest stats), connecting over 25,000 travel insiders at locally organised events to empower change in the travel industry and make travel better. You can learn more on our public manifesto.

We developed Massive Platform to help our members connect more easily and to provide a centralized place for profiles and events. We outgrew all the usual tools such as Facebook pages and Meetup, and we wanted our own community platform, so we built one from scratch. We've made our platform open-source so that other communities can benefit from and build on our efforts and help make this product awesome.

Since our launch in January 2015, we've continued to develop the platform's features and have scaled the Travel Massive community to tens of thousands of members with thousands of events. The platform is developed and maintained by Ian who is the founder of Travel Massive. We would love more contributors!

Who uses Massive Platform?


Travel Massive (travelmassive.com)
A community for travel industry insiders.


Hardware Massive (hardwaremassive.com)
A community for makers and inventors.


Mappy Hour (mappyhour.org)
A community for outdoor adventurers.

Platform Screenshots









Key Features

Membership Features

  • User Registration
  • User Profile Pages
  • Sign In With Facebook
  • Sign In With Twitter
  • Users Vanity URLs
    (ie: travelmassive.com/myname)
  • Invite Members By Email
  • Follow Members
  • Approved Users Badge
  • Chapter Leaders
  • Industry Segments
  • Profile Tips
  • Privacy Settings
  • Report Members

Chapter Features

  • Chapter Profile Pages
  • List Chapter Leaders
  • List Chapter Members
  • List Upcoming Events
  • Members Can Join Chapters
  • Contact Chapter Leaders
  • Map View Of Chapters
  • Export Membership Data (CSV)
  • Chapter Invitations
  • Chapter Reports
  • Customs welcome message on join
  • Advertise for chapter leaders

Event Features

  • Event Profile Page
  • Chapters Can Create Events
  • Member and Company Events
  • Attendee Registration
  • External RSVP Supported
    (ie: eventbrite, meetup)
  • Waitlist / Seat Limit
  • Manage Waitlist/RSVPs
  • Email to Attendees/Waitlist
  • Restrict to Approved Members
  • Partner Event Flag
  • Customize Event URLs
  • List All Upcoming Events
  • Event Reminders
  • Export Attendee Data (CSV)
  • Online events for webinars
  • Preview events mode
  • Add to Calandar (ical)
  • Event Payments (Stripe)

Company Features

  • Company Profile Pages
  • Multiple Profile Managers
  • List Companies
  • Industry Segments
  • Filter Companies By Country
  • Filter Companies By Segment
  • Follow Companies
  • Company Vanity URLs
    (ie: travelmassive.com/company)
  • Set As Sponsor

Community Search

  • Custom search module developed
  • Filter by industry segment ("segment: media")
  • Filter by location ("in:Asia")
  • Filter by company ("at: AirBNB")
  • Filter by role ("role: manager")
  • Filter by social account ("has: snapchat")
  • Filter by content type
  • Sort results by follower count
  • Load more results inline
  • Permalink URLs for search queries

Status Updates

  • User status updates
  • Chapter status updates
  • Company status updates
  • Preview of posted URLs
  • Moderate/Promote updates
  • Hashtag search
  • View counts
  • Consume and post RSS feeds

Branding

  • Custom branding engine
  • HTTPS Live Streaming (HLS) for front page
  • Customize logo/header/footer
  • Add custom js/css to pages
  • Customize by location (geoip)
  • Customize by chapter/location
  • Customize by URL
  • Customize by referrer
  • Cascading branding rules

Notification Features

  • Personalised Newsfeed Emails
  • Member messaging via email
  • Welcome Approved members
  • Custom Chapter Announcements
  • Notify on new Follower
  • Notify on new Chapter Member
  • Notify on event RSVP/Waitlist
  • Subscribe to Newsletter

Other Features

  • Responsive HTML5 Design
  • Supports Retina Displays
  • YouTube covers for profiles
  • Customise contact page addresses
  • Wordpress Feeds
  • Community Reports
  • Video background front page
  • Clean HTML Emails
  • Mobile / Tablet / Desktop
  • Follow / Join Rate Limits
  • Search Content
  • Google Universal Analytics
  • OpenGraph/DublinCore meta

Drupal Features

  • Drupal D7
  • Code Driven Features
  • Data Migration With CSV
  • Display Suite Design
  • Flags for Follow,Join,RSVP
  • Tested for ngx_pagespeed module
  • utf8mb4 (emjois and Asian chars)

External Integrations

  • Wordpress theme
  • Vanilla Forums
  • Jobskee Job board
  • iFlyChat site chat

Planned Features

Our Core focus is on developing features to support the needs of the Travel Massive community and our partner communities such as Hardware Massive and MappyHour. Below is a list of some of the features we plan on working on next.

Little Things

  • Sign In With LinkedIn ($ bounty)
  • Show mutual connections with other members
  • Realtime notifications on site
  • Automated chapter rankings
  • Automated chapter sponsorship page
  • Top members report

Big Things

  • Signup help page for new users
  • Who's nearby page
  • AMP page template
  • Bot integration
  • Member/company badges
  • Partner Sections
  • Got an idea? Build it!

How To Install Massive Platform

Installing the platform is reasonably straight forward if you you've got some Drupal experience. Here's a list of things you'll need:

  1. A Web Server (nginx preferred)
  2. A MySQL Database
  3. PHP 5.5+
  4. A long train ride

If you are developing with Ubuntu (our preference) you can get up and running easily by installing the following packages:

sudo apt-get update
sudo apt-get install mysql-server
sudo apt-get install nginx
sudo apt-get install php5-fpm php5-mysql php5-gd php5-curl php5-json php5-readline
sudo apt-get install drush
# for sending mail, your favorite MTA
sudo apt-get install postfix

Once you've got nginx, MySQL and PHP, then you're ready to go. These examples were developed for our Ubuntu Linux development environment so you may need to modify to suit your own set-up.

1. Get the source code

$ cd /var/www
$ git clone https://github.com/travelmassive/massiveplatform.git \
massiveplatform
Cloning into 'massiveplatform'...
remote: Counting objects: 133588, done.
remote: Compressing objects: 100% (1023/1023), done.
remote: Total 133588 (delta 162), reused 0 (delta 0)
Receiving objects: 100% (133588/133588), 125.97 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (94854/94854), done.
Checking connectivity... done.
Checking out files: 100% (6926/6926), done.
Note this may take some time initially.

2. Create database and permissions

ubuntu@localhost$ mysql

mysql> create database massiveplatform;
Query OK, 1 row affected (0.01 sec)

mysql> grant all on massiveplatform.* to massiveplatform@localhost
  identified by 'massiveplatform';
Query OK, 0 rows affected (0.03 sec)
(Note: if you change any of the mysql database details, make sure you configure sites/default/settings.php accordingly later on.)

3. Create an nginx configuration file

We've created a sample configuration file in the 'massiveplatform_setup_files' folder to get started.
cd /var/www/massiveplatform
sudo cp massiveplatform_setup_files/localdev.massiveplatform.com.conf /etc/nginx/sites-enabled
/etc/init.d/nginx restart

4. Edit your php.info

Change the following variables in your php.ini as set out below (On Ubuntu: /etc/php5/fpm/php.ini)
# Required by nginx php usage
cgi.fix_pathinfo = 0

# Support users uploading large profile pictures from smart phones
post_max_size = 8M

# Maximum allowed size for uploaded files
upload_max_filesize = 8M
Restart php5-fpm service after modifying php.ini
sudo service php5-fpm restart

5. Import Sample MySQL database

Note: A utf8mb4 sample database is also available to support emojis and Asian characters. Your MySQL installation will need to support utf8mb4 to import this, and you will need to uncomment the utf8mb4 settings (see sample settings.php). This is recommended for new installations.
cd /var/www/massiveplatform
zcat massiveplatform_setup_files/massiveplatform.utf8mb4.sql.gz | mysql -u massiveplatform -p massiveplatform
Non utf8mb4 databases:
cd /var/www/massiveplatform
zcat massiveplatform_setup_files/massiveplatform.sql.gz | mysql -u massiveplatform -p massiveplatform

6. Copy settings.php and non-git files into sites/default

cd /var/www/massiveplatform
mkdir sites/default
cp massiveplatform_setup_files/settings.php sites/default
# note - edit settings.php here if you changed database name or password
tar zxvf massiveplatform_setup_files/sites.tar.gz

7. Fix permissions - allow web server write access to default/files

sudo chown -R :www-data /var/www/massiveplatform
sudo chmod -R 775 /var/www/massiveplatform/sites/default/files
sudo chmod 444 /var/www/massiveplatform/sites/default/settings.php
Note: This works for local development, but on a production server you should review all file permissions.

8. Ready!

Ok, now point your browser to your web server. If you are developing on your local server you can probably use "localhost", or if you have a configured hosts files you can use "localdev.massiveplatform.com" as we've used in our example.

If you have succesfully installed Massive Platform, your web browser should look something like this:

9. Default Logins

Here are the default logins for the site (in "username / password" format):

Get this far? Let Us Know!

If you get this far and got your local development site running, we'd love to know! Send an email to ian@travelmassive.com and also provide any tips on improving these installation instructions so we can add it for others. Thanks!

User Roles

There are a number of user roles that come shipped to allow for management of the platform.

Massive Platform API

There is a basic API provided by the tm_api module. You can add your own API hooks in here. Currently the following (basic) read-only API methods are published.

All results as returned as JSON.
For JSONP append ?callback=myfunction to the URL.

Development Tips

Handy drush commands

Enabling Cron

Other tips and tricks

Enabling Wordpress Feeds

What's freely available to use and what is copyright?

Authors and Contributors

Support or Contact

Having trouble? Check out the our project wiki (in development) or issue tracker. You can also contact us at platform@travelmassive.com and we’ll help you sort it out.