Meta: Re-implement CiviCRM Standalone (CMS-less CiviCRM)
Follow-up to #1153 (closed), and more context in this wiki page, this is a meta-issue to track the re-implementation of CiviCRM Standalone.
-
Base classes (Hook, System, Permission and css/tpl so that Standalone can boot / proof-of-concept -
Basic composer project to handle the code-case (see: https://github.com/civicrm/civicrm-standalone) -
Composer template project that follows best-practices -
Implement a breadcrumb (was provided by the CMS) -
Login page -
#4053 User management and permissions -
Password reset by email -
Third-party authentication for SSO, such HybridAuth or LDAP (via extension?) -
Clean URLs -
Language switcher -
GenCode -
Installer (using 'civicrm-setup') -
Buildkit (mostly, requires cv
support, see: https://github.com/civicrm/civicrm-buildkit/pull/662 - merged) -
cv (workaround: CIVICRM_SETTINGS="/var/www/standalone/data/civicrm.settings.php" cv sql:cli
) -
Backend themes (test known themes) -
Front-end theme -
Releaser support (create tar.gz for official downloads) -
Demo site -
Installation documentation -
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=
-
Without a high-level error handler that the cms (at least drupal) usually provides, wacky errors end up with unpredictable results and no nice error page and no easily-accessible logging. Sometimes you can get output sent after headers
which isn't the actual error and isn't helpful. -
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.
Known minor bugs:
-
On the /civicrm/admin
page, the links are missing the leading/
-
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. -
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.
PRs:
-
Base Standalone classes: https://github.com/civicrm/civicrm-core/pull/22227 - needs review -
Some drupal references still in Standalone.php, e.g. the contact entityref New Individual popup triggers one. -
$docTitle in standalone.tpl might not be the right choice. It's not set every page so gives warnings. Maybe it should be set every page in core.
-