Mublo Framework v1.8.0 릴리즈 — 도메인 별칭, 포인트 랭킹 원장 조건

wwiz 2026-10-21 10:46 조회 2 수정됨

Mublo Framework v1.8.0 을 릴리즈했습니다.

이번 릴리즈의 중심은 도메인 별칭입니다. 이제 한 사이트에 접속 주소를 여러 개 둘 수 있습니다. 포인트 랭킹에는 활동으로 번 포인트만 세는 조건을 추가했습니다. 관리자 목록 하나가 첫 행에서 끊기던 문제도 고쳤습니다.

데이터베이스 마이그레이션이 1건 있습니다(029_create_domain_aliases.sql). 삭제할 파일은 없고 라우트 캐시도 비우지 않아도 됩니다. 아래 업그레이드 항목을 먼저 읽어주세요.


한 사이트에 접속 주소를 여럿 — 도메인 별칭

관리자 → 도메인 관리 → 사이트 수정 화면에 도메인 별칭 카드가 생겼습니다. 별칭으로 접속해도 같은 사이트의 회원·설정·데이터를 씁니다. 주소만 하나 더 생기는 것입니다.

  • 추가는 DNS 확인을 거칩니다. 별칭 도메인의 DNS를 이 서버로 맞춘 뒤 DNS 확인을 통과해야 추가가 열립니다. 삭제하면 그 주소로는 바로 접속되지 않습니다.
  • 대표 도메인으로 지정할 수 있습니다. 서버가 DNS를 다시 확인한 뒤 별칭과 대표 주소를 맞바꿉니다. 이전 대표 주소는 별칭으로 남아 계속 접속됩니다.
  • 최고관리자의 호스트명 변경 화면에 이전 주소를 별칭으로 남기기 옵션이 생겼습니다. 기본으로 켜져 있어서 주소를 바꿔도 옛 주소가 끊기지 않습니다.
  • 관리할 수 있는 사람: 최고관리자는 자기 도메인과 하위 도메인을 관리합니다. 사이트 소유자는 자기 사이트의 별칭만 관리합니다. 소유자는 서브도메인 폴백 등으로 이미 다른 사이트에 연결되는 주소를 별칭으로 가져갈 수 없습니다.

쓰임새는 두 가지입니다. 하나는 주소 옮기기입니다. 앱처럼 주소가 박혀 있는 클라이언트가 있으면 새 주소를 별칭으로 먼저 엽니다. 클라이언트를 새 주소로 바꾼 뒤 원하는 때에 대표를 맞바꾸면, 그동안 두 주소가 모두 동작합니다. 다른 하나는 같은 사이트를 다른 도메인으로도 열어 두는 보조 주소입니다.

알아 두실 제한이 있습니다.

  • 별칭으로 접속해도 대표 주소로 리다이렉트하지 않습니다. 검색엔진에는 같은 내용이 두 주소로 보일 수 있습니다.
  • 쇼핑몰 결제 복귀 주소는 아직 대표 도메인입니다. 별칭에서 결제를 시작하면 결제 후 돌아올 때 로그인 세션이 이어지지 않습니다. 결제는 대표 주소에서 받아 주세요.

www. 주소는 등록할 수 없습니다

사이트·별칭·설치 화면 어디에서도 www. 로 시작하는 주소를 받지 않습니다. 요청이 들어오면 www. 를 떼고 사이트를 찾습니다. 그래서 www.example.com 을 그대로 등록하면 그 사이트를 찾지 못했습니다. example.com 만 등록하면 www.example.com 도 같은 사이트로 연결됩니다.


포인트 랭킹: 활동으로 번 포인트만 세기

포인트 랭킹 필터(BalanceRankingFilter)에 원장의 action과 출처(source_name) 조건을 추가했습니다. 환불·가입 보너스·관리자 조정 등을 빼고 활동으로 번 포인트만 순위에 넣을 수 있습니다.

  • 조건을 비우면 지금처럼 제한하지 않습니다. 둘 다 주면 두 조건을 모두 만족하는 행만 셉니다.
  • 기간별 획득(earned)·순증감(net), 그리고 조회 시점을 지정한 잔액(balance) 랭킹에 쓸 수 있습니다. 현재 잔액 랭킹에는 쓸 수 없습니다.
  • 원장이 큰 사이트에서 긴 기간을 자주 조회한다면 결과를 캐시해 두는 편이 좋습니다.

그 밖에 고친 것

  • 관리자 목록이 첫 행 중간에서 끊기던 것을 고쳤습니다. 목록 칸 콜백이 숫자를 그대로 돌려주면 그 칸에서 오류가 나 나머지 행이 그려지지 않았습니다. 이제 숫자와 빈 값도 그대로 표시합니다. 이 때문에 쇼핑몰 기획전 목록은 기획전이 하나라도 있으면 첫 행에서 끊겼는데, 이것도 함께 해결됐습니다.

업그레이드

v1.7.0 에서: 패치 zip(mublo-1.7.0-to-1.8.0-patch.zip, 변경 파일 23개)을 설치 루트에 덮어씁니다. 삭제할 파일도 composer 의존성 변경도 없습니다. .env 는 덮어쓰지 않습니다.

★ 마이그레이션을 실행해야 합니다. 덮어쓴 뒤 바로 관리자 → 시스템 관리 → 데이터베이스 마이그레이션에서 미실행 마이그레이션 실행을 누르세요. 029_create_domain_aliases.sql 이 별칭 테이블을 만듭니다. 실행하기 전에는 도메인 수정 화면의 별칭 기능이 동작하지 않습니다.

라우트 캐시는 비우지 않아도 됩니다. 새 관리자 주소는 기존 규칙으로 연결됩니다.

적용 후 시스템 관리 에서 버전이 1.8.0 인지 확인하세요. 바뀐 CSS·JS 파일은 없습니다.

프론트 스킨(views/Front/...)은 바뀌지 않았습니다. 복사해 쓰는 스킨이 있어도 신경 쓰지 않으셔도 됩니다.

v1.7.0 미만에서 올라오는 경우에는 v1.7.0 까지 올린 뒤 이 패치를 적용하거나, 전체 배포본으로 교체하세요.


확장을 직접 만드셨다면

고칠 것은 없습니다. 바뀐 계약은 하나이고, 기존 호출은 그대로 동작합니다.

  • Contract\Balance\BalanceRankingFilter: 생성자 끝에 선택 인자 actions·sources 가 추가됐습니다. 기본값이 빈 배열이라 기존 호출은 바뀌지 않습니다. action·출처 이름은 1~50자의 영숫자와 _.:- 만 허용합니다. 현재 잔액(balance, to = null)과 함께 주면 InvalidArgumentException 이 발생합니다.

자세한 내용은 docs/reference/extension-core-contracts.md 에 있습니다.


상세 변경 내역

포함된 PR: #88 · #89 · #90

글쓰기

댓글 0

등록된 댓글이 없습니다.