LangDev

좋은 KMS/CMS

semmal

http://kldp.org/node/95311

kldp에 KMS에 대한 이야기가 진행되고 있어서 한번 가져와봤습니다.

KMS든 CMS든 우리가 살면서 지식을 쌓아나가다보면 어떤 체계적인 시스템의 필요성을 한번쯤은 느끼게 됩니다.

하지만 저같은 경우는 KMS/CMS 솔루션을 써보면 뭔가 몸에 맞지 않은 옷을 입은 듯한 느낌을 받게되더군요.

아마도 KMS/CMS는 어쨌든 하고자 하는 일에 종속적인 시스템이기 때문에, 시스템이 의도한 바가 현재 작업에 얼마나 가깝는지에 따라 그 효용성이 결정된다는 생각이 들었습니다.

여러분이 생각하는 좋은 KMS/CMS의 요건은 무엇인가요? 그리고 만약에 KMS/CMS를 위한 언어를 만든다면 어떤 요소를 중점적으로 강조해야할까요?

제 생각에는 자료구조가 어떻든지간에 분류와 검색이 가장 중요하리라 생각드는데, 실제로 어떤 식으로 해야 좋을지는 더 생각해봐야겠네요.

하지만 저같은 경우는 KMS/CMS 솔루션을 써보면 뭔가 몸에 맞지 않은 옷을 입은 듯한 느낌을 받게되더군요.

저도 그렇습니다.

홍민희

조직이나 프로젝트의 성격에 따라 많아 달라질 수 있다고 생각합니다. 쉽게 일반화하기 힘들것 같습니다. KMS/CMS의 영역에 들어갈지 모르겠지만, 제가 하고 있는 이르니아 연대기 같은 장난 프로젝트의 경우 가상의 세계관에 대한 설정 항목들을 공유할 수 있어야 했는데, 필요한 것들이 무엇일까 꼽아보니

  1. 해당 항목은 위키의 페이지 단위처럼 형상 관리가 되야 한다.
  2. 그러나 위키와 달리 항목에는 여러 이름이 붙을 수 있다. 세계관 안에서 "사과"가 지역에 따라 "apple"로도 불리울 수 있고, 그것이 또 시대에 따라 달라질 수 있기 때문이다.
  3. 아무래도(?) 페이지에는 어느 정도 타입/클래스가 필요할 것 같다. 예를 들어 등장인물에 대해서는 "인물" 타입의 항목으로 기술하고, "인물" 타입에는 일반적인 설명 정보 외에 "생년월일"이나 "부모형제"로의 레퍼런스가 가능한 속성이 있어서, 그것으로 족보를 뽑아낸다거나 하는 일이 가능해야 한다.
  4. 여러 항목 사이의 불일치를 쉽게 해소할 수 있는 체계가 필요하다. ("개똥이 엄마" 항목에는 개똥이를 123년에 낳았다고 적혀있는데, "개똥이" 항목에는 생년이 321년으로 적혀있다던가 하는 불일치.)

등등이 떠올랐습니다. (생각나는 것이 너무 많아서 다 적질 못하고 예만 들었어요.) 하지만 위에 언급된 기능들이 과연 일반적인 KMS/CMS에서 필요할까... 하면 그렇진 않을 것 같거든요.

홍민희

가상의 세계관을 정리하는 데 무엇이 필요할까는 The Encyclopedia of Arda 같은 기존의 성공적인 사이트를 참고하면 많은 도움이 됩니다.

http://www.glyphweb.com/arda/

페이지에 클래스가 있어서 의미있는 속성을 주어야 한다는 점은 동의하구요, Arda에는 예를 드신 족보 추출과 생몰년/연표 연동이 이미 구현되어 있습니다.

그런데 이런 쪽을 생각하다 보면 결국 Semantic Web이나 Ontology가 답이 아닌가 하는 생각이 듭니다.

Ontology가 별게 아니고, 사람에게는 태어난 부모와 생년과 생일과 고향이 있고 부모는 사람이고 생년은 연도고 생일은 날짜고 고향은 장소다, 하면 벌써 훌륭한 Ontology인 것입니다. 이걸 기계가 알아들을 수 있게 하는 것이 Semantic Web이구요.

서상현

우와!! 감사합니다! 이런 게 있었군요!

홍민희

만약 웹이 아닌 여러 매체간의 sync가 필요하다면 분산형상관리가 되어야 할 것 같네요.

이름이 여러 개라면 하나의 단어에 뜻이 여러 개일 수도 있겠지요. 여기에 대해서도 생각해봐야할 것 같군요.

어떤 오브젝트에 일부러 속성을 지정하는 것은 좋은 방법이라 생각되지 않습니다. 왜냐하면 귀찮거든요. 흐흐. 그냥 글 중간중간에 "이것이 무엇의 속성이다"라고 태그를 지정하는 것이 더 좋을 것 같습니다.

항목 사이의 불일치는 레퍼런스를 통해 문서작업을 하면 상당수가 해소되지 않을까 싶네요.

정리를 하다보니 제가 생각하던 문서화 도구에 대한 부분과 상당부분 일치하는 부분이 있네요.

semmal