http://www.zeroboard.com/proj_wiki/17211981 에서 댓글로 언급하고 있는 부분에 대해서 조금 더 자세하게 기술할 필요가 있어서 작성해둡니다.


1. 위키모듈의 위키문법 지원에 대하여

이전의 기획문서들에서도 많이 언급되었고 다른분들께서도 언급을 하셨지만.. zbXE의 위키문법은 코어에서 지원하지 않는것으로
결정되었습니다. 굳이 위키모듈의 코어에서 위키문법의 파서를 가지고 있을 이유가 없다는 뜻으로 보시면 됩니다.



2. 위키문법 미지원에 대한 대안

그렇다면 위키문법으로 문서를 작성하는 것에 익숙한 사용자들을 무시하는게 아닌가 하는 의견도 나올 수 있습니다만.. zbXE에서 이미 지원하고 있는 방법을 이용하여 우회하는 방식으로 위키문법을 지원할 수 있지 않을까 생각하고 있습니다. "위키문법 지원을 위한 애드온+에디터컴포넌트 세트(가칭)"의 작동 방식은 다음과 같습니다.

2.1. 에디터에서 위키문법으로 일부분, 혹은 전체를 작성합니다
2.2. 해당 부분을 선택영역으로 만들고 에디터 컴포넌트에 추가되어 있는 '위키문법으로 작성되었음을 표시'시킵니다.
2.2.1. 해당 영역의 앞뒤에 <wiki parser=moniwiki>내용(contents)</wiki>와 같은식으로 태그가 추가되며 그상태로(RAW) 저장됩니다.
2.3. 위키문법이 일부분, 혹은 전체에 적용되어 있는 게시물을 불러올때 애드온이 간섭합니다. <wiki>~</wiki>의 부분을 가로채서 위키문법 파서를 돌려주고 되돌아온 내용을 게시물의 내용에 뿌려줍니다.

아직 여러가지 검증을 해봐야겠고.. 개발팀의 의견도 들어야겠지만.. 이런식이라면 굳이 위키모듈의 코어에 위키문법의 파서가 들어갈 이유도 없고 결정적으로 사용자가 위키문법을 선택할수도 있지 않을까 하는 생각이 듭니다. 모인모인위키와 모니위키의 문법은 모니위키가 모인모인의 클론이기 때문에 비슷하지만 모니위키 자체의 위키태그를 가지고 있기 때문에 호환이 어렵고.. wikiX같은 경우엔 좀 생소한(?)정도의 변종이기 때문에 이런 부분들을 코어에서 다룬다는건 비효율적인것 같습니다. 게다가, 에디터컴포넌트 + 애드온의 구조라면 굳이 위키모듈이 아니어도 게시판모듈이나 블로그 모듈 등.. 다른 모듈에서도 위키문법을 사용할 수 있게 된다는 이야기가 되기 때문에 확장성의 부분에서도 나쁘지 않겠다.. 싶습니다. 다만, 이런 형태로 구현하는데 문제점이라면 '누군가 위키문법의 파서와 단어사전을 만들어야 한다'는 점이겠지요. 파서의 경우엔 각 위키 클론에서 뜯어다가 포팅하면 되겠지만서도.. ^^;;



3. 마이그레이션에 대한 문제

위키문법으로 작성된 위키문서를 zbXE의 위키모듈로 마이그레이션 하는 문제가 도출되었습니다. 저도 처음엔 위키문서를 print view로 하나씩 html파일로 익스포트 한 다음 붙여넣을 생각으로 마이그레이션에 대해서는 그다지 고민하지 않았습니다만.. 문제는 기존에 사용하던 위키를 통해 만들어진 문서의 양이 많다면 이게 만만찮은 작업이 된다는 것에 생각이 닿더군요.. 마이그레이션에 대해서 고민을 진행해 봤습니다. 물론 마이그레이션을 위한 익스포터는 각 위키별로 만들어져야 할것으로 보고 있습니다.

3.1. 마이그레이션의 밑준비 : 마이그레이션을 위해서는 기존의 위키클론에서 만들어진 RAW데이터가 필요할 것입니다. 물론 이 안에 위키전용의 태그가 들어있는 상태입니다.

3.2. 위키태그의 변환 : 위키태그를 html 태그로 변환해 줍니다. zbXE의 위키모듈이 이미 위키태그를 공식적으로 지원하지 않는 것으로 결정되었기 때문에 본 문서의 제 2항에서 위키문법을 사용할 수 있는 방법을 제시하고 있지만, 혼란을 피하기 위해 표준형식으로 변환하는것이 좋을듯 합니다. 특히 인터링크를 살리기 위해서도 html로 변환은 필수라고 봅니다. 단, 이 과정에서 문단의 모양이나 큰제목, 작은제목들의 모양이 흐트러지거나 바뀌는걸 피하기 위해 사용자의 선택사항을 만들어주는것도 좋을것으로 봅니다. 

3.3. xml 형식으로 변환하여 익스포트
 
3.4. 만들어진 xml파일을 zbXE의 임포터에 넣으면 마이그레이션 완료.. 이렇게 되는 식이죠.




이 문서를 끝으로 위키문법의 지원여부에 대한 찬반이 종결되었으면 합니다. 사실 앞으로 고민해야 할 부분들이 더 많죠.. 일단은 기본적으로 위키문법을 지원하지 않지만, 우회적으로 위키문법을 지원함으로써 부가적인 이득을 볼 수 있다는 점에서 나쁘지 않은 생각같긴 하지만.. 여러분의 생각은 어떠신지 궁금합니다. 특히, 개발팀의 피드백이 중요하겠죠... ^^;;;




덧: 방금 다시 생각난 건데.. 인터링크는 어차피 깨지겠더군요.. 어차피 마이그레이션 과정 중에 퍼머링크도 깨지고 인터링크도 깨질수밖에 없습니다.. 이부분은 마이그레이션 툴을 통해 해결할 수 있는 문제라기 보다는 다시한번 자기조직화를 거쳐야 하는 부분으로 보고 있습니다. 즉, 마이그레이션 툴이 다 돌아간 후에 위키의 관리권한자가 다시한번 훑어보면서 수작업으로 짜맞춰줘야 하는게 아닐까.. 싶네요.. 차후 zbXE의 위키모듈이 인터링크를 [wiki:문서이름] 과 같이 태그로 처리하게 된다면 모르지만.. 아무튼 현재로써는 별다른 대안이 떠오르지 않고 있습니다.. Orz
profile
한때, 웹사이트의 모든것을 혼자 다 만들 수 있다고 자만했던 웹사이트 제작자이자 울트라삽질러. -_-
지금, 언제나 사진에 목마른, 부족한 자신에 좌절하며 도전하는 쌈마이.

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