Site Blog

Sep ’13

As you are probably well aware, e107 has been nominated in the Critic's Choice CMS Awards for best Open Source CMS. In a tough competition between four other nominees for this award, e107 needs your help to be voted as best Open Source CMS this year.

Cast your vote for e107 by filling in this form. The voting round ends on October 1st, so be quick!
Spread the word and let’s make sure everyone in CMS land knows about e107!
Aug ’13
Image: of yesterday, I am extremely excited to announce that e107 has been nominated as one out of the five nominees for the People’s Choice for best Open Source CMS award.

As this particular category is the most popular one in the entire Critic’s Choice CMS awards, it truly shows that the tremendous effort by both the e107 team and the entire community has produced outstanding results with plenty of opportunities for further improvement and growth over the upcoming years.

With great appreciation towards the community, e107 is asking you to prepare for the voting round, which commences on the 1st of September 2013. Be sure to vote for e107, so it will win the award! This will result in increased awareness and popularity.

Once again, thank you community! Let’s continue working hard to improve e107 even further. Not just as a (very powerful) content management system but also - equally important - as a community project.
Jul ’13
The Critic's Choice CMS Awards, which started in 2012, helps to bring attention to all the content management systems that people use to manage their websites. You can help bring e107 more publicity by nominating us for this award!

e107 participates in the following three categories:

  • Best Open Source CMS
  • Best Free CMS
  • Best Small to Midsize Business CMS
To nominate e107, simply fill in the form here:
You have until August 1st, 2013 to get your nominations in.

We hope to get shortlisted so that we’ll be able to move into the further stages of the Awards. The more nominations, the greater our chances!

Thank you!
May ’13
Not only have I been working with the team to make sure we could get the first alpha out - which I’m hoping everyone is enjoying so far - I've also been preparing my first v2.x plugin called 'Owe Me!'. The code is located here:

Owe Me! is a very simplistic plugin that creates an overview of money that is owed to you by others (be it friends, family or whoever else). It can I thought of creating this when several family members and friends still owed me some money and both the paper as well as my mental notes seemed to disappear real quickly. You know the feeling?

By means of this blog post, I would like to share my experience of building a v2.x plugin considering my limited PHP experience. I can do some basic editing which is the reason as to why I practically refrained from working on v1.x plugins before. It turns out, my limited PHP skills are sufficient enough to create a v2.x plugin. I hope this inspires and encourages you to try it out yourself as well!

Amongst the many amazing new features in v2.x which I highlighted in one of my previous blog posts, the plugin builder is a great tool that will be of significant use to you when you want to develop a plugin. It will generate most of the new code for the admin-area of your plugin based on your database structure. The tool also generates the new plugin.xml meta-file, which is used during installation of your plugin.

Using this tool has several advantages:
- There is no need to code in the HTML or the process of reading and/or writing to your database (which was still needed in v1.x). On top of that, your interface is consistent with the rest of admin area which makes it easier for end-users to use your plugin.
- You can easily make full use of features such as the media-manager, userclasses, drag-and-drop sorting, batch and inline editing and so on.

Let’s take a closer look at what I did to create the plugin:

1) The first thing I did was thinking about the database structure of my plugin. I found this to be the most important step of the entire process as the database structure is the basis of your plugin. You need to think about how you would like the data of your plugin to be structured.

For example: the Owe Me! plugin has one main table (which contains the ‘entries’) and three other tables: debtors, categories and statuses which contain information about each of these sections. I used these different tables as I wanted the users of my plugin to be able to define their own debtors, categories and statuses.

I used a database tool called phpMyAdmin to actually create the structure. Most webhosting providers offer this tool. More info on phpMyAdmin can be found in this great tutorial:

2) A simple export of my database (again through phpMyAdmin) was all that was needed to get the contents of my oweme_sql.php file. Simply put the table structure in your *_sql.php file. Example data can be added using the *_setup.php files. (* = your plugin folder name)

3) I selected my plugin folder (oweme) in the plugin builder and it showed me some options like which column names needed options such as batch or inline editing, which columns could be filtered and which columns were displayed or hidden by default.

4) After the plugin builder generated the admin interface of my plugin for me, I had to make some minor and simple changes to make sure the dropdowns in my main area were pulling data from a different table in the database (e.g. the ‘debtor’ dropdown needed to pull data from the debtor table in my database). This is done through the init() function, which is actually really easy to use. Examples can be found in the FAQ plugin, or even in my plugin if you like!
At the same time, the plugin builder had also created a basic plugin.xml for me which I slightly edited afterwards to suit my needs.

5) I then started working on the frontend of my plugin. The frontend is the actual area on your website that users can see. In my case this is a simple table that shows all the Owe Me! entries.
The integration of Bootstrap and jQuery made it real easy for me to style the table. It instantly looked consistent with the rest of my installation which was quite a relief when thinking back about how this had to be done in v1.x.


I had then finished my first simple v2.x plugin and I actually enjoyed creating it. I may be biased, but this is such an improvement from all the manual and inconsistent work that had to be done when creating a v1.x plugin. The plugin builder created the basic files (admin_config.php and plugin.xml) so I could focus on the frontend of my plugin.
I am no PHP expert and yet I did manage to create my first plugin which got to count for something, right?

I plan on expanding the Owe Me! plugin to include some new features and make it a little more customisable (e.g. some preferences to set for example the currency). I’ll also be adding LAN files so users are able to translate the plugin into their own language. Feel free to contribute by testing and submitting pull requests to the Github repository. You can also star and/or fork my project to spread the word. Pull requests are welcome!
I’ve added some screenshots below to give you an impression of the Owe Me! plugin (click to enlarge).





Thank you for reading, feel free to let us know what you think about the plugin creation process and/or my plugin specifically.
I hope to see your v2.x plugin(s) sometime soon!

May ’13
The alpha release is a fact. Over the past few weeks e107 Inc. has been providing sneak peeks of the - by many anxiously awaited - version 2 of e107 CMS. The development team has now reached a stage where it is time to involve the community more actively. We need your help!

Testing required!
As already mentioned in a previous blog post; multiple areas, features and functionalities in the 2.x release of e107 have had limited testing in live website environments. We need your help to make sure all of these features work as they should.

Be aware that the alpha release is a development release. Caution is advised when upgrading from a live website. Always make proper backups before upgrading! The team takes great care in providing a stable system, we don't expect anything to break. Having said that, there are going to be bugs but that is exactly what the alpha is for!

These are some of the areas that we would like to receive feedback on:
- The upgrading process from v1.x to v2.x. This should be a matter of uploading the alpha release files onto the latest v1.x installation. After visiting your website you will be redirected to the admin area where it will assist you in the upgrade process. Your data will be retained but please always backup your data first, as with any update, just in case.

- Backwards Compatibility (BC). This includes the ability to use plugins and themes (that were originally created for 1.x) on 2.x installations. Anything that worked on a 1.x installation should work on 2.x. (In some cases minimal adjustments may be required).
The forum plugin is an exception to this as it has been heavily modified in the way it stores its data. You can notify us of outdated plugins here:

- New features. In my previous blog post, I highlighted several new features such as the media-manager and the integration of jQuery and Bootstrap. Feel free to comment on all of those new features.

How can you help? Some specific instructions:
The upgrading process is basically the same as with any other upgrade of e107.

1) Backup your website. No matter what you do, make sure you have a complete backup including the MySQL database so you can revert back if needed.

2) Download the v2-alpha1 update package (link below). If you are currently using different folder names than (e107_*, e.g. e107_plugins), rename the folders in the upgrade package locally first before uploading.

3) Upload all of the files by FTP over your current v1.x installation (preferably the latest) making sure you overwrite existing files.

4) When you navigate to your website, you will be redirected to the admin area to perform updates. In the admin area, there will be a message stating an update is available. Hit that button.

After applying the required updates, you are on the alpha version of v2.
You can also choose to set up a fresh installation of v2.x. A video has been created which illustrates the installation process of a fresh installation:

Here’s what to do next:

- Try it! Report any bugs in the Github issue tracker here:
When posting issues to Github, please keep this in mind:
1) Be as specific as possible, providing as much information as possible. Errors and screenshots are very useful!
2) Try to limit each issue report to one specific issue rather than including many different problems in one issue report.

- Use the (v2 specific) forums for general feedback such as positive comments or constructive criticism. Feature requests will be welcomed at a later stage (ie. after the stable release). If you are unsure about a bug, the forums are the place to discuss it before posting on Github. This will help to keep the Github tracker clean.

- Help by CONTRIBUTING to e107!
If you are somewhat comfortable with coding websites, you should consider contributing to e107 by forking e107 and providing pull-requests. This is THE opportunity to contribute! More info on forking and pull-requests can be found here:

If you have any questions regarding contributing to e107, please do not hesitate to ask any team member. We definitely welcome new contributors and we would love to see new faces joining us in development.

Final notes.
The first alpha release is here, this means that we are getting closer to the stable release of v2.x. Here are some final notes:

- For now, you will be able to use e107 in the English language only. Please refer to my previous blog post for an explanation.

- Github provides a wiki that is currently used for some v2.x documentation. It includes coding standards, contribution instructions and specific notes on v1.x themes and plugins. Take a look here:

- This is the first alpha release. The purpose of this stage is to introduce and finalize a release candidate with the participation of current developers and site owners so they become familiar with, and have input on, new standards and functions that will enable them to work with more creativity and fewer restrictions.

You can easily check the ‘pulse’ of the development progression here on Github: This will give you a quick overview of all the development activity in a given period.

It doesn’t stop there! The development team will continue to improve your experience with e107 by adding new exciting features over time. This is just the beginning!

Download your copy of the official version 2-alpha 1 here: here

Mar ’13
Image: the past weeks and months, the community has reported an increasing amount of bots signups which consequently results in an increasing amount of SPAM on your e107 installations. We hear you. Not only you guys are spending too much of your time trying to fight these nasty fellows, so are we. The e107 team members have practically made it their day job to remove the continous flow of spam posts (okay I am exeggerating here, but SPAM is definitely frustrating, isn't it?).

e107 Inc. is now proud to introduce SFS, a plugin that cross-references every signup request with the database of This database is a collection of usernames, e-mail addresses and IP-addresses of known spambots. After installing the plugin, every signup is quietly checked in the background against the database to make sure that it is not a spambot that tries to pollute your website but a legitimate user. In case a known spambot tries to sign up, the signup request will fail. This should decrease the amount of spambots who sign up on your website significantly (the plugin has already proven itself on this website over the past few hours alone). On behalf of e107 Inc., thank you for the excellent work that has been done in building this database over the years.

The SFS plugin can be downloaded here:
Please feel free to leave feedback and to commit some pull-requests.

In addition to the SFS plugin, we have added an additional spam check in the e107 signup process. This check is included in the 1.0.3 release and should contribute to reducing the amount of SPAM on your website. There is no guarantee for a SPAM-free website but both the added check and the SFS plugin should help with reducing malicious signups significantly.

We encourage you to try the SFS plugin and feel free to leave us some feedback, positive or negative.

Until next time :)
Mar ’13
As the last blog post originates from three months ago I would like to inform you about the numerous changes that have taken place up to now and changes that will take place over the coming months. I will be recapping what has happened over the last (say, three) months and more importantly, we are now able to give more information on what’s coming up next.
Take a comfortable position and grab another cup of coffee (if you please so) as you are now up for, what should be, a long and extensive but incredibly satisfying read.

Recap: what has happened over the past months?
The past three months consisted of many preparations and behind the scene changes. e107 Inc. has been working on re-organizing their teams in such a way that they are now able to answer your questions and inquiries more efficiently and effectively. As an example, the e107 security team is now looking after all security reports that are handed to us, in a very effective and efficient way. This is incredibly important for both you and us. Providing a secure system is one of our main goals, it is a shared responsibility to keep the internet secure. Also, it will help reducing the amount of time the support team needs to assist in recovering hacked installations, which is also a big plus ;)

V1.x development
Even though the focus of our development process lies on version 2.x, the e107 team has definitely not abandoned the 1.x branch. In fact, over the past months it has been preparing a maintenance release named 1.0.3. This release includes feature enhancements, several bug fixes and some security fixes that were reported to us over the past weeks. Currently the translation team is working on their, at least to me, valuable task of updating the language packs.

V2.x development
In addition to our behind-the-scene changes, the entire e107 team has been involved in the development of the upcoming version 2 release. Over the past months the teams have had regular meetings to brainstorm about the e107 support and development processes which resulted in several changes. One of them is the move to Github on the 24th of November 2012. The introduction of Github makes it possible for anyone who wishes to contribute to e107 to do so. It offers more flexibility and insight into the development process. More details on the Github move can be found in a previous blog post as well as the wiki pages on Github:
I personally have been working on LAN and UI enhancements; basically I’ve been trying to clean up old code and making it look shiny again :D

Let’s take a look at the future: what about the development of version 2.x?
The development of 2.x has been stretched over a long period of several years. Something that I personally regret but that can be explained by a couple of factors. The main reason for the period of time it took to near the upcoming stages, is that roughly 75% of the core code has been rewritten and updated to new standards. On top of that, all of these changes had to be backwards compatible with previous versions of e107 to make sure that all installations can be upgraded to v2 without major issues. Otherwise you would be forced to freshly install v2 without being able to upgrade from v1, something that is just plain wrong in my opinion :) Last but definitely not least, all of the people involved in e107 Inc. are volunteers with plenty of daily activities and full-time jobs. This means that all the time they spend on e107 is done aside from the large portion of time spent on their primary activities. As shown in the contributor graph here:, development has taken place at a steady pace with moments of increased availability and time.

e107 is now finally nearing the alpha stages. This means that the development team is now ready to show you the tremendous amount of work and effort that has been put into the development over the past years. Something I've been proud of - especially of Cameron and SecretR who put so much time and effort in the development: staying up late, working well past midnight is not uncommon for them!.

Let’s take a look at some of the new features that e107 2.x will introduce (and that I personally have been anticipating):
- To start off with, version 2.x integrates the jQuery and Bootstrap frameworks. Both frameworks can be described as collections of up-to-date website technologies that are now used in the core of e107 and that can be used by developers in their themes and plugins. This is a huge step forward as these frameworks have opened e107 up to awesome possibilities and stunning enhancements. For more information on both frameworks, we recommend checking out their websites: and Over time, all core code will be adjusted to use Bootstrap CSS styling.

- An example of the above mentioned possibilities is the Featurebox plugin. The Featurebox plugins displays any content that you like to 'feature', in a given area on your website. You know those fancy tabbed areas on websites which highlight news items? That’s an example of what you can do with the Featurebox plugin!

Another major enhancements is the ability of the so-called “inline editing” where it is no longer needed to browse to a new page to make a simple change (e.g. quickly editing the title of your news item).

See the screenshot to the left for more clarification. This will come in real handy if you are in rush and you want to make some quick changes.


- The Media Manager is a new area within e107. All media is now collected in one place. It holds core media such as icons but also download media, news media, and also gallery media. The latter is another new plugin in e107 which can be used to display a simple gallery on your website. In addition to the collection of media, the media-manager als holds functionalities to resize your images in realtime - you will never have to manually resize an image again, or upload a separate thumbnail for that matter. You will be able to use a single image which the media manager can convert into multiple sizes to use in different parts of your website.

- For those familiar with the content management plugin in the 1.x series of e107, this plugin has been removed from 2.x. This is due to the introduction of the powerful Pages/Menus feature. This feature allows you to place your content on your website. It covers both a simplification of the functionalities present in the v1.x content management plugin as well as new functionalities which are based on new features introduced in v2 (Search Engine Friendly URLs for example).

- Speaking about Search Engine Friendly (SEF) URLs. This is another feature that many of you have been anticipating. We are working hard on integrating SEF URLs into the core of e107. Most areas are finished whereas a couple of other areas are being finished up. Progress will be made during the upcoming development releases.

- The 'Schedule tasks' feature (often referred to as "crons" by nerds.. yep, guilty) will allow you to set specific tasks that will be automatically performed.
- Finally but definitely not the least important, version 2.x also offers the ability to remotely install themes and plugins. This means that you will not have to go through the process of downloading, uploading and installing the plugin manually anymore. With a few simple clicks you can install any plugin or theme right from the admin area.

We would like to have some more feedback on this area so we can improve it even further.
To ensure that plugins and themes match the updated standards, a Theme and Plugin builder has been introduced. This is a tool that will help plugin and theme authors to build and update their contributions while matching the new standards. This is needed to to take advantage of all the awesome features that v2 offers.

The above mentioned new features are definitely not all the new features that e107 2.x introduces. There are many features and functionalities included that will be enhanced over time. There are too many new features and functionalities to mention now, but over the coming months they will be introduced to you. Social logins is an example of such a feature.

Testing required!
As already mentioned, multiple areas, features and functionalities in the 2.x release of e107 have had limited testing in live website environments. Once we are releasing the first alpha version (which will be very soon now!) we need your help. Be aware! The alpha release is a development release. We take great care in providing a stable system so we don't expect anything to break. Having said that, there are likely to be bugs but that's exactly what the alpha is for! :)

These are some of the areas that we would like to receive feedback on:
- The upgrading process from v1.x to v2.x. This should be a matter of uploading the alpha release files onto the latest v1.x installation. The admin area will then provide help on updating the database. Your data will be retained but please always backup your data first, as with any update, just in case :)

- Backwards Compatibility (BC). This includes the ability to use plugins and themes (that were originally created for 1.x) on 2.x installations. Anything that worked on a 1.x installation should work on 2.x. (In some cases minimal adjustments may be required).

- Functionality on mobile devices. Being able to use e107 on your mobile device (be it a smartphone, tablet or another device) is becoming more and more important. If you own a mobile device, please feel free to test your 2.x installations on them. When reporting issues, be sure to mention the device you are using as well as the software and its version (e.g. Samsung Galaxy Tab 10.1, Android 4.x or Apple Ipad, iOS 6.x, Safari, etc.)

Final notes
All this information must have made you anxious to try it all out, right? Great! So am I (even though I've been actively working on developing as well as of last November :D). As already said, we are nearing the alpha stages. It will not take long before we will be able to offer you our first alpha release. Here are some final notes:

- Up to the first stable release, you will be able to use e107 in the English language only. The reason for this is that we are working hard on rewriting all old code into up-to-date code. This rewrite also includes major changes to the language files. Once the changes to the languages file are stabilized (probably during the first stable release), the translation team will be working on creating language packs for your language. It would be a tremendous waste of their time if we would ask them to create a language pack on every development version.

- The screenshots embedded in this blog post are only snapshots: the screenshots do not represent the final state of 2.x and may be subject to change over the coming weeks and months as development progresses. Just because I am so anxious, here are some more screenshots that I would like to share with you:




The e107 team hopes that by means of this blog post, it has informed you of the development process. I'd like to say that we have entered a new phase in the e107 development process. It is our goal to inform you more frequently of any updates and changes and I'll do my best to achieve that goal. Please let us know what you think by using the comments section on this Blog post and the forums for feedback.

Thank you, for your continuous support and faith in e107!