Planning your site
From Aikiframework wiki
Site, views and Languages
Aiki always work with a unique databases, who stores aiki data, users, and all information that are managed by your site. A site, is basically configuration and widgets. You can have one or more site active. Each site doesn't share widget, and each can have his own configuration. That means you can have two different web over the same data: for example a back-end and a front-end. Or a web for customers and other from retailers. Or on for student and another one for teachers.
Each site can have views. A view is modified version of your main site. Views share all widgets of site, but can:
- have their own configuration.
- have their own code in a widget.
- have a parametrized version of css.
With view you can:
- change the visual design of a site.
- have a version of your site adapted for a specific resolution, or device (mobil, tablet).
- in shops,for example, you can have shops for each country: tax, shipment
The main difference between site, and view is that sites don't shared widget. Use views, when you only want to do little changes between 'sites'.
Aiki can translate his interface and can recognize the language chosen by user, so you can make adaption and changes for each language.
Languages and URLs
You can start you site in on language and add other languages some times after. You won't lost you url references: if my site is www.mysite.org in english and someday a i add german, i will have the url:
- www.mysite.org
- www.mysite.org/en
- www.mysite.org/de
You can also, adding new view to a existing site.
Plugin and Extension
A plugin is little program that you can install in your site, and its will be called by aiki automatically. It's similar to Wordpress plugin. Plugin are available for all sites, views and languages, but you must activate the plugin for certain (can be all) sites, and view, and languages.
A extension is a class added to aiki object. All aiki code is organized around a main object called $aiki. For example, url is examined by $aiki->url,
$aiki->messages, output all messages and so on. You can add your own extension to $aiki object, adding new features.
The main difference between plugins and extensions, is that in plugin you only need install and activate the plugin, but in extensions you need make calls in widget to new features.
More information: Extending_Aiki

