# abi.de Typo3 CMS

### URLs
* staging: 
  * Backend/CMS: https://staging-abi-cms.meramo.org
  * Frontend: ???
* live: ???

External DB management access:
* staging: 
  * Mysql: https://staging-abi-pma.meramo.org/
  * MongoDB: mongodb://username:password@213.239.225.120:30002/db
    (Credentials can be found in our secure password manager)
* live: ???

### Deployment Components
* staging: 
  * Backend/CMS:
    * Project Repository: https://git2.meramo.org/typo3/abitypo3cms.git
    * Helm Chart: https://git2.meramo.org/helm_charts/abi-typo3-chart.git
    * ArgoCD Project: stagingabitypo3cms (https://staging-argocd.meramo.org)
      * Application: staging-abitypo3cms
      * MysqlDB: staging-abitypo3cms-db
      * MongoDB: staging-abitypo3cms-mongodb
  * Frontend:
    * ???


### Prerequisites
* Typo3 10
* PHP 7.4
* Mysql DB
* [Composer](https://getcomposer.org/download/)


### Custom Extensions
* mrm_be
* mrmbepages

### TER Extensions
* [ichhabrecht/content-defender](https://extensions.typo3.org/extension/content_defender)
* [wazum/pagetree-resizable](https://extensions.typo3.org/extension/pagetree_resizable)
* [vlucas/phpdotenv](https://github.com/vlucas/phpdotenv)

### Setup (general)
1. Clone project.
2. Setup mysql db.
3. Copy <projectdir>/public/typo3conf/env-file-template to <projectdir>/public/typo3conf/.env and set DB credentials and other
   secrets in the newly created .env .
4. Import a fresh dump into your mysql db.
5. Fill up the 'fileadmin'-Directory with a fresh backup.
6. cd into project's root folder
7. composer install




### DDEV Setup (local development)
1. Create a local project directory change to it. (cd projectdir)
2. clone this git repo into your projectdir (git clone .....)
3. Copy <projectdir>/public/typo3conf/env-file-template to <projectdir>/public/typo3conf/.env and set DB credentials and other
   secrets in the newly created .env .
4. ddev config
5. Choose 'php' (NOT 'typo3') as kind of project and accept all other default options in the 'ddev config challenge'
6. Edit **.ddev/config.yaml**:
    * docroot: "abitypo3cms/public"
    * php_version: "7.4"
    * webimage_extra_packages: [php7.4-mongodb]  # add this line if it is not already there!
7. ddev start
8. ddev describe (to get an overview of what ddev has build for you)
9. ddev ssh (to ssh into the projects web server)
10. cd abitypo3cms (on the web server!)
11. composer install
