Site Blog - Development (v2.0)

01
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: [-link-]

- 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: [-link-]
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: [-link-]

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: [-link-]

- 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: [-link-]. 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

Enjoy!
Moc
21
Mar ’13
More screenshots from the upcoming e107 v2

(Click to Enlarge)

Media-Manager : Avatars





Admin login page





Admin login page with Qaptcha plugin





Media-Manager popup: Selection tab





Media-Manager popup: Upload tab






Can't wait for the official release? No problem - Grab the zip from Github now!

16
Mar ’13
A few screenshots from the upcoming e107 v2

(Click to Enlarge)











02
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: [-link-]
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

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: [-link-], 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: [-link-] and [-link-]. 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 ). 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!
Moc
29
Nov ’12
A little preview of the v2 admin area

(Click to Enlarge)
24
Nov ’12
Hi 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: https://github.com/e107inc

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

Cheers!
04
Jun ’12
Well, it's official - e107 v2.0 will support the jQuery framework.
Quite some time ago (years?) e107 Inc. had decided to utilize prototype.js as the default framework in it's next major release - formerly known as '0.8' and more recently as v2.0. But as the months have rolled-on jQuery has clearly forged ahead to become the leading javascript framework worldwide, with a massive list of plugins to its credit. It's easy learning-curve and concise mark-up certainly make it a good match for e107.
Anyway, if any of you have been holding back from using jQuery in your plugins (perhaps due to compatibility concerns?), there's no longer any need - code away! And for those of you who still favor exclusively using prototype.js - it will still be possible to disable all the jQuery code and use prototype.js or some other framework of your choice with just the click of a button in the preferences. (be warned though, you might miss some of the cool features! )

So, spread the news and let us know your thoughts and experiences with jQuery in the comments below.


All the best,
Cameron
15
May ’12
One of the more flexible aspects of e107 are themes, the Theme Manager of e107 V2 pre-release demonstrates more user control over layouts and styles while theme.xml allows theme creators to "preset" pages and preferred menu assignments, suggest plugins to install and recreate the layouts as they were originally designed. If that's not enough, most of that provides the ability for administrators to make on-the-fly changes at the push of a button.

Where prior versions of e107 themes use CUSTOMHEADER and CUSTOMFOOTER to apply layouts to CUSTOMPAGES, Version 2 introduces a new theme file, theme.xml, which allows the theme designer to assign pages to layouts but gives Theme Manager the ability to change those pages to different layouts or add pages to others. In theory, a site owner with a 10 page website could create an e107 theme with 10 layouts named One thru Ten and never show their visitors the same layout or graphics twice. Other related information that a designer can suggest through theme.xml are to allow administrators to install plugins that are currently available in the plugins folder and menu activations per layout so that a new site can be installed and easily matched to the preview image. "Use Preset" buttons are accessible through Menu Manager as well.

Theme Manager itself has evolved into a multi page design separating the front-end and administration themes. For front end themes with multiple layouts, the site owner can select the layout that should be used by default for unspecified pages and any other layouts can accept the input of specific page names, or patterns, with the same effect as naming pages in CUSTOMPAGES of theme.php. Themes with multiple stylesheets will have them displayed and available to select as the default front-end stylesheet.

Older and custom themes can still be used though some may need modifications to function properly. Many fancy features of premium themes also require that those plugins or functions to be installed but V2 pre-release is not different from the current version in this respect. For those interested in the overall development of the latest version of e107, developers are hard at work and uploading SVN updates when they are available, please check the V2 changelog for more details.
23
Jun ’10

Development of PHP scripts without a preconceived plan to manage them is asking for a headache. The goal of a framework is to make the process of writing web-based applications simpler. Due to e107 popularity, things got a bit out of hand during the development. It is time to iron some things out that slipped in during these past years. Currently the e107 devs just 'make things work' and 'make things a bit more secure', but old legacy code is still there and it's procrastinating security and performance improvements. The e107 devs see a need to get rid of old procedural code and provide permanent solutions for the e107 system.

An application designed around MVC is easier to manage because it is split into tiers, which allow for independent development. This promotes code re-usability by building models, which are reusable throughout the application. That is why we would like to embrace MVC and single entry point (Front Controller) in the e107 0.8 version.

What is MVC?

Model-View-Controller (MVC) is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each.

MVC is often seen in web applications where the view is the HTML or XHTML generated by the app. The history of e107 was working with classes, but not really in an MVC efficient way. Working with MVC will bring better OOP (object oriented programming) standards closer.

What's in it for you?

Applying MVC will bring you more security enhancement (possible 'sandbox-ed' environment, possibilities to implement security mechanisms on different application layers/request stages, etc).
Please note that the code producing will not take so much time. The time consuming process is the design and analysis - the code preparation phase to implement all this.

To summarize all benefits for you: a better, safer and much more flexible CMS platform, that will provide plugin writers to integrate even better in e107, with an architecture ready for future developments. The catch? Well, it might take a while; but that's an old story.

Relevant links

http://en.wikipedia.org/wiki/Model-view-controller
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html
http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks
03
Jan ’10
Plugins can now contribute email addresses to the bulk mailout facility.

A typical example is a name and address list (separate from your list of site members).

For coders, this is achieved by adding an e_mailout.php file to your plugin directory. There are examples in the event calendar directory (which is probably about as simple as you can get, and not very useful!), and the newsletter directory. The core mailout selector is also a pseudo-plugin file in the same format, and is in e107_handlers/mailout_class.php - this is a good example of a more complex file.

For users, you can configure which plugins are active - this helps keep screen complexity down. So if you don't normally want to mail your subscribers to events, just untick the box on the mailout options page.
Showing posts 1 to 10 from 24
Go to page  1 2 3