TTML 포맷터의 데이타 변경 금지하기

텍스트큐브 1.5.3.1로 판올림라는 글에서 알 수 있듯이 얼마 전 '태터툴즈에서 텍스트큐브로 판올림'했다. 판올림한 뒤 여러 가지 문제가 있었지만 가장 불편한 문제는 TTML 포맷터가 사용자가 입력한 데이타를 변경해서 저장하며, 텍스트 편집기를 기본으로 지정할 수 없다는 문제였다.

태터툴즈는 패치를 통해 위지윅 편집기가 아니라 텍스트 편집기를 기본으로 설정할 수 있었지만 텍스트큐브에서는 이 패치도 통하지 않았다. 텍스트큐브에서는 HTMLTTML의 두가지 포맷터를 사용할 수 있다. 그러나 HTML 포맷터를 사용하면 이전 치환자 중 일부를 사용할 수 없는 문제가 발생하기 때문에 HTML 포맷터를 사용할 수도 없었다.

그러나 무엇보다 불편한 점은 이전 글을 수정하려고 하면 자동으로 TTML 위지윅 편집기가 나타나며 이때 사용자의 데이타를 TTML 포맷터에 맞게 변경한다는 점이다. 또 짧은 시간에 자동 저장되기 때문에 사용자가 깨닫기도 전에 데이타는 TTML 형식으로 바뀌어 저장된다. TTML 포맷터의 데이타 변환이 완벽하면 그나마 쓸만할 텐데 이전 태터툴즈처럼 TTML 포맷터의 변환이 완벽하지 않아 사용자가 입력한 데이타가 바뀌며 화면 배치가 달라지는 현상이 발생한다. 이런 문제 때문에 수정은 위지윅 편집기가 아니라 MySQL Admin으로 수정해왔다.

텍스트큐브를 설치한 뒤 발생한 문제 중 현재 해결하지 못한 문제는 이제 위지윅 편집기 문제와 인쇄 플러그인 문제만 남은 셈이다. 아직까지 TTML 텍스트 편집기를 기본 편집기로 설정하는 방법은 알아내지 못했지만 TTML 편집기가 데이타를 바꾸는 것을 막는 방법을 찾아 이 방법으로 텍스트큐브를 사용하고 있다.

이 방법은 TTML 위지윅 편집기로 데이타를 읽은 뒤 EDIT 단추를 클릭해야 하지만 TTML 위지윅 편집기의 기능을 다 사용하면서 데이타 변형이 일어나지 않기 때문에 텍스트큐브를 사용하면서 그나마 나은 방법으로 생각된다.

  1. plugins/FM_Mordern/editor.js 파일을 좋아하는 편집기로 연다.
  2. 함수를 정의 제외한 html2ttml을 포함하는 모든 행을 주석처리한다.

     271 //this.textarea.value = 
        this.html2ttml(this.contentDocument.body.innerHTML);
    1968 //this.textarea.value = this.html2ttml();
    

    여기서 행 번호는 달라질 수 있다.

인터넷 탐색기를 종료하고 다시 시작한 뒤 새글 쓰기로 편집기를 열거나 페이지의 수정 링크를 이용해서 편집기 창을 열면 그림처럼 위지윅 편집기가 나타난다. 그러나 EDIT 단추를 계속 클릭해서 위지윅 모드와 텍스트 모드를 전환해 보면 사용자가 입력한 데이타가 그대로인 것을 알 수 있다.

그림에서 알 수 있지만 TTML, 위지윅 편집기로 되어있다. 그러나 TTML, 위지윅 편집기에 의한 데이타 변환은 발생하지 않는다. 따라서 사용자가 입력한 데이타는 어떤 변형없이 그대로 저장된다.

관련 글타래

2007/10/08 17:33 2007/10/08 17:33
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: https://offree.net/trackback/1210

Facebook

Comments

  1. okto 2007/10/08 18:15

    이것때문에 답답했는데 정말 좋네요. 감사합니다.
    추천 누르고 갑니다. (여기가 아닌가-_-a)

    perm. |  mod/del. reply.
    • 도아 2007/10/08 18:19

      저도 무척 답답했습니다. 데이타를 바꾸고 배치 깨먹고,,, 그래서 입력은 TTML로 하고 수정은 MyAdmin으로 해왔습니다. 그 덕에 글도 많이 올리지 못하고요.

      그런데 추천은 어디에 하신 것인지요?

  2. 其仁 2007/10/09 23:42

    제가 잘못 이해하고 있지 않는 것을 전제로 텍스트큐브에 구글 CSE 달기에 지금 이 글처럼 이미지를 예제로 드셨으면 블로그스피어가 떠들썩하지 않았을 것 같다는 생각이 듭니다. ㅎ...

    아무튼, 저도 도아님같이 이전 글을 수정하려고 하면 자동으로 TTML의 위지윅 편집기가 나타나는 경우를 당해서 2% 불편했었는데, 감사히 적용하겠습니다.

    perm. |  mod/del. reply.
    • 도아 2007/10/10 07:41

      당시에는 저 패치를 하지 않았기 때문에 저 이미지를 올릴 수 없었습니다. 그리고 글에는 저것을 원한다는 것이 충분히 나타났다고 봅니다. inureyes님이 바로 아신 것을 보면 알 수 있습니다.

  3. Creorix 2008/05/01 17:30

    논쟁을 불러일으키고 싶지 않습니다만, 한 가지만 말씀드리겠습니다. 도아님을 자극하거나 비난하려는 의도가 아니라 글에 틀린 내용이 있어서 바로잡았으면 하는 의도에서 드리는 댓글이니 오해하지 마시길 부탁드립니다.

    예전부터 계속 말씀드렸던 것 같습니다만, 도아님께서 "데이터 변경"이라고 말씀하시는 부분은 포매터에서 일어나는 부분이 아니라 에디터에서 일어나는 부분입니다. 도아님께서 수정하신 플러그인도 에디터 플러그인이구요. (FM_Modern은 에디터 플러그인, FM_TTML, FM_Markdown 등은 포매터 플러그인입니다.) 그래서 "TTML 포맷터의 데이타 변경 금지하기"라는 제목을 "텍스트큐브의 Modern 위지윅 에디터의 데이타 변경 금지하기"라는 제목으로 변경하고 관련 내용도 수정해 주시면 감사하겠습니다. 이 글을 보고 다른 사용자들이 포매터와 에디터가 하는 역할에 대해 헷갈릴 수도 있을 것 같아서요.

    조금 오래 된 글이라 확인하실 지 모르겠습니다만, 만약 이 댓글을 보시게 된다면 확인하시고 답변 부탁드립니다.

    perm. |  mod/del. reply.
  4. 덩크훈 2009/05/14 19:38

    흑~이글 때문에 하루 날리도록 고생한거 해결했습니다.

    이제 설치형 블로그 시작하려는데 이 글 담아가도 될까요?;ㅁ;

    정말 감사합니다~ㅎ

    perm. |  mod/del. reply.
    • 도아 2009/05/14 20:03

      위의 저작권 정보에 있지만 제 글은 펌 금지입니다. 링크를 하시기 바랍니다. 그리고 블로깅을 시작했다면 네이버에서 사용하는 펌은 안하는 것이 최선입니다.

클릭!

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.