• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Modern AAC - Structure & How it works

Paxton

Banned User
Joined
Feb 23, 2008
Messages
4,110
Reaction score
48
Location
London, UK
Alright, it's mostly dedicated to Zisly :wub: as he wrote few times that Modern AAC is confusing about the structure (folders), yep there is many of them but everything has really it's own place.

Anyway I will write only few things here the rest is copied from documentation, and I will show you the most important things.

First of all, Modern AAC is based on CodeIgniter framework, which is one of the most known & best PHP frameworks out there, and we are waiting for CodeIgniter 2.0 it should revolutionize Modern AAC!

Anyway let's get started. So the process of a request first:

Application Flow Chart

The following graphic illustrates how data flows throughout the system:

appflowchart.gif


The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.

The Router examines the HTTP request to determine what should be done with it.

If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.

Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.

The Controller loads the model, core libraries, plugins, helpers, and any other resources needed to process the specific request.

The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.

Supported Features
These are only features provided by CodeIgniter, now the whole system! There is much more of them!

Model-View-Controller Based System
PHP 4 Compatible
Extremely Light Weight
Full Featured database classes with support for several platforms.
Active Record Database Support
Form and Data Validation
Security and XSS Filtering
Session Management
Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.
Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM
File Uploading Class
FTP Class
Localization
Pagination
Data Encryption
Benchmarking
Full Page Caching
Error Logging
Application Profiling
Scaffolding
Calendaring Class
User Agent Class
Zip Encoding Class
Template Engine Class
Trackback Class
XML-RPC Library
Unit Testing Class
Search-engine Friendly URLs
Flexible URI Routing
Support for Hooks, Class Extensions, and Plugins
Large library of "helper" functions

Model-View-Controller

CodeIgniter is based on the Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.

The Model represents your data structures. Typically your model classes will contain functions that help you retrieve, insert, and update information in your database.
The View is the information that is being presented to a user. A View will normally be a web page, but in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of "page".
The Controller serves as an intermediary between the Model, the View, and any other resources needed to process the HTTP request and generate a web page.
CodeIgniter has a fairly loose approach to MVC since Models are not required. If you don't need the added separation, or find that maintaining models requires more complexity than you want, you can ignore them and build your application minimally using Controllers and Views. CodeIgniter also enables you to incorporate your own existing scripts, or even develop core libraries for the system, enabling you to work in a way that makes the most sense to you.

STRUCTURE
Alright so this is written by me, to make it as easy as possible!

First of all, there is index.php which is the complete front, everything is requested through it.

System folder, is basically the whole application, it contains CI libraries etc, but we are interested only in application folder. The application folder contains MODERN AAC, which is basically the application we are aiming for.

The controllers, views and models for Modern AAC are in this folder. If you don't know what are they go back and read again or look at documentation.

Again we have libraries folder, these are libraries that are especially used for this application, so basically for Modern AAC.

Other folders shouldn't bother you, as a normal person should not be changing nothing else M-V-C folders. Even I as a developer rarely use other folders.

In parent folder there is public folder, which is basically what is visible on client side, such as images, java script, CSS etc.

API folder, is an external API which for example VAPUS uses, you shouldn't be playing with it.

Cache folder, is basically folder for caching things.

Compile folder is used by Smarty again as a cache, nothing to care about.

Configs, external configs. Nothing to care about.

Events - Added in Modern AAC 1.0 these files are fired in specific event, new way of publishing scripts.

Injections - Small plugins that injects to a specific website.

Install - Installation of Modern AAC nothing to worry about, can be removed after installed.

Templates - basically themes are there.

Anything else? Ask here!
 
So you're able to keep the whole page cached except for the footer which is dynamic. If the footer used codeigniter functions how would it access them?
 
So you're able to keep the whole page cached except for the footer which is dynamic. If the footer used codeigniter functions how would it access them?

It is possible to access CI functions even at the end of request, but the caching is available only within controllers, so I guess we would have to switch from Smarty to CI templating engine in order to do full caching, I was going to think about it but forgot. Anyway full caching will be implementent one day 100%
 
I have no clue if its ever been posted, but how about making an thread where you compare modernaac to gesior
 
I think he means comparing them as AAC's and not what people think about them.
 
I think he means comparing them as AAC's and not what people think about them.

I guess it shouldn't be me making such thread, but a guy that is not in development team of any of them, but he is smart enough to compare them from technical side I guess.
 
I don't know anything about Gesiors & Moderns performance, but how big is the difference? I know that Modern should be better but how much better is it? On a scale?
 
I don't know anything about Gesiors & Moderns performance, but how big is the difference? I know that Modern should be better but how much better is it? On a scale?

Modern AAC is faster than a gesior, but not so much.

When Gesior has 80ms of loading, Modern has ~50 and second time you enter Modern has ~20 ms.

But the performance is not really a problem as the current machines available don't feel any difference. The RAM took by Modern AAC is around 2mb
 
Well, I dunno if there already given answers on this question, but, How to re-install Modern-AAC?
Thx already.
 
Replace config.php to the original one, or change $config['server_name'] to $config['server_name'] = "%SERVER_NAME%";
 
Back
Top