Developer Reference Manual

e107 v2.x Plugin and Theme developer manual.

Other Articles

e107 offers a variety of easy options allowing you to get a powerful website up and running in minutes.

Check Your Requirements

If e107 is to be your platform, you're going to need to hook yourself up with some basic gear. Here's what we suggest:


  • A Web-Server (Apache or Microsoft IIS) running PHP v5.3 or higher and MySQL 4.x or 5.x.
  • FTP access to your webserver and an ftp program such as Filezilla
  • Username/Password to your MySQL Database


  • A Linux based Webserver running Apache 2.x, PHP 5.4 or higher, MySQL 5.0 or higher. (LAMP)
  • A Registered Domain Name
  • Access to a Server Control Panel (such as cPanel)

Download the Software

Once you've confirmed you've got the basic gear. It's time for the main show to begin.

Download and upload the contents of the e107 CMS Full Zip file to your webserver via FTP.

v2.0 Bootstrap is a platform in development, so not everything might be fully functional just yet - but it's stable enough to run on most live websites. Our legacy software has years of proven track record powering thousands of websites on the web, but it doesn't provide all of v2.0 Bootstrap's future-ready features.

Installing v2 for the first time

Upgrading from v1.x to 2.0 alpha2

For v2.x Developers

† Please note that this is an alpha release (and in English only) - so please expect some minor bugs and post your findings on github.

Configure the database

The database is like your platform's brain, this is where we'll store your content, your preferences and settings.

You can configure a Database Account for e107 via your server's control panel (or ask your hosting provider to create a database and send you the database-name, username/password).

Run the installation program

Once the database is up and running, point your browser to the http://localhost/YOUR FOLDER/install.php (depending on your webserver setup).

Let e107 do the rest and get you one step closer to a fully-featured website. Simply follow the instructions and join the family of e107-powered websites.

Once the wizard is complete, you're all set to hopefully build the website of your dreams! e107 comes included with starting themes and a solid set of plug-ins to give you a great starting visual and the building blocks to help you build your site from the grounds up.

Support our further developments

Once you've experienced e107, consider helping us:

  • If you're a developer and can help us move e107 forward, don't hesitate to contribute your coding additions to the e107 GitHub platform.
  • If you're a webmaster you too can help us by contributing your experience to our blog and allowing us to share with others the flexibility of our platform using real-life examples.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non euismod leo. Sed venenatis gravida nunc vel rutrum. Pellentesque vel mauris vel tellus gravida luctus. Suspendisse vitae lacus tristique; pharetra metus at, ullamcorper risus. Nulla dapibus pharetra lectus et egestas. In sit amet pharetra enim? Maecenas elementum nibh nec tellus tincidunt posuere. Morbi a lobortis arcu, vitae feugiat risus! Integer risus lectus, blandit vel nunc nec, elementum auctor sem?

Curabitur gravida a augue nec blandit. Vivamus turpis dolor, aliquet in rhoncus nec, ornare non tellus. Curabitur tempor, nulla at mattis vulputate, orci purus ullamcorper nisl, in vulputate massa felis nec metus. Aliquam id felis sed mauris venenatis viverra. Vestibulum ac ipsum metus. Nam scelerisque, nulla quis tristique volutpat, massa dui convallis ligula, at lacinia metus dolor nec risus. Cras felis nibh, pharetra vel venenatis eget, eleifend eu risus. Ut tincidunt non mauris nec consequat. Nam porta, mi vitae tempus dictum, risus justo dignissim sapien, nec sed.
The e107 community has a long history of users helping each other out. Providing support, reporting bugs, requesting new features, submitting pull requests, and checking up on upcoming milestones, there's lots of ways to get involved in the development of e107.

Getting Support

Having trouble getting e107 up and running? Something not working the way you think it should? Unfortunately we don't have time to maintain a full e107 support community ourselves, but there are a few ways to get help.

  • If you think you have found a bug, then please see the section below on Reporting Bugs.
  • If you need help with how to use e107 or a development question (such as how to create a theme or plugin) - please see our docs,
  • You can also seek assistance at the Questions and Answers site where you can get friendly community support from other users,
  • If you are using the e107 Legacy software, you may sometimes find answers to your question on our Legacy forum archives.
  • If you are facing a technical issue that requires a coder to help, you can always post a question at StackOverflow with the tag 'e107', visit their tour to make sure your post is allowed on the service,
  • For other comments, please use our official community presences on Facebook, and Twitter as well as unofficial community presences on Google+ and Reddit.

Reporting Bugs

Found a problem with e107 v2 Bootstrap? Feel free to submit an issue on the GitHub project. But please keep the following in mind:

  • Don't expect the problem to be resolved instantly. The project is made possible by volunteers who also have to manage full-time jobs, family time, and many other things that get in the way.
  • Please search to see if your bug was already reported.
  • Provide as many details as possible. eg. "It doesn't work" is not so helpful when trying to trace problems.
  • After doing everything above, feel free to submit an issue.

If you are using Legacy Software e107 v1, we have set up a place to submit bug issues but please be aware that these will be handled on a lower priority basis as v2 Bootstrap bugs.

Developers are always welcome to support the community in addressing raised issues through pull-requests (see below).

Security Issues

Found a security issue with e107 v2 Bootstrap? Despite our best efforts, sometimes these do crop up. We're committed to resolving these as quickly as possible. So if you spot a security issue, please contact us directly at security[at] so that we can deal with these away from the eyes of unscrupulous hackers that may seek to exploit these issues and disrupt users' websites.

Feature requests

Got a new feature you'd like to see included in e107? Please use our Github issues page to submit your idea. Here are some things to keep in mind:

  • Please search to see if your feature request already exists, and if so, give it a "+1" in the comments
  • Understand that we may not get to the feature request right away, and that some features may be best suited to a 3rd-party plugin, rather than the core system of e107.

Submitting Pull Requests

Found a way to solve a bug in e107? Here are a few things to remember:

  • Please submit all pull requests on Github.
  • Please focus on existing unresolved issues and leave a comment that you're working on it.
  • Place the issue number in your description when you make your commit. eg. "Fixes #123 - Icons missing"
  • Use a separate branch for each issue you work on.

Project Milestones

Want to keep up with what's planned for e107? Check out our milestones on the GitHub project.

Send Your Thanks

Hopefully you think e107 is awesome. We've put hundreds (if not thousands) of hours into the project and have made it completely available to the open source community. If you'd like, here are a couple of ways you can show your appreciation for all the hard work:

  • Follow us on Github, Facebook and Twitter.
  • Consider becoming a developer and participating in the ongoing development.
  • Write inspirational articles, record videos, tell others how you're using e107 and inspire others to adopt e107
  • Make a donation to help speed along development.