기록방

CY Mini Project 개발기 #7

← 목록

관리자 설정(Admin UI)을 직접 만든 이유

워드프레스는 기본적으로 다양한 설정 기능을 제공한다.

하지만 CY Mini Project를 개발하면서 기능이 하나둘 늘어나자 기존 관리자 화면만으로는 관리하기 어려운 부분이 생기기 시작했다.

처음에는 색상 몇 가지만 수정하면 되었지만,

프로젝트가 커질수록 수정해야 하는 항목도 함께 늘어났다.

결국 관리 화면도 프로젝트에 맞게 다시 설계하기로 했다.




코드를 수정하는 방식은 오래가지 못했다

초기에는 테마 파일을 직접 수정하는 방식으로 개발을 진행했다.

색상을 변경하거나,

프로필을 수정하거나,

홈 화면의 일부 내용을 바꾸기 위해 PHP 파일을 열어 수정하는 경우도 있었다.

개발 중에는 큰 문제가 없었지만,

프로젝트 규모가 커질수록 유지보수가 어려워졌다.

작은 설정 하나를 바꾸기 위해 코드를 수정하는 방식은 장기적으로 적합하지 않았다.




설정도 하나의 사용자 경험

관리자 화면은 방문자가 직접 보는 화면은 아니다.

하지만 프로젝트를 가장 많이 사용하는 사람은 결국 관리자이다.

새로운 기능을 추가할 때마다

“이 기능은 어떻게 설정할 것인가?”

라는 질문을 함께 고민하기 시작했다.

그래서 CY Mini Project에서는 기능을 구현하는 것과 관리자 화면을 만드는 것을 하나의 작업으로 생각하고 있다.




프로젝트와 함께 성장한 관리자 화면

초기의 관리자 화면은 매우 단순했다.

몇 가지 옵션만 수정할 수 있는 수준이었다.

하지만 프로젝트가 커질수록 관리해야 하는 항목도 계속 늘어났다.

현재는 다음과 같은 설정을 관리자 화면에서 관리할 수 있다.

  • 테마 색상
  • 프로필 정보
  • 레이아웃
  • Home 화면 구성
  • 공지사항
  • 게시판 설정
  • 플러그인 연동
  • 일부 통계 기능

가능한 한 코드를 수정하지 않고 대부분의 설정을 변경할 수 있도록 구성하는 것을 목표로 하고 있다.




설정을 분산시키지 않았다

워드프레스 플러그인을 여러 개 사용하면 설정 메뉴도 함께 늘어난다.

프로젝트가 커질수록 관리자 메뉴가 복잡해지고,

필요한 설정을 찾는 시간도 길어진다.

그래서 CY Mini Project에서는 관련 있는 기능들을 가능한 한 하나의 흐름으로 관리하도록 설계했다.

테마와 플러그인의 역할은 분리하지만,

관리 경험은 최대한 일관성을 유지하는 것이 목표였다.




기능보다 자주 사용하는 설정을 먼저 배치했다

관리자 화면을 설계하면서 가장 중요하게 생각한 것은 사용 빈도였다.

매일 사용하는 설정과 거의 수정하지 않는 설정이 같은 위치에 있으면 관리 효율이 떨어진다.

그래서 자주 사용하는 항목을 먼저 배치하고,

고급 설정은 별도로 구분하는 형태를 선택했다.

아직도 계속 수정 중인 부분이지만,

프로젝트를 직접 운영하면서 조금씩 개선하고 있다.




관리자 전용 기능도 추가했다

프로젝트를 운영하면서 일반 방문자에게는 필요 없지만 관리자에게는 필요한 기능들도 생겼다.

대표적인 기능이 관리자 전용 책갈피이다.

이 기능을 이용하면 자주 사용하는 페이지를 빠르게 이동할 수 있다.

예를 들어

  • 새 글 작성
  • 관리자 페이지
  • 통계 화면
  • 플러그인 관리

등을 바로 연결할 수 있다.

방문자는 볼 수 없고 관리자만 사용할 수 있도록 구성했다.




기능이 늘어날수록 관리가 더 중요해졌다

CY Mini Project는 하나의 테마가 아니라 여러 개의 플러그인이 함께 동작하는 프로젝트가 되었다.

Theme

Wiki

Gallery

Calendar

Analytics

Anti Spam

처럼 프로젝트가 확장되면서 설정 항목도 함께 늘어나고 있다.

그래서 최근에는 새로운 기능을 추가할 때마다

“관리 화면은 어떻게 구성할 것인가?”

를 먼저 고민하는 경우가 많아졌다.

기능 자체보다 관리하기 쉬운 구조를 만드는 것이 장기적인 유지보수에 더 중요하다고 생각하기 때문이다.




앞으로 개선하고 싶은 부분

현재 관리자 화면도 계속 개선 중이다.

앞으로는 다음과 같은 기능을 추가할 계획이다.

  • 설정 검색
  • Import / Export
  • 프리셋 저장
  • 설정 백업
  • 플러그인 간 공통 UI
  • 모바일 관리자 화면 개선

프로젝트 규모가 커질수록 관리 기능의 중요성도 함께 커질 것으로 생각하고 있다.




관리자 화면도 프로젝트의 일부

관리자 화면은 방문자가 직접 보는 기능은 아니다.

하지만 프로젝트를 가장 오래 사용하는 사람은 관리자이다.

그래서 CY Mini Project에서는 관리자 화면 역시 하나의 사용자 인터페이스라고 생각하고 개발하고 있다.

사용하기 쉬운 관리 환경을 만드는 것은 새로운 기능을 추가하는 것만큼 중요한 작업이다.




다음 개발기

다음 글에서는 CY Mini Project에서 방문자 통계를 어떻게 설계하고 있는지, 그리고 단순한 방문자 수를 넘어 어떤 정보를 제공하려고 하는지 CY Mini Analytics를 중심으로 정리해 보려고 한다.