이번 문서에서는 위키모듈에 들어갈 기능을 정의해 보도록 하겠습니다. 일단은 어떤 기능이 들어갈지 부터 주욱 정리해 놓고서 이들에 대한 구체적인 기능과 작동방식을 정의해 나가도록 하겠습니다.

 

이 문서는 위키모듈에 대한 제안이 담겨 있는 문서에서 도출된 이슈를 포함하고 있습니다. 추가되어야 할 기능이 있다면 기탄없이 리플 달아주시길.. ^^


 

 

위키모듈의 기본 기능 도출


1. 공동저작

 

1.1. 하나의 문서를 여러사람이 편집 - 복수의 사용자에게 편집권한을 준다. 단, 모든 사용자에게 편집권한을 줄 경우 혼란이 예상된다. (1.2 항으로 연결) 모든 위키 페이지에 '수정'버튼이 따라다닌다.

 

1.2. 편집권한의 제한 - 여러 위키엔진에서 ACL(Access Control List)를 도입하고 있다. 위키모듈에서는 ZBXE의 기반으로 사용하고 있는 회원 권한을 그대로 이용한다.

 

1.3. 공동저작에서 발생하는 충돌(Access Violation)의 문제 - 제안문서에서 언급된 Lock 기능으로 해결.

 

1.4. 손쉬운 문서생성 - 위키모듈의 모든 페이지에 '새로운 페이지를 생성'하는 기능을 포함.

 

 

2. 버젼 컨트롤

 

2.1. 버젼 히스토리 - 문서의 수정이력을 별도로 보관하고 문서의 내용을 이전의 버젼으로 Rollback(돌아가기)할 수 있는 기능.

 

2.2. 버전별 비교 - 문서의 각 버젼별 변경된 내용을 비교할 수 있는 기능.

 

2.3. History Purge - 버젼 히스토리를 비우는 기능. 버젼히스토리에 큰 의미가 없는 경우 이것을 Purge하여 리소스를 절약할 수 있다.  (2007. 9. 12. 추가 - History의 전체를 Purge 하거나 선택한 버젼, 혹은 개별로 Purge할 수 있다면 어떨지?)


 

3. 링크

3.1. 내부문서간 링크 - 각 문서간의 링크를 손쉽게 만드는 기능.

3.2. 키워드 링크 - 문서의 이름을 기준으로 다른문서에서 이 이름이 표시되는 경우 자동으로 링크를 걸어주는 기능. 꼭 문서이름 뿐 아니라 키워드 (혹은 문서의 태그)를 기준으로 링크를 걸어주는것도 좋을듯

(2007. 9. 12. 추가 - http://www.zeroboard.com/849471 에서 구현된 키워드 링크는 str_replace 함수를 이용해서 화면에 뿌려주기 전에 동시 치환하는 방식으로 보이는데.. 이 경우 html태그 안에 들어있는 키워드까지 치환에 말려드는-_- 현상이 발생한다. 정규표현식을 통해 치환할 대상을 선택적으로 치환하게 하는 방식이 필요할 것으로 보인다. 혹은, 수동으로 [wiki:wikiwiki]와 같은 식으로 문서 안에 정의해 놓으면 화면에 뿌려주기 전 이것을 parsing하여 키워드로 링크걸어주는것도 방법이 될듯)



4. 기타기능 (도출중)

4.1. 페이지 인덱스 - 위키모듈을 통해 작성된 페이지의 링크를 모아서 보여주는 페이지. 자동으로 링크를 만들어 주거나 혹은 수동으로 구성할 수 있도록. (=WIKISEED중 FrontPage가 이 기능을 하며, 스프링노트의 경우 hierarchical한 구조를 위해 페이지의 종속관계를 가지고 있어서 이것을 리스트로 보여줄 수 있다.) -> 이 부분은 고민할 필요가 있다.

4.2. wikiseed - 위키엔진들은 위키의 이용을 도와주는 여러 페이지들을 WIKISEED로써 지원한다. 이들 SEED문서를 어디까지 지원할지에 대해서는 추가적인 고민이 필요하다.

4.2.1. FrontPage - ZBXE에 위키모듈을 연결한 후 처음 실행하면서 생성되는 페이지. 위키모듈의 대문역활을 한다.
4.2.2. RecentChanges - 최근 수정된 모든 문서를 표시.
4.2.3. Table Index (WordIndex) - 페이지의 제목을 기준으로 정렬하여 보여준다.
4.2.4. FindPage - 페이지의 제목을 기준으로 검색하거나 FullTextSearch. ZBXE의 내부 검색기능으로 대체.

4.2. table of index - 위키문서 내부에서 숫자목록이 있을 경우 자동으로 인덱스를 만들어주는 기능.

4.3. ISBN연동 - 이런 기능은 ZBXE의 애드온으로 어울릴지도?



일단 필요한 기능으로 생각되는 것들을 주욱 도출해 보았습니다. 추가되어야 할 기능이라든지 위키 특유의 기능 중 수용하면 재미있을것 같은 기능이 있다면 기탄없이 제시해 주세요. ^_^


2007. 9. 14 변경 - '동시편집'이라는 단어가 적절하지 않아서 '공동저작'으로 변경하였습니다.

profile
한때, 웹사이트의 모든것을 혼자 다 만들 수 있다고 자만했던 웹사이트 제작자이자 울트라삽질러. -_-
지금, 언제나 사진에 목마른, 부족한 자신에 좌절하며 도전하는 쌈마이.

길스튜디오 실장 (http://gilstudio.co.kr)
핫셀클럽 운영자 (http://hasselclub.net)