오픈 소스 프로젝트 - XE 개발 포럼
글수 255
아침에 어떤분이 이메일로 ZBXE관련 질문을 해주셔서 아는데로 답변을 하다가 문득 생각이 나서 제안해봅니다.
현재의 마이그레이션 툴을 보면 각 게시판 프로그램별로 짜여져 있고 그것을 통째로 가져다가 사용하는 형태인데요.. 한가지 문제라면 마이그레이션 툴이 만들어지지 않은 게시판엔 적용이 불가능하다는 점이랄까요? 만약, 마이그레이션툴(XML exporter)에서 공통의 실행부분과 별도로, 마이그레이션할 DB 테이블의 구조를 사용자가 직접 정의해줄 수 있다면 데이터베이스 기반의 거의모든 프로그램에서 ZBXE로 마이그레이션이 가능해지지 않을까 생각해봤습니다. 다시말해, ZBXE의 모듈에 보면 스키마를 XML로 정의해서 사용하잖습니까? 그 개념을 마이그레이션 툴에 적용시키면 마이그레이션의 가용범위가 지금보다 엄청나게 확장될 것이라는 말씀이죠.. *^^*
예시)
A게시판프로그램의 회원테이블 user_info의 SQL스키마
no(int/10/primary) | user_id(varchar/20/index) | password(varchar/20) | name(varchar/20) | email(varchar/40/index) | not_to_migrate(varchar/255/마이그레이션에서 누락시킬필드)
이것을 XML스키마로 바꾸면..
<table name="user_info">
<column name="no" type="number" size="10" primary_key="Y" />
<column name="user_id" type="varchar" size="20" />
<column name="password" type="varchar" size="20" />
<column name="name" type="varchar" size="20" />
<column name="email" type="varchar" size="40" />
(not_to_migrate필드에 대한 선언이 누락되어 있습니다. 결과물이 되는 XML데이터에는 포함되지 않는거죠...)
</table>
SQL스키마를 XML스키마로 바꾸는 방법은 메뉴얼을 작성하면 되니까 문제가 없을테구요. ^^;
마이그레이션을 하려는 사용자가 이렇게 바꿔서 마이그레이션 툴에 집어넣으면 마이그레이션툴이 XML을 파싱해서 지정해준데로 데이터를 뽑아다가 ZBXE에 맞는 형태의 XML로 익스포트 하게 만드는 거죠.. 이렇게하면 굳이 해당게시판프로그램에 맞는 XML추출프로그램(마이그레이션툴)을 기다리기보다 사용자 스스로 ZBXE에 맞는 형태의 마이그레이션데이터를 만들고 ZBXE로 이전할 수 있게 되겠지요. 물론, DB스키마를 이해할 수 있어야 하고 XML구문을 작성해서 마이그레이션툴로 넘겨줄 수 있는 수준의 사용자가 아니면 지금까지 설명한 개념이 전혀 도움이 안되는게 치명적입니다. 하지만, 솔루션 자체에서 이런 오픈된 구조를 취한다면 오픈소스프로젝트에 참여하고 있는 여러 사람들이 필요한 XML스키마 셋을 공개해서 ZBXE로 마이그레이션할 수 있는 길을 열어줄 것으로 낙관하고 있습니다. 당장에 저부터도 K2bbs라는걸 제로보드4의 대안으로 잠깐 썼던적이 있는데.. 이게 공중에 떠버려서 어찌할수 없는 골칫거리거든요.. ZBXE로 마이그레이션 해 버리면 좋겠다 하는 생각도 했었지만, 일단 지금으로써는 Copy&Paste말고 방법이 없는 셈이니까요.
나름 참신한 아이디어가 아닌가 싶은데, 어떨까요?
현재의 마이그레이션 툴을 보면 각 게시판 프로그램별로 짜여져 있고 그것을 통째로 가져다가 사용하는 형태인데요.. 한가지 문제라면 마이그레이션 툴이 만들어지지 않은 게시판엔 적용이 불가능하다는 점이랄까요? 만약, 마이그레이션툴(XML exporter)에서 공통의 실행부분과 별도로, 마이그레이션할 DB 테이블의 구조를 사용자가 직접 정의해줄 수 있다면 데이터베이스 기반의 거의모든 프로그램에서 ZBXE로 마이그레이션이 가능해지지 않을까 생각해봤습니다. 다시말해, ZBXE의 모듈에 보면 스키마를 XML로 정의해서 사용하잖습니까? 그 개념을 마이그레이션 툴에 적용시키면 마이그레이션의 가용범위가 지금보다 엄청나게 확장될 것이라는 말씀이죠.. *^^*
예시)
A게시판프로그램의 회원테이블 user_info의 SQL스키마
no(int/10/primary) | user_id(varchar/20/index) | password(varchar/20) | name(varchar/20) | email(varchar/40/index) | not_to_migrate(varchar/255/마이그레이션에서 누락시킬필드)
이것을 XML스키마로 바꾸면..
<table name="user_info">
<column name="no" type="number" size="10" primary_key="Y" />
<column name="user_id" type="varchar" size="20" />
<column name="password" type="varchar" size="20" />
<column name="name" type="varchar" size="20" />
<column name="email" type="varchar" size="40" />
(not_to_migrate필드에 대한 선언이 누락되어 있습니다. 결과물이 되는 XML데이터에는 포함되지 않는거죠...)
</table>
SQL스키마를 XML스키마로 바꾸는 방법은 메뉴얼을 작성하면 되니까 문제가 없을테구요. ^^;
마이그레이션을 하려는 사용자가 이렇게 바꿔서 마이그레이션 툴에 집어넣으면 마이그레이션툴이 XML을 파싱해서 지정해준데로 데이터를 뽑아다가 ZBXE에 맞는 형태의 XML로 익스포트 하게 만드는 거죠.. 이렇게하면 굳이 해당게시판프로그램에 맞는 XML추출프로그램(마이그레이션툴)을 기다리기보다 사용자 스스로 ZBXE에 맞는 형태의 마이그레이션데이터를 만들고 ZBXE로 이전할 수 있게 되겠지요. 물론, DB스키마를 이해할 수 있어야 하고 XML구문을 작성해서 마이그레이션툴로 넘겨줄 수 있는 수준의 사용자가 아니면 지금까지 설명한 개념이 전혀 도움이 안되는게 치명적입니다. 하지만, 솔루션 자체에서 이런 오픈된 구조를 취한다면 오픈소스프로젝트에 참여하고 있는 여러 사람들이 필요한 XML스키마 셋을 공개해서 ZBXE로 마이그레이션할 수 있는 길을 열어줄 것으로 낙관하고 있습니다. 당장에 저부터도 K2bbs라는걸 제로보드4의 대안으로 잠깐 썼던적이 있는데.. 이게 공중에 떠버려서 어찌할수 없는 골칫거리거든요.. ZBXE로 마이그레이션 해 버리면 좋겠다 하는 생각도 했었지만, 일단 지금으로써는 Copy&Paste말고 방법이 없는 셈이니까요.
나름 참신한 아이디어가 아닌가 싶은데, 어떨까요?

한때, 웹사이트의 모든것을 혼자 다 만들 수 있다고 자만했던 웹사이트 제작자이자 울트라삽질러. -_-
지금, 언제나 사진에 목마른, 부족한 자신에 좌절하며 도전하는 쌈마이.
길스튜디오 실장 (http://gilstudio.co.kr)
핫셀클럽 운영자 (http://hasselclub.net)
지금, 언제나 사진에 목마른, 부족한 자신에 좌절하며 도전하는 쌈마이.
길스튜디오 실장 (http://gilstudio.co.kr)
핫셀클럽 운영자 (http://hasselclub.net)


