기획단계에서 설계나 구조부분을 언급하는건 월권일 수 있지만 전체의 모습을 그려두는 정도만 언급을 해 두는게 좋을듯 싶습니다. 다이어그램을 통해 언급하고 싶었는데, 아직 전체의 구조가 명확하지 않은 상태라서 비는 부분들이 좀 있더군요.. 이 부분이 채워지면 바로 다이어그램 작업을 해야겠습니다. (간만에 VISIO를 만졌더니 가물가물한 탓도 있구요.. -_-;;;)





- 위키모듈의 구조 -


1. 위키 모듈 인터페이스 - 위키모듈의 입출력을 담당하는 인터페이스. ZBXE의 index.php와 같은 느낌으로 보면 됩니다.


1.2. 위키 모듈 전용의 하위 모듈 - 위키모듈에서 꼭 필요로하는 모듈들


1.2.1. 공동저작 모듈 - 복수의 사용자가 문서를 생성하고 수정할 수 있는 기능을 제공

1.2.2. 버젼 컨트롤 모듈 - 버젼히스토리 출력, 문서 버젼간 비교, 롤백, 히스토리 퍼지, 기타 등등


1.3. ZBXE와 공유되는 하위 모듈


1.3.1. 위키태그 프로세서 - 일반적인 위키(혹은 클론)들이 사용하는 태그를 해석해주는 ZBXE의 에디터컴포넌트

1.3.1.1. (La)Tex 프로세서
1.3.1.2. ISBN 링크
1.3.1.3. 기타 위키 전용태그의 해석기
1.3.1.4. Print View Tweak
1.3.1.5. etc


1.3.2. 링크모듈 - 내부문서, 외부문서간 링크, 키워드 링크 기능

1.3.3. wikiseed - 이미 정의되어 있는 위키페이지 (frontpage / recentchanges / table of index / tabindex 등)

1.3.4. 문서연관표시 - 스프링노트의 좌측메뉴(페이지 연관구조)와 같은 표시


정리해보면 이정도인것 같습니다. 처음 기획을 시작할 때에는 위키모듈이 ZBXE와 입출력이나 권한만을 상속(?)받는 별도의 모듈정도로 생각했다가 기획이 진행되면서 ZBXE에 완전히 기대는 형태로 진행되다가.. 기능을 의미별로 정리하다보니, 위키모듈에 종속되는 기능이 있는가 하면 ZBXE전체에 적용하면 좋을듯한 기능들이 눈에 들어오더군요. 결국 두가지를 적절히 배합하는 형태로 굳어져가는것 같습니다. (........결국 헤매고 있다는 얘기지요.. -_-;;)

동작에 대한 부분이라면 아마 이런식이 괜찮을것 같습니다. 

위키모듈 접속 -> ZBXE가 주소를 받아서 위키모듈 호출 -> 위키모듈에서 해당 부분을 처리 -> 다시 ZBXE로 리턴 -> ZBXE가 사용자에게 표시


어차피 ZBXE라는 한집에 사는 식구(member)들이니까 위키 전용모듈과 공통모듈로 나눠두면 해당 모듈을 ZBXE에 설치하여 게시판모듈이나 블로그 모듈같은 다른 모듈에 연결하여 사용할 수 있고, 이것을 위키모듈에 연결하면 위키모듈의 기능으로 작동하는 방식이 베스트가 아닐까 싶습니다. 이렇게되면 기존의 위키(혹은 클론)들이 플러그인을 도입하고 있는 부분도 흡수할 수 있을것으로 보이구요. 여기에 일단 위키 모듈이 만들어진 후에도 지속적인 기능추가나 관리자의 입맞에 맞는 구성 또한 가능할것으로 보입니다. (입출력이나 모듈간의 연관이라든지.. 실제 구현의 난점에 대해선 전혀 생각하지 않고 있는 이 무책임... ㅡ_ㅡ;;)

패키징의 경우 위키모듈의 전체를 패키징하거나 위키모듈 인터페이스+전용의 하위모듈 / 공용 하위모듈로 나눠서 패키징하는것도 생각해 볼 수 있겠네요.


일단은 여기까지 입니다. 언제나 그렇듯, 모든 부분에서 의견과 참여를 환영합니다. emoticon

PostScript : 에디터에서는 들여쓰기를 잔뜩 넣어뒀는데 페이지에 표시가 안되는군요.. emoticon

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

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