Epic: Re-implement CiviCRM Standalone (CMS-less CiviCRM)
Follow-up to dev/core#1153, and [more context in this wiki page](https://lab.civicrm.org/dev/core/-/wikis/standalone), this is an epic to track the main tasks to implement CiviCRM Standalone.
- [x] Base classes (Hook, System, Permission and css/tpl so that Standalone can boot / proof-of-concept [PR22227](https://github.com/civicrm/civicrm-core/pull/22227)
- [x] Basic composer project to handle the code-case (see: https://github.com/civicrm/civicrm-standalone)
- [x] Composer template project that follows best-practices (see: https://github.com/civicrm/civicrm-core/pull/26771)
- [x] Implement a breadcrumb (see: https://github.com/civicrm/civicrm-core/pull/26782)
- [x] Login page (standaloneusers ext now included in core)
- [x] dev/core#4053 User management and permissions
- [x] initial user roles dev/core#4466
- [x] Password reset by email [PR28505](https://github.com/civicrm/civicrm-core/pull/28505), [PR27681](https://github.com/civicrm/civicrm-core/pull/28505)
- [x] Clean URLs
- [x] [Language switcher](https://civicrm.org/extensions/language-switcher) - language links are missing `lcMessages=xx_YY` and session change is not sticky. See #4425 and [PR#27040](https://github.com/civicrm/civicrm-core/pull/27040)
- [x] GenCode
- [x] Installer (using 'civicrm-setup')
- [x] Buildkit (mostly, requires `cv` support, see: https://github.com/civicrm/civicrm-buildkit/pull/662)
- [x] cv (workaround: `CIVICRM_SETTINGS="/var/www/standalone/data/civicrm.settings.php" cv sql:cli`)
- [x] Backend themes (test [known themes](https://civicrm.org/extensions?field_extension_civi_use_target_id=356))
- [x] Releaser support (create tar.gz for official downloads) - https://github.com/civicrm/civicrm-core/pull/27104
- [x] Demo site (https://github.com/civicrm/civicrm-buildkit/pull/794)
- [X] Installation documentation https://docs.civicrm.org/installation/en/latest/standalone/
- [x] Getting started dashlet - alert.civicrm.org needs to be updated to understand "uf=Standalone" since it currently gives error 500, e.g. `https://alert.civicrm.org/welcome?prot=1&ver=5.46.alpha1&uf=Standalone&sid=blah&lang=en_US&co=`
- [x] https://lab.civicrm.org/infra/community-messages/-/merge_requests/2
- [x] High-level error handler. https://github.com/civicrm/civicrm-core/pull/26965
- [x] How to treat cms.root. The rest of the work so far is treating "standalone" as if it were a cms, so it should probably return _something_ for it.
- [x] Nicer Role/Permission UI, permission for adding users
Known minor bugs:
- [x] On the `/civicrm/admin` page, the links are missing the leading `/`
- [x] Because CRM/Utils/System/Standalone.php automatically sets `userID = 1`, that CID is the default org record, so some public forms such as Event Registrations, behave incorrectly. Will be fixed when we implement users.
- [x] Might be a local issue but I [DaveD] get the old files system status warning. There's an open ticket somewhere about this happening for drupal 8 sometimes so might be similar.
Nice to haves, but not release-critical:
- [ ] Front-end theme?
issue