CKEditor

Z Wikipedii, wolnej encyklopedii
(Przekierowano z FCKeditor)
CKEditor
ilustracja
Autor Frederico Caldeira Knabben / CKSource
Aktualna wersja stabilna 39.6.1
(8 lutego 2024) [±]
Język programowania JavaScript
System operacyjny Wieloplatformowość
Rodzaj Edytor HTML
Licencja CKEditor 5: GPL i licencje komercyjne. CKEditor 4: GPL, LGPL, MPL i licencje komercyjne.
Strona internetowa

CKEditor (poprzednio jako FCKeditor) – edytor WYSIWYG online umożliwiający tworzenie tekstów na stronach internetowych lub w aplikacjach online[1][2][3][4]. Silnik edytora napisany jest w JavaScript i rozwijany przez firmę CKSource. CKEditor dostępny jest na licencjach open source i komercyjnych[5].

Historia projektu[edytuj | edytuj kod]

FCKeditor i CKEditor 3[edytuj | edytuj kod]

Pierwsza wersja programu - pod nazwą FKCEditor - została napisana przez Frederico Caldeirę Knabbena (który do dziś pozostaje BDfL projektu) i udostępniona w marcu 2003 roku. Po prekroczeniu 3 milionów pobrań, oprogramowanie zostało poprawione i przepisane pod nazwą CKEditor 3[6]; w tej wersji położono naciska na wydajność, dostępność i na nowy interfejs użytkownika[7].

CKEditor 4[edytuj | edytuj kod]

W grudniu 2012 wydany został CKEditor 4 - w oprogramowaniu znalazły się nowe rozwiązania, takie jak Inline Editing, zmieniono formatowanie kodu źródłowego, poprawiono obsługę DOM i wydajność CSS. Usunięto także implementacje po stronie serwera.

CKEditor 5[edytuj | edytuj kod]

Po pięciu latach pracy, w 2018 roku wyszła pierwsza stabilna wersja CKEditora 5. Całość kodu została napisana od zera, zastosowano też nowy własny model danych i architekturę. Edytor wykorzystuje technologię OT (Operational Transformation), drzewiastą strukturę oraz inne mechanizmy, których wdrożenie było niezbędne do zapewnienia możliwości współpracy w czasie rzeczywistym[8].

CKEditor 5 to framework naisany w JavaScript, oferujący rozbudowane API, pozwalające na tworzenie dowolnych rozwiązań[9]. CKEditor 5 dostępny jest też w formie tzw. buildów - prekonfigurowanych, gotowych do użycia dystrybucji, oferujących różne typy edytora: Classic, Inline, Balloon, Balloon block oraz Document[10].

CKEditor Ecosystem[edytuj | edytuj kod]

W październiku 2017, CKSource uruchomiło CKEditor Ecosystem. W sierpniu 2020 składał się on z następujących produktów:

  • CKEditor 4.
  • CKEditor 5 Builds - prekonfigurowane wersje edytora do pobrania oraz CKEditor 5 Framework - platforma umożliwiająca budowę własnych wersji dostosowanych do potrzeb.
  • CKEditor Cloud Services - oferujące wsparcie dla pracy grupowej i obsługi grafik.
  • Letters - komponent umożliwiający współpracę przy tworzeniu dokumentów w czasie rzeczywistym w dowolnej aplikacji[11].
  • CKFinder - komponent do wgrywania plików i zarządzania grafikami.
  • CKEditor Cloud Services - platforma chmurowa umożliwiająca edycję i współpracę wieloosobową w czasie rzeczywistym.

Cechy edytora[edytuj | edytuj kod]

CKEditor oferuje funkcje dostępne w tradycyjnych edytorach tekstu, takie jak formatowanie (pogrubienie, kursywa, podkreślenie, listy numerowane i punktowane), tabele, cytowanie blokowe, linkowanie do zasobów sieciowych, wstawianie grafik, wklejanie zawartości z Microsoft Word, cofanie i przywracanie operacji oraz inne narzędzia do formatowania HTML. Ma także wbudowane narzędzie do sprawdzania pisowni w locie, dostarczone jako plugin przez WebSpellChecker LLC[7].

Dostępne jest wiele wtyczek do CKEditora 4, rozszerzających jego funkcjonalność. Część z nich, podobnie jak sam edytor, dostępna jest zarówno na licencji Open Source jak i komercyjnej, niektóre tylko na tej drugiej (np. Export to PDF czy CKFinder).

Współdzielna edycja w czasie rzeczywistym[edytuj | edytuj kod]

Archtektura i autorski model danych CKEditora 5 umożliwia wieloosobową jednoczesną pracę nad tworzonym tekstem. Możliwe jest stworzenie dostosowanej do potrzeb wersji edytora z użyciem CKEditor 5 Framework, zaś jednoczesna praca w czasie rzeczywistym dostępna jest dzięki CKEditor Cloud Services.

Komponent Letters oparty na CKEditorze 5 umożliwia implementację tych funkcji w dowolnym oprogramowaniu[12].

Zgodność z przeglądarkami[edytuj | edytuj kod]

CKEditor 4 jest w pełni kompatybilny z większością przeglądarek, w tym z aktualnymi stabilnymi wersjami Google Chrome, Firefox, Safari, Microsoft Edge, Opera oraz Internet Explorer 10 i 11.[13]. Oferuje także niemal pełne wsparcie dla mobilnych wersji Safari (iOS6 +) oraz Chrome (Android).[13]

CKEditor 5 jest także kompatybilny z Google Chrome, Firefox, Safari, Opera oraz Microsoft Edge. Nie wspiera jednak jeszcze Internet Explorera 11.[14].

Przypisy[edytuj | edytuj kod]

  1. Neeraj Kumar, Tassos Koutlas, Samuel Keen, Edward Crompton, Krishna Kanth: Drupal 8 Development: Beginner's Guide. Packt Publishing Ltd, 2016, s. 145–159. ISBN 978-1-78528-626-1. [dostęp 2019-06-11]. (ang.).
  2. Quinn Dombrowski: Drupal for Humanists. Texas A&M University Press, 2016. ISBN 978-1-62349-473-5. [dostęp 2019-06-11]. (ang.).
  3. David Jin, Sally Lin: Advances in Multimedia, Software Engineering and Computing Vol.1: Proceedings of the 2011 MESC International Conference on Multimedia, Software Engineering and Computing, November 26-27, Wuhan, China. Springer Science & Business Media, 2011. ISBN 978-3-642-25989-0. [dostęp 2019-06-11]. (ang.).
  4. Angela Byron, Addison Berry, Jeff Robbins, Nathan Haug, Heather Berry: Using Drupal. "O'Reilly Media, Inc.", 2009. ISBN 978-0-596-51580-5. [dostęp 2019-06-11]. (ang.).
  5. CKEditor Pricing. [dostęp 2020-08-04]. (ang.).
  6. Rebranding. 2009-02-20. [dostęp 2011-06-09]. (ang.).
  7. a b CKEditor 3.0 is here!. 2009-08-21. [dostęp 2020-03-20]. (ang.).
  8. CKEditor 5 v10.0.0 – the future of rich text editing looks stable. [dostęp 2018-05-07]. (ang.).
  9. API documentation. [dostęp 2020-08-04]. (ang.).
  10. CKEditor Ecosystem Documentation: Overview. [dostęp 2020-08-04]. (ang.).
  11. Letters - Overview. [dostęp 2020-08-04]. (ang.).
  12. Bringing collaborative editing to any application. [dostęp 2017-11-23]. (ang.).
  13. a b CKEditor Browser Compatibility. [dostęp 2020-08-04]. (ang.).
  14. Browser compatibility. [dostęp 2020-08-04]. (ang.).

Linki zewnętrzne[edytuj | edytuj kod]