텍스트큐브 1.7.6 버그 패치 2

텍스트큐브 1.7.6에는 마음에 드는 기능도 많지만 버그도 많다. 지난 글에서는      관리도구에서 바로 트랙백을 보내는 기능이 정상 동작하지 않아 이 문제를 수정하는 패치를 올렸다. 이번 글에서는 위지윅편집기의 기본 편집 모드를 HTML로 설정해도 위지윅모드로 바뀌는 문제위지윅모드로 전환한 뒤 HTML 모드로 바꾸면 데이타가 바뀌는 문제를 해결하는 방법을 설명하겠다. 일단 이 문제도 패킷 스니퍼링 프로그램을 이용해서 관련되는 파일을 찾아 해결했다.

위지윅편집기의 기본 모드 패치

일단 위지윅모드의 기본 편집 모드가 바뀌는 현상은 텍스트큐브    의 버그때문이다. 환경 설정에서 위지윅편집기의 기본 편집 모드를 HTML로 설정하고 글 편집창에서 위지윅모드로 전환(Edit 단추 클릭)하면 FM_Modern 플러그인의 설정이 삭제된다. 플러그인의 설정이 삭제됐기 때문에 이 뒤로는 FM_Modern 플러그인의 기본 편집 모드인 위지윅모드로 동작한다. 확인해 본 결과 이 문제는 두 가지 방법으로 해결이 가능했다.

관리도구/서비스관리/서버에서 플래시 업로더 사용의 체크를 해제하면 플러그인 설정이 삭제되지 않는다. 따라서 이 방법을 이용하면 파일을 올릴 때 플래시 업로더를 사용할 수 없지만 위지윅편집기의 기본 편집 모드를 HTML로 유지할 수 있다. 플래서 업로더는 플래시 파일로 되어 있기 때문에 이 업로더가 어떻게 플러그인 설정을 삭제하는 것인지는 알 수 없었다. 다만 플래시 업로더를 사용하지 않으면 플러그인 설정이 삭제되지 않는다는 것만 확인했다.

그러나 이 방법을 사용하면 여러 개의 파일을 업로드할 수 있는 플래시 업로더를 사용할 수 없는 문제가 발생한다. 따라서 필자가 선택한 방법은 FM_Modern 플러그인의 기본 설정 모드를 위지윅이 아니라 HTML 모드로 동작하도록 바꿔 해결했다. 절차는 다음과 같다.

  1. 자신이 좋아하는 편집기로 plugins/FM_Modern/index.php 파일을 열고 FM_Modern_editorinit 함수의 기본값 설정 부분을 다음처럼 바꾼다.
    변경전
    $config = array('paragraphdelim' => 'BR',
    'defaultmode' => 'WYSIWYG');
    변경후
    $config = array('paragraphdelim' => 'BR',
    'defaultmode' => 'TEXTAREA');

  2. 마찬 가지로 좋아하는 편집기로 plugins/FM_Modern/index.xml 파일을 열고 index.xml 파일을 다음처럼 바꾼다. XML 파일은 굳이 패치할 필요는 없다.

    변경전
    <field title="기본 작성 모드" type="select" name="defaultmode">
    	<op value="WYSIWYG" checked="checked"><![CDATA[위지윅 편집기]]></op>
    	<op value="TEXTAREA"><![CDATA[HTML 직접 편집]]></op>
    </field>
    변경후
    <field title="기본 작성 모드" type="select" name="defaultmode">
    	<op value="WYSIWYG"><![CDATA[위지윅 편집기]]></op>
    	<op value="TEXTAREA" checked="checked"><![CDATA[HTML 직접 편집]]></op>
    </field>

위지윅편집기의 데이타변경 패치

1.7.6을 사용하면서 또 마음에 들지 않는 부분은 <B>와 같은 태그를 <STRONG>과 같은 의미 단위의 태그로 자동으로 바꿔주는 기능이다. <B> 태그를 사용하는 것 보다는 <STRONG>와 같은 태그를 사용하는 것이 검색 엔진 최적화(SEO: Search Enginge Optimization)에는 더 도움이 된다. 따라서 자동으로 바꿔 주는 기능이나 과거 <SPAN> 태그를 이용해서 지정하던 속성을 <STRONG>와 같은 의미있는 태그를 이용하도록 한 점은 상당히 높은 점수를 주고 싶다. 그러나 필자는 기본적으로 위지윅편집기는 사용자가 입력한 데이타를 바꾸지 않아야 한다고 생각한다. 또 자동으로 바꾸는 부분은 꼭 옵션으로 사용자가 선택할 수 있도록 하는 것이 옳다고 생각한다.

<B> 태그를 자동으로 <STRONG> 태그로 바꾸는 것은 좋지만 여기에도 버그가 있다. <BLOCKQUOTE> 태그 내에 <B> 태그가 있으면 다음 그림처럼 <strongLOCKQUOTE> 태그로 바뀐다. 물론 <BLOCKQUOTE>태그내의 <B> 태그는 처리가 되지 않기 때문에 <BLOCKQUOTE> 태그내에 <B> 태그가 있으면 이 뒤의 모든 글씨가 굵은 글씨로 표시되는 문제가ㅏ 발생한다.

따라서 이 부분 역시 직접 패치했다. 패치하는 방법은 다음과 같다. 좋아하는 편집기를 이용해서 plugins/FM_Modern/editor.js 파일을 열고 다음처럼 태그를 자동으로 바꾸는 부분을 주석처리한다.

	if(isWYSIWYG) {
//		var html = this.contentDocument.body.innerHTML;
	} else {
//		var html = this.textarea.value;
(...중략...)
	if(isWYSIWYG) {
//		this.contentDocument.body.innerHTML = html;
	} else {
//		this.textarea.value = html;
	}

이렇게 하면 태그를 자동으로 바꾸는 기능도 동작하지 않기 때문에 예전처럼 HTML 편집기를 기본으로 사용하는 것과 거의 비슷한 효과를 얻을 수 있다.

관련 글타래
2008/11/17 20:07 2008/11/17 20:07
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 이슈 다음에서 새롭게 서비스하고 있는 소셜픽입니다. OpenAPI로 구현한 것이 아니라 가끔 사라질 때도 있습니다. 또 10분에 한번 갱신하기 때문에 실제 소셜픽과 약간 차이가 있습니다.
  1. 1
    검색: 80,611 트윗: 670 댓글: 4,342
    중국에 특사를 파견한 것은 이번이 처음이다. 더군다나 한반도 정세가 악화 일로에 빠진 상황에서 북한이 대중 특사를 보내고 이를 중국이 수용했다는 것은 남다른 의미를 지닌다. 한 정부 관계자는 "북한의 특사가 갑자기 방중하는 것으로
  2. 2
    검색: 1,872,604 트윗: 1,042 댓글: 3,779
    전소되고 손호영이 응급차에 실려가는 CCTV 화면을 소개했다. 이 영상에는 소방관이 화재를 진압하는 장면과 병원에 후송되는 손호영의 모습이 담겼다. 한편 손호영은 지난 24일 오전 서울시 용산구 서빙고동 주변 주차장에서 자신의 차량 안에서
  3. 3
    검색: 404,110 트윗: 1,380 댓글: 3,125
    전두환 전 대통령의 미납 추징금 1672억원에 대한 집행 시효가 5달여 남은 가운데 검찰이 2004년 전 전 대통령 비자금 채권을 찾고도 추징하지 않은 사실이 뒤늦게 밝혀져 비난을
  4. 4
    검색: 23,717 트윗: 598 댓글: 2,624
    무소속 안철수 의원이 자신의 장기인 강연 정치를 재개했다. 안 의원은 25일 자신의 지역구인 서울 노원구 상계동의 상원초등학교에서 토크 콘서트를 열고 지역주민들과 만났다. 강연 처음부터 "오늘은 정치적인
  5. 5
    검색: 2,257 트윗: 344 댓글: 1,887
    서울중앙지검 특별수사팀은 25일 경찰 단계에서의 수사 축소·외압 의혹과 관련해 김용판 전 서울경찰청장을 재소환해 조사중이다. 김 전 청장은 이날 오후 2시께 서울 서초동 검찰청사에 나왔다. 김 전 청장은 지난 21일
  6. 6
    검색: 54,842 트윗: 777 댓글: 877 야생진드기 의심환자 발생,광주 살인진드기,야생진드기 증상,살인진드기 예방법,야생진드기 치사율 야생진드기 바이러스에 감염되어 두명의 사망자가 발생하였고 야생진드기 의심환자 한명이 숨졌는데요. 현재 광주에서도 야생진드기 의심환자가 발생하였습니다.
  7. 7
    검색: 68,309 트윗: 282 댓글: 902 PSY가 적혀 있어 외신들도 그를 싸이로 알고 취재 한걸로 보여진다. 한편 싸이인 것처럼 행세해 올해 칸 국제영화제에서 주목을 받았던 가짜 인물의 정체는 한국계 프랑스 입양아 출신인 드니 카레인 것으로 밝혀졌다. SBS 뉴스는 24일 '
  8. 8
    검색: 210,968 트윗: 210 댓글: 945 'K팝스타2'의 우승자 악동 뮤지션이 YG엔터테인먼트와 전속 계약을 맺는다. YG엔터테인먼트는 24일 오전 공식 보도 자료를 통해 "수일 안에 정식 계약을 체결할 계획이다"며 "자세한 계약 조건을
  9. 9
    검색: 36,216 트윗: 601 댓글: 462 농협중앙회 임원 일괄 사퇴비상경영체제 가동 조선비즈 | 문승관 기자 | 입력 2013.05.24 11:51
  10. 10
    검색: 2,267 트윗: 40 댓글: 798 받고 있다. 5일 밤 11시 15분 방송된 SBS '그것이 알고 싶다'에서는 사위와 이종사촌 여대생이 사귀는 것으로 오해하고 청부 살인을 지시한 한 중견기업 회장의 아내 윤모씨를 둘러싼 검찰과 병원의 비리를 파헤쳤다. 청부 살해된
오늘의 글
인기있는 글
컴퓨터 팁&텍
트랙백 많은 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: http://offree.net/trackback/2135

Facebook

Comments

  1. 위드블로그 2008/11/17 20:19

    관리자만 볼 수 있는 댓글입니다.

    perm. |  mod/del. reply.
  2. 지하 2008/11/17 20:48

    텍스트 큐브 1.7.6 사용자로서 좋은 정보 감사합니다.~

    perm. |  mod/del. reply.
  3. okto 2008/11/17 22:01

    패치 감사합니다. 둘다 적용했어요^^
    도아님이 개발하지도 않았는데 이런거 찾아서 아무렇지도 않게 고치는 막강함에는 그저 웃음밖에 안나오네요. 개발자분들이 뜨끔하시겠어요;; 도아님같은 분을 요즘말로 '먼치킨'이라고 하던데...ㅎ

    덧. 코드상자에 대해서 질문좀...
    저는 저게 어떻게 구현되는건지 모릅니다. 줄번호가 무조건 1부터 시작인가요? 그런게 아니라면 해당되는 위치의 정확한 줄번호를 지정해주면 조금은 편하게 볼 수 있지 않을까 싶어요.

    perm. |  mod/del. reply.
    • 도아 2008/11/18 10:52

      텍큐가 워낙 복잡해서 저는 곁다리만 건드리는 것입니다. 진짜 실력은 개발자분들이 가지고 계시죠. 그리고 전체 파일을 업하지 않는한 줄 표시는 조금 힘듭니다. 또 제가 패치를 했기 때문에 실제 줄과는 차이가 있을 수도 있고요.

  4. ymister 2008/11/17 23:06

    "소통"

    perm. |  mod/del. reply.
  5. 빛이드는창 2008/11/18 13:50

    잘지내시죠? 잠시 배워봅니다.

    perm. |  mod/del. reply.
    • 도아 2008/11/18 15:16

      사실 광주에서 블로거를 지원하고 블로그를 꾸미는 것을 보니 부럽기 그지없더군요. 광주로 이사가고 싶을 정도로...

  6. 공상플러스 2008/11/18 22:09

    저는 Xquared WYSIWYG Editor For Textcube(http://www.textcube.org/plugin/651)를 사용하기 때문에 상관은 없다만..
    1.8부터 Xquared가 기본 에디터로 사용된다 카던데 사실일까요??

    perm. |  mod/del. reply.
    • 도아 2008/11/19 08:48

      Xquared도 비슷한 본문의 내용을 바꾸는 문제가 있어서 사용하지 않습니다. 특히 기본적으로 HTML 모드로 동작하지 않기 때문에 전혀 사용하지 않습니다.

쥐박쥐가 아니라면 소통하세요!!!

(옵션: 없으면 생략)

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