diff --git a/CHANGELOG.md b/CHANGELOG.md index af776fc2..5788b7ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,239 @@ Section Order: ### Security --> +## \[2.0.0\] - 2024-03-16 + +> \[!NOTE\] +> +> **This version needs at least Alliance Auth v4.0.0!** +> +> Please make sure to update your Alliance Auth instance **before** +> you install this version, otherwise an update to Alliance Auth will +> be pulled in unsupervised. + +> \[!IMPORTANT\] +> +> With this version, we switched to a new WYSIWYG editor. +> Please make sure to read the update information +> to make sure your configuration is up to date. + +### Added + +- Compatibility to Alliance Auth v4 + - Bootstrap 5 + - Django 4.2 + +### Fixed + +- Pluralisation in a template string + +### Changed + +- JS modernized +- CSS modernizes +- Templates changed to Bootstrap 5 +- Switched from CKEditor 4 to CKEditor 5 (Configuration update necessary, see below) +- Translations improved + - French + - Chinese + - Spanish + +### Removed + +- Compatibility to Alliance Auth v3 + +### Update Information + +This version introduces a new WYSIWYG editor. Some configuration changes are necessary. + +#### Settings in `/home/allianceserver/myauth/myauth/settings/local.py` + +Please make sure to update your `local.py` with the following configuration.\ +Add `"django_ckeditor_5",` to `INSTALLED_APPS` and remove the following apps +if they are present: + +```python +"ckeditor", +"ckeditor_uploader", +"django_ckeditor_youtube_plugin", +``` + +Remove the old CKEditor configuration and replace it with the following: + +```python +# Django CKEditor 5 Configuration +if "django_ckeditor_5" in INSTALLED_APPS: + MEDIA_URL = "/media/uploads/" + MEDIA_ROOT = "/var/www/myauth/media/uploads" + + customColorPalette = [ + {"color": "hsl(4, 90%, 58%)", "label": "Red"}, + {"color": "hsl(340, 82%, 52%)", "label": "Pink"}, + {"color": "hsl(291, 64%, 42%)", "label": "Purple"}, + {"color": "hsl(262, 52%, 47%)", "label": "Deep Purple"}, + {"color": "hsl(231, 48%, 48%)", "label": "Indigo"}, + {"color": "hsl(207, 90%, 54%)", "label": "Blue"}, + ] + + CKEDITOR_5_CONFIGS = { + "default": { + "toolbar": [ + "heading", + "|", + "bold", + "italic", + "link", + "bulletedList", + "numberedList", + "blockQuote", + ], + }, + "extends": { + "blockToolbar": [ + "paragraph", + "heading1", + "heading2", + "heading3", + "|", + "bulletedList", + "numberedList", + "|", + "blockQuote", + ], + "toolbar": [ + "heading", + "|", + "outdent", + "indent", + "|", + "bold", + "italic", + "link", + "underline", + "strikethrough", + "subscript", + "superscript", + "highlight", + "|", + "insertImage", + "mediaEmbed", + "|", + "bulletedList", + "numberedList", + "todoList", + "insertTable", + "|", + "blockQuote", + "codeBlock", + "|", + "fontSize", + "fontFamily", + "fontColor", + "fontBackgroundColor", + "removeFormat", + "|", + "sourceEditing", + ], + "image": { + "toolbar": [ + "imageTextAlternative", + "|", + "imageStyle:alignLeft", + "imageStyle:alignRight", + "imageStyle:alignCenter", + "imageStyle:side", + "|", + ], + "styles": [ + "full", + "side", + "alignLeft", + "alignRight", + "alignCenter", + ], + }, + "table": { + "contentToolbar": [ + "tableColumn", + "tableRow", + "mergeTableCells", + "tableProperties", + "tableCellProperties", + ], + "tableProperties": { + "borderColors": customColorPalette, + "backgroundColors": customColorPalette, + }, + "tableCellProperties": { + "borderColors": customColorPalette, + "backgroundColors": customColorPalette, + }, + }, + "heading": { + "options": [ + { + "model": "paragraph", + "title": "Paragraph", + "class": "ck-heading_paragraph", + }, + { + "model": "heading1", + "view": "h1", + "title": "Heading 1", + "class": "ck-heading_heading1", + }, + { + "model": "heading2", + "view": "h2", + "title": "Heading 2", + "class": "ck-heading_heading2", + }, + { + "model": "heading3", + "view": "h3", + "title": "Heading 3", + "class": "ck-heading_heading3", + }, + ] + }, + }, + "list": { + "properties": { + "styles": "true", + "startIndex": "true", + "reversed": "true", + } + }, + } +``` + +#### Settings in `/home/allianceserver/myauth/myauth/urls.py` + +Also, make sure to update your `urls.py` with the following and remove the old +CKEditor URL configuration if it's present: + +```python +from django.apps import apps # Only if not already imported earlier +from django.conf import settings # Only if not already imported earlier +from django.conf.urls.static import static # Only if not already imported earlier +from django.urls import path # Only if not already imported earlier + +# If django_ckeditor_5 is loaded +if apps.is_installed("django_ckeditor_5"): + # URL configuration for CKEditor 5 + urlpatterns = ( + [ + path( + "ckeditor5/", + include("django_ckeditor_5.urls"), + name="ck_editor_5_upload_file", + ), + ] + + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + + urlpatterns + ) +``` + ## \[2.0.0-beta.1\] - 2024-02-18 > \[!NOTE\] diff --git a/aa_bulletin_board/__init__.py b/aa_bulletin_board/__init__.py index 032c9e30..0f7ff085 100644 --- a/aa_bulletin_board/__init__.py +++ b/aa_bulletin_board/__init__.py @@ -5,5 +5,5 @@ # Django from django.utils.translation import gettext_lazy as _ -__version__ = "2.0.0-beta.1" +__version__ = "2.0.0" __title__ = _("Bulletin Board") diff --git a/pyproject.toml b/pyproject.toml index 3058129f..ba213029 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dynamic = [ "version", ] dependencies = [ - "allianceauth>=4.0.0b1", + "allianceauth<5.0.0,>=4", "allianceauth-app-utils>=1.19.1", "django-ckeditor-5>=0.2.11", "unidecode",