History: Divergent Preferences in Staging Development Production
Source of version: 25 (current)
Copy to clipboard
Let's list preferences that should not be the same. This is useful if you copy a site from development to production. They could be part of environment variables. You can set via ((doc:System Configuration)). !! Likely different * db/local.php (unless on different servers) * Unified Search index prefix ** unified_elastic_index_prefix (if both point to the same Elasticsearch instance or cluster) - Elasticsearch index prefix at /tiki-admin.php?page=search ** unified_manticore_index_prefix if both point to the same Manticore instance or cluster), - Manticore index prefix at /tiki-admin.php?page=search * memcache_prefix * tiki_cdn * Authentication method: If you are connection to Active Directory or LDAP in production, you may want to change this setting in development * cookie_name (unless on different domain) * cookie_domain * domain redirect * scheduler_delay introduced in ((Tiki23)) to allow delaying all scheduled tasks to run some minutes after it was supposed to. It's useful for cloned instances, [https://en.wikipedia.org/wiki/Thundering_herd_problem|avoiding all schedulers to run at the same time]. See ((doc:Scheduler)). Related commit: https://sourceforge.net/p/tikiwiki/code/77631 * metatag_robots: You may want "noindex, nofollow" for non-production sites * Mail handling to avoid the test upgrade to send email and confuse end users. Instead, emails are saved to a file ** Up to Tiki 28.x: zend_mail_handler = "file" ** Tiki 29.x+: mailer_handler = "file" via this [https://gitlab.com/tikiwiki/tiki/-/merge_requests/7846|commit] * email_to_tracker_mode: Controls whether emails are moved (removed from IMAP) or copied when creating tracker items from IMAP. Set to "''copy''" in staging/development to preserve emails for testing, and "''move''" in production for normal behavior. See ((doc:System Configuration)). * tmpDir needs to be set to a writable directory. A clone may require a different path. (An incorrect path can lead to: The search index could not be rebuilt. "/home/xyz/tmp/tiki_mgr/Search_Indexer_manticore_tiki_console.log" cannot be opened with mode "w") !! May be different * New in ((Tiki22)): [https://sourceforge.net/p/tikiwiki/code/75843|Catch all email] so you can test everything without spamming users * .htaccess setting; You may not have full control over the servers (Apache modules, etc). + Also: If Tiki is not in the root web directory, you usually have to set the Apache RewriteBase in htaccess. This could different between your environments. * Security & Performance setting; The production domain and website may use different security setting than the development website (SSL certificate). Same goes for performance setting that are usually OFF while developing and should be enable and tuned on prod. * header_custom_js: the staging website may use different JavaScript than the production website due to libraries' updates, etc. See also here: https://tiki.org/Pre-Dogfood+Server#System_Configuration Also to be careful about: If you are storing files on disk and dev / staging / prod are on the same server (ex: with sub-domains): You should make sure they are pointing to different directories (otherwise, you delete a file on the dev server, and it deletes it on the production server, because the storage is shared). See ((doc:File Storage#Ideal_scenario|ideal scenario for file storage)) || Pref name | Path of storage for feature (if stored in directory) w_use_dir | Wiki page attachments fgal_use_dir | File Gallery t_use_dir | Tracker attachments In each forum | Forums || See also: * New in ((Tiki19)): https://sourceforge.net/p/tikiwiki/code/67442 * ((Configuration Management for Tiki Projects)) * ((TRIM)) * ((TRIM Revamp)) * ((Continuous upstream)) * http://symfony.com/blog/new-in-symfony-3-3-dotenv-component ** https://github.com/symfony/symfony/pull/21234#issuecomment-272009861 ** https://packagist.org/packages/vlucas/phpdotenv