Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.
Sign In
Not a member yet? Click here to register.
Navigation

Development for Tesseract

Falk, October 09 2013

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.

You might also like:

  • by Falk
    PHP-Fusion Main have been upgraded to PHP-Fusion 9 (9.03)
    Besides the custom Theme we have upgraded basics such as Users, Forums, Downloads, FaQ and a larger patch to AddonDB.…
    Continue Reading
    0 1295
  • by Falk
    v7 to v9 Themes Ported
    RobiNN have been porting some of the more popular Themes from 7 to 9 for us. We will even be…
    Continue Reading
    0 3355
  • by Falk
    Merry Christmas and a Happy New 2018
    Merry Christmas and a Happy New 2018To all our National Support Sites, Co-workers, Users, Supporters and to all our…
    Continue Reading
    0 7187
  • by Falk
    PHP-Fusion 9.0 Stable
    We are very proud to offer the most advanced and feature rich PHP-Fusion version ever released. Download PHP-Fusion…
    Continue Reading
    0 46601