XE 사용기

http://djhan.egloos.com/4237539
이 글의 트랙백 겸 제 사용기가 되겠습니다.

일단 저는 아랄트랜스 홈페이지 와 그 형제격(또는 그 하위격)인 폴라리스 커뮤니티의 관리를 맡고 있습니다.

이제부터 저 두 사이트에서 XE를 돌리면서 느꼈던 점들을 적어볼 생각입니다.



 우선 XE는 XE가 제공하고 있는 내에서는 정말로 좋은 툴입니다.
버튼 몇번 누르면 메뉴가 만들어지고, 더 누르면 게시판이 만들어지고, 조금 더 누르면 사이트가 완성됩니다.
우왕ㅋ굳ㅋ
그래서 홈페이지는 있어야겠는데 수고를 들이기는 아까운 케이스에선 XE는 너무나도 훌륭한 선택입니다.

초기의 아랄트랜스 홈페이지도 이와 같은 성격이었죠.(버전은 1.0.1 이었던걸로 기억합니다)
간단한 다운로드 페이지에 Q&A 정도만 있으면 끝! 그 이외에 뭐가 필요하겠어요?


여기에 아랄트랜스용 AT코드(게임별로 하나씩 할당되는 구조입니다)를 보관하기로 하고 여기에 각각의 게임에 대한 AT코드 그리고 게임 자체의 정보를 모아두는 게시판을 만들었습니다.
이때 XE에서 확장정보 기능이 막 추가된 참이라 게시물 윗부분에 게임 정보를 적는데 이것을 사용했는데 정말 좋더랍니다.

문제는 -_- 딱 AT코드 게시판일때 쓰던 버전이 1.1.5 + 테스트버전이라 어쨌든 다음버전으로 넘어가야겠다~하고 보니
그 다음 버전은 1.2.0인데, 1.2.0이 DB구조를 바꾼다는게 가장 치명적인겁니다!!!

마이그레이션이라도 차라리 제대로 돌아갔으면 말을 안하겠는데, DB구조 바뀌면서 마이그레이션이 제대로 안되서
각 게시물마다 본문만 변환되고 위에 확장정보가 100개 변환되고 이 이후에 변환이 안되면서
모조리 날아가버렸습니다!!!!! [아아아아아악!!!!]

이 때는 걍 업데이트 버튼 한번 누르면 되는줄 알고 딱 쓰려고보니 문제는 터져있고, 일단 문제가 뭣떄문에 발생했는지
확인이나 해보자! 하고 열어보는데,
이건 도통 분석이 안됩니다 -_-; 이건 XE 개발자가 아니고서야 분석이 불가능해요.

제로보드4 시절 뭔가 오동작 한다 싶으면 부분을 찾아서 고치는걸로 해결~? 그딴거 없습니다.
XE는 프레임웤이라서 페이지 하나 불러오는데도
모 든 단 계 하 나 하 나 가 통 제 되 어 있 고, 게 다 가 파 일 이 여 러 개 로 쪼 개 져 있 습 니 다!!!!!!!!
[이건 지금도 절 괴롭힙니다 -_-++]

소 뒷걸음 치다가 쥐 잡은 격으로 어떻게 원인은 찾아서 어찌어찌 고치긴 했습니다만 저때는 그야말로 악몽이었습니다.


또 위에서 적었습니다만, 이건 너무 구조가 '쓸데없이' 복잡해요.
뭔가 이상하게 동작하는듯 해서 XE 홈페이지에 버그로 보고를 하면?
묵묵 부답입니다.
어차피 오픈 소스 프로젝트니까 이건 내가 고쳐서 제보해야 겠다?
불가능합니다. 이걸 고칠 수 있는 사람은 저기 XE 홈페이지에서 이슈트래커에서 작업중이신 분들밖에 없을겁니다.
그러니까 즉, 뭔가를 해보려면 XE 개발자가 되는 것 빼곤 답이 안나온다는겁니다.

또 복잡하다는 것에 대해서 이야기를 더 해보자면,
여태까지(즉 그누보드, 제로보드4 이야기) 홈페이지를 구성하는 방법은 다음과 같습니다.

일단 겉틀을 만들어서 그 겉 틀에 각각의 장식을 달고 그누보드나 제로보드4를 연결합니다.

그래서 결과적으로 구조를 보자면
홈페이지 ⊃ 외부 모듈 ⊃ 게시판
의 모습이 나오게 됩니다...만

XE는 다릅니다.
XE가 이미 프레임웤인 '덕'에 모든 구성요소가 이 프레임웤 안에 들어가야합니다.
그래서 위의 겉틀 이야기는 '같을지도 모르겠'지만 최종 구성은

XE ⊃ 홈페이지(레이아웃) = 모듈 ⊃ 게시판
이 되면서 하나하나가 모두 XE를 고려하면서 만들지 않으면 안됩니다. -_-
이게 무슨 의미인가에 대해서는 이미 XE로 레이아웃을 구성해보신분들은 아시리라고 봅니다.


'만드는' 이야기를 계속해 보겠습니다.
최근 폴라리스 커뮤니티에서 새 개편+레이아웃 변경을 진행하면서
DHTML + AJAX로 돌아가는 홈페이지를 만들고 있는데,
웹페이지 <-> XE 간에 통신하는 방법이 한정되어있고, 어렵고, 또한 개발자가 되게 만듭니다.

제로보드4라면 외부 모듈을 로드하는 방법은 참으로 간단합니다. include로 php파일 불러오면 됩니다.
jQuery+AJAX로도 걍 $(객체이름).load(모듈); 이래도 됩니다.
이 php파일은 원래 상당히 단순하게 짜여있기 때문에 개조도 쉽고 이래저래 쉬웠습니다만,

XE요? 오.. 하느님 -_-
AJAX를 쓰려면 모듈과 통신하거나 간단하게 파일 참조를 하는 방식을 써야하는데
원칙적으로, 모든 참조는 걍 index.php하고만 해야됩니다. 그 이외의 접근은 허용되지 않아요.
?act=뭐라뭐라 해서 각각의 모듈(애드온, 위젯 포함)의 기능을 지정해 줘야 되는데,
물론 통신하는 방법도 api.php에서 API를 사용할 수 있다고는 합디다
이 기능에 대한 매뉴얼? 당연히 없죠.
모든 기능은 일일히 api.php를 열어서 확인해 봐야하고, 통신방법도 직접 알아내야됩니다.

즉, 매뉴얼 따위 제대로 구비된게 없으니까 개발자가 되는 수밖에는 없다는 이야기입니다.

doc.xpressengine.com 에 그나마 함수 이름만 딸랑 적혀있고, 기능설명은 없습니다.
지금 이거 몽땅 새로 개척해서 나온 결과물 '오픈 소스로 커뮤니티에 올려달라'는 이야긴가요?


말이 안 나옵니다.

진짜 짜증이나서 다른 보드로 옮겨가고 싶은 마음도 굴뚝같은데,
XE -> 다른보드로 변환 툴따윈 아까도 그랬듯이 역시나 없고,
만들고 싶어도 위에 썼듯이 개발자 외엔 못만듭니다. 이거 DB 구조가 짜증나게 복잡해요.

그래서 진짜 어쩔 수 없이 XE 쓰고 있습니다.


결국 제가 하고 싶은 말이 뭐냐?
제발 개발자가 안되고서도 기능 좀 쓸 수 있게 해달라는 겁니다.
아무리 Web2.0시대가 되어서 홈페이지=웹프로그래밍이라지만, 우리까지 그럴필요는 없잖아요.
제발 개발자 안되게 매뉴얼이라도 제대로 구비되어 있었으면 좋겠습니다.

새로 모듈 만드는거 한 한달정도 그만두고서라도 저게 우선이라고 봅니다.

덧글

  • DJHAN 2009/11/11 15:12 #

    아아... 여기에도 XE의 마수에 희생되신 분이.....
    1.2.6 core 업데이트는 아직 적용도 안 하고 있습니다. 뭐가 터질지 겁나서 말이죠.
※ 로그인 사용자만 덧글을 남길 수 있습니다.



메모장

W 위젯