레이블이 xEditor인 게시물을 표시합니다. 모든 게시물 표시
레이블이 xEditor인 게시물을 표시합니다. 모든 게시물 표시

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;
......





2016년 12월 23일 금요일

Sitecore 8.2의 xEditor 새로운 기능

사이트코어는 이번 8.2 버전에서 xEditor에 새로운 기능 몇몇을 추가하였다. 중요하며 아주 유용한 기능을 살펴보겠다.
  1. xEditor에서 어떤 페이지에서 선택되어진 렌더링 아이템을 사용하고 있는지 알수있다.



  2. 이전 버전에서는 오직 페이지 아이템만이 Workflow의 기능을 xEditor에서 사용할수 있었지만, 8.2부터는 렌더링 아이템에 적용되어진 Workflow를 개별적으로 사용할 수가 있다.



  3. "Presentation" 탬을 통하여, "Shared Layout" 과 "Final Layout"을 비교할수 있으며, 해당 페이지와 연관된 페이지 또는 아이템의 목록을 볼 수가 있다.



  4. "Versions" 탭을 통하여, 현재 페이지에 새로운 버전을 추가하거나 다른 버전으로 Roll-Back을 할 수가 있다.




2016년 12월 2일 금요일

사이트코어 xEditor에 휴지통 버튼 만들기

사이트코어 사용자 제한 설정에 있어서, 관리자 및 플랫폼 Provider는 사용자가 Content Editor 또는 xEditor 를 제한적으로 사용하도록 설정할수있다.

하나의 예를 들면, 사이트코어 사용자가 컨텐츠 관리(수정)을 하는데 있어서, 아이템을 삭제하고 또 다시 복구해야하는 경우가 간혹 생기는데, 이럴 경우 사용자는 Content Editor 또는 Dashboard로 이동 후, Recycle Bin (휴지통) 팝업 창을 열어야한다. 이런 불편함을 덜기 위하여, 이번 포스팅에서는 xEditor에 Recycle Bin 버턴을 만들어 xEditor에서 바로 Recycle Bin 창을 오픈할 수 있도록 해보겠다.

먼저, 대부분의 사이트코어 버턴은 'Sitecore.Shell.Framework.Commands.Command' 클래스를 통하여 명령어가 실행된다. 새로운 Visual Studio 클래스 프로젝트를 생성하여 'OpenRecycleBin' 이라는 클래스를 만들어 준다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
namespace MySitecore.Commands
{
    // Recycle Bin Command
    public class OpenRecycleBin : Sitecore.Shell.Framework.Commands.Command
    {
        public override void Execute(Sitecore.Shell.Framework.Commands.CommandContext context)
        {
            Sitecore.Shell.Framework.Windows.RunShortcut(Sitecore.Data.ID.Parse("{A2CF861E-77AB-4317-A72B-2F33D942520E}"));
        }
    }
}

'RunShortcut' method에서 아이템 ID는 아래의 사진처럼 'core' 데이타베이스의 Shortcut 아이템 ID 이다.



해당 프로젝트를 Build/Compile 한 후, 'MySitecore.Commands.dll' 파일을 Sitecore의 bin 폴더에 저장한 후, '/Website/App_Config/' 폴더에서 'Commands.config' 파일에 새로운 Command를 아래처럼 추가한다.


<command name="contenteditor:openrecyclebin" type="MySitecore.Commands.openrecyclebin, MySitecore.Commands"/>

이젠, 마지막으로 'Core' 데이타베이스에서 xEditor 상단 툴바에 들어가 버턴을 만들어 보기로 하자.

사이트코어 CMS에서 'Core' DB로 변경 후, 원하는 섹션에 새로운 버튼 아이템을 만든다. 저의 경우 선택한 경로는 "Advanced" 탭의 제일 마지막 버턴으로 정하였다.



My New Item 이라는 Chunk 아이템 (/sitecore/templates/System/Ribbon/Chunk) 아래, 'Recycle  Bin' 이라는 Large Button을 만들고, 가장 중요한 'Click' 필드에 사진처럼 기존에 만들었던 명령어 ('contenteditor:openrecyclebin')를 넣어준다.

이 모든것이 완료되고 나면, xEditor에서 새롭게 만들어진 Recycle Bin 버턴을 볼수 있다.