제로보드XE : HTML 문서 형식 변경 불가

커뮤니티 사이트에 게시판을 추가하기 위해서 제로보드XE를 다운받아 설치해봤다. 설치 파일 크기가 작지 않기에 FTP에 업로드하는데 많은 시간이 걸렸지만, 관리자 페이지에서 몇 번 클릭만으로 쉽게 게시판을 생성할 수 있었다.

제로보드XE

내가 커뮤니티 프로그램으로 제로보드를 선택한 이유는 크게 3가지다.

  1. 포럼형 외산 프로그램보다 기능 및 UI측면에서 국내 사용자들의 기호에 맞다.
  2. 과거 국내 최대 커뮤니티를 형성했기에 사용자 파워를 기대할 수 있다.
  3. 웹표준을 준수했다.

1번과 2번 모두 중요한 이유였지만, 3번에 대한 기대가 가장 컸다. 워드프레스라는 설치형 외산 프로그램을 사용하면서 1,2번은 나름대로 감당할 수 있지만, 3번은 포기할 수 없는 이유이기도 하다.

그러나 제로보드XE를 사용해보니, 곧바로 결정적 문제를 만났다. 바로 HTML 문서를 다루는데 제약이 발생한 것이다. 이는 레이아웃 모듈이나 스킨을 아무리 잘 만들어도, HTML 문서의 형식과 head 영역을 접근할 수 없기 때문이다. 즉, 제로보드XE는 브라우저와 같은 화면에 출력되는 부분인 body 영역은 조정할 수 있지만, 문서의 메타 정보와 외부 CSS나 JavaScript 및 XML/RSS 등을 조정할 수 없다.

이 문제를 단순히 웹 페이지의 메타 정보와 외부 CSS/JS 파일을 이용하는데 어렵다고 생각할 수 있으나, 이러한 요소는 검색 엔진 최적화는 커녕 웹 사이트 전반을 관장하여 디자인적 통일성과 네트워크 성능 향상 에 결정적 걸림돌일 수 밖에 없다.

더더욱 HTML 문서 형식을 변경할 수 없는 점은 무척 당황스러울 뿐이다. 제작자 입장에서 자신의 기호와 상황에 맞게 판단해야 할 문서 형식을 임의로 지정되어 수정할 수 없다는 발상 자체가 과거 웹용 CMS의 권한 남용 사례와 똑같다. CMSCMS 다워야지, 컨텐츠가 아니라 제작자를 관리하면 안된다.

이러한 head 영역을 접근하고 수정할 수 있는 방법을 제시하지 않는한, 제로보드XE는 한국을 넘어 일본은 커녕 세계 어느나라에서도 인정받고 사용되기 어려울 것으로 예상된다. 물론 현재로도 충분히 매력적이며 멋진 기능들을 갖춘 강력한 프로그램인 것은 사실이다. 단지 1가지 내가 언급한 문제만 해결한다면 정말 세계에서 가장 훌륭한 커뮤니티 구축 프로그램이 될 것이다.

일단 커뮤니티 사이트 구축은 무기한 연기해야 겠다. 다른 외산 프로그램을 선택할지, 다시 제로보드XE를 선택할지 좀 더 고민해야 겠다. ㅠ.ㅠ



13개의 의견이 있습니다. | 당신의 의견을 바랍니다.

  1. 1. Gravatar 정찬명 | 2008.01.04 , 오후 03:06 · permallink

    방금 제로님께 이부분 문의 드렸어요. head 영역은 스킨에서 수정할 수 있다고 하시네요. 대신 doctype 변경은 불가능한 상태 입니다. 다양한 스킨들이 DTD가 저마다 달라지면 안되는 이유 때문에 불가피하게 fix 된 부분이라고 하시네요. 제로님께서 아마 댓글로 설명해주실껍니다. ^^

  2. 2. Gravatar zero | 2008.01.04 , 오후 03:10 · permallink

    안녕하세요. ^^
    정찬명님께 소개 받고 왔습니다.

    디자인에 관여하는 스킨레벨에서 header(..)내에 다양한 요소들을 추가할 수 있습니다.



    등과 같은 템플릿 문법으로 JSCSS파일을 header내에 삽입 가능합니다.
    이럴 경우 <script 와 <link 문법으로 추가가 됩니다.

    … 과 같은 것은 body내에 있을 경우 제로보드XE에서 알아서 header로 삽입하여 출력하구요.

    {@ Context::addHtmlHeader(“헤더내용”)} 으로 하게 되면 역시 header에 삽입이 됩니다.

    {@ Context::addHtmlFooter(“바디푸터내용”)} 으로 바로 앞에 삽입 가능하구요.

    다만 태그에 이벤트라든지 style을 쓸수는 없는데 굳이 그렇게까지 않아도 될 듯 해서 별도 처리하지 않은 것이구요.

    마지막으로 Doctype은 참 애매합니다.

    제로보드XE와 같은 프로그램은 스킨이라는 기능으로 레이아웃, 모듈, 위젯등 HTML을 출력하는 것들을 분리하여 적용할 수 있습니다.
    이 각각의 디자인 요소들이 다른 DocType을 지정할 수 있게 되면 현재 HTML규격상 하나의 페이지에 여러개의 DocType을 쓰지 못하는 문제로 인해 DocType의 문제가 생길 수 있습니다.

    그래서 현재 DocType등을 고정해 놓은 것입니다.

    이 부분은 방법을 찾지 못해서 고정이 된 것이니 이해해 주세요. ^^

    혹시나 좋은 방법등이 있다면 알려주시면 매우 큰 도움이 될 것 같습니다.

    좋은 지적 감사하구요, 제로보드XE가 웹표준 준수에 한발짝 더 나아갈 수 있도록 도와주시면 너무나 감사하겠습니다.

  3. 3. Gravatar Hooney | 2008.01.04 , 오후 08:48 · permallink

    zero님 : 직접 답변주셔서 감사합니다.

    제로보드XE가 레이아웃 모듈이나 스킨 등을 이용해서 CSSJS를 추가할 수 있는 점은 알고 있던 내용입니다. 하지만, 이 방법은 대체 방법이지,전체(full) HTML을 접근할 수 있는 방법이 아닙니다.

    대부분의 제로보드 사용자들이 전체 HTML을 다루는 것을 어려워하거나, 불필요하게 생각할 수 있습니다. 하지만 고급 사용자들은 사이트 최적화나 검색엔진 등을 고려하기 위해 메타 정보를 적극적으로 활용하기 원할테고, IECSS 주석 핵이나 통합 JS 라이브러리 등을 이용하고 싶어하겠죠. 그런데 제로보드XE의 구조상 제약으로 그럴 수 없습니다.

    제로님이 언급하신 프로그램 구조와 기능 상의 이유는 지식 기반 커뮤니티의 힘으로 풀어갔으면 좋겠습니다. 외산 블로그 툴인 워드프레스의 사이트처럼, 위키 기반으로 많은 정보들을 생산/공유해서 풀어갔으면 좋겠습니다. 단순히 블로그CMS 위키가 아니라, 웹 디자인/개발 전반에 대한 정보를 공유하는 훌륭한 사이트가 될 것으로 예상됩니다. [예 1}, [예2], [예3]

    이처럼 사용자들의 지식 공유로 진행했으면 좋겠습니다. 물론 국내 특성상 쉽지 않을 거라 예상되지만, 이미 제로보드는 불가능을 현실로 만든 경험을 갖고 있습니다.

    제로보드가 단순히 커뮤니티 CMS를 넘어 국내 웹 환경의 큰 방향을 제시해왔기에, 국내에서 웹표준과 접근성을 국제 수준으로 향상시키는데 핵심 역할을 수행할 수 있을 것으로 믿습니다.

    다시한번 답변 주셔서 감사합니다. (-_-)(_ _)

  4. 4. Gravatar 신현석 | 2008.01.09 , 오전 11:48 · permallink

    DOCTYPE은 스킨에서 선택할 부분이지 툴에서 선택할 부분이 아닙니다. 툴(제로보드)에서 서버측 코드와 클라이언트측 코드를 완전히 분리하지 않은듯 하네요. 태터툴도 이러한 부분이 가장 큰 문제였고, 지금도 이 부분을 극복하지 못한 것으로 알고 있습니다. 텍스트 큐브는 잘 모르겠어요. 개인적으로는 코어는 서버측 코드만 있고 클라이언트 코드는 다 플러그인으로 몰어버리는 것이 가장 좋지 않을까…싶습니다.

    HTML은 모듈화 하는 것이 좋지만 CSS는 모듈화 해서는 안됩니다. 페이지 단위의 셋이 존재할 뿐이죠.

  5. 5. Gravatar 신현석 | 2008.01.09 , 오전 11:48 · permallink

    모야~ 수정 안되잖아. 내용은 안되는 거야?

  6. 6. Gravatar zero | 2008.01.09 , 오후 12:05 · permallink

    헛; 수정이 안된다면 조심히 써야겠네요. @@

    신현석님의 말씀처럼 DOCTYPE은 스킨에서 선택을 해야 하는게 맞습니다.

    현재 제로보드XE는 출력에 관련된 모든 부분은 스킨에서 처리가 됩니다.
    DOCTYPE에 대한 지정이 스킨에서 가능하도록 할 수 있지만 현재로서는 안되게 하고 있는 상황입니다.

    하나의 페이지에 하나의 스킨만 쓴다면 괜찮겠는데 하나의 페이지에 레이아웃 – 모듈 – 위젯들… 이 구성될 수 있어서 저는 답을 못 찾겠네요. ㅡ.ㅜ

    레이아웃은 strict 인 레이아웃스킨을 선택했는데 위젯이나 게시판은 transitional 에 맞게 구성되었을 경우 어떤 doctype으로 할 것인지 정할 수가 있을까요?

    아, 그리고 후니님의 말씀중에 있는 관리자가 스킨 이상의 레벨에서 직접 페이지의 header 부분 정의하는 것은 다음 버전에 추가될 것입니다.

    제로보드XE의 웹표준에 대해 노력은 하고 있지만 부족한 부분이 많네요.

    좋은 말씀 자주 부탁드리겠습니다. ^^

  7. 7. Gravatar 신현석 | 2008.01.09 , 오후 06:04 · permallink

    DOCTYPE을 strict를 사용하든 transitional을 사용하든 동일하게 나올 수 있게 CSS를 제작해야 하겠군요. 바꿔 말하자면 스킨 제작자들이 IE5.5이하 버전들도 지원하는 스킨을 만들어야 겠네요. 그러면 DTD선언과 상관없이 마음대로 모듈, 위젯을 섞어 쓸 수 있습니다. 모듈, 위젯 스킨 만드시는 분들이 크로스브라우징을 조금만 더 신경쓰면 별 문제없어 보입니다.

    현재와 같이 툴에서 DTD를 강제로 정하는 것보다 클라이언트쪽 문제는 클라이언트쪽(스킨)에서 해결할 수 있게 해주는 것이 더 좋은것 같습니다. 그래야 스킨 제작자들의 스킬도 더 향상되지 않을까요? :)

  8. 8. Gravatar Hooney | 2008.01.09 , 오후 06:28 · permallink

    신현석님 : 플러그인이 업데이트돼서 기능이 작동 안했군요;; 워드프레스 업그레이드하고, 플러그인 업그레이드 하는 걸 깜빡했습니다. ^^;;

    zero님 : 걱정하시는 것처럼, 모듈과 스킨의 문서 형식 차이(그에 따른 CSS 랜더링 차이)는 다른 해외 CMS 툴도 같은 문제를 겪었더군요. 디자인을 중시 여기는 국내 특성이 더해진 탓도 있구요.

    zero님이 충분히 잘하고 계시니, 원칙론적인 이야기는 접어두고 현실적인 이야기를 드릴꼐요.

    1. 웹 디자인은 사이트 및 페이지로 전달되지, 모듈/섹션별로 전달되기 힘듭니다. 그래서 모듈은 기능만 제공하고, 디자인은 전체 스킨에서 담당해야 합니다. 이를 위해서 모듈이 출력하는 HTML을 커스터마이징할 수 있는 기능이 필요합니다.

    2. 최대한 커스터마이징을 보장해주세요. 제로보드는 고급 사용자들의 참여를 이끌 수 있는 메리트가 충분합니다. 그들의 참여와 정보 재생산/공유으로 전체 제로보드 사용자의 수준이 향상되어 보다 멋진 커뮤니티를 형성할 것입니다.

  9. 9. Gravatar Headvoy | 2008.03.05 , 오전 11:21 · permallink

    제로보드XE 정식버전이 배포되었는데 DTD에 대한 문제가 어떻게 결론지어졌는지 궁금하네요 ^^

  10. 10. Gravatar zero | 2008.03.05 , 오전 11:35 · permallink

    헛; headvoy님의 글이 메일로 날아오는군요.

    음;; DocType의 경우는 역시나 고정하고 있습니다. ㅡ.ㅜ

    이건 아무리 고민해도 방법이 없더군요.

    다만 레이아웃 기능에서 .. 사이에 원하는 코드를 마음껏(?) 넣을 수 있도록 해서 조금은 더 나아진 게 아닐까 생각중입니다. ^^;;

  11. 11. Gravatar Hooney | 2008.03.05 , 오후 04:51 · permallink

    zero님 : 답변주셔서 감사합니다. 최근 제로보드 사이트가 일부 개편됐더군요. 사용자들이 보다 쉽게 참여할 수 있도록 게시판 구조를 변경한 점 너무 멋집니다.

    하지만, 제가 우려하는 점은 여전히 나아지지 않고 있습니다.

    오픈 소스 특성상 기능 구현도 쉽지 않을 개발자가 디자인까지 해서 완성된 모듈이나 애드온을 제작하는 게 쉽지 않기 때문입니다. 또한 기능과 디자인을 분리할 때, 보다 왕성한 사용자 참여가 이뤄질 것으로 예상됩니다.

    예를 들어, 개발자 입장에서 무척 간단한 기능을 구현하는 모듈/애드온을 개발해도, 자신의 전문분야도 아니고 잘하지 못하는 디자인 때문에 결과물을 공개하거나 등록하지 못할 수도 있습니다.

    찬찬히, 그러나 꾸준히 변해가는 제로보드와 사이트를 보니, 너무 좋아서 괜히 트집 잡는 다고 생각해주세요~ :)

  12. 12. Gravatar zero | 2008.03.05 , 오후 04:59 · permallink

    네. ㅎㅎ 솔직히 후니님과 같은 분들의 트집을 더 제대로 잡히고 싶습니다.
    웹표준이라는게 정의된 태그만 쓴다고 해서 되는게 아니라 시멘틱한 컨텐츠를 생성해야 하는데 그게 세세한 부분까지 알지 못하고 흉내만 내고 있으니 솔직히 답답하네요.
    (validate체크만 통과한다고 웹표준은 아니잖아요.)

    일단 제로보드XE의 실행 코드들을 제외한 UI를 위한 부분에서 스킨디자인 > 퍼블리싱 > 스킨적용 3단계로 진행할 수 있도록 준비중입니다.
    말씀하시는 기능의 경우 스킨적용에 들어갈테고 그 이전의 디자인과 퍼블리싱은 디자인에 속하겠죠.

    혼자 다 잘하기는 어렵기에 서로 협업하여 만들어 나갈 수 있도록 하면 매우 큰 효과가 있을거라 생각합니다.
    물론 정착이 되는게 쉽지는 않겠지만 계속 시도해야죠.

    솔직히 웹표준이라든지 그 외의 표준이라는(API나 개발론) 것을 따르는 것이 느리고 답답하지만 결과는 매우 좋다고 저 스스로 느끼기에 급하게 서두르지는 않을 예정입니다.

    칭찬도 감사하고 지적도 감사합니다.
    앞으로 더 많이 트집(?) 잡아주세요. ^^;

  13. 13. Gravatar Outsider | 2008.03.12 , 오후 05:11 · permallink

    아직 신입웹개발자 입니다만 표준쪽에 관심이 많은데 이글에 오간 리플만으로도 많은 생각을 해보게 되는군요.

당신의 의견을 바랍니다..

사용할 수 있는 HTML 태그 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Aboout Author

조훈 Hooney라는 ID로 온라인에서 활동하는 조훈입니다.
자세히 보기 »

CSS Reference

Hooney와 함께 만드는 CSS Reference!


Be Friend~! Be Friend~!