배경
콘텐츠는 Django admin에 HTML로 저장되어 있었습니다. 제대로 된 에디터를 갖춘 새 CMS, 그리고 발행된 콘텐츠를 하나도 잃지 않고 옮길 방법이 필요했습니다.
사내 플랫폼 · 2023
Django admin을 대체하려고 2023년에 만든 사내 플랫폼입니다. Editor.js 블록 에디터를 갖춘 Quasar 기반 자체 CMS, 그리고 기존 HTML을 새 포맷으로 바꾸는 Node 마이크로서비스로 구성됩니다.
콘텐츠는 Django admin에 HTML로 저장되어 있었습니다. 제대로 된 에디터를 갖춘 새 CMS, 그리고 발행된 콘텐츠를 하나도 잃지 않고 옮길 방법이 필요했습니다.
Editor.js 에디터를 쓰는 Quasar 관리자 앱. 페이지는 마크업 한 덩어리가 아니라 타입이 있는 블록들로 구성됩니다. 그리고 기존 HTML을 블록 단위로 Editor.js JSON으로 바꾸는 Node 마이크로서비스. 예전 글도 처음부터 새 에디터에서 쓴 것처럼 열렸습니다.
관리자는 Quasar, 콘텐츠 포맷은 Editor.js(JSON, 요소 하나당 블록 하나), Node 서비스는 단방향 변환기입니다. 아무것도 잃지 않도록 HTML 구조마다 대응하는 블록을 두었고, 변환기가 이해하지 못한 부분은 눈에 보이게 남겼습니다. 변환기를 별도 서비스로 분리한 것도 그 결과를 검증할 수 있게 하기 위해서였습니다.
Django admin의 콘텐츠 전체가 손실 없이 새 CMS로 옮겨졌고, 이제 구조화된 JSON으로 저장됩니다.