Luis Fonseca y Joaquín Bravo - Axai.mx
# https://getcomposer.org/download/
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
# https://getcomposer.org/doc/00-intro.md#globally
sudo mv composer.phar /usr/local/bin/composer
composer create-project drupal/drupal public --prefer-dist
# public es el nombre de la carpeta
# mejor usar ~8.0 en vez de 8.2.0-beta3
# --prefer-dist = baja .zip en lugar de git
# si tu Internet es lento
wget -c https://ftp.drupal.org/files/projects/drupal-8.3.0.tar.gz
mv drupal-8.2.0-beta3 public
git init
cp example.gitignore .gitignore
vim .gitignore
# edit .gitignore line 15 to ignore:
core
vendor
modules/contrib
themes/contrib
git add .
git commit -m "Initial commit"
Con esto evitamos hacer modificaciones al core o a los módulos contribuidos porque no estan en nuestro repositorio.
Si quieres usar parches al core o a módulos, usa https://github.com/cweagans/composer-patches
y así las modifcaciones viven en composer.json
composer require drupal/console:~1.0
./vendor/drupal/console/bin/drupal check
alias drupal=./vendor/drupal/console/bin/drupal
drupal list
# Esto modifico composer.json y composer.lock
git add composer.*
git commit -m "Add drupal console"
drupal site:install
drupal server
# En sites/default/settings.php
# Generated value
$config_directories['sync'] = 'sites/default/files/config_HASH/sync';
# Update with new value
$config_directories['sync'] = 'sites/default/sync';
# Después correr en la consola:
drupal config:export
git status
git add sites/default/sync
git commit -m "Agregar configuracion a git"
# Editar composer.json
# al final antes de la última llave:
},
"repositories": [ {
"type": "composer",
"url": "https://packages.drupal.org/8"
} ]
}
# editar composer.json en la llave "extra"
"extra": {
...
},
"installer-paths": {
"modules/contrib/{$name}": [
"type:drupal-module"
],
"themes/contrib/{$name}": [
"type:drupal-theme"
]
}
},
# Siempre, por curiosidad
git status
git diff
git add composer.json
git commit -m "Agregar repo de drupal a composer.json"
composer require drupal/restui:~1.0
composer require drupal/image_raw_formatter:~1.0
composer require drupal/admin_toolbar:~1.0
git status
git diff
git add composer.*
git commit -m "Agregar módulos de rest y admin_toolbar"
# Desde la interfaz web o...
drupal module:install hal restui basic_auth
drupal module:install image_raw_formatter
drupal module:install admin_toolbar
drupal config:export
git status
git diff
git add sites/default/sync
git commit -m "Habilitar modulos (rest, admin_toolbar)"
# Desde la interfaz web
http://127.0.0.1:8088/admin/config/services/rest
Habilitar GET para "Content" con:
- hal_json
- basic_auth
drupal create:nodes
curl "http://127.0.0.1:8088/node/1?_format=hal_json"
# Crear un usuario
https://gist.github.com/jackbravo/6a06e99ec409e2cc537afdce57c2df90
curl --user admin:admin "http://127.0.0.1:8088/rest/views/articles"
# Recuerden, por curiosidad:
git status
git diff
# Para exportar
drupal config:export
git status
git add sites/default/sync
git commit -m "Exportar vista REST a la configuración"
Creación de adaptador para pasar la informacion a los componentes Android