Blog

안녕하세요. XE개발팀 입니다. 

날씨가 급격하게 추워진 요즘 감기로 고생하시는 분이 없기를 바랍니다. 

버전 업데이트 이후 몇 가지 호환성 문제가 있어 그 원인 및 개선을 위한 보완책 공유 드립니다.


1. XE1.4이전 버전에서 잘 사용하던 레이아웃/스킨에서 오류가 발생합니다.

개선 내용 : 

TemplateHandler버그 수정 및 성능 개선

원인 : 

1.4버전의 Template엔진은 내부에 이미 오류가 상당하였습니다. 예를 들어 Template 태그를 닫지 않는 경우 문법오류가 발생해야 하지만 이전 버전에서 이를 체크 하는 로직에 문제가 있어 태그가 완전하게 닫히지 않아도 문제없이 사용할 수 있었습니다. 또한, 이미지/외부 파일들 경로 설정 방식도 일관성이 없어, 스킨 구조에 따라 외부 파일 로드 방식이 모두 제각각이었습니다. 이렇듯 로직 오류가 있음에도 불구하고 Template 문법에 대한 정확한 매뉴얼이 존재하지 않았기 때문에 많은 서드파티/스킨제작자들이 오류에 맞추어 레이아웃/스킨을 제작하고 있었습니다.

이런 문제를 개선하고자 1.5에서는 Template문법의 스팩을 명확하게 결정하고 이에따라 문법을 엄격하게 체크하도록 수정하였습니다. 이로 인하여 실제로 Template엔진 코드는 1/3수준으로 크기가 줄었으며, 원활한 디버깅을 지원할 수 있게 되었습니다. 또한, Template해석 속도도 개선되었습니다.

따라서, 기존의 오류 로직이 포함된 레이아웃/스킨의 경우 새로운 Template엔진에서 오류로 감지되어 정상적인 출력이 되지 않습니다.

오류개선을 위한 보완책 : 

문제가 발생한 레이아웃/스킨파일을 이슈트래커나 공식 메일 계정으로 전달해 주시면 문제 사항을 확인하여 TemplateHandler를 개선하거나 레이아웃/스킨파일 수정 방법을 공지 하도록 하겠습니다.


2. document모듈 업데이트 후 알 수 없는 error가 발생합니다.

개선내용 : 

XE document모듈 개선

원인 : 

1.4버전의 문서 상태는 서로 다른 방식의 로직으로 구현되었습니다. 그렇다 보니 새로운 문서 상태가 추가될 경우 별도의 값을 저장하기 위한 column을 추가하거나, 새로운 함수들을 추가해야 했습니다.

이런 문제를 개선하고자 문서의 상태를 하나의 컬럼(status)으로 관리하도록 변경하였습니다. 이를 통해 document 클래스의 코드 가독성을 높였으며, 확장성있는 구조로 변경되었습니다.

따라서 기존에 사용하던 Table 컬럼 들을 삭제하고 새로운 status컬럼을 추가해야 하는 작업이 필요하였습니다. 개선 이후 Table의 기존 컬럼을 삭제하거나 새로운 컬럼을 추가 할 경우 간혹 게시글이 많거나 DB성능으로 인하여 Table변경 업데이트를 모두 완료하지 못하고 종료되는 현상을 일부 발견하였습니다. 이렇게 테이블이 정상적으로 업데이트 되지 못한 경우 특정 컬럼을 읽을 수 없다는 오류가 발생할 수 있습니다.

오류개선을 위한 보완책 : 

별도의 프로그램을 통해 테이블 수정 및 확인이 가능하도록 지원할 예정입니다.

XE설치시 권장사항 : 

XE모듈 업데이트 시에는 DB에 문제가 발생할 수 있으므로 반드시 DB백업후 진행하실 것을 권장합니다.


3. XE1.5신규 설치 후 1.4버전용 회원 스킨을 사용할 경우 회원 로그인/회원가입이 되지 않습니다.

개선 내용 : 

email_address 로그인 방식 추가

원인 : 

1.4 버전에서는 user_id를 로그인 계정으로 사용하였습니다. 하지만 이는 혹 있을지 모르는 개인정보 유출에 피해를 크게 줄 수 있어 XE기존 로그인 방식을 user_id 또는 email_address로 선택하여 운영하도록 기능 개선되었습니다. 이와 더불어 회원 가입 양식도 이전 버전보다 훨씬 유연하게 관리할 수 있도록 개선하였습니다. 그리고, 이번 1.5에 추가된 ruleset기능을 로그인/회원가입에 적용하여 속성 유효성 검사를 철저하게 할 수 있도록 개선하였습니다.

하지만 ruleset을 사용하기 위해서는 기존의 skin파일도 변경해 주어야 하며, XE신규 설치시 기본 로그인 계정은 email_address가 되므로 기존 회원 스킨을 선택하여 사용하는 경우 무조건 로그인 계정을 user_id로 유효성 검사하기 때문에 로그인이 불가능하게 됩니다.

오류개선을 위한 보완책 :

1.5버전에서 사용해야할 회원 스킨 제작 가이드를 별도로 제작하여 배포할 예정입니다.

XE회원스킨 제작 가이드 http://code.google.com/p/xe-core/wiki/MemberSkinGuide

사이트 운영시 권장사항:

1.5 신규 설치시 기본 로그인 계정은 email_address이므로 email_address 로그인이 지원 가능한 회원 스킨을 선택하거나, 기존 스킨을 그대로 이용하고 싶은 경우는 반드시 기본 로그인 계정을 user_id로 변경하여 저장하시기 바랍니다.


 4. Fatal error: Call to undefined method Object::executeQuery() in /.../func.inc.php on line ...

개선 내용 : 

DB class 개선

원인 :

속도 개선과 새로운 서브 쿼리 기능 추가를 위하여 XE 1.5에서 DB class들을 전반적으로 개선하였습니다. 또한 DB 효율성을 높이기 위하여 DB master/slave기능을 추가 좀더 디테일한 DB설정도 가능하게 되었습니다. 이런 기능 변화로 인해 files/config/db.config.php 구조와 내용 또한 변경되었습니다. 허나, XE 버전 업그레이드 중 알 수 없는 오류로 인하여 해당 파일(/files/config/db.config.php)을 업데이트 하지 못하는 경우가 발생하였습니다.

오류 개선 방법 : 

위와 같은 에러가 발생한 경우 ../files/config/db.config.php 파일을 무조건 삭제하시지 마시고, 아래의 구조로 변경하여 업데이트 하시기 바랍니다. (삭제 후 XE메인 페이지 접근 시 신규 설치로 오인, 모듈의 설정 및 회원 가입 폼 설정이 초기화 되어 로그인이 불가 할 수 있습니다.)

-XE 1.4-

<?php if(!defined("__ZBXE__")) exit();

$db_info->db_type = 'mysql';

$db_info->db_port = '3306';

$db_info->db_hostname = 'localhost';

$db_info->db_userid = 'DB계정';

$db_info->db_password = 'DB계정 비밀 번호';

$db_info->db_database = 'DB이름';

$db_info->db_table_prefix = 'xe';

$db_info->time_zone = '+0900';

$db_info->use_rewrite = 'Y';

$db_info->default_url = 'XE설치 URL(http://포함)';

?>

-XE 1.5-

<?php if(!defined("__ZBXE__")) exit();

$db_info->master_db = array('db_type' => 'mysql','db_port' => '3306','db_hostname' => 'localhost','db_password' => 'DB계정 비밀 번호','db_database' => 'DB이름','db_userid' => 'DB계정','db_table_prefix' => 'xe_');

$db_info->slave_db = array(array('db_type' => 'mysql','db_port' => '3306','db_hostname' => 'localhost','db_password' => 'DB계정 비밀 번호','db_database' => 'DB이름','db_userid' => 'DB계정','db_table_prefix' => 'xe_'));

$db_info->time_zone = '+0900';

$db_info->use_rewrite = 'Y';

$db_info->default_url = 'XE설치 URL(http://포함)';

?>

태그 연관 글
  1. [2019/10/20] 묻고답하기 소셜xe 오류이후 관리자 로그인 기능이 사라졌습니다. by 양현석
  2. [2019/09/11] 묻고답하기 카카오톡 공유 에러 문의드립니다. by 김병화
  3. [2019/07/26] 묻고답하기 XE 초보 오류 도움을 요청합니다.. by 월드미스유니버시티 *1
  4. [2019/03/18] 포럼 XE 레이아웃 제작 일주일 코스 by 이온디
  5. [2019/01/18] 묻고답하기 모바일에서 서 레이아웃 비정상 문의드려요 by 바키라
제목 최종 글 날짜
공지 XE1 신규 보안 취약점 신고 포상제 종료 안내   2019.10.23
공지 [중요!] Object 클래스의 이름 변경 안내(PHP 7.2 버전 호환성) [7] 2020.08.16 by 천재 2017.11.27
업로드 파일 사이즈 제한 해제 [2] 2012.08.24 by vibram five fingers 2012.01.05
XE 공식 매뉴얼 사용 권리 업데이트 [5] 2012.08.24 by vibram five fingers 2012.01.04
PHP4 및 PostgreSQL, SQLite, Firebird 지원 중단 안내. [6] 2012.08.24 by vibram five fingers 2012.01.04
XE 1.5.1.2 배포 [10] 2012.08.24 by vibram five fingers 2012.01.02
업로드 파일 사이즈 제한 안내 [10] 2012.08.24 by vibram five fingers 2011.12.31
XE 1.5.1.1 배포 [15] 2012.08.24 by vibram five fingers 2011.12.30
공식사이트 점검 안내 [2] 2012.08.24 by vibram five fingers 2011.12.27
Document Module 업데이트 후 알수 없는 오류에 대한 해결 방법 [15] 2012.08.24 by vibram five fingers 2011.12.20
XE 프로젝트 호스팅 12/31 종료 [7] 2012.08.24 by vibram five fingers 2011.12.19
XE기여자 기념품 발송 안내 [21] 2012.08.24 by vibram shoes 2011.12.15
2011년 12월 공헌자/커미터 현황 [9] 2012.08.24 by vibram five fingers 2011.12.15
XE1.5 버전 업데이트시 발생한 호환성 오류에 대한 XE팀 공식 의견입니다. [20] 2012.09.03 by Chat 2011.12.09
XE사용자 매뉴얼v2.0 업데이트 (한국어 버전) [8] 2012.08.24 by vibram five fingers 2011.12.05
XE 1.5.1 배포 [20] 2012.08.24 by vibram five fingers 2011.11.30
XE 캠프 전국투어 발표 자료 [9] file 2012.08.24 by vibram five fingers 2011.11.29
XE 1.5.0.9 배포 [22] 2012.08.27 by vibram five fingers 2011.11.17
XE 캠프 후기 공모! [15] [3] file 2012.10.17 by ONDAVi40 2011.11.07
XE에 me2day 소셜 플러그인 붙이기! [5] file 2013.05.20 by chansol 2011.11.03
공식사이트 로그인 방식변경 [8] 2012.08.16 by vibram five fingers 2011.10.31
XE 1.5.0.8 배포 [46] 2023.09.04 by Jennifer 2011.10.27