2009년 5월 11일 월요일

CMS(Contents Management System)


블로깅 툴을 얘기하다 보면 심심찮게 등장하는 CMS(Content Management System)란 용어는 무엇을 의미할까요?

일단 사전적인 의미로는 컨텐츠를 관리하는 시스템을 말합니다. 그런데 의미가 너무 포괄적이지요. 사실 CMS에 대한 정의는 명확하지가 않습니다. 특정한 규격이 정해져 있는 개념도 아니고요. 처음부터 CMS라는 정의하에 만들어진 것이 아니라 컨텐츠를 효율적으로 관리하기 위한 여러가지 방법들이 개발되면서 포괄적으로 CMS란 용어가 정립된 것이기 때문입니다.

그러므로 CMS의 의미를 알기 위해서는 컨텐츠란 무엇이고, 왜 컨텐츠를 관리할 필요가 생겨났는지, 그리고 어떤 방법들이 도입되었는지 알아야 합니다. CMS에 대한 설명을 담고 있는 위키피디아 문서CMS 솔루션 개발 업체인 콘텐츠와이즈에서 제공하는 PDF 문서를 참고로 해서 정리해봤습니다.

컨텐츠(Content)란?

‘컨텐츠’‘내용물’이라는 뜻으로 상당히 포괄적인 용어입니다. 하지만 일반적으로 컴퓨터나 인터넷 분야에서는 ‘컴퓨터 파일’, ‘이미지나 오디오 등의 멀티미디어 파일’, ‘전자 문서’, ‘웹 컨텐츠’ 등을 말합니다. 현재는 웹(World Wide Web)의 성장과 더불어서 ‘웹 컨텐츠’가 다양한 멀티미디어 파일과 전자 문서를 포괄하는 개념으로 확대되었지요. 넓은 의미의 ‘웹 컨텐츠”HTML를 이용하는 모든 문서와 서비스(블로그, 게시판, 검색 엔진 등), 그리고 그 안에 포함된 모든 파일과 데이타를 뜻합니다.

컨텐츠 관리의 시작

초기의 CMS는 기업에서 서로 다른 부서간에(inter-office) 네트웍(또는 웹)을 통해서 컨텐츠를 공동으로 이용할 목적으로 시작되었습니다. 많은 기업들이 공통 양식(non-proprietary form)으로 만들어진 문서들의 저장소(archival)로 CMS를 활용했는데 서버 기반의 소프트웨어로 운영되었기 때문에 이런 문서들을 쉽게 공유할 수 있기 때문이었지요.

웹의 중요성이 커지고 웹 컨텐츠나 웹 사이트 관리의 비중이 높아지면서 ‘웹 컨텐츠 관리 시스템(Web Content Management System)’이 도입되었는데 WCMS에는 웹 관련 작업의 효율성을 높여주는 다양한 기능들이 추가되었습니다. 엄밀하게 말해서 CMS는 WCMS를 포함하는 상위 개념이지만 최근에는 WCMS의 대체 용어로 많이 사용됩니다.

† 앞으로의 글은 WCMS에 초점을 맞추고 있습니다. 따라서 CMS란 용어는 WCMS를 의미합니다.

컨텐츠 관리가 필요한 이유

초기의 웹 문서와 웹 사이트는 HTML 마크업을 문서 편집기(text editor)로 입력해서 만들어졌습니다. 따라서 관련 기술에 대한 전문적인 지식 없이는 웹 컨텐츠를 만들기가 어려웠지요. 예를 들어서 기업에서 판매하는 제품의 사용자 매뉴얼을 웹에 게시하려면 먼저 실무자가 매뉴얼을 일반 문서 형식으로 만들고 상급자나 경영진의 승인을 받은 다음 웹 사이트를 관리하는 담당자에게 전달하면 웹 관리자는 이 문서를 HTML 형식으로 바꾸고 FTP 등을 이용해서 올리는(upload) 과정을 거쳐야만 했습니다.

전체적인 효율을 높이려면 누구나 쉽게 문서를 만들거나 수정하고 게시할 수 있어야 하는데 바로 이것이 CMS의 핵심 기능입니다. 많은 블로깅 툴이 CMS 툴(소프트웨어)로도 분류되는 것은 바로 이런 핵심 기능을 지원하기 때문인데 예를 들어서 태터툴즈워드프레스는 직접 HTML 마크업을 입력할 필요 없이 브라우저 내에서 이지윅(WYSIWYG (What You See Is What You Get)) 편집기로 쉽게 문서를 작성할 수 있도록 해줍니다. 완성된 문서는 버튼 하나만 클릭하면 FTP 프로그램 없이도 웹에 올릴 수 있지요.

CMS가 지원하는 기능

CMS는 일반적으로 새로운 소식을 알리는 글이나 관리자 매뉴얼, 기술 문서, 판매 지침, 상품 소개 페이지와 같은 컨텐츠의 보관과 버전 관리, 배포에 주로 사용되며, 효율성 향상을 위해 다음과 같은 기능들을 지원합니다.

  • 각종 문서와 멀티미디어 자료(이미지, 오디오 비디오 등)를 작성하거나 외부에서 불러올(import) 수 있음.
  • 컨텐츠 관리에 참여하는 사용자들의 역할(role)과 권한 차이를 인식할 수 있음.
  • 컨텐츠의 형태나 분류에 따라서 사용자들의 역할과 책임을 부여할 수 있음.
  • 컨텐츠에 대한 작업 흐름(workflow)을 설정하고 필요에 따라서 컨텐츠 내용 변경시 관리자에게 알려줄 수 있음.
  • 하나의 컨텐츠에 대한 다양한 버전의 관리와 추적(tracking) 가능.
  • 컨텐츠를 쉽게 수정, 관리할 수 있도록 검색 기능이 통합된 문서 저장소에 보관하도록 함.
  • 일부 CMS는 디자인적인 요소를 제외한 텍스트 컨텐츠만을 받아들인 다음 기본 글꼴이나 색상, 레이아웃 등을 통합적으로 설정할 수 있도록 해줌.

열거한 기능 중에서 중요한 기능에 대한 보충 설명을 해봤습니다.

컨텐츠 제작

HTML을 사용하지 않고도 컨텐츠를 만드는 것은 CMS의 기본 기능입니다. 따라서 대부분의 CMS 툴이 이지윅 에디터나 Textile이나 Markdown, BBCode 등의 가벼운 마크업 언어(lightweight markup language)를 이용한 문서 작성을 지원합니다.

역할 관리

역할(role) 관리는 CMS의 핵심 기능 중 하나입니다. 아래 설명할 작업 흐름 관리와 함께 사용되며 초안(draft) 작성 권한만을 갖는 실무자가 문서를 작성하면 발행 권한이 있는 상위 관리자가 문서에 대한 수정을 요청하거나 최종 배포를 결정하는 방식이지요. 간단한 역할 관리의 예는 이전에 포스팅한 Textpattern 사용자 타입이라는 글에서 볼 수 있습니다.

작업 흐름 관리

작업 흐름(workflow) 관리 역시 CMS의 핵심 기능으로 기업 내에서 이루어지는 오프라인 결제 시스템을 떠올리면 이해하기가 쉽습니다. 즉, 컨텐츠가 한 번의 작업으로 완성되고 게시되는 것이 아니라 여러 과정을 거치며 수정과 검토, 승인이 이루어진 다음 최종 완성본이 배포되는 것을 의미하지요. 많은 CMS 툴은 작업 흐름 관리를 위해 진행 과정을 이메일로 알려주거나, 다음 과정으로 자동 전달해주는 기능을 지원하고 있습니다.

CMS가 적용되는 곳

기본적으로 CMS는 개인 사용자를 위해 만들어지지 않았습니다. 처음부터 기업 환경의 효율성 재고를 위해 도입된 것이니까요. 또한 수시로 바뀌는 게시판 같은 커뮤니케이션 용로도로 적합하지 않습니다. CMS의 효능이 최대한 발휘되는 곳은 기업의 제품 소개나 안내 페이지 같은 정적인 정보성 페이지입니다.

CMS로서의 텍스트패턴

제가 사용중인 텍스트패턴은 공식적으로 CMS 툴임을 표방하고 있습니다. 비록 전문적인 CMS 툴로 보기에는 기능상의 한계가 있지만 기본적인 기능들은 갖추어져 있다고 생각합니다. 하나씩 열거해보지요.

  • 쉬운 문서 작성: 거의 모든 HTML 태그를 대체할 수 있는 Textile은 텍스트패턴의 큰 장점입니다. Textile에 관한 자세한 설명은 Textile 시작하기를 참고하세요.
  • 역할 관리: 앞서 설명한 기능입니다. 사용자들이 각각 권한이 다른 여섯 부류로 나누어지며 각각의 권한을 원하는대로 수정할 수도 있습니다.
  • 작업 흐름 관리: 문서를 ‘초안(draft)’, ‘숨김(hidden)’, ‘미결(pending)’, ‘발행(live)’, ‘고정(sticky)’ 상태로 저장할 수 있습니다. 또한 upm_pending_notify 플러그인을 이용하면 상태가 바뀔 때 자동으로 작성자나 승인자에게 이메일로 통보합니다.
  • 버전 관리: 자체적으로 지원하지 않지만 md_versions 플러그인을 사용하면 하나의 글을 여러 버전으로 관리할 수 있습니다.
  • 각종 파일 관리: 텍스트패턴은 글이나 댓글처럼 이미지와 파일, 링크 목록을 독립적으로 관리합니다. 관리자 페이지에서 각각의 목록을 볼 수 있으며 다양한 조건으로 검색할 수도 있습니다.

댓글 없음:

댓글 쓰기