2019년 6월 29일 토요일

xEditor의 Navigation Bar 기본값 변경하기

현재 직장에는 Sitecore 플랫폼 서비스를 제공하면서 각 부서마다 Sitecore Author 및 Contributor 사용자가 있다. 이들은 저희 IT부서로부터 트레이닝을 마친 후, 사이트코어 접속 권한을 가지며 각 부서에 해당되는 컨텐츠만을 관리할 자격이 주어진다.

비록, 트레이닝을 잘 마쳤지만 Sitecore의 많은 기능들을 짧은 시간안에 숙달하기는 어려움이 있다. 최근 몇몇의 사용자로 부터 추가 요청이 되어진것이 바로 xEditor의 Navigation Bar은 기본값으로 Enable 하는것이었다.

사이트코어는 각 사용자의 User Profile을 데이타베이스에 저장하고, 유저 어카운트에 설정되어진 정보를 기억하기 때문에 다시 설정 할 필요가 없다. 고로, 유저가 Navigation Bar를 항상 xEditor 상단에 노출하기 위해서는 꼭 View 탬의 Navigation Bar의 체크박스를 체크하여야 한다. 사실 이런 기본적인 설정 하나하나는 Best Practice이므로 트래이닝 또는 사용자의 입장에서 기능을 인지하고 직접 설정을 하여야한다.

하지만, 현 직장에서는 클라이언들의 맞춤형 서비스(?)를 아주 중요하게 생각하므로 해당 옵션의 기본값을 Enable로 설정하여 항상 Bar가 노출될수 있도록 하기로 결정하였다.

사이트코어는 기본적인 옵션 설정을 자바스크립 컨맨드를 사용하여 Library를 호출하는데 Navigation Bar 자바스크립트에 한 라인을 추가하여 쉽게 기본값을 변경할 수가 있다.

먼저, 해당 경로로 이동한다.
\sitecore\shell\client\Sitecore\ExperienceEditor\Commands\ShowNavigationBar.js

아래처럼 "context.button.set("isChecked", "1");"을 canExecute 함수의 상단에 추가한다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
......
Sitecore.Commands.ShowNavigationBar =
  {
    canExecute: function (context) {
      //// 추가부분 시작
      context.button.set("isChecked", "1");
      //// 추가부분 끝
      context.app.RibbonBreadcrumb.set("isVisible", context.button.get("isChecked") == "1");
      context.app.setHeight();
      return true;
......