일단, 짜증나는 요소 몇가지를 들자면..
1. 반복적인 코드를 여러파일에서 계속 가지고 다니기
2. xhtml 표준에 맞추고는 싶은 것인지?
3. WYSIWYG 이 과연 대세인가?
대략 3가지의 의문점을 가집니다.
하나씩 따져 보자면..
1. 반복적인 코드를 여러 파일에 계속 가지고 다니기....
이 점.. 정말 환장 합니다. 좀 고쳐 보려고 하니.. 코드 한줄 추가하면 되는데.. TT 에서는 include 대신에 계속 반복적으로 같은 코드를 file 에서 직접 가지고 있기 때문에, 여러 파일을 계속 반복적으로 고쳐줘야 하는 단점이 있습니다. 고치려다 보니 환장 하겠더군요. 제 개인적인 생각이지만, GPL 로 내놓기 위해서 코드를 아주 더럽게 만들고자 한 음모론이 있었던 것이 아닌가 생각 됩니다. 만약 이런 이유가 맞다면.. 정말 제대로 성공한 전략이 아닌가 싶습니다. --;
2. xhtml 표준에 맞추고는 싶은 것인지?
이 부분 정말, 강력하게 비판하고 싶습니다. 분명히 1.0 에서 표준을 지키겠다고 했는데, 1.0 skin 중 일부만 지켰다는 것이지, 그나마 css 를 이용한 디자인을 이용했다는 것 뿐이지, 너무 소스코드 안에서는 정말 기본적인 것도 지쳐지지 못했다는 것이 문제입니다. 가령 예를 들어 table tag 에서의 height, td tag 의 background, 그 외의 name method 의 남발.., 중복된 name/id method 사용.. 등.. 더군다나.. 정말 validator 를 돌려 보기나 했을까 싶게 TT 홈페이지에서도 valid 한 페이지를 찾기가 힘듭니다. 이거 맞추려고 고치려다 보니 성질이 확 나더군요.
아니, 여기까지는.. any browser 에서 표현이 되기만 한다면.. 문제가 없다고 칠 수 있겠습니다. 하지만 url link 의 한글 encode 처리는 기본인데.. 이것을 빼먹었다는 것은 정말 아니라고 생각 됩니다. 링크가 깨지는 문제가 발생할 수 있는 문제인데..
3. WYSIWYG 이 과연 대세인가?
이 부분은 가장 비판을 가하고 싶은 부분입니다. 1.0 올라오면서 아주 개판이 되었다고 생각되는 부분 중에 하나 입니다. 물론 HTML 코드를 제대로 사용하지 못하거나, WYSISYG 이 표현해 주는 것에 불만이 없다면 상관이 없겠지만, 내가 표현하려고 하는 HTML 코드를 자기 마음대로 변경한다는 점에서는 아주 미치고 환장 하는 기능 입니다. 더군다나, WYSIWYG 을 사용하지 않으려고 해도, 이미 WYSIWYG 이 변경한 코드를 TEXTAREA 로 넘겨 주는데서는 아주 환장 하겠더군요.
그래서.. 아예 script/editor.js 에서 WYSIWYG 을 사용하지 못하도록 수정.. --;
더 화가 나는 것은.. 왜.. "\n" 를 강제로 br tag 로 바꾸는 것인지는 더 이해가 가지 않습니다. 저 개인적으로는 (제가 만든 게시판에서도..) 결코 사용자가 의도하지 않은 일을 발생하게 하는 것은 좋지 않은 개발 방향으로 생각이 됩니다만.. TT 에서는 왜이런 정책을 사용하려는지 좀 아쉽습니다.
결론은.. 현재 다시 0.9x 로 내릴지.. 아니면 아쉽더라도 그냥 갈지를 결정해야 하는데.. 현재 상태에서는 정말 머리 아픕니다. 유지하는데도 머리가 아프고.. (고친 것이 많아서..), 다시 back 하자니.. 새로 올린 글들을 포기해야 할 수도 있다는 점이.. 나를 귀찮게 합니다. --;
Comments List
HTML Tidy extension은 무지 좋은 툴입니다. 일일이 validation을 해보지 않아도 바로바로 에러나 경고를 확인 할 수 있으니까요. 하지만 HTML Tidy extension이 완전한 validation을 하는 것은 아니기 때문에 (DTD기준이 아닙니다.) HTML Tidy에서 어느정도 테스트 후에 W3C Validator로 최종적으로 확인을 해 보는 것이 좋습니다.
저도 태터의 2% 모자란 부분들 때문에 아쉬워하고 있었는데 앞으로는 더 나아지기를 바랍니다.
카테고리 트리에 오류가 발생하는 부분은, 1.0 이상에서는 [## _category_list_ ##] 치환자를 따로 제공합니다. (저도 몰랐어요 ㅠ_ㅠ) 트리 스킨의 레거시때문에 예전 방식을 일단 남겨둔 것 같습니다. 그 쪽을 사용하시는 것이 좋을 것 같습니다. 이 쪽으로 바꾸니 validation은 통과하는군요 only리눅스에 firefox 유저라 web developer toolbar는 잘 사용하고 있습니다만, tidy extension은 써보질 않았네요 감사합니다.
관리자 메뉴는... 아직 답이 안 나옵니다. =_= 모두 문제를 알고는 있는데 일단 잘 돌아가니 뒤로 미루자고 하고 있습니다. 아침놀님 중간고사 끝나면 왕창 찔러볼렵니다.
urlencode관련해서는 게시판에 엄청 다양한 이야기들이 있습니다. 이유는 아직 파악중이지만 서버에 따라 희한한 동작을 보이는 경우가 있다고 하네요. 현재는 경우에 따라 소스의 그 부분을 수정하는 쪽을 권하고 있습니다. 태터 내부에 구현된 iconv를 이용해서 수동으로 파싱해 보는 것은 어떨까라는 생각도 해 보았습니다만, 속도가 걸려 다른 분들께 아직 이야기를 꺼내지는 못했습니다. (chester님의 목표는 태터 하나 설치한 후 mod_alias 전용 모드에서 10만명 이상 사용이 가능한 툴인것 같습니다 =_=)
위지윅부분은... 이야기 꺼내 보겠습니다. 안되면 억지로라도... (장기적 로드맵에 에디터 모듈의 독립이 있습니다. 그 때가 되면 쉽게 에디터 모듈 자체를 교환할 수 있게 되겠지만, 그게 언젠지 며느리도 몰라요; )
저도 sandbox 에 commit 권한 획득한지 이제 열흘이라, 아직 소스파악에 정신이 없는 상태입니다. 수정하신 부분 많으시고 다른 분들에게도 필요하다 싶으시면 그 부분 많이 도와주세요 ㅠ_ㅠ 게시판에 올려주시면 확인 후 바로 commit해 보겠습니다.
아는대로만 답변해 보겠습니다.
첫번째 지적은, dev.tattertools.com에서 소스트리 다운로드 받으시면 알겠지만 원래 소스트리는 안 그렇게 생겼습니다 나중에 배포본을 만들 때 소스트리의 include된 것들 중에서 필요한 함수만 골라서 그런식의 output을 따로 만들어내는 프로그램이 있습니다. 사용자 입장에서의 브라우저 로드를 줄이기 위한 최적화 프로그램이죠. (물론 오리지널 소스트리를 가져다 설치해도 잘 돌아갑니다. 전 그렇게 쓰고 있습니다 )
두번째 문제는, 켁; 제 블로그도 validation error가 두 개가 뜨는군요. 그리고 url관련해서는 제 경험상 url encoding 이 utf8이 아닌 형태로 나가는 것을 본 적이 없어서 잘 모르겠습니다^^
세번째 문제는 wygiwyg 모드를 켜고 끌 수 있는 옵션을 추가하면 될 것 같네요. 내일이나 모레 시간 나면 추가해서 소스트리에 commit 해 보겠습니다.
개선할 점이나 여러가지 의견 등등은 http://www.tattertools.com/ko/forum 에서 많은 사람들이 의논하고 있으니, 와서 이런저런 의견을 주시거나 직접 소스코드에 대한 의견을 주시거나 하시면 될 듯 합니다.
앗.. 개발자이신가 보군요. 감사합니다. source include 문제는 내심으로는 그렇게 생각하기는 했습니다. 그냥 좀 웃자고 한 표현이었고요.
두번째 문제는.. w3c 의 validator 를 돌리시면 2개 밖에 안나오지만, 이는 parsing 을 멈춰서 그런 것이고요. 실제로 완전히 돌려 보시면 경고가 꽤 많습니다. 개발을 하시는 것이라면 firefox 에 tidy extension 을 설치하시고 작업을 해 보시면, 브라우저 우측 하단에 에러/경고 를 표시해 주므로, 작업에 한결 편리하실 겁니다. 특히 눈에 거슬리는 부분은 메뉴 트리 부분의 name attritubute 를 이용하고 있는 부분과, 관리 메뉴의 필터링 관련 메뉴에서 name attribute 와 id attribute (name attribute 는 사용하지 않는 것이 표준 입니다.) 가 유일값이어야 하는데 중복값을 왕창 가지고 있다는 부분입니다.
또한, urlencode 문제는 ascii 값 외에는 %AC 와 같이 encoding 처리를 해야 합니다. 한글 환경에서는 (utf8이든 euc-kr 이든..) 메뉴나 태그에서 한글이 나오기 쉬우므로, 이 부분은 php 의 경우 urlencode 함수를 이용해서 encoding 을 해 주어야 합니다.
wygiwyg mode 를 끌 수 있는 옵션은 정말 바라고 바라고 있겠습니다. :-)