diff --git a/README.md b/README.md index bf1d375b..9c952149 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,9 @@ It is based on a lot of great PHP components. Special thanks to: ## Requirements - PHP 7.1 or higher -- One PHP extension of PDO-SQLite and/or PDO-MySQL enabled (it might work with PostgreSQL and Oracle as well, but that wasn't tested and is not officially supported) +- One PHP extension of PDO-SQLite or PDO-MySQL enabled (it might work with PostgreSQL and Oracle as well, but that wasn't tested and is not officially supported) - and the [usual Symfony application requirements](http://symfony.com/doc/current/reference/requirements.html) -If unsure about meeting these requirements, download the demo application and -browse to the script to get more detailed information. - ## Installation First, install Git and [Composer](https://getcomposer.org/doc/00-intro.md) @@ -44,6 +41,21 @@ The next command will create the database, the schema and install all web assets $ bin/console kimai:install --relative ``` +The default installation uses a SQLite database, so there is no need to create your own database for first tests. +You can configure your database through your environment (e.g. Webserver, Cloud-Provider) or in your `.env file: +```bash +$ cp .env.dist .env +``` + +You can adjust the following ENV values to your needs: +``` +DATABASE_PREFIX=kimai2_ +DATABASE_URL=sqlite:///%kernel.project_dir%/var/data/kimai.sqlite +APP_ENV=dev +APP_SECRET=some_random_secret_string_for_your_installation +``` + + ### Installation (development / demo) Lets boostrap your environment by executing this commands (which is only available in dev environment): @@ -74,29 +86,34 @@ $ bin/console doctrine:schema:create The `kimai:reset-dev` command can always be executed later on to reset your dev database and cache. +There is no need to configure a virtual host in your web server to access the application for testing. +Just use the built-in web server for your first tests: + +```bash +$ bin/console server:run +``` + +This command will start a web server for Kimai. Now you can access the application in your browser at . +You can stop the built-in web server by pressing `Ctrl + C` while you're in the terminal. + + ### Installation (live) -The default installation uses a SQLite database, which is not recommended for production usage. -You can configure your database through your environment (e.g. Webserver, Cloud-Provider) or in your `.env file: -```bash -$ cp .env.dist .env +The database to use is up to you, but we would not recommend using the default SQLite database for production usage. +Please create your database and configure the connection string in your environment, e.g. with the `.env` file: +``` +APP_ENV=prod +DATABASE_URL=sqlitemysql://db_user:db_password@127.0.0.1:3306/db_name +APP_SECRET=insert_a_random_secret_string_for_production ``` -You can adjust the following ENV values to your needs: -``` -DATABASE_PREFIX=kimai2_ -DATABASE_URL=sqlite:///%kernel.project_dir%/var/data/kimai.sqlite -APP_ENV=dev -APP_SECRET=some_random_secret_string_for_your_installation -``` - -Now create the database schemas and warm up the cache: +Create the database schemas and warm up the cache: ```bash $ bin/console doctrine:schema:create $ bin/console cache:warmup --env=prod ``` -Finally create your first user: +Create your first user: ```bash $ bin/console kimai:create-user username password admin@example.com ROLE_SUPER_ADMIN @@ -104,6 +121,15 @@ $ bin/console kimai:create-user username password admin@example.com ROLE_SUPER_A For available roles, please refer to [the user documentation](var/docs/users.md). +> **NOTE** +> +> If you want to use a fully-featured web server (like Nginx or Apache) to run +> Kimai, configure it to point at the `public/` directory of the project. +> For more details, see: +> http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html + +That's it, you can start time-tracking :-) + ### Importing data from Kimai v1 Before importing your data from a Kimai v1 installation, please read the following carefully: @@ -117,38 +143,26 @@ Before importing your data from a Kimai v1 installation, please read the followi - You have to supply the default password that is used for every imported user, as their password will be resetted - Data that was deleted in Kimai v1 (user, customer, projects, activities) will be imported and set to `invisible` (if you don't want that, you have to delete all entries that have the value `1` in the `trash` column before importing) -The full command for import: +A possible full command for import: ```bash $ bin/console kimai:import-v1 "mysql://user:password@127.0.0.1:3306/database?charset=utf8" "db_prefix" "password" "country" ``` -It is recommended to test the import in a fresh database without any required data! Then you can test your import as often as you like and fix possible problems in your installation. +It is recommended to test the import in a fresh database. You can test your import as often as you like and fix possible problems in your installation. A sample command could look like that: ```bash $ bin/console doctrine:schema:drop --force && bin/console doctrine:schema:create && bin/console kimai:import-v1 "mysql://kimai:test@127.0.0.1:3306/kimai?charset=latin1" "kimai_" "test123" "de" ``` -That will drop the configured Kimai v2 database schema and re-create it, before importing the data from the `mysql` database at `127.0.0.1` authenticating the user `kimai` with the password `test` for import. +That will drop the configured Kimai v2 database schema and re-create it, before importing the data from the `mysql` database at `127.0.0.1` on port `3306` authenticating the user `kimai` with the password `test` for import. The connection will use the charset `latin1` and the default table prefix `kimai_` for reading data. Imported users can login with the password `test123` and all customer will have the country `de` assigned. - -## Usage +## Extending Kimai 2 with Bundles -There is no need to configure a virtual host in your web server to access the application for testing. -Just use the built-in web server for your first tests: +As Kimai 2 was built with extendability in mind, it can be extended like every other Symfony application. +A first example on how to extend Kimai 2 can be found in this [GitHub repository](https://github.com/kevinpapst/kimai2-invoice). -```bash -$ bin/console server:run -``` - -This command will start a web server for Kimai. Now you can access the application in your browser at . -You can stop the built-in web server by pressing `Ctrl + C` while you're in the terminal. - -> **NOTE** -> -> If you want to use a fully-featured web server (like Nginx or Apache) to run -> Kimai, configure it to point at the `web/` directory of the project. -> For more details, see: -> http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html +There are more options, for example events to hook your own pages into the navigation tree. +As we don't have documentation on this by now, please ask in the issues track or have a look at [this class](https://github.com/kevinpapst/kimai2/blob/master/src/EventSubscriber/MenuSubscriber.php). ## Troubleshooting @@ -156,4 +170,3 @@ Cannot see any assets (like images) and/or missing styles? Try executing: ```bash $ php bin/console assets:install --symlink ``` - diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml index 4f6dbe80..ec0f84c3 100644 --- a/config/packages/translation.yaml +++ b/config/packages/translation.yaml @@ -1,7 +1,5 @@ framework: default_locale: '%locale%' translator: - paths: - - '%kernel.project_dir%/translations' fallbacks: - 'en' diff --git a/translations/messages.de.xliff b/translations/messages.de.xliff index 53bb6256..88b01a58 100644 --- a/translations/messages.de.xliff +++ b/translations/messages.de.xliff @@ -689,7 +689,7 @@ label.invoice_calculator - Zahlungsberechnung + Summen Berechnung invoice_calculator.default diff --git a/translations/messages.en.xliff b/translations/messages.en.xliff index 9529b2e9..035a0728 100644 --- a/translations/messages.en.xliff +++ b/translations/messages.en.xliff @@ -689,7 +689,7 @@ label.invoice_calculator - Amount calculator + Sum calculation invoice_calculator.default