Files
Gnuboard7/plugins/_bundled/sirsoft-marketing/CHANGELOG.md
T
HeuJung bd215bc586 feat(identity): NHN KCP 휴대폰 본인확인 플러그인 추가
메일 인증 대신 휴대폰 본인확인을 쓸 수 있게 하는 플러그인을 추가한다.
가입·비밀번호 재설정·성인인증 등 코어 IDV 가 강제하는 모든 지점에서 동작하며,
테스트 모드로 계약 없이 전 흐름을 확인할 수 있다.

구현·검수 과정에서 드러난 저장소 전역 결함을 함께 처리했다.

- 외래키 컬럼의 한국어 comment 가 방출되지 않던 문제 (소스 38건 교정 +
 기설치본 백필 업그레이드 스텝 7종). ->comment 를 ->constrained 뒤에
 체인하면 예외 없이 통과하면서 comment 가 조용히 사라진다
- 로케일 전환 후 확장 액션 핸들러가 소실되던 문제 (플러그인 3종에
 재등록 진입점 노출)
- 본인인증 상태 폴링 응답이 누적 시도 횟수를 함께 내보내던 문제
- 인증 안내 문구와 실제 진행 방식의 폭 경계 불일치 (768~1023px).
 엔진과 같은 값을 같은 방법으로 읽도록 교정
- transition_overlay_target 이 replace 없이 무효이던 관리자 목록 40곳.
 로딩 표시가 나오지 않아도 경고가 남지 않아 화면을 봐야만 알 수 있었다

두 인증 플러그인의 코어 최소 요구 버전을 7.0.6 으로 올린다. 운영 모드
자격증명 필수 검사가 7.0.6 의 설정 저장 검증 표면에 의존하며, 그보다 낮은
코어에서는 그 검사가 조용히 통과해 빈 자격증명으로 저장할 수 있었다.

재발 차단으로 정적 검사 룰 4종을 신설하고, 검사 도구가 미커밋 신규 확장을
"검사 파일 0" 으로 통과시키던 사각을 함께 막았다.
2026-07-31 00:32:46 +09:00

7.9 KiB

Changelog

이 프로젝트의 모든 주요 변경사항을 기록합니다. 형식은 Keep a Changelog를 따르며, Semantic Versioning을 준수합니다.

[1.0.1] - 2026-07-29

Fixed

  • 데이터베이스에서 일부 컬럼의 설명이 비어 있던 문제를 바로잡았습니다. 회원을 가리키는 컬럼이 대상이며, 업그레이드하면 이미 운영 중인 데이터베이스에도 설명이 채워집니다(직접 적어 넣은 설명은 그대로 둡니다).

[1.0.0] - 2026-07-01

Added

  • 레이아웃 편집기 데이터 소스 목록에서 이 확장이 제공하는 데이터 소스가 친화 명칭으로 표시되고, 어느 확장이 제공했는지 출처가 함께 표시됩니다.

Changed

  • 마케팅 동의 관리 / 사용자 프로필 외형을 sirsoft-admin_basic 표준 시맨틱과 정합 — 다른 화면과 같은 결로 통일.
  • 회원 등록 / 수정 화면의 마케팅 동의 카드를 다른 관리자 카드와 같은 결로 정합 — 카드 외형이 동일해지고, 항목 사이에 옅은 회색 분리선이 자동 적용되며, 카드 제목 우측의 확장 출처 배지가 항상 우측 끝으로 정렬됩니다.
  • 회원 등록 / 수정 화면의 마케팅 동의 영역에서 채널 체크박스(예: 광고성 이메일 수신) 가 부모 동의 체크박스 아래로 들여쓰기되어 부모-자식 관계가 시각적으로 명확해졌습니다.
  • 회원 등록 / 수정 화면의 마케팅 동의 영역에서 채널 항목의 식별자가 페이지 검사 시 여러 번 나타나던 회귀를 수정했습니다 (HTML 표준 위반 해소).
  • 관리자 화면 좌우 정렬 컨테이너(섹션 헤더 · 액션바 · 카드 상단부 등) 외형을 표준 시맨틱(.flex-between)으로 정리 — 시각 변경 없음, 향후 톤 조정이 한 곳에서 가능.
  • 플러그인 환경설정 화면의 하단 저장 버튼이 스크롤 중에도 화면에 고정되도록 개선.
  • 채널 편집 모달의 채널 key 입력 외형을 관리자 표준 외형으로 정렬 — 시스템 채널 / 편집 모드에서 글자가 옅은 회색으로 표시되어 "수정 불가" 임을 한눈에 구분.
  • 플러그인 표준 베이스를 따르도록 내부 구조 정비. 동의 처리 동작은 동일합니다.
  • 코어 최소 요구 버전을 7.0.0-beta.8 로 상향.
  • 플러그인 환경설정 화면의 폼 라벨 / 보조 설명 / 에러 메시지 시각 시맨틱을 sirsoft-admin_basic 표준 시맨틱과 정합 — 다른 관리자 화면과 같은 결로 통일.
  • 플러그인 환경설정 화면 곳곳의 텍스트 톤 (보조 설명 · 라벨 · 본문 · 강조 · 작은 보조) 시각 시맨틱을 관리자 표준 시맨틱과 정합 — 같은 결의 글자 톤이 한 곳에서 일괄 조정 가능.
  • 플러그인 환경설정 화면의 입력 행 컨테이너 / 입력 박스를 sirsoft-admin_basic 표준 시맨틱 (.row-stack / .input) 과 정합 — 표준 간격 + 행 사이 옅은 회색 구분선(1px) 이 자동 적용되어 외형이 일관 표시되도록 정리.

[1.0.0-beta.3] - 2026-05-11

Changed

  • 기본 system 마케팅 동의 채널(이메일 수신) 라벨이 활성 언어팩으로 자동 보강되도록 변경
  • sirsoft-page 의존성 제약을 >=1.0.0-beta.3 로 정비 (번들 최신 버전과 동기화)

[1.0.0-beta.2] - 2026-04-20

Changed

  • 코어 최소 요구 버전을 7.0.0-beta.2 로 상향
  • sirsoft-page 의존성 버전 제약을 실제 릴리스 버전에 맞춰 정비
  • 플러그인 의존성 관리를 manifest(plugin.json) 기준으로 일원화

[1.0.0-beta.1] - 2026-04-01

Changed

  • 오픈 베타 릴리즈

[0.3.3] - 2026-03-30

Fixed

  • 관리자 다크모드 레이아웃 수정 — plugin_settings.json에서 누락된 dark: variant 약 10건 추가 (text-gray, focus:ring 등)

[0.3.2] - 2026-03-30

Added

  • config/settings/defaults.json 추가 — frontend_schema 정의로 프론트엔드 설정 노출 제어
  • marketing_consent_terms_slug, third_party_consent_terms_slug, info_disclosure_terms_slug, channels를 expose: false 처리 — 프론트엔드 미참조 설정의 보안 노출 차단

[0.3.1] - 2026-03-30

Fixed

  • 인덱스명 약어 수정 — idx_mkt_consent_hist_user_created → idx_marketing_consent_histories_user_created (네이밍 규칙 준수)

[0.3.0] - 2026-03-29

Added

  • 검색/필터/정렬 성능 향상을 위한 누락 인덱스 추가 — user_marketing_consent_histories([user_id+created_at] 사용자별 시간순 이력 조회)

[0.2.1] - 2026-03-28

Fixed

  • 채널 삭제 시 즉시 API 호출로 반영되던 문제 수정 — 삭제 후 최종 저장 버튼 클릭 시에만 반영되도록 변경
  • 저장 버튼이 channels API 검증을 거치도록 2단계 순차 호출로 변경 (channels 검증 → 설정 저장)
  • 비활성화 모달(channel_deactivate_modal)이 즉시 API 호출 대신 상태만 변경하도록 수정

[0.2.0] - 2026-03-24

Added

  • 마케팅 동의 데이터를 EAV 구조 기반 전용 테이블(user_marketing_consents, user_marketing_consent_histories)로 전환 — 동의 항목별 독립 저장 및 이력 관리
  • 각 동의 항목의 활성화 여부를 독립 설정(*_enabled)으로 분리하고 비활성 항목은 가입/수정 폼에서 자동 제외
  • 마케팅 동의 현황 조회 및 채널별 동의 현황 조회 공개 API 추가
  • 관리자 사용자 상세 화면에서 마케팅 동의 현황 및 이력 조회 기능 추가 (MarketingAdminController)
  • 동의항목 레이아웃을 1열 구성으로 변경하고 약관 모달에서 실제 약관 내용 표시 구현
  • 채널 관리 UI 추가 — 채널 추가/편집/삭제 및 활성화 토글 기능
  • 데이터 접근 계층을 Repository 패턴으로 분리하여 테스트 용이성과 유지보수성 개선
  • PHP 백엔드에서 다국어 메시지를 사용할 수 있도록 PHP 전용 lang 파일 추가 (ko/en)
  • 플러그인 레이아웃 JSON 파일 전체를 대상으로 렌더링 테스트 56개 작성 — 구조, 데이터 바인딩, 다국어, 다크모드 항목 검증
  • 플러그인 프론트엔드 테스트 환경(Vitest) 구성
  • 동의자가 있는 채널을 삭제하려 할 때 즉시 삭제 대신 비활성화를 안내하는 모달 추가
  • 채널 이름을 한국어/영어로 각각 표시할 수 있도록 다국어 처리 추가

Fixed

  • 채널 편집 모달 바깥 영역 클릭 시 실수로 닫히는 문제 수정
  • 스피너·배지 컴포넌트에서 다크모드 색상이 적용되지 않던 문제 수정
  • 마이페이지 프로필 저장 시 국가·언어 미선택 상태에서 오류가 발생하던 문제 수정
  • 동일 이벤트가 여러 번 발생할 때 동의 이력이 중복 저장되던 문제 수정

Changed

  • 관리자 화면 사용자 상세 폼의 다크모드 스타일 전반 개선

[0.1.3] - 2026-03-16

Changed

  • 마이그레이션 통합 — 증분 마이그레이션을 테이블당 1개 create 마이그레이션으로 정리
  • 라이선스 프로그램 명칭 정비

[0.1.2] - 2026-03-13

Added

  • manifest에 license 필드 및 LICENSE 파일 추가

Changed

  • 설정 레이아웃 경로를 resources/layouts/settings.json → resources/layouts/admin/plugin_settings.json으로 이동 (모듈과 동일한 구조 통일)

[0.1.1] - 2026-02-24

Changed

  • 버전 체계 조정 (정식 출시 전 0.x 체계로 변경)

[0.1.0] - 2026-02-23

Added

  • 마케팅 동의 플러그인 초기 구현
  • 이메일 구독, 마케팅 동의, 제3자 제공 동의 관리
  • MarketingConsent, MarketingConsentHistory 모델
  • MarketingConsentService 비즈니스 로직
  • MarketingConsentListener 훅 리스너
  • 사용자 관리 화면 레이아웃 확장 (마케팅 동의 상세/폼/프로필)
  • 회원가입 폼 마케팅 동의 항목 확장
  • 플러그인 설정 UI
  • 역할 기반 접근 제어 (마케팅 관리자)
  • 다국어 지원 (ko, en)