'텍스트큐브': 검색된 포스트 '3'건

  1. 2008/12/27  텍스트큐브는 깡패다 (11)
  2. 2008/05/03  TC (6)
  3. 2007/08/17  다중 사용자 모드 변경

텍스트큐브는 깡패다

이따위 표현을 쓰는 것이 옳은가에 대해 한참 고민했지만, 이 표현을 대신할만한 다른 표현을 찾지 못했기 때문에 부득이하게 이런 표현을 쓰게 됐습니다. 세상의 수많은 블로그 도구나, 수많은 게시판 스크립트 중에 이정도의 복잡함과 이정도의 불친절함을 동시에 안겨주는 도구도 없다고 생각합니다. 이 도구를 사용해 얻을 수 있는 장점은 운영자가 마음대로 내 글을 삭제하지 않는 것에 대한 보장 정도입니다.

어느날 최신 버전으로 업데이트했더니 관리자로 로그인 할 수가 없었습니다. 워낙 엉망진창인 관리자모드라 로그인 자체를 꺼렸지만 설정을 바꿀 일이 있었는데, 로그인이 안 됐습니다. 오픈아이디 인증이 안 되었는데, 오픈아이디 말고 그냥 관리자 아이디와 패스워드로 로그인하니 로그인이 됐습니다. 아마 오픈아이디 인증에 문제가 생긴 모양인데, 그날 이후로 지금도 오픈아이디 인증은 불가능합니다. 저 뿐만 아니라 블로그에 오픈아이디로 답글을 달려는 사람들 모두요. 포럼에서 찾아봐도 문제가 있다는 글 뿐, 뭐가 어떻게 돌아가는지 파악해 문제를 해결하기는 아주 어려웠습니다.

저는 어떤 도구건 도메인 루트에 설치하는 것을 아주 싫어합니다. 각 도구마다 개발자들이 다른 도구를 의식하지 않아서인지 도메인 루트에 설치하면 다른 스크립트 디렉토리와 겹치는 문제가 생기기도 하고, 예상치 못한 오동작이 일어나기도 합니다. 이 텍스트큐브도 './blog' 아래에 설치해 단일 블로그 모드로만 사용합니다. 다중 블로그 모드를 사용하면 단일 블로그 모드 때 사용하던 주소를 전혀 사용할 수 없기 때문입니다.

그런데 얼마 전에 다른 도메인에 블로그를 하나 열면서 여러 사람이 블로그를 써야 했기 때문에 하는 수 없이 도메인 루트에 텍스트큐브를 설치하게 됐습니다. 설치 후에 깜짝 놀랐는데, 텍스트큐브 이외의 모든 디렉토리에 접근할 수 없게 되어 있었습니다. 한참을 검색한 다음에 텍스트큐브가 '.htaccess' 파일을 바꿨기 때문이라는 것과, 다른 디렉토리에 접근하려면 이 파일에, 접근하고 싶은 디렉토리 이름마다 설정을 추가해야 한다는 것을 알았습니다. 다른 스크립트도 '다른' 스크립트의 동작을 의식해서 만들지는 않지만, 이정도면 악질적인 방해가 아닌가 하는 생각이 들 정도였습니다. 이 문제를 해결하기 위해 정규식을 배워야만 했습니다.

스킨을 수정하는데, 캐시 때문에 페이지에 반영이 바로바로 되질 않았습니다. '어딘가에서 캐시를 끌 수 있겠지'라고 생각하고 지독하게 싫어하는 관리자모드를 여기 저기 둘러보기 시작했습니다. '어딘가엔 분명히 있을거야'라고 생각하고 '센터..글..커뮤니케이션..네트워크..꾸미기..플러그인..설정..서비스관리..'메뉴를 뒤졌습니다.

일단 제 상식선에서 몇 가지 후보가 있었습니다. 일단 스킨 캐시에 관한 거니까 '꾸미기' 메뉴 어딘가에 있을 거라고 생각했고, 데이터에 관한 거니까 '설정'의 '데이터 관리' 어딘가에 있을 거라고도 생각했습니다. 물론 양쪽 모두에도 없었는데, 한참 메뉴를 마우스로 훑으며 올라가는 혈압을 주체하지 못하다가 저 구석에 처박혀 있는 '서비스관리'의 '서버'메뉴에 있다는 것을 알게 됐습니다. ... 그러니까, 개발자는 'config.php를 수정하는 메뉴는 하나로 묶어야지'라고 생각했나봅니다. '서버' 메뉴에는 온갖 연관성 없는 이상한 설정들이 원래 '설정' 메뉴와는 관계 없이 모여 있었습니다. 여기서 스킨 캐시를 끌 수 있었지요.

그런데, 캐시를 끄고 작업하는 동안에는 바로바로 스킨 변경이 반영되다가 스킨을 켜자 ... 이전에 만든 캐시를 다시 사용하는 겁니다. ... 결국 FTP에서 스킨 캐시 디렉토리를 내가 직접 삭제한 다음에야 제대로 사용할 수 있었습니다. 스킨을 수정해놓고 한참을 웃고 있었습니다.

텍스트큐브는 깡패입니다. 엔지니어들만 모여서 만들면 뭐가 나오는지, 엔지니어가 기획도 하고 개발도 하고 CS도 하면 무슨 일이 일어나는지를 보여주는 훌륭한 예입니다. 텍스트큐브를 사용하기 위해서는 텍스트큐브를 개발하는 엔지니어들에 준하는 지식을 갖추거나, 티스토리 초대권을 찾는 편이 낫습니다. 언젠가는 분명 텍스트큐브도 글을 쓰는 유저에게, 글을 읽는 유저에게, 서버에게, 같은 계정에서 돌아가는 다른 스크립트에게 깡패처럼 굴지 않는 때가 오기는 하겠지만, 앞으로 한동안은 오지 않을 것 같습니다.

2008/12/27 15:53 2008/12/27 15:53

,

TC

블로그 도구를 TC로 바꾼지 몇 년이 지났습니다. 처음에는 PHP/MYSQL에 기반한 간단한 블로그 도구였는데, 시간이 지나면서 사용자도 늘어나고 제작 주체도 바뀌고 하면서 도구 자체에도 많은 변화가 생겼습니다. 지금도 처음에 시작한 블로그 도구라는 기본은 크게 변하지 않았지만, 여러 가지 부가 기능이나, 속도나 대용량 처리를 위한 기반 기능이 포함되면서 상당히 복잡해졌습니다. 예전에는 잠깐 보면 어떻게 굴러가는지 비교적 쉽게 이해할 수 있었다면, 지금은 각 잡고 봐야 어떻게 굴러가는지를 이해할 수 있는 식입니다.

기술적인 발전 덕분에 TC는 예전보다 많이 빨라졌다고 합니다. 실제로 시간을 재본 적은 없으니 얼마나 빨라졌는지는 잘 모르겠습니다. 사실, 체감속도는 이전보다 점점 더 느려지고 있기도 합니다. 내장 RSS 리더 같은 건 견디다 못해 데이터를 전부 포기하고 다른 리더를 사용하기 시작했을 정도니까요. 하지만 코드를 보면 DB에 복잡한 쿼리를 날리거나, 무거운 텍스트 연산 같은걸 할 때, 미리 결과를 캐싱해 연산 시간을 단축시키는 식으로 빨리 동작하도록 노력한 흔적이 보입니다. 굳이 속도 뿐만 아니라, 플러그인의 이벤트 처리 같은 부분도 웬만하면 버전업에 따라 개발자가 스트레스를 덜 받도록 만들어져 있습니다. 이런 요소들을 지탱하기 위해 계속해서 여러 가지 기술적인 요소가 계속해서 추가되고 있습니다.

다만, 상당히 유감인 점은, 이렇게 여러 가지 기술적인 요소로 무장해 가는 TC가 시간이 지날수록 도무지 어떻게 다뤄야 할지 알 수 없는 도구가 되어 가고 있다는 생각이 든다는 것입니다. 인스톨을 시작하는 순간부터 난관에 부딪칩니다. 다른 부분은 뭐, 데이터베이스 정보 입력하고 권한 정보 입력하고 하면 끝나는데, 의문은 단일 사용자 모드와 다중 사용자 모드를 선택하는 순간부터 시작됩니다. '이거 뭥미?' 사실, 기술적으로 다중 사용자 모드는 단일 사용자 모드를 포함할 수 있고, 그렇게 하면 시작부터 이상한 질문을 하지 않을 수도 있을 겁니다.

TC의 관리자 UI가 지금처럼 변하고 나서 첫 로그인할 때의 감동을 잊지 못합니다. '이게 뭥미?' ... 간단한 설정을 하기 위해서는 메뉴를 앞에서부터 하나하나 다 눌러봐야 할 지경이었고, 지금도 마찬가지입니다. 만일, 한 페이지에 나타나는 글 숫자를 조정하고 싶다고 합시다. 그러면, 관리자모드에 로그인해서 어딜 눌러야 할까요.

textcube163adminmenubar

보면, 환경설정이라는 메뉴도 있고, 제어판이라는 메뉴도 있습니다. 그런데, 실상 환경설정을 눌러보면 개인 별 프로필을 설정하는 화면과, 피드 설정, 언어와 시간대 설정, 관리자용 스킨 설정, 메일 서버 따위를 설정할 수 있게 되어 있습니다. 그 옆의 제어판에는 블로그와 유저 관리 같은 기능이 들어 있지요. 아직 한 화면에 나타날 글 숫자를 어디서 설정하는지 못 찾았습니다. 글을 읽고 계신 분들은 이미 'ㅂㅅ. 스킨 아래 있잖아'라고 하실 겁니다. 네. 스킨 메뉴 아래에는 화면에 나타나는 옵션들을 설정할 수 있게 되어 있습니다. 그러면, 관리자 스킨 설정은 왜 환경설정에 있으며, '표지' 설정은 왜 센터 메뉴에 있는지를 설명할 수 있을까요? 적어도 지금은 아니라고 생각합니다.

TC의 현재 관리자 메뉴는 그렇게 사정 없이 뒤엉켜 있습니다. 센터에 왜 표지 설정이 있으며, 블로그 통계와 방문자 기록과 리퍼러 기록과 키워드 통계와 피드 통계는 뭐가 다르며, '소통 기록'은 왜 글 메뉴 아래에 있고, 친구 링크 관리는 왜 '링크' 아래에 있어서 '소통 기록'과 분리되어 있으며, 플러그인 메뉴는 왜 수많은 플러그인들을 체계적으로 보여주지 못하는 구조로 만들어져 있으며, 센터 플러그인은 뭐고 표지 플러그인은 뭐며, 블로그 데이터 관리와 플러그인 데이터 관리는 왜 따로 나뉘어 있으며, 왜 플러그인 백업은 TC 본체 백업과 분리되어 있으며, 환경설정과 제어판의 차이는 뭐며 프로필은 왜 환경설정 아래에 딸려있으며, 기타등등등등, 나열하면서도 화가 모락모락 나는 말도 안 되는 점으로 가득 차 있습니다. 결국에는 예전에 해둔 설정을 그대로 두고, 윈도우 라이브 라이터에서 글을 쓸 뿐, TC 관리자 모드에는 로그인 조차 하지 않습니다. 보기만 해도 화가 치밀고 머리가 아픕니다.

어쩌다 이렇게 됐을까요. 분명 이렇게 만들고 싶어서 만든건 아닐 것이 확실합니다. TC에 단기간에 많은 기능을 붙이면서 메뉴 구성이나 새로 붙인 기능을 사용자들이 어떻게 받아들일지, 어떻게 사용할지, 혹은 새로 붙일 예정인 기능이 필요한 것인지에 대해서 충분히 고민하지 않은 결과라고 생각합니다. 관리자 메뉴의 수많은 중복과 잘못된 분류, 꼭 필요하지만 관리자 모드에서 접근할 수 없는 누락된 기능들은 그때그때 개발자들이 필요하다고 생각하는 기능을 추가한 다음, 아무 메뉴에나 붙여둘 뿐 이것들을 유저가 어떻게 사용할지, 혹은 받아들일지에 대한 고려가 부족합니다. 제 블로그는 오랜 시간 동안 검색이 안됐습니다. 포럼에 물어보니 관리자 모드에서는 조작할 수 없는 뭔가를 따로 수정해줘야 한다는 답변을 들었는데, 울화통이 치밀어서 그냥 놔뒀습니다. 대신 구글 검색을 달았지요. 적어도 이 상황은 제대로 된 상황이 아닙니다.

엉망진창인 관리자모드나, 시간이 갈수록 느려지는 체감 수행 시간 뿐 아니라, TC는 전체적으로 정체성의 혼란도 겪고 있습니다. 처음에는 간단한 블로그 도구로 시작했지만, 지금은 무버블 타입의 슬로건인 '퍼블리싱 플랫폼'이나, 본격적인 CMS들이 가진 기능들, 독립적인 사이트간의 커뮤니케이션 기능 등을 포함하려고 하면서 기존의 기능들이 제대로 적용되기도 전에 TC에 추가되었고, 이것들 덕분에 기능이 많아져서 좋기는 하지만, 이 도구가 점점 더 뭘 하는지 알 수 없는 상태가 되었습니다. 게다가, 각각의 기능들이 그다지 완성도 있게 동작하지도 않습니다.

다루기 쉽고, 강력하며, 데이터의 이동성을 보장하는 것이 TC의 특징이라고 했다면, 적어도 지금의 TC는 이것들과는 너무 거리가 멉니다. 다루기 쉽지 않을 뿐 아니라, 강력한 기능들이 신뢰할 수 없이 동작하며, 데이터의 이동성은 TC끼리만 보장됩니다. TC에서 독자적으로 사용되는 정체를 알 수 없는 규격들은 그때그때 도구에 포함된 기능들을 커버하는 부분 까지만 만들어졌을뿐, 그 이상을 바랄 수 없습니다. 하다못해 TC에서 MT나 WP로 옮기려면 욕지거리를 내뱉지 않기 위해 입에 얼음이라도 물고 작업해야 합니다. MT나 WP에서 글을 내보낼 때 RSS 타입으로 내보내는 기능 같은 것을 생각해보면 TC는 더 이상 TC의 개발 주체가 주장하는 그런 도구가 아니라고 판단할 수 있습니다.

누군가, TC는 이 도구를 사용하는 유저 계층이 다르기 때문에 지금 제가 이야기한 TC가 가진 문제점들이 별게 아니라고 이야기합니다. 사실, 그랬으면 좋겠습니다. 정말로 TC가 MT나 WP처럼 제대로된 목적성을 가지고 개발되고 있으며, 이들 각각처럼 확실한 사용자층을 가지고 있으면 좋겠고, 그 외의 유저들은 자신에게 알맞는 간단한 도구를 찾았으면 좋겠습니다. 하지만 TC 개발 주체들의 움직임을 보면 어떻게하면 유저들이 도구를 쉽게 사용할 수 있을지를 나름 고민하는 모습들이 보입니다. 고민하는 동안 개발로 인한 피곤함에 곯아떨어진게 아니라면 고민은 실패입니다. 지금의 TC는 블로그 도구에 다양한 기능을 바라는 사용자들을 만족시켜 주지도 못하고, 이것저것 신경쓰기 귀찮은 보통 사람들을 만족시켜 주지도 못합니다. 그냥 이것 저것 알 수 없는 기능들이 다닥다닥 붙어 아슬아슬하게 돌아가고 있을 뿐입니다.

시간이 지나면 분명 개선될 겁니다. 개발 사이트에 가서 구경해보니 이것저것 다음 버전을 위해 개선되어야 할 점들이 진행되고 있습니다. 한가지 바램은 개선사항들에 대한 고민이, 조금 더 유저 입장에서, 유저의 블로깅 스타일 따위에 기반을 두고 이루어졌으면 하는 것입니다.

2008/05/03 04:02 2008/05/03 04:02

다중 사용자 모드 변경

텍스트큐브 - 구 태터툴즈 - 는 단일 사용자 모드와 다중 사용자 모드를 선택할 수 있도록 되어 있습니다. 텍스트 큐브를 설치할 때 이를 선택할 수 있는데, 이 설정에 따라 블로그의 다중 사용자 설정이 반 영구적으로 고정됩니다. 만일 다중 사용자 설정을 변경하고 싶으면 텍스트큐브 루트 디렉토리에 있는 'config.php' 파일을 삭제하고 재설치 과정을 거치면 되지만 설정이 변경되고 나면 이전에 사용하던 사용자 환경이 변경되어 더 이상 사용할 수 없는 부분이 생깁니다. 다중 사용자 모드에서 단일 사용자 모드로 변경하면 관리자 이외의 사용자들이 더 이상 블로그를 사용할 수 없게 되고, 단일 사용자 모드에서 다중 사용자 모드로 변경하면 단일 사용자일 때 사용하던 퍼머링크를 사용할 수 없게 됩니다.

그래서, 비록 변경이 가능하도록 만들어져 있기는 하지만, 사실상 텍스트큐브의 단일 사용자 모드와 다중 사용자 모드는 반 영구적인 옵션이라고 할 수 있습니다. 단일 사용자 모드에서 블로그를 만들어 사용하다가, 다중 사용자 모드로 돌아가는 블로그나, 새로운 팀 블로그를 만들고 싶으면 디렉토리를 하나 추가하고 새로운 데이터베이스나 새로운 테이블 이름 접두어를 사용해 텍스트큐브를 하나 더 설치하는 수밖에 없습니다. 하지만 같은 계정에서 이렇게 한다면 디스크 공간의 낭비이기도 하고, 분명 공유가 가능한 테이블이 두번 이상씩 중복되어 있으므로 관리하기도 곤란해집니다. 마치 게시판을 수십 개 생성한 다음의 제로보드 4.x 같은 모습이 될 겁니다.

텍스트큐브는 단일 사용자 모드와 다중 사용자 모드의 설정을 'config.php' 파일의 설정에 전적으로 의존하고 있는 것 같습니다. - 확실하지 않습니다. - 즉, config.php 파일의 설정에 따라 단일 사용자 모드일 때 퍼머링크가 박살나기도 하고, 다중 사용자 모드일 때 사용하던 다른 유저들의 블로그가 사라지기도 한다는 건데요, 그렇다면 config.php 파일만 따로 사용하고 데이터베이스를 공유하도록 텍스트큐브를 설치하면 단일 사용자 모드를 그대로 유지하면서 다중 사용자 모드도 무리 없이 사용할 수 있지 않을까 하는 생각이 들었습니다. 이 아래부터 계속되는 내용은 데이터베이스가 날아간다든지 할 가능성은 거의 없지만 그래도 혹시 모르니 풀 백업을 한 다음 진행하면 간이 커지는 효과를 얻을 수 있습니다. 아래는 기존에 '단일 사용자 모드'로 사용하던 것에 '다중 사용자 모드'를 추가하는 과정입니다.

  1. 텍스트큐브를 다운로드한 다음, 기존에 사용하던 텍스트큐브와는 별도의 디렉토리에 풀어놓습니다.
  2. setup.php 를 브라우저에서 불러 설치 작업을 시작합니다.
  3. '텍스트큐브를 새로 설정합니다.'를 선택하고, 데이터베이스 정보를 입력합니다.
  4. 테이블 접두어는 반드시 '기존에 사용하던 텍스트큐브와 똑같이' 설정합니다. (ex: 'tt_', 'tc_' 등.)
  5. 쓰기 권한이 필요한 디렉토리에 쓰기 권한을 주고 설치를 계속합니다.
  6. 기존에 사용하던 텍스트큐브에서 사용하던 것과 같은 계정 정보를 입력합니다. (이게 틀리면 아마 로그인에 문제가 생길 겁니다.)
  7.  '다중 사용자 모드'를 선택하고 체크업과 로그인 과정을 거쳐 설치를 마무리합니다.

이쯤 되면 어딘가 이상하다는걸 눈치채셨을텐데, 텍스트큐브 두 개가 데이터베이스 하나를 공유하도록 설치되기는 했지만 스킨이나 첨부파일 같은 건 데이터베이스에 기록되지 않기 때문에 제대로 공유된 상태는 아닙니다. 그래서, 텍스트큐브가 설치된 디렉토리의 'attach' 디렉토리와 'skin' 디렉토리를 기존에 사용하던 텍스트큐브 디렉토리에 링크를 걸어 주어야 합니다.

  1.  일단 새로 설치한 텍스트큐브 디렉토리에서 'attach' 디렉토리와 'skin' 디렉토리를 삭제합니다.
  2. 새로 설치한 텍스트큐브 디렉토리에서 다음을 실행합니다.
    ln -s [텍스트큐브설치경로]/attach attach
    ln -s [텍스트큐브설치경로]/skin skin

이걸로 파일 공유가 필요한 디렉토리의 링크도 끝났습니다. 하지만, 단일 사용자 모드와 다중 사용자 모드를 자유롭게 오갈 수는 없습니다. 귀찮은 제약이 좀 있는데, 기존에 사용하던 단일 사용자 모드에서 글을 쓰고 싶다면 '기존에 설치되어 있던 텍스트큐브'로 로그인해야 합니다. 이 상태에서는 단일 사용자모드에서 글을 쓸 수 있습니다. 다중 사용자 모드에서 새로운 블로그를 생성해 초대받았다면 새로운 블로그가 메뉴에 나오기는 하지만, 눌러도 접근할 수는 없습니다.

다중 사용자 모드에서 글을 쓰고 싶다면 '새로 설치한 텍스트큐브'에 로그인합니다. 같은 계정으로 로그인하면 되는데, 이 상태에서는 새로운 블로그가 메뉴에 나타나고, 그걸 눌러서 접근하는 것도 가능합니다. 이 상태에서는 다른 사용자를 초대해 새로운 블로그를 생성하거나, 새로 만들어진 블로그에 다른 사람들 초대하는 것이 모두 가능합니다. 단, 이 상태에서 단일 사용자 모드 블로그에 글을 쓰는 건 가능하기는 한데, 추천하지는 않습니다. 나중에 다중 사용자 모드를 정리할 때 자신이 썼던 글이 유실될 가능성이 있고, 알려지지 않은 ACL에 의한 보안 문제가 나타날 수 있습니다.

위와 같은 방법으로 기존의 '단일 사용자 모드' 블로그에 아무런 변화를 주지 않고, 데이터베이스나 첨부파일을 중복해서 사용하지 않으면서 '다중 사용자 모드'로 텍스트큐브를 사용할 수 있습니다. 당연한 이야기이지만, 제가 한 테스트에서는 별 무리 없이 진행되었다고 해도 정상적인 방법도 아니고, 텍스트큐브의 코드나 정책이 이런식으로 사용해서 문제를 일으킬 가능성도 있기 때문에 권장하지는 않지만, '이런 방법도 있다'는 정도로 봐 주시면 좋겠습니다. :)

이 글은 스프링노트에서 작성되었습니다.

2007/08/17 13:40 2007/08/17 13:40

, ,

[요즘에 쓴 글] [예전에 쓴 글]

(C)Milfy / neoocean.net, milfy@neoocean.net