뉴스

라이믹스 2.1 버전대의 버그 수정 및 기능 개선 릴리즈입니다.

 

새 기능과 변경 사항

  • 비로그인 사용자만 이용할 수 있도록 메뉴나 게시판 등의 권한을 설정하는 기능 추가 (#2499)
  • 드래그&드랍으로 확장변수 순서를 변경하는 기능 추가 (#2526)
  • 게시판에서 날짜로 검색하는 기능 지원 (#2545)
  • "권한이 없습니다" 에러 메시지를 로그인 상태와 레벨 등에 따라 다르게 표시하는 기능 (#2548)
  • CKEditor 기준, 모바일에서도 에디터 컴포넌트를 사용할 수 있도록 지원 (#2551)
  • 확장자가 2개 붙은 파일을 업로드하면 마지막 것만 남기고 제거하도록 변경 (#2556)
  • 신고, 임시저장글 불러오기 등 팝업창으로 구현되어 있던 화면을 모바일에서는 레이어로 열도록 하여, 새 창 열기가 곤란한 웹뷰앱 등 특정 환경에서의 호환성을 개선
    • 차기 버전에서는 PC에서도 대부분의 팝업창을 레이어로 대체할 예정입니다.
  • 크론탭 스크립트 전반적 정리
    • 각 모듈로 옮겼습니다. 예를 들어 오래된 알림 삭제 스크립트는 이제 ncenterlite 모듈에서 관리합니다.
    • 오래된 알림 삭제, 임시 파일 삭제 등의 크론탭을 사용하시던 분들은 매뉴얼을 참고하여 설정을 변경하세요.
  • 특정한 상황에서 member 또는 module 모듈 업데이트 실패시 더 도움이 될 만한 에러 메시지 반환
  • 게시판에서 지나치게 복잡하고 일관성 없이 적용되는 일부 짧은주소 형태 삭제

 

개발자를 위한 새 기능과 변경 사항

  • common/js/common.js 전체적인 리팩토링
    • JavaScript에서 사용할 수 있는 Rhymix 전역 변수 생성 (window.XE 대체용)
    • 기존의 전역 함수들을 대체할 수 있는 Rhymix.ajax(), Rhymix.lang() 등 다수의 메소드 추가
  • 통합게시판의 글 수정 화면에서 글이 원래 소속되어 있던 모듈을 가리키는 $origin_module_srl 변수 추가
  • overflow-wrap: anywhere 속성을 추가하여, 긴 단어가 게시판 영역 밖으로 튀어나가는 문제 방지
  • 레이아웃, 스킨, 애드온, 위젯, 위젯스타일, 룰셋 등의 레거시 XML parser를 SimpleXML 기반으로 다시 구현
    • 모든 형태의 XML에서 <extra_vars> 해석 로직을 BaseParser::_getExtraVars()로 일원화
    • 단, 해석 결과는 하위 호환을 위해 기존 형태로 반환합니다.
  • 비동기 작업 처리시 graceful shutdown 지원 (#2451)
  • 예약된 비동기 작업에 우선순위 지정 지원 (#2453)
  • 애드온 설정에 default 속성으로 기본값을 지정할 수 있도록 변경 (#2555)
  • procFileUpload()를 통해 업로드하지 않았더라도 파일명 필터를 일괄 적용하도록 변경 (#2556)
  • 모든 상황에서 XML을 로딩할 때 external entity 로딩을 비활성화 (#2556)
  • XML 쿼리의 <conditions> 아래 <group> 태그에 notnull 속성을 지원하여, OR로 구분된 조건들 중 최소 1개를 사용하도록 요구하는 기능 추가
  • Context::addBrowserTitle() 및 Context::prependBrowserTitle() 메소드에서 구분자로 사용할 문자를 직접 지정할 수 있도록 지원 (기본값은 ' - ')
  • Context::gets() 메소드에 배열을 넘길 수 있도록 지원

 

버그 수정

  • 업데이트 후 파일 모듈의 "업로드 설정"을 다시 저장하지 않으면 이미지 파일명이 이상하게 변경될 수 있는 문제 수정
  • 데이터 이전 모듈에서 XML 파일을 들여올 때 이메일 주소 및 확장변수 처리와 관련된 일부 오류 수정
  • 게시판 설정 화면에서 모든 설정 변수가 항상 존재하도록 하여, PHP 워닝 발생 여지를 차단하고, 불필요한 null 방어로 코드가 지저분해지지 않도록 수정 (#2433)
  • SCSS에서 선택자에 URL이 포함된 경우 잘못 변환되는 문제 수정 (#2550)
  • 문서 캐시 삭제시 확장변수를 다시 불러올 수 없는 문제 수정 (#2553)
  • 썸네일 높이를 auto로 지정하면 string * float 오류가 발생하는 문제 수정 (#2562)
  • HTTP::download() 메소드가 대상 파일을 쓸 권한이 없을 경우 반환 타입이 스펙과 맞지 않는 문제 수정
  • 존재하지 않는 함수 getEditorSkinColorList() 수정
  • 일부 URL 파라미터에 배열이 포함된 경우 page 모듈에서 치명적인 오류가 발생하는 문제 수정
  • Bootstrap 4 이상에서 위젯 페이지 수정 버튼, 게시판 설정 도움말 등이 표시되지 않는 문제 수정 @mmx900 (#2558)
  • 일부 AJAX 요청시 CSRF 토큰이 이중으로 제출되는 문제 수정
  • 카테고리 색상을 빈 값으로 변경하면 저장되지 않는 문제 수정
  • 위젯 수정시 경계선 굵기를 반올림하도록 하여, 픽셀 비율이 정수가 아닌 디스플레이에서도 저장된 값과 최대한 비슷한 값을 다시 불러오도록 수정
  • 관리자 화면에서 중복으로 추가하던 meta viewport 태그를 제거하여, 시스템 설정에서 설정한 값이 적용되도록 수정

 

정리

  • 최신 버전과 호환되지 않는 codeception 설정 파일 업데이트
  • 오래된 JavaScript 유닛 테스트 삭제
  • 불필요한 코어 파일 목록에 오래된 XE 파일 및 폴더를 더 추가
  • deleted로 표시된 테이블 스키마 XML 파일 처리 개선
  • deprecated 표시가 누락된 함수 수정
  • syndication 모듈을 블랙리스트에 추가
  • FrontEndFileHandler에서 $targetIe라는 이름이 붙은 변수 정리
  • WidgetModel과 관련된 메소드 호출 코드의 전반적인 정리
  • 기본 비밀번호 암호화 알고리즘 선택시, XE에서 업그레이드했더라도 MD5는 배제 (#2556)
  • PHP 8.x에서 발생하는 워닝 다수 수정

 

라이믹스 Admin
관리용 계정입니다 :)

댓글 7

  • 4시간 전 #1909205

    유용한 기능이 많이 업데이트 되었네요.

    항상 감사한 마음으로 사용하고 있습니다.

    바로 업데이트 들어갑니다. ^^*

  • 4시간 전 #1909209

    항상 업데이트 감사합니다.

  • 3시간 전 #1909213

    XML 쿼리의 <conditions> 아래 <group> 태그에 notnull 속성을 지원하여, OR로 구분된 조건들 중 최소 1개를 사용하도록 요구하는 기능 추가
    => 이거 예시문 하나만 부탁드려도 될까요?

  • 3시간 전 #1909217

    아래와 같은 쿼리가 있다면, document_srl로 검색할 수도 있고, member_srl로 검색할 수도 있습니다. 그러나 두 조건 모두 notnull이 붙어 있지 않기 때문에, 쿼리할 때 document_srl과 member_srl을 모두 빠뜨리면 그룹 전체가 증발해 버리죠. (그러고 보니 pipe가 and인지 or인지는 중요하지 않네요.)

     

    <conditions>

      (중략)

      <group>

        <condition operation="equal" column="document_srl" var="document_srl" />

        <condition operation="equal" column="member_srl" var="member_srl" pipe="or" />

      </group>

    </conditions>

     

    위의 쿼리에서 <group>에 notnull="notnull" 속성을 추가하면, 그룹 전체가 날아가는 것을 허용하지 않으므로 두 조건 중 최소 한 개를 반드시 사용해야 합니다.

  • 1시간 전 #1909223

    위의 쿼리에서 <group>에 notnull="notnull" 속성을 추가하면,    이라는 의미가

    <group notnull="notnull" pipe="and">

    ~~
    </group>

    이렇게 한다는건가요?

  • 1시간 전 #1909227

    네.

  • 1시간 전 #1909231

    항상 감사드립니다~