호스트 통합: 그누보드5, 라이믹스, 독립 환경
같은 코어를 유지하면서 호스트별 저장·첨부·폼 수명을 연결하는 방법입니다.
호스트 통합 가이드
비교 기준
- 그누보드5:
common.php뒤editor.lib.php로 진입한다. 상태는G5_DATA_PATH/editor/t2editor_db, 첨부는 G5 데이터 정책과 T2 업로드 엔드포인트, 제출은 호스트 textarea와get_editor_js()가 맡는다. 감지·관리자 인증·데이터 경로·업로드 필드는 그누보드5 adapter capability가 공급한다. - 라이믹스:
editor.html에서config.blade.php를 거쳐 진입한다. T2Editor 내부 상태는 라이믹스 데이터 계층의t2editor_db, 첨부는 라이믹스 파일 모듈과files테이블, 제출은js/rhymix.js가 실제 필드와 연결한다. CMS 판정과 업로드 위임은 라이믹스 adapter capability가 담당한다. - 독립 환경: 애플리케이션이
editor.lib.php를 호출한다. 상태는<T2Editor>/data/t2editor_db, 첨부는 T2Editor 업로드 루트, 제출은 애플리케이션 폼과 저장 API가 맡는다.
라이믹스는 별도 구현이다
라이믹스 지원은 그누보드5 문서에 이름만 덧붙인 호환 모드가 아니다.
config.blade.php가 에디터 인스턴스마다 sequence, module, upload target, mid, CSRF와 표시 옵션을 JSON으로 만든다.editor.html이 라이믹스의editor_common.js, 네이티브 첨부 UI와js/rhymix.js를 로드한다.js/rhymix.js가 실제 콘텐츠 필드와 기본 키에 연결하고 입력·blur·폼 제출·임시저장 복원 때 내용을 동기화한다.- 업로드 플러그인은
T2Utils.appendHostUploadFields()로 식별자를 보내고 서버는t2editor_cms_upload_delegate($fileField, $kind)로module=file&act=procFileUpload에 위임한다. T2Utils.normalizeHostUploadResponse()와T2Utils.applyHostUploadResult()가 선택된 라이믹스 browser adapter를 통해file_srl,upload_target_srl, 다운로드 URL과 네이티브 첨부 목록을 반영한다.
플러그인이 라이믹스 DB나 내부 클래스를 직접 다루면 이 경계를 우회하므로 금지한다.
WordPress 표기의 범위
10.5.0의 upload_config.php와 일부 업로드 플러그인에는 WordPress 업로드 필드 처리 코드가 존재한다. 그러나 그누보드5·라이믹스처럼 전체 에디터 설치 어댑터가 완성되어 있다고 단정할 수는 없다. 문서와 마켓에서 WordPress 전체 지원을 표시하려면 렌더링, 제출 동기화, nonce, 미디어 수명까지 별도로 통합·시험해야 한다.
공통 검수
- 한 페이지에 에디터 두 개를 띄워 인스턴스 상태가 섞이지 않는지 확인한다.
- 새 글, 수정, 임시저장 복원, 첨부 교체·삭제를 모두 시험한다.
- 호스트가 콘텐츠를 정제한 뒤 코드·표·미디어 블록이 다시 편집 가능한지 확인한다.
- 공개 미디어 URL과 비공개 관리자·마켓 상태 URL이 섞이지 않는지 확인한다.
10.5.0 기준 변경점
새 CMS는 코어 수정 대신 PHP adapter와 브라우저 capability를 등록한다. 플러그인은 T2Utils.appendHostUploadFields(), getHostUploadUrl(), normalizeHostUploadResponse(), applyHostUploadResult()를 사용하고 서버 업로드 래퍼는 t2editor_cms_upload_delegate()를 호출한다. 그누보드5·라이믹스의 10.4.0 공개 함수는 legacy facade로 남아 있으므로 기존 연결 코드는 계속 동작하지만 신규 구현은 adapter 계약을 우선한다. 한 페이지의 여러 라이믹스 인스턴스는 각자의 업로드 식별자를 유지해야 하며, 선택적 외부 연동이나 한 CMS adapter의 실패가 다른 업로드 경로와 일반 편집 초기화를 가로채지 않도록 시험한다.