라이믹스/버그

이 문서는?

라이믹스에 있는 버그들에 대해 서술합니다.

아직 해결되지 않은 보안 이슈는 이곳에 올리지 마시고 [email protected]에 메일을 보내세요.


다국어

다국어 설정 버튼 미작동

다국어 설정 후, 문구를 입력한 뒤, '저장 및 사용' 버튼을 누르면 아무 일도 일어나지 않는다. 다국어 정보는 저장되는 것으로 보아, 불러와 사용하는 것이 안되는 것 같다. xetown 다국어 문제 제기 글

1.9.3에서는 되는 것으로 보아 굳이 사용을 해야 한다면 깃허브에 이슈를 등록하고 기다리거나, 구버전을 사용해야 할 것 같다.(구버전의 사용은 왠만해서는 사용하지 말자. 보안적 취약점이나 버그들이 있으니깐.)

해당 버그는 1.9.7 이후에는 재현되지 않는다.

CKEditor

단축키를 제외한 다른 방법으로의 붙혀넣기 불가능?

키보드의 ctrl + v의 붙혀넣기가 되지 않는다. 'Your browser doesn't allow you to paste this way. Press 컨트롤+V to paste.' 라는 메시지가 출력된다. 깃허브 이슈

XE에서도 동일 문제가 발생하였지만, 문제의 플러그인을 빼고 재빌드 해서 문제는 사라졌다.

라이믹스에는 CKEditor를 원래 그대로 사용한다 [1]

해결 방법 1

에디터 설정에서 '플러그인 제거'칸에 문제의 context 플러그인과, context를 필요로 하는 다른 플러그인 이름을 입력하면 된다. 아래 항목은 제거해어 하는 플러그인 이름이다.

참고 xe타운 웹지기님의 댓글
  • contextmenu
  • liststyle
  • tabletools
  • tableselection[2]

해결 방법 2

위의 플러그인을 제거한 Ckeditor를 사용하는 방법이 있지만 권장하지 않는다.[3]

XETOWN에 라이믹스를 위한 CKEditor 수정본 파일을 포인트 마켓에 무료로 올렸다. XETOWN 포인트 마켓 - CKEditor 붙여넣기 버그 픽스 archive.is 박제

댓글에는 PR을 넣어 보라는 글도 보이는데, PR을 넣는다고 해도 받아드려질 것 같진 않아 보인다. 왜냐하면 라이믹스에 있는 서드파티 플러그인들은 최대한 순정 상태를 유지한 채 공식 지원되는 설정만 조정하여 사용하는 것을 원칙이기 때문이다.[4]

또한 해당 자료는 포인트마켓 규정에서 RX/XE 코어에 포함된 파일인 경우 (원본, 수정 모두 포함) 해당 자료는 판매 할 수 없기 때문에 삭제되어야 하지만 이상하게도 삭제가 안 되고 있다. XETOWN 포인트마켓 규정

물론 이는 xetown의 처리 문제이다. 따라서 커스텀 빌드를 사용하기 보다는 위의 라이믹스/버그#해결 방법 1 의 방법을 사용하는 것을 권장한다.

휴지통-포인트

문서나 댓글을 휴지통에 보내더라도 포인트가 회수되지 않는 버그

문서나 댓글 작성시 포인트를 주도록 설정한 후, 문서/댓글을 작성 뒤 휴지통으로 이동시키면 포인트가 회수되지 않는다. xetow 문제 제기글 이건 XE에서부터 있었던 고전적인 버그다.

패치를 통해 해결되었다. f58be61 커밋, 4158d94 커밋

모듈 선택

모듈 선택이 되지 않는 버그

1.9.9 버전에서 기존에 CafeXE 모듈을 사용하였다면 모듈 선택이 되지 않는 버그가 발생했다. 기존에 CafeXE 모듈을 사용하지 않았더라도 문제가 발생 할 수 있는데, 멀티사이트 기능의 흔적을 점진적으로 들어내고 있기 때문이다.[5]

site_srl이 0이 아닌 경우, 목록에서 안 보일 수 있다.[6]

module.view.php 수정

./modules/module/module.view.php 파일을 수정한다.

수정 전

8번째 줄을 삭제한다.

41/**
42	 * @brief Select a module
43	 */
44	function dispModuleSelectList()
45	{
46		// Get a list of modules at the site
47		$args = new stdClass;
48		$output = executeQueryArray(isset($query_id) ? $query_id : 'module.getSiteModules', $args);
49		
50		$mid_list = array();
51		$oModuleModel = getModel('module');

수정 후

8번째 줄을 삭제한 모습

41/**
42	 * @brief Select a module
43	 */
44	function dispModuleSelectList()
45	{
46		// Get a list of modules at the site
47		$args = new stdClass;
48		
49		$mid_list = array();
50		$oModuleModel = getModel('module');

getSiteModules.xml

./modules/module/queries/getSiteModules.xml 파일을 수정한다.

쿼리에 조인이 들어간 것을 미처 패치 못하여 module.view.php 수정 이후에 패치를 진행하였다. 깃허브 라이믹스 - Fix #1130 ignore site_srl in getSiteModules query

수정 전

3, 12, 22~26번째 줄을 삭제한다.

 1<query id="getSiteModules" action="select">
 2    <tables>
 3        <table name="sites" />
 4        <table name="modules" />
 5        <table name="module_categories" alias="module_categories" type="left join">
 6            <conditions>
 7                 <condition operation="equal" column="module_categories.module_category_srl" default="modules.module_category_srl" />
 8             </conditions>
 9        </table>
10    </tables>
11    <columns>
12        <column name="sites.domain" />
13        <column name="modules.site_srl" />
14        <column name="modules.module" />
15        <column name="modules.module_category_srl" />
16         <column name="modules.layout_srl" />
17         <column name="modules.mid" />
18         <column name="modules.browser_title" />
19        <column name="modules.module_srl" />
20        <column name="module_categories.title" alias="category" />
21    </columns>
22    <conditions>
23        <condition operation="equal" column="sites.site_srl" var="site_srl" />
24        <condition operation="equal" column="sites.domain" var="site_keyword" pipe="and" />
25        <condition operation="equal" column="sites.site_srl" default="modules.site_srl" pipe="and" />
26    </conditions>
27    <navigation>
28        <index  var="sort_index1" default="modules.module" order="asc" />
29        <index  var="sort_index2" default="modules.mid" order="asc" />

수정 후

3, 12, 22~26번째 줄을 삭제하고 난 뒤의 코드

 1<query id="getSiteModules" action="select">
 2    <tables>
 3        <table name="modules" />
 4        <table name="module_categories" alias="module_categories" type="left join">
 5            <conditions>
 6                 <condition operation="equal" column="module_categories.module_category_srl" default="modules.module_category_srl" />
 7             </conditions>
 8        </table>
 9    </tables>
10    <columns>
11        <column name="modules.site_srl" />
12        <column name="modules.module" />
13        <column name="modules.module_category_srl" />
14         <column name="modules.layout_srl" />
15         <column name="modules.mid" />
16         <column name="modules.browser_title" />
17        <column name="modules.module_srl" />
18        <column name="module_categories.title" alias="category" />
19    </columns>
20        <index  var="sort_index1" default="modules.module" order="asc" />
21        <index  var="sort_index2" default="modules.mid" order="asc" />

각주

이 문서는 가온 위키라이믹스 문서 4513판에서 분기하였습니다.
  1. 라이믹스에 포함된 서드파티 플러그인들은 유지보수 용이성을 위해 최대한 순정 상태를 유지한 채 공식 지원되는 설정만 조정하여 사용하는 것을 원칙이므로 contextmenu를 빼고 빌드 할 계획은 없다고 밝혔다. 깃허브 기진곰님 답변
  2. 깃허브 이슈 중 기진곰님 답변에서는 이 플러그인에 대한 언급이 없다.
  3. 수시로 업데이트가 되기 때문에 덮어 씌여 질 수도(ftp 업로드시에는 특히 더) 있으며, CKEditor 보안 업데이트시 귀찮다고 안하면 보안적 문제도 발생 하는 등 여러 문제가 있을 수 있다. 따라서 CKEditor 뿐만 아니라 코어는 왠만하면 순정을 사용하자.
  4. 깃허브 기진곰님 답변
  5. xetown 기진곰님 답변
  6. xetown 기진곰님 답변