yiinitializr icon indicating copy to clipboard operation
yiinitializr copied to clipboard

Yiinitializr 2.0

Open tonydspaniard opened this issue 11 years ago • 5 comments

Due to the success of Yiinitializr in the community, we are planning to make some changes on the Yiinitialzr site:

  • configuration enhancement
  • new templates
  • Yii1+, Yii2+ support
  • etc

Please, use this section to shoot ideas, improvements... any help would be highly appreciated!

tonydspaniard avatar Aug 16 '13 07:08 tonydspaniard

  1. A non-template composer.json that downloads just the Yii framework and requested packages and sets up the autoloader and yiic for generating web-apps as per our custom needs?
  2. Composer driven autoloader for using packages with a default Yii 1.1 generated web-app.

rvbhute avatar Aug 16 '13 18:08 rvbhute

@rvbhute

  1. For that I guess we will have to create something like YiiBoilerplate? Do you think is a good idea not to work with composer.json as Yii2 is about to work heavily with it?

tonydspaniard avatar Aug 16 '13 19:08 tonydspaniard

No, definitely composer is the correct way! But I am very confused. I did not expect a tightly coupled framework-application directory structure. I expected more of a "composer dropping packages into app/vendor and adding an auto-loader" sort of thing.

I am confused between composer managing dependencies per app and composer managing everything from framework down to the app. Plus YiiInitializr does a lot of magic! I think I will experiment with composer more first before diving into YiiInitializr.

Regards.

rvbhute avatar Aug 17 '13 06:08 rvbhute

Just a couple of ideas:

  • Theming support
  • I'd add more permission configuration on folders and files. Currently for a big project we developed using Yii Advanced, we used this script to set permissions across all the project:
#!/bin/bash
oIFS=$IFS
IFS=$'\n'
WEBUSER=$USER
WEBSERVERGROUP=www-data
echo Assigning owner to User: $WEBUSER - Group: $WEBSERVERGROUP
sudo chown -R $WEBUSER:$WEBSERVERGROUP .;
echo Changing directory permissions...;
sudo find ./ -type d -exec chmod 770 {} \;
echo Changing file permissions...;
sudo find ./ -type f -exec chmod 640 {} \;
echo Changing executable permissions...;
sudo find ./ -iname "*.sh" -type f -exec chmod u+x {} \;
sudo find ./ -iname "yiic" -type f -exec chmod u+x {} \;
sudo find ./ -iname "build" -type f -exec chmod u+x {} \;
echo Adding permissions to Runtime and Assets folders
sudo find . -iname "assets" -type d -exec chmod 770 {} \;
sudo find . -iname "runtime" -type d -exec chmod 770 {} \;
echo Adding permissions to Runtime, Assets and Usermedia files
sudo find ./backend/www ./frontend/www -iname 'assets' -type d | while read -r i; do
        find "$i" -type f -exec chmod 770 {} \;
done
sudo find ./backend ./frontend -iname 'runtime' -type d | while read -r i; do
        find "$i" -type f -exec chmod 770 {} \;
done
echo Adding permission to .htaccess
sudo find . -iname '.htaccess' -type f -exec chmod 640 {} \;
IFS=$oIFS

luislobo avatar Aug 21 '13 04:08 luislobo

non interactive deployment ie using Capistrano 3.x Currently I have modified the Yiinitializr callback to check for an ENV var set by capistrano and so interaction is not required and multiple deployment scenarios work perfectly.

Keep up the good work! Yiinitializr and Yii in general are now my first stop for building apps.

circulon avatar Jul 24 '14 04:07 circulon