사용자 메뉴얼을 위키 형태로 만들어야 할 일이 있었는데 어떻게 구축할지 고민이 있었고 요구사항은 다음과 같았다.
- 버전관리가 되면 좋겠다.
- 간편하게 구현, 관리 포인트를 줄이고 싶다. (static 웹 페이지)
- 관리자가 에디터로 편집 (optional)
- 기존 서비스 사용자 기반 접근 권한 관리 (optional)
버전 관리는 git 으로 하면될거 같다. 그리고 optional 은 되면 좋고 안되도 괜찮은 사항이라 간편하게 구현 할수있는 것을 중점으로 알아보았다.
알아본 바 오픈소스로 위키를 구현할수 있는 프로젝트는 위 3가지 정도가 메이저하게 쓰이는 것 같고 특징은 다음과 같다.
wiki.js
- 상대적으로 복잡한 구현
DB 와 호스팅이 필요하기때문에 인프라 작업이 상대적으로 더 필요하고 관리포인트도 늘어난다. static site generator 는 아니고 CMS 솔루션에 가까워 보였다.
- 관리자가 에디터로 편집 가능
에디터 모듈 지원 및 디비를 사용하기 때문에 개발자가 아닌 일반 관리자도 에디터를 통해 다이나믹한 수정이 가능하다.
- 사용자 접근 권한 관리
프로젝트 자체에서 로그인, OAuth, 유저관리, 컨텐츠 관리 등 여러 기능을 모듈화 하여 제공한다.
mkdocs, sphinx
- 간편하게 구현 가능
static site generator 이다. mkdocs 는 마크다운 형식으로 문서를 작성하고 sphinx 는 reStructuredText 라는 마크업 형식을 사용한다. 그리고 둘다 설정 파일에 설정 값을 정의한뒤 빌드 명령어를 통해 static 웹페이지를 간편하게 만들수 있다. 빌드한 static 웹 페이지는 ReadTheDocs, github pages, s3 버킷 등 다양한 방식으로 간편하게 호스팅이 가능하다.
- 관리자가 에디터로 편집 힘듦
static 웹 페이지이기 때문에 기본적으로 에디터를 통한 다이나믹한 수정은 힘들다. 근데 찾아보니 Mkdocs 를 지원하는 에디터가 있긴 하다. (유료)
- 사용자 접근 권한 관리
s3 프라이빗 버킷에 파일을 업로드 해놓고 기존 서비스 호스팅에서 사용자 인증을 담당하여 인가된 사용자에 한해 페이지를 제공하는 방식으로 해결할수 있을거 같다.
'IT > 이것저것' 카테고리의 다른 글
[한글 특수기호] 사람마다 다른 한글 특수기호 깨짐 현상 (0) | 2024.11.10 |
---|---|
[ChatGPT] GPTs 커스텀 플러그인 만들기 (0) | 2024.04.04 |
[유니코드 정규화] 같은 글자가 중복으로 저장되거나 검색에서 누락 된다면 유니코드를 의심해보자 (0) | 2024.02.21 |
[ChatGPT] ChatGPT 더 잘 쓰는 법 prompt 패턴 (1) | 2023.11.13 |
[캐시] 캐시에 대하여 (0) | 2023.02.14 |