모듈 제작시에는 해야 할 사전 작업이 많습니다. view, controller 등의 기본 클래스 갖춰야하고, css, js 그리고 각종 html 템플릿도 준비해야합니다. 그리고 가장 중요한 info.xml과 module.xml 파일이 있습니다.

conf/info.xml은 모듈의 정보와 제작자 정보를 기입하고, conf/module.xml에는 모듈의 실행에 빼놓을 수 없는 정보가 들어갑니다. 권한과 접근을 제어하는 <grants>, <permissions>은 차치하더라도, <actions>노드는 모듈 실행에 필수적입니다.

<actions>노드에는 URL이나 ajax요청시 호출되는 함수(메소드)목록을 열거하게 되어 있습니다. 여기에 명세되어 있지 않은 메소드는 URL로 접근할 수 없습니다. ajax도 마찬가지죠.

로그인 폼을 보여주는 링크에 사용되는 'dispMemberLoginForm'이란 액션은 member모듈에 '<action name="dispMemberLoginForm" type="view" standalone="true" />'이와 같이 명세되어 있습니다. 액션의 이름과 view, controller 등을 구분하는 타입 그리고 standalone라는 속성이 있습니다.

하지만, 여기에서 standalone 속성은 쓰이지 않습니다. 사실 오래전부터 사용되지 않는 속성이지만, 코어 배포본에 그 흔적이 남아 계속 전해지고 있었을 뿐입니다. 주로 info.xml, module.xml 등은 새로 작성하기보다는 기존것을 복사해서 변경하여 사용하기 때문에, 이는 새로 만들어져 포함된 코어 배포본은 물론이고 다른 개발자들이 만든 확장기능에서도 마찬가지입니다.

standalone 속성은 지금의 action forward 또는 <action> 명세로 대체되었고, 이는 제로보드XE라는 이름으로 공개 프로젝트가 되기 이전에, zero(고영수)님이 혼자 개발하시던 시기에 이미 사용되지 않았습니다.


- 이 글은 XE Magazine에서 작성 된 글을 옮겨 온 것입니다.
- 원문 : http://xemagazine.com/1781

 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기