Core
The MyCustomBB Core is a modular system, designed to provide the basic (yet powerful) functionality that can serve as a strong foundation for any PHP-driven website. Initially designed for sole use in MyCustomBB, the core will be completely independent and may be used for any sort of project.
Soon, the core will be split off into its own and developed alongside MyCustomBB. The concept is still in its planning stages. The core may be used to create, or in conjunction with, any website. It is designed to be used as the backbone of the website - it will handle all basic functions. You may then add features to the website through use of modules, which will seamlessly integrate with the core.
Here are some features the core will provide:
- Customizability. Sticking with true MCBB philosophy, the core is designed to be customizable as well. Much of its functionality may be modified through the use of modules.
- Performance daemon. PHP scripts must re-initialize themselves each time they run, taking up valuable resources and time while doing so. The optional daemon helps to solve this problem by initializing once, and keeping everything open and ready for use. For example - keeping the log file open rather than opening to it, writing, then closing it with each addition. Language packs may be stored in memory rather than loaded each time the page loads. Memory may be shared between the scripts and the daemon, eliminating the need for other initialization tasks. The only initialization that will need to be done when the daemon is running is for interfacing with the daemon.
- High-performance cache system. Data should not have to be regenerated on each page load - that greatly slows down the system and is unnecessary. The core’s cache system provides a strong API that allows the caching and quick recall of nearly any information, including entire web pages with static content.
- Boundless template system. The template system helps to separate presentation from backend, allowing designers to modify the look and certain functionality of the website without ever touching the PHP code. The template system also allows for many different themes to a website, custom placement of various elements on the page, a powerful API for modifying various template elements, such as menus and forms, at run time, etc. The template system also integrates with the cache to cache the compile code for speedy execution.
- Powerful error handling and logging. The core contains a highly sophisticated error system, providing boundless information for debugging and logging. Errors may be handled directly by modules through use of error handlers, or even fixed using this system. If fixed, you may tell the core (or whatever raised the error) to continue on its way, with no interruption to the flow of code.
- Multiple database interfaces. The core does not interface with a single database - it may interface with any number. Support for additional databases may be provided and simple “plugged in” like any other module. Therefore, your site could support any number of databases, including MySQL, PostgreSQL, MSSQL, flat files, and more. Furthermore, conversion modules allow you to dynamically convert incoming and outgoing data into different formats, allowing you to interface with other websites without converting the database (for example, MyCustomBB reading and writing to a phpBB database).
- Localization support. The core speaks no language of its own (aside from default error messages and such, written in English). All information presented to the user is entirely dependent on what language the user speaks or what language the administrator chooses to be displayed on the website. The core uses language packs to display any words or phrases, allowing your website to be viewed by any number of visitors, no matter what their language. Additional languages can be added to the system simply by downloading another language pack.
- Fast flat-file storage. Databases may not always be practical, or maybe you wish to distribute collective information in a single file (a language pack, as an example). The core provides a heavily optimized flat-file system, providing you two modes - one optimized for speedy reading, and the other for blazing writing. The storage acts as a mini filesystem, allowing you to store many blocks of information within a single file.
- Integrated administration. Managing your website with the core will be a breeze - an administration panel is provided for you, which allows for the customization of the majority of all core functions. Modules may also add their own options to the administration panel, allowing you to modify virtually every aspect of your website.
- Session management and registration. Social networking sites are becoming more and more common. Communities are becoming more common. Membership in general is becoming a requirement. The core provides a complete session management and user registration system. Not only that, but you may optionally have it gather statistics on your users, among many other things. Don’t need session management? It’s easily disabled to save you the processing time.
- Attack prevention. As the Internet begins to dominate the world, attackers become more and more common. The core recognizes this and attempts to identify and prevent various types of attacks, including SQL Injections, direct file access, DOS attacks, SPAM, bulk account registrations, etc. This system is easily added to. It may also integrate with various blacklists to identify malicious hosts, e-mails, and more.
- Self repairing. Come on, it’s the 21st century! Let’s act like it! The core makes an attempt at intelligence with self-repairing systems. If it understands what went wrong under a certain condition, it determines if it’s possible (and safe) to resolve the error itself. If not, it provides you with detailed documentation on how to resolve the error yourself, with step-by-step instructions. Not comfortable with the idea? You can tell it what it can and cannot repair depending on severity, or disable the system completely. What if the system has no idea what to do or has no information on how to fix it? It can compile an error report, send it off to the core developers and they’ll make the necessary additions so that, in the future, it may be able to.
- Performance monitoring. As your website grows, it will begin to slow down. But what’s causing the problem? The core will monitor various aspects of your website and keep records of past performance. It will attempt to diagnose the problem based off of this past data and identify which operations are taking the longest to complete, providing possible explanations and solutions. Maybe it’s just a high server load. The system may recommend you disable certain modules or purchase server upgrades. Maybe your database is taking too long to respond. Maybe it’s damaged, so the system will attempt to repair it. Is your website under too much stress? You could have it tell visitors to come back later when it calms down, or selectively being to disable certain performance-intensive modules.
- AJAX Integration - The system’s front-end makes heavy use of AJAX, whenever possible. There will be a library that allows you to easily integrate your script with AJAX as well as generate some needed code for you. A client-side library will also be provided.
- Modular. Let’s not forget - the core is modular. While many of the above features are hard-coded, the system is built and optimized for additional features and modification of current features through the use of modules. If you cannot customize a feature through the administration panel, a module will most likely be able to do it for you. Average users should rarely have to modify the core’s code.
Of course, this is simply what’s planned for the core. Remember, you may add whatever feature you’d like. The possibilities are endless. Want to take a look at some of the module that will be available? Take a look at what MyCustomBB has to offer and read over some of the blog posts.
The web has a new ally.
What You May Expect To See
WebCORE is the foundation for your entire website. If you want features, you simply download and “plug in” the modules. You may then configure it and customize it however you wish (so long as the module follows WebCORE’s customizability standards, which is a fairly easy task). What does this mean? You could create an entire website in a matter of minutes, make it look like original in a matter of hours and save countless development and administration hours! Better yet, it already has most of the features you need built in, optimized for speed. It’s 100% secure - no need to worry about problems, unless from 3rd party modules. Can’t find what you need? The powerful API will allow you to create your very own modules with ease.
So what can you inspect? The WebCORE installer could ask you a series of questions about what you want for your website. Based off of those questions, it will select for you the most appropriate modules, providing you with their rating, security, features, etc. You may select the ones you want, and with a click of a button, install them all.
Don’t let the simplicity of administration confuse you - it is a very complex system and development will take time. We just do all the hard work for you. So what you’re getting out of it is an original website from essentially a massive template.





