Rhymix 2.1.15 Release Notes
릴리즈 기진곰 2024.05.05 17:31 조회 949
라이믹스 2.1 버전대의 버그 수정 및 기능 개선 릴리즈입니다.
새 기능과 변경 사항
- 구글 Firebase (FCM) 푸시알림 전송을 위한 HTTP v1 API 지원 (#2323)
- 구글에서 2024년 6월 20일경에 기존 API 운영을 중단한다고 합니다. 미리 HTTP v1 API로 변경하시기 바랍니다.
- Firebase 콘솔의 "서비스 계정" 메뉴에서 "새 비공개 키"를 발급받아, 관리자 화면에 입력하시기 바랍니다.
- 푸시알림 발송 규격이 변경된 것 뿐이므로, 알림을 받는 모바일 어플리케이션 쪽은 수정하지 않아도 될 가능성이 높습니다.
- CKEditor에 붙여넣거나 드래그&드롭한 이미지를 첨부파일로 자동 변환 (#2324)
- SEO를 위한 og:image 메타 태그를 생성할 때, 본문에 첨부된 WebP 이미지도 인식하도록 개선 (#2328)
- 관리자 파일 목록에서 WebP 이미지 및 MP4 동영상도 썸네일을 표시하고, 썸네일이 찌그러져 보이지 않도록 개선 (#2329)
- 모듈 설정 화면을 관리자 레이아웃으로 볼 때, 홈페이지로 돌아가는 버튼 추가 (#2331)
- 권한이 제한되어 있는 메뉴는 관리자 화면에서 자물쇠 아이콘으로 구분 (#2333)
- 해당 메뉴 또는 인접한 메뉴를 최소 한 차례 수정하거나, 캐시파일을 재생성해야 표시됩니다.
- 게시판에서 익명 닉네임을 생성할 때, 숫자와 알파벳을 모두 사용하는 16진수 형식도 지원
- 게시판에서 특정 카테고리를 기본 카테고리로 설정하여, 새 글 작성시 자동 선택되도록 하는 기능 추가 (#2335)
- 게시판에서 글을 작성하거나 수정/삭제할 때마다 해당 카테고리의 글 수를 다시 계산하느라 서버 부하가 발생하는 증상 완화
- DB에서 임의로 글을 이동할 경우, 카테고리의 글 수가 맞지 않게 될 수 있습니다.
- 레이아웃 초기화 버튼 클릭시 확인 창을 띄우도록 개선
개발자를 위한 새 기능과 변경 사항
- 확장변수 입력 폼 소스 커스터마이징 지원
- Extravar 모듈에 스킨을 추가하여 확장변수 입력 폼의 형태를 자유롭게 변경할 수 있습니다.
- Extravar 모듈 스킨은 템플릿 v2 문법으로 작성되어야 합니다. 기본 스킨을 참고하여 작성하세요.
- 회원 확장변수와 문서 확장변수 입력 폼 소스를 각각 커스터마이징할 수 있습니다.
- 라이믹스에서 설정한 캐시 방법을 기반으로 PSR-6 캐싱 인터페이스를 구현하는 CacheItemPoolHelper 클래스 추가
- FCM 메시지 발송시, token이 아닌 topic을 받는이로 지정할 수 있도록 지원
- FCM 메시지 발송시, 기본으로 표시할 이미지를 지정할 수 있도록 지원
- CKEditor와 업로더를 초기화하는 코드에서 인라인 스크립트를 모두 제거하여, 다른 자료가 일으킨 스크립트 오류에 영향을 덜 받도록 변경
- CKEditor 로딩 직후 및 파일 업로드/삭제 후 파일 목록을 갱신하는 file.getFileList API 요청을 최소화하기 위해, 업로더 HTML 소스 및 업로드/삭제 요청의 응답값에 파일 목록을 포함하여 반환하도록 변경
- FileHandler::removeFilesInDir() 등의 메소드에 빈 값을 넘길 경우, 아무 것도 삭제하지 않도록 안전장치 추가
- SessionHelper 클래스에 getProfileImage() 메소드 및 자주 사용하는 속성들 추가 (#2279)
- 한 칸짜리 전화번호 입력란 사용시, 전화번호와 무관한 알파벳이나 한글 등을 입력할 수 없도록 변경 (#2306)
- 디버깅용 <!--#TemplateStart--> <!--#TemplateEnd--> 주석에서 SSI (server-side include) 문법으로 오인할 수 있는 "#" 문자 제거 (#2307)
- 추천 또는 비추천 취소 API 호출시, 취소 후의 추천수 또는 비추천수를 반환 (#2321)
- XE 1.x에서 업그레이드할 때 FTP 접속 정보를 저장하지 않도록 변경
- JSON 및 XML 응답 마지막에 개행 문자를 출력하여, 터미널에서 curl로 호출할 때 편의성 개선
- Context::addLink() 메소드를 추가하여 레이아웃 등에서 사용하는 <link rel="preconnect"> 등의 speculative loading 태그를 미리 등록할 수 있도록 지원하고, 본문 영역에 이미 출력된 speculative loading 태그도 자동 인식하여 동일하게 처리
버그 수정
- 댓글 내용이 "0"인 경우, 위젯 등에서 내용이 없는 댓글이라고 표시되는 문제 수정
- 기본 게시판 스킨에서 글쓰기 화면, 글 삭제 화면 등의 URL에 불필요한 변수가 추가되는 문제 수정
- 특정한 상황에서 스크랩 보기 화면 접근시 치명적인 오류가 발생하는 문제 수정
- 모듈 클래스가 ModuleObject를 상속받지 않는 경우 치명적인 오류가 발생하는 문제 수정
- <pre></pre> 태그가 포함된 문서를 수정할 때 불필요한 공백이 추가되는 문제 수정
- 오랫동안 설정을 변경하지 않은 XE 1.x에서 업그레이드할 때, SSL "항상 사용" 상태가 기본값으로 지정되는 문제 수정
- 문서 확장변수에 국제전화번호 입력시, 동일한 국가번호를 사용하는 미국/캐나다, 러시아/카자흐스탄 등을 구분하지 못하는 문제 수정 (#1257, #2306)
- jQuery 3.x 사용시 SimpleEditor와 Textarea 에디터에서 "내용 값은 필수입니다"라는 오류가 발생하는 문제 수정 (#2303)
- 에디터 스킨의 메인 파일명을 editor.blade.php로 설정할 수 없는 문제 수정 (#2309)
- 템플릿 v2에서 상위 경로를 인클루드할 때, 특정한 형태의 경로가 잘못 해석되는 문제 수정 (#2310)
- 회원가입시 적용되는 이메일 검증 규칙이 실제 DB 입력시 적용되는 규칙과 달라서 쿼리 오류가 발생할 수 있는 문제 수정 (#2313)
- DB 오류 등으로 최근 댓글을 불러오지 못한 경우, 관리자 대시보드에서 치명적인 오류가 발생하는 문제 수정
- 과거에 mid를 생성했던 모듈이 더이상 설치되어 있지 않은 경우, 사이트 디자인 설정이 저장되지 않는 문제 수정 (#2327)
- 글 작성 후 긴주소로 리다이렉트되는 문제 수정 (#2330)
- 레이아웃 초기화 후 잘못된 주소로 리다이렉트되는 문제 수정
정리
- 코어에 흡수된 고급 메일 발송 모듈과 알림센터 모듈의 제작자 이름을 Rhymix로 통일
- 쉬운설치 모듈을 사용하여 자료를 삭제할 때, FTP 정보를 입력하라는 불필요한 안내문 삭제
- ModuleAdminModel::getLangCode()에서 serialize된 배열을 처리하는 기능 삭제
- admin.procAdminRemoveIcons 액션 삭제
- 코어 내부적으로 사용하는 realpath() 함수 중 불필요한 것은 삭제 (#2310)
- 단, 템플릿 v1은 변경하지 않습니다.
- 관리자 화면에서 사용하는 exec_xml()을 exec_json()으로 변경 (#2314)
- 잘못된 주석 수정 (#2320)
- 최신 PHP에서 발생하는 TypeError, Warning 등 수정 (#2340, #2341)
- 불필요한 파일 정리
GPLv2
PHP 7.2+ MySQL or MariaDB