### Configure installation status in config.app.php Source: https://lewe.gitbook.io/teamcal-neo/installation.md Set the APP_INSTALLED constant to 0 to trigger the installation script again or 1 to mark the application as installed. ```php //============================================================================= /** * APP INSTALLED * * A flag indicating whether the installation script has been executed. * 0 = Not run yet * 1 = Was run * Set this to 0 if you want to run the installation.php script again. * If not, it is recommended that you delete the installation.php file. */ define('APP_INSTALLED', "0"); ``` ```text define('APP_INSTALLED', "1"); ``` -------------------------------- ### Start Keycloak in Docker Source: https://lewe.gitbook.io/teamcal-neo/administration/oidc-authentication.md Run a Keycloak container in development mode with admin credentials. ```bash docker run -d \ --name keycloak \ -p 8180:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:latest \ start-dev ``` -------------------------------- ### Query documentation via HTTP GET Source: https://lewe.gitbook.io/teamcal-neo/llms.txt Perform an HTTP GET request to the documentation index with specific question and goal parameters. ```http GET https://lewe.gitbook.io/teamcal-neo/administration.md?ask=&goal= ``` -------------------------------- ### GET /administration.md Source: https://lewe.gitbook.io/teamcal-neo/llms.txt Performs a query against the documentation index to retrieve an answer based on a specific question and optional end goal. ```APIDOC ## GET /administration.md ### Description Perform an HTTP GET request on the documentation index to ask a question and receive a direct answer along with relevant excerpts and sources. ### Method GET ### Endpoint https://lewe.gitbook.io/teamcal-neo/administration.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ``` -------------------------------- ### CSV User Import Format Source: https://lewe.gitbook.io/teamcal-neo/administration/users/user-import.md Example of the required CSV structure for bulk user imports. Each field must be enclosed in quotes and separated by a semicolon. ```csv "butch";"Butch";"Cassidy";"butch@holeinthewall.com";"male" "sundance";"Sundance";"Kid";"sundance@holeinthewall.com";"male" "jdunbar";"John";"Dunbar";"john.dunbar@wolves.com";"male" "sconnor";"Sarah";"Connor";"sconnor@resistance.com";"female" "jtkirk";"James T.";"Kirk";"jtkirk@enterprise.com";"male" "dtargaryen";"Daenerys";"Targaryen";"dtargaryen@got.com";"female" ``` -------------------------------- ### Configure OIDC environment variables Source: https://lewe.gitbook.io/teamcal-neo/administration/oidc-authentication.md Add these entries to your .env file to enable and configure the OIDC provider connection. ```text OIDC_YES=1 OIDC_PROVIDER_URL=https://keycloak.example.com/realms/teamcalneo OIDC_CLIENT_ID=teamcal-neo OIDC_CLIENT_SECRET=your-client-secret-here OIDC_REDIRECT_URI=https://your-teamcal-server.com/index.php?action=oidccallback ``` -------------------------------- ### Legacy Language File Structure Source: https://lewe.gitbook.io/teamcal-neo/administration/language-new.md The original language system consisting of four primary files for framework, application, GDPR, and logging strings. ```text languages/ ├── english.php # Framework strings (~1,026 keys) ├── english.app.php # Application strings (~730 keys) ├── english.gdpr.php # GDPR strings (~13 keys) └── english.log.php # Logging strings (~103 keys) ``` -------------------------------- ### Create Language Directory Source: https://lewe.gitbook.io/teamcal-neo/administration/language-new.md The required directory structure for new language files. ```text src/languages/your_language/ ``` -------------------------------- ### Enable split language files in PHP Source: https://lewe.gitbook.io/teamcal-neo/administration/language-new.md Set the constant in the application configuration file to activate the split language file system. ```php define('USE_SPLIT_LANGUAGE_FILES', TRUE); ``` -------------------------------- ### Configure TeamCal Neo OIDC Environment Variables Source: https://lewe.gitbook.io/teamcal-neo/administration/oidc-authentication.md Set the required environment variables in TeamCal Neo to enable OIDC authentication. ```text OIDC_YES=1 OIDC_PROVIDER_URL=http://:8180/realms/teamcalneo OIDC_CLIENT_ID=teamcal-neo OIDC_CLIENT_SECRET= OIDC_REDIRECT_URI=http:///index.php?action=oidccallback ``` -------------------------------- ### Configure LDAP settings in config.app.php Source: https://lewe.gitbook.io/teamcal-neo/administration/ldap-authentication.md Defines the constants required to connect to an LDAP server. Ensure LDAP_YES is set to 1 to enable the authentication method. ```php define('LDAP_YES', 1); // Use LDAP authentication define('LDAP_ADS', 0); // Set to 1 when authenticating against an Active Directory define('LDAP_HOST', "ldap.forumsys.com"); // LDAP host name define('LDAP_PORT', "389"); // LDAP port define('LDAP_PASS', "password"); // SA associated password define('LDAP_DIT', "cn=read-only-admin,dc=example,dc=com"); // Directory Information Tree (Relative Distinguished Name) define('LDAP_SBASE', "dc=example,dc=com"); // Search base, location in the LDAP directory to search define('LDAP_TLS', 0); // To avoid "Undefined index: LDAP_TLS" error message for LDAP bind to Active Directory define('LDAP_CHECK_ANONYMOUS_BIND', 0); // Set to 1 to check the LDAP server's 'anonymous bind' setting. Connection will be refused if not allowed. ``` -------------------------------- ### Verify OIDC Discovery Document Source: https://lewe.gitbook.io/teamcal-neo/administration/oidc-authentication.md Access the discovery URL to confirm the OIDC configuration is reachable. ```text http://:8180/realms/teamcalneo/.well-known/openid-configuration ``` -------------------------------- ### Absence Management Language File Template Source: https://lewe.gitbook.io/teamcal-neo/administration/language-new.md Use this structure to define language strings for new controllers. Ensure all keys follow the established prefix convention. ```php ``` -------------------------------- ### New Controller-Specific Language Structure Source: https://lewe.gitbook.io/teamcal-neo/administration/language-new.md The modernized structure organizing language strings into individual controller files for improved performance. ```text languages/ └── english/ # Language folder ├── core.php # Essential strings (~26 keys) ├── about.php # About page strings (~8 keys) ├── absence.php # Absence management (~94 keys) ├── calendar.php # Calendar features (~89 keys) ├── user.php # User management (~45 keys) └── ... # 35 total controller files ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.