엉뚱한 곳에서 (보통 xe/files/config/config.user.inc.php 에서 실수함) 빈 줄이 추가됨
실제로 날라오는 XML자료의 첫 번째 줄에 <response>가 나타나지 않고 빈 줄이 추가됨
xml을 처리한 javascript상에서 xml이 아닌 일반 메시지로 판단
(정규식에 의해 첫 번째에 <response>가 나타나면 xml로 파싱해서 처리하고 그렇지 않으면 일반 메시지로 판단
앞에 새 줄(\n)이 있으므로 /^<response>/에 해당하지 않으므로 일반 메시지로 판단됨)
해당 경고 메시지가 뜬다
추가 : 이런 경우는 보통 __OB_GZHANDLER_ENABLE__ 을 활성화 하면 에러남
메시지 내용은 header상에서는 압축되었다고 했으나, 정작 메시지 내용은 압축된 자료 앞에 \n이 추가되어됨
브라우저상에서 정상적인 압축 자료로 인식하지 못하고 지원하지 않는 인코딩이라는 창이 뜸
해결 방법 : 엉뚱한 빈 줄을 찾아야 된다. (output buffering 기능을 끄면 header전에 출력되는곳을 알 수 있으나 정작 어디서 꺼야될지는 정확하게 모르겠다.) 일단 xe/files/config/config.user.inc.php에 빈 줄이 있는 지 (특히 <? 앞이나 ?> 뒤에 확인할 것) 확인한다.
가운데 Context::set('grants', $this->module_info->grants); 를 추가하시는겁니다. 3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
modules/board/board.view.php 약 58줄 부터
/** * @brief 목록 및 선택된 글 출력 **/ function dispBoardContent() { /** * 목록보기 권한 체크 (모든 권한은 ModuleObject에서 xml 정보와 module_info의 grant 값을 비교하여 미리 설정하여 놓음) **/
$grants = Context::get('grants');
if(!$this->grant->list)
/** * module_info에서 권한을 검사하여 해당하는 메시지 출력 **/ { if (in_array('2',$grants['view'])) // 그룹2에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member2'); elseif (in_array('3',$grants['view'])) // 그룹3에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member3'); elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member4'); else return $this->dispBoardMessage('msg_not_permitted');
}
위 파일 경우는, 사실 원래는 목록보기 권한이 없을 때 나올 메시지입니다만,
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까 모든 권한을 가진 그룹을 알려주는 것 입니다. 논리적인 순서에 맞게 배치하세요.
modules/board/board.view.php 약 151줄 부터
// 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리 if(!$this->grant->view && !$oDocument->isGranted()) { $oDocument = null; $oDocument = $oDocumentModel->getDocument(0);
Context::set('document_srl','',true); if (in_array('2',$grants['view'])) //그룹2에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member1'); elseif (in_array('3',$grants['view'])) //그룹3에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member2'); elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member3'); else return $this->alertMessage('msg_not_permitted');
} else {
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다. 직접 값을 모르시면 잘 찾아보세요...
추
가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를
보시면 group_srl=숫자 가 나옵니다. 이 숫자가 해당 그룹의 시리얼넘버이구요, 저기 '2', '3'등과 같이 있는 곳에
해당 숫자를 넣으시면 됩니다 :)
모바일 같은경우는 기대를 많이하셨는데,
처음애 모바일에 대한 지식을 얻었을 때 WAP밖에 없었는데,
아직은 시험버전이고, 사이트를 실질적으로 활용하기보다는, 잘 돌아가는가에 대해서
알아보기 위해서 개발한 것이다.
아직 지식이 부족하고, 찾아서 개발하면 되기는 하는데 전문 분야는 아니므로 오래 걸릴 예정이다.
누군가가 선듯 나와서 도와주시면 좋겠다.
일본에서 핸드폰으로 보는데 댓글도 볼 수 없어서 답답했다.
누군가가 같이 개발해주시는게 어떤가?
그리고 요즘에는 풀 브라우징이 대세로 올라오면서 방법이 바뀔지도 모르겠다(?)
나도 full browsing mobile device가 없는데, 누군가가 같이 해주면 빨리 될 것 같다.
쇼핑몰은 아직 할 여력이 안된다.
쇼핑몰 자체는 큰 문제가 아니지만, 결제시스템이 고민이다.
올해안에는 만들어야 된다 ㅠㅠ
질문 - 예전에 오픈소스(?)처럼 개발한 쇼핑몰들이 다른 회사에서 가져가버려서 문제가 생겼다.
어떻게 해결하는가?
답변 - zb4같은경우 재배포를 금지했다. 이유는 코드를 변경해서 문제가 생길수 있으니까.
그 회사가 라이센스를 지키지 않은것(그런가??)이다.
대안은 소스를 공개하지 않는것. 문제는 발전은 없다.
오픈소스를 사용하면, 권리를 나누어서 사용하는 경우인데,
브렌치도 환영한다. 외국에는 그런경우가 많다.
원하지 않는 다른 곳에서 사용하는 부분에 대해서 아직은 제제애 대해서는 없다(?)
(몇 가지 놓쳤네요;;)
토깽이님 질문 -
업데이트 할 때 버전을 건너띄면 제대로 작동하지 않는다.
제로님 답변 -
소스코드 / 디비가 있는데
소스코드를 올릴 때 누락되는경우가 있고
디비가 변하지 않아서 문제가 있다.
tools기능을 이용하면 source문제는 할 수 있고,
모듈들의 업데이트 기능이 있는데,
이런 기능들이 자동적으로 되어야 되다고 생각한다.
버전이 달라지면 다시 확인하는 기능을 추가한다.
업데이트 할 때 사이트를 잠시 멈추게 하는 것에 대한 이야기도 있음.
제일 좋은건 subversion을 사용하는것.
가가멜님(?) -
검색은 나중에 마케터와 광고를 차단하는것만 해결하는게 더욱 좋아질것이다.
zbxe는 호환성이 좋은편이다.
특히 게시판 검색같은 경우에 full-text로 하면 더욱 빨리진다거나
하는 성능 향상으로 올라갈수 있는 부분들이 core에 들어갈 수 있다.
이 부분에 대해서는 어떻게 생각하는가?
답변 -
일단 검색은 abusing이다. 전문회사도 있다. nhn같은경우는 ?
관심이 많고 잘 쓰고 싶은데, abusing은 검색회사에서 할 일이라고 본다. zbxe차원에서 차단할 문제는 아니라고 본다.
그 contents를 걸러내는것은 회사의 몫이다.
(질문의 의도는 liveXE에 관한 이야기라고 생각하는데요...;;)
호환성을 보장하려고 하는데,
예를 들어서 mysql에서 더 효율적으로 할 수 있는데, 아직 core에는 없다.
각 db에 특화된 부분을 당장에 사용할수는 없을것 같다.
아직 능력이 부족해서 적용하기는 어렵지 않을까.