Site Blog

Jun ’13
Do you use reddit?
Do you use e107?
Why not use both together?

Do you not know what reddit is? Reddit is a social news network where users can submit information in the form of content or a link to offsite content. Other users can then comment and rate said content as well as share and save content. Given enough upvotes the content can then appear on the front page of reddit.

Subreddits are pages within reddit. Several games (WoW, Guild Wars 2, Warframe, etc) all have subreddits and some of them (Guild Wars 2) pull community input directly from the subreddit and even have developers there interacting with reddit users.

If you create themes, write plugins, modify the core in anyway (hack), or make tutorials about e107, why not post them on the e107 subreddit? Your content will still be hosted wherever you post it, you will still get all the traffic you normally would have gotten, and you will also increase the exposure of said content from the people browsing the subreddit unawares of your existence to begin with. The other immediate plus is all users, new and old, will have a central location to get release news for plugins, themes, and even version releases of e107 itself.

Another amazing benefit is the ability to host AMAs (Ask Me Anything). This can potentially be another outlet for community meetings that could be more accessible to people than IRC, Skype, or a Google+ Hangout since reddit can be viewed in any browser on any device, and apps are out there for Apple and Android devices.

So, what are you waiting for? Get over to the e107 subreddit and start submitting content!
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!
Nov ’12
Image: added a new page to the site (under 'Misc') to honor the long-time members who are still very much with us.
Please be sure to take a look

Nov ’12
Image: Everyone,
As many of you know, we have used the Subversion system on Sourceforge for our collaborative development of e107 for many years now.
This past week we have just completed the migration of our upcoming v2 branch in the SVN of e107 to Github. (v1.x will remain on SF)

So, what does this mean for you?

Well, if you had ever wished to contribute changes directly to the core release of e107 - it will now be a whole lot easier!
Github users will be able to fork and send pull-requests, as they are likely familiar with already.
And if you are unfamiliar with Github or git, don't worry - we will soon post a basic walk-through to show you just how easy it is to use. (thanks to Moc and septor)

Anyway, here's the link:

And if you already have an account on Github please let us know your username in the comments below so we can 'follow' you!

Showing posts 11 to 20 from 41
Go to page   <<        >>