I’m new to FAL, was able to get it up and running quite quickly and easily, especially due to the nice configuration file that automatically loads, which gave me further instructions, very nice indeed.
Let me start off by saying I’m not a professional programmer and I don’t get a commission from YATS
(I’m not involved with developing it).
I poked around a little, and forgive me if I overlooked something, but:
Wouldn’t it be nice/appropriate to include a configuration setting for the public folder itself? For instance if I already have a project where the assets (css, js, etc.) are already set up.
Outside of the current config files it looks like ‘public’ is only hardcoded in the templates, which presumably someone would change anyway. It just seemed to me that it would be fairly easy to specify ‘public’ in a config setting (and even ‘css’, ‘js’, and ‘img’, as someone else might be using ‘scripts’ or ‘images’). Having the captcha config separate seems like it might be good if someone wanted to keep that separate for some reason?
For example, YATS uses a structure like this:
L assets (assets folder, configure with $config['layout_assets'])
L default (default theme assets, configure with $config['layout_design'])
| L css
| L images
| L script
L shared (shared assets folder, configure with $config['layout_shared'])
| L css (css folder inside assets, configure with $config['layout_styles'])
| L images (images folder inside assets, configure with $config['layout_images'])
| L script (javascript folder inside assets, configure with $config['layout_script'])
So in a similar fashion, FAL might have:
L assets (assets folder, configure with $config['layout_assets'])
L default (default theme assets, configure with $config['layout_design'])
| L css
| L images
| L script
L shared (shared assets folder, configure with $config['layout_shared'])
| L css (css folder inside assets, configure with $config['layout_styles'])
| L images (images folder inside assets, configure with $config['layout_images'])
| L script (javascript folder inside assets, configure with $config['layout_script'])
L FAL (FAL user theme assets, configure with $config['layout_FAL'])
| L css
| L images (this is public\css\images in distribution)
| L script
L FAL_admin (FAL admin theme assets, configure with $config['layout_FALadmin'])
| L css
| L images (this is public\css\images_adminconsole in dist)
| L script
Names shown are just for discussion.
Not sure where you’d put the images/captcha, maybe in ‘shared’. But that’s the point, give the user the option to specify.
I guess I might be looking at this from two perspectives:
1. Make configuration more customizable
2. Make interface with other CI community widgets easier (YATS for example)
Summary: I think the following would correspond to the FAL dist and be similar to the YATS naming:
$config['FAL_assets'] = 'public';
$config['FAL_styles'] = 'css';
$config['FAL_images'] = 'images';
$config['FAL_script'] = 'js';
$config['FAL_assets_admin'] = 'public/admin'; //needed for YATS structure shown above
I think if you have those then any user (including YATS users) might be able to adapt easily? Within YATS the following might tie the two together (again using examples above):
$config['layout_FAL']) = $config['FAL_assets'];
$config['layout_FAL_admin']) = $config['FAL_assets_admin'];
$config['layout_styles']) = $config['FAL_styles'];
$config['layout_images']) = $config['FAL_images'];
$config['layout_script']) = $config['FAL_script'];