Skip to content

2.0.0

Compare
Choose a tag to compare
@ppfeufer ppfeufer released this 16 Mar 08:42
· 131 commits to master since this release
34b32ac

[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:

"ckeditor",
"ckeditor_uploader",
"django_ckeditor_youtube_plugin",

Remove the old CKEditor configuration and replace it with the following:

# 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:

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
    )

Git History

New Contributors

Full Changelog: v1.13.2...v2.0.0