Get started with PHP-Fusion

Development for Tesseract

30,977 views

BY Domi
October 09 2013 17:34:46

Category Development & Design




Development for Tesseract


These are some improvements we wish to make for PHP-Fusion.

Note that this by no means include all improvements we're implementing in PHP-Fusion.


Introduction


PHP-Fusion is a lightweight opensource content management system (CMS) written in PHP.


It utilizes a MySql database to store your site content and includes a simple, comprehensive administration system. PHP-Fusion includes the most common features you would expect to see in many other CMS packages.



Features like:



  1. News

  2. Vote Polls

  3. Articles

  4. Forums

  5. Themes

  6. Shoutbox

  7. Weblinks

  8. Downloads

  9. Messaging

  10. Photo Gallery




Nick Jones legacy of PHP-Fusion


When we develop for the future we must always keep the individual user and the webmasters that will use PHP-Fusion in mind.
One of our basic principle when we are developing PHP-Fusion and it´s future functions is that it need to be developed in a way where we do not complicate things more than necessary and reasonably excusable. Nick called this principle KISS.
We will always strive and aim to do intuitive, intelligent and easy to understand functions along with the preferred procedural programming method.
If we have a need for other methods such as OOP ,  we will and we have used OOP when called for. However we are careful with OOP implementations.
By doing this we also ensure that many of our webmasters can reuse the functions we do in a creative way for their own needs.


PHP-Fusion and our future..


In the beginning of 2005 PHP-Fusion Version 6 was released.
It caught the interest of many both experienced and less experienced webmasters around the world.

PHP-Fusion was ahead of it´s time and became very popular.
PHP-Fusion Version 7 was released late in 2008.
Since the initial release of PHP-Fusion Version 7 the development have not evolved much.


With Tesseract we will try to change this negative trend.
We will aim to offer a PHP-Fusion that is futuristic, fast and powerful.
PHP-Fusion will be more intelligent than ever with intuitive website development for both developers and less experienced webmasters.


We are moving forward each day.
With every step of creation we think of support backwards and a self explanatory experience.
We want to ensure webmasters that every single possible action is accounted for and well thought thru as much as we can be expected to understand what a webmaster could need.
If we can guess that you will want this, this, that or that and this or maybe none. We will try to make all options possible in each and every way.
Every horizontal menu must also be vertical. Every stacks of tabs must also be a list.


Every section must also be every page. This and/or that. All designed, arranged, pre planned and included.

We have a goal to let our webmasters choose and define as much as possible for their needs.


We hope that Tesseract will be able to compete with the worlds most popular CMSes.




Intuitive design


In Tesseract design and code standards will be focused to move individual webmasters in to the center of everything.
We design to let webmasters decide how they want, we also build to let them create the content they wish to create.
We do not define, we code to let the webmasters do their definitions. Intuitive design is to let webmasters do whatever they wish to do.
We are aiming to give webmasters a Photoshop like toolbox for many things. We code the tools and we provide the pallets to show the webmasters how they can make rainbows.
We don't let our definitions start. Instead we ask what the webmaster need and we give them as many options and functions as possible to let them do what they can think of, even things they diden´t  thought was ever possible. That's our intuitive design.

We code in separated non combined snippets to reflect as much re-usability of our functions as possible even at Infusions level.
This creates dependencies and allows everything to run the services. To run settings, we provide setting based functions.
Developers shall have a basic set of API libraries to work with.


Our incremental is not just to fix, but to add more and more functional libraries.



Ease of use



PHP-Fusion will be modular. Core is Core, Infusion is Infusions, Plugins as Plugins, Themes as Themes etc.
They will be in parts, combined to enhance and diffused to degrade.
Nothing are made with cross dependencies.


When you degrade one feature, the functions for all feature related to it shall be removed.
If there are a function that two or more components requires, it will be made as a Core component. As you probably noticed above, we have a new definition for PHP-Fusion called PHP-Fusion components.

We will collect our components in the following groups:




  1. Core Components

  2. Plugin Components

  3. Theme Components

  4. Infusion Components




The Core and Setup


PHP-Fusion used to have a lot of Infusions pre-installed and integrated to the core.

In order to emphasize our lightweight claim you will notice that many of the things that used to be included in the core will be made to separate Infusions in Tesseract.

The following core features will be made Infusion based


  1. Photo Gallery

  2. Articles

  3. Forum

  4. Shoutbox

  5. Errors

  6. Banners

  7. Weblinks

  8. Contact

  9. Smileys

  10. FAQ

  11. Downloads

  12. Messages

  13. Polls

  14. News

  15. Admin Reset

  16. BBcodes

  17. Robots

  18. Smileys



With this change we can also offer all new PHP-Fusion installations a selective setup.


This new setup will allow the core installation to suit site owners needs better from start.


Additionally we will add the following features to the Core:



  1. Hierarchy functions which outputs entire libraries.

  2. SQL functions which outputs all field names.

  3. PDO support for databases.



The Core will also have Form API's that will set new standards in form fields sanitation, SQL management, field management. It is responsive, and have all Bootstrap features, which allows many powerful jQuery actions to be made available without extra coding.


It will standardize how fields work throughout entire Tesseract.




Default values


The core will host a huge variety of default values.
From fonts up to selections, Tesseract will need to host all default values as much as we host locale information.
Users first, coder second, core default.
Every PHP-Fusion related application must be designed with such mindset that it can be used in every possible way.



Infusions


In Tesseract we have a big focus on the core functions that also will have an impact on how we create Infusions in the future. The goal is to make it  easier than ever to create content for Tesseract.
A new SDK will be introduced to enable Administration management design and coding standards.
This includes a Category explorer, General API, Form API, and Administration panel functions API.
Plugins are made to support more modularity to Tesseract, all Infusions will have addons. This allows more features available to specific Infusion via Infusion plugin without modifying the Infusions files.


 


Naturally we also have high ambitions with some of our already existing Infusions.
We will remake the following Infusions with both new features and new layouts,





  1. FAQ: Re-design with a Informative front, Vote options,Tags,Users can send in questions and receive answers directly.

  2. News: Re-design,Tags, Polls. A new front section with slideshow and tons of information for each news item and it´s content like any news site would be.

  3. Articles: We need a complete re-make in how Articles work. It need to be separated from How both FaQ and news work. We need chapters so article writers can create a series of articles that are connected we need to add some candy such as subscribe on a Author option, Add to collection, Add tags, We also need an intuitive front section that lists latest and popular article content.

  4. Contact: It will be made more costumizable with a settings interface and new design.

  5. Messages: We will have a complete new message system with chat, block options and Conversation stacking. A settings page will be included to adjust all new options. The messaging will also get a new look with a pretty interface.

  6. Photo Gallery: The Photo Gallery will get a new front section with categories on the side and some filtering options where we show Photos from Last 24h / Last Month / Last Year along with a popular tab at the top.

  7. Forum: New design is top priority with the hierarchy functions added.




Administration Interface


We will introduce a completely new Administration interface with tabs control.
The new Administration interface will be intuitive by nature and it will also have some built in statistics made with easy pie chart in the dashboard.


Infusions can be installed on a managed tabs like folder.
Tab management will be designed for customization.


You can rename tabs, create or delete the tabs in the Administration.
Infusions can be moved to any tab the webmasters want.


 


Category Explorer is used for category and hierarchy management.


The Category Explorer is a customizable Administration component written to replace all Infusions such as News categories, Weblinks categories, Photo Gallery categories, Download categories, etc.
The Category Explorer is a very intuitive component which runs on standard fields that any category page should have, The Category explorer can also execute customizable fields if needed.


 


Administration panel have functions which Infusions developers willl enjoy.


With extensive tabs manager, site manager, design manager, less CSS, and statistic functions which allows Infusion developers  to add these functions to their Administration panel with ease.


All this are made possible while maintaining the intuitive features the Core provides.





Themes and theme engine


Tesseract will have a new Theme engine with tons of options and features.


The new Theme engine will be fully responsive , Modular and Intuitive.


Because of it´s working nature it will be more like a GPU for PHP-Fusion which gives us much better performance than we previously seen when it comes to Theme rendering.


You will be able to save presets to a specific page or to have it global.


For example you can even chose to have a new theme for each section you have on your site.
The Theme engine replaces older panels management and template rendering.


You will need to assign panels directly to your site´s layout from the Theme engine.
You can chose to have each assigned panel on one page or on multiple pages.
The Theme engine will also be able to override your current theme default values of various settings so webmasters easily can customize the simple things without the need to code.


All Infusions will have a default template.
If a theme have the same template function, the Theme engine will auto switch to the theme's Infusion template.
The Theme engine are optimized for speed to ensure fastest possible response time by segregating non used codes to ensure that only relevant codes are loaded.
Controllers are added to enable or disable 3rd party addons such as jQuery libraries like editors, form io, Google fonts, icons, etc.
Webmasters can disable them and enable them in the design.




Introduce help sections


With help sections we will add various explanations and helpers within our Administration areas where we explain how things work in order to create a self explanatory experience.


Users and Groups


We have the ambition to refine and optimize this section by merging it with the User Control Infusion.





Security


We will build a new section that we call PHP-Fusion Defender to increase security and to prevent bots.


We have the following features in mind:



  1. Password strength checks at registration

  2. Dynamic user defined trivia system. Dynamic an unique honeypot for registrations.

    1. Check for re-captcha updates.

    2. Options for DoS attack stopping and X multiple repeated posts from same IP within a given time frame that will be auto banned.

    3. On/Off option for our global MIME type check on uploads.



  3. Administrator password need to be optional. Anything security related in the settings need to be moved to this section.


We are also aiming to make intelligent functions that will sanitize standard inputs and set defaults where they should be, more details about these functions will come in the documentation and the final release notes for how to use and handle them.





Profile


The user´s profile will be getting a facelift along with a new body with tons of features.
Since the users can follow Threads and Articles along with a new message system we will need to make a profile that matches these changes.



These are some of the things we have in mind for our new profiles,

{ Left side of the profile }

● Large profile image
● Information about the user below the image
● Message and follow buttons below the information

{ Middle of the profile }

● Tabs system [ Wall ] [ Feed ] [ Lastseen ]
● Wall will be a posting ground for messaging
● The feed will contain information the following sections [Forum,News,Articles,Photos ]

{ Right side of the profile }

● Statistics [ Profile Views, Appreciations,Followers,Wall Comments ]
● Statistics [ Forum Threads,Forum Posts,News,Articles,Photos,Comments,Ratings,Shouts ]
● User Groups





Edit Profile


 


Edit profile section will also need a total facelift and a structural change to reflect the massive changes the User Profile will receive.
A lot of the information and options need to be enabled/disabled by the individual user control.





Registration


Our registration page need to be changed to work with the new security settings and it also need a new fresh layout.





UTF-8


PHP-Fusion Version 8 will have a native support for UTF-8 in order to make PHP-Fusion  better for more languages and translations.





SEO


Tesseract will contain many features that will improve SEO.
The SEO will be both with URL re-write options as well as in definable menu items.





Login


We need to allow logins with e-mail address.





Modularity


Tesseract aim for Modularity and Intuitiveness.
We will have both the Theme engine and our Infusions ready to receive customized modules.




Locales


Since a while back we have had sporadic discussions on how we should do with our locales.
There have also been ideas about online editors etc.
We need to think about and evaluate the most optimized method for PHP-Fusion and it´s usage of locales.
There have been ideas about Gettext.
There have been ideas about one single large file.
There have been ideas about two files ( Back-end / Front-end ).
Since we have moved a lot of functions from the core to Infusions the locale files have also moved to the respective Infusions folder, thus making it easier as it is.

One thing for sure is that we will make a Locale switcher for the core in Tesseract.





Centralized Patching


Primarily we need to plan and sketch how we can do a solution that works with Github.
It could be a cron function that alerts webmasters that a new update is available.




Updating content


We need to think how we can make it easier for our webmasters to do pack updates.


Dependency Managers for PHP such as Composer and Packagist need to be considered.


More info about these and it´s implementations can be found here.





Backwards compatibility


With Tesseract we will maintain compatibility for both Infusions and themes.
Due to the vast amount of enhancements in Tesseract there can be glitches with Infusions and themes that are not explicitly developed for Tesseract.


One rare example that we are aware of is that if you enable our new support for PDO.
PHP-Fusion 7 and some of it´s Infusions have multiple MySQL calls hardcoded, these will not work without a minor modification for some querys.





Summary 


We will focus our efforts to once more make PHP-Fusion ahead of it´s time and relevant for anyone who need a CMS that is easy to understand but powerful enough to do what every they could want.





Contribute


Don´t forget to check our Development Funnel out -> Development Steps


You can always follow our Development -> Development


The Roadmap Forum for our Development can be browsed -> Roadmap Forum


Do you wish to contribute to PHP-Fusion ? -> Apply for Staff





Development History


The genuine Development of Tesseract started on 2013/06/01 when the Development section with it´s Forum structure and other necessary tools was ready on  the http://www.php-fusion.co.uk site.
The new Development plan have been authorized by the Management Team signed by Domi as the Project Manager in cooperation with hein as our Lead Developer 2013/10/09.


With great assistance from PHP-Fusion Development Team and our fine community.





Discuss this (18 Comments)

Please Login to Post a Comment.

#16 on Dec 19 2013 at 08:11:11

Peyman24x

Plz release v8 soon

#17 on Dec 19 2013 at 17:16:35

ntn

Thank you everybody working hard. I like php-fusion.

#18 on Jan 13 2014 at 06:05:56

PeaceLaced

I am very pleased to see this list. When I was on the development team for PHP-Fusion ten years ago I suggested to Digi that a bloat free core was the way to go, and everything needed to be turned into infusions. I am glad to see this is finally going to happen. I only wish Nick was around to see the evolution of his creation. I have no doubt you will turn the best CMS into something even better. Get ready for stardom PHP-Fusion, it has been a long time coming. Keep up the good work.

About PHP-Fusion

PHP-Fusion is an all in one integrated and scalable platform that will fit any purpose when it comes to website productions, whether you are creating community portals or personal sites. Founded as an open source project under the GNU AGPL v3, PHP-Fusion is licensed to be open and free to use. Derivative codes must be shared unless we grant you a license to waive the AGPL agreement. This is what we believe gives the best possible protection for both PHP-Fusion and all the Developers that creates Addons for PHP-Fusion.

Latest News

Documentations

Contact Information

PHP-Fusion Inc
For contact please send an email to

Main Sponsors

A2 Hosting       JetBrains