2020년 8월 14일 금요일

패키지 디자이너 (Sitecore - Package Designer) 에서 일반 유저 "Download" 버턴 활성화 하기

코로나 바이러스로 인하여 전 세계적으로 많은 변화가 진행되고 있고, 그 임팩트는 도무지 가라앉을 기색이 보이지 않는다. 필자 역시 3월 중순부터 재택근무를 시작하여 회사로부터의 공식적인 공지는 1월초까지 재택근무. 하루하루 끊임없는 Skype 및 WebEx 미팅으로 인하여 시간이 어떻게 지나가는지 잊을뿐더러 업무시간 외에는 논스톱으로 가정일을 도와야하는 일이 반복적으로 진행된다. 정말 일상적인 시간이 얼마나 소중하였는지 깨닫게 된다.

회사 업무의 핑계로 블로그를 몇달 동안 소홀히 하였다. 다시 본격적으로 마음가짐을 잡고 이번 글에서는 Package Design 기능에서의 문제점(?)에 대하여 알아보고 수정하는 방법을 살펴보도록 하자.

필자의 회사에서는 많은 컨트랙터 및 Vendor 그리고 개발자들이 회사 사이트코어에 접속하여 웹사이트를 개발하고 있다. 몰론 멀티플 스태이징을 통하여 DEV, UAT, PROD 등으로 나누어 관리하고 있으며. 또한 Service Delivery 팀(DevOps)이 사이트코어 플랫폼, Deployment, 시스템 및 서비스센터등을 관리한다. 고로 개발자들은 허용된 범위내에서 사이트를 관리하며 컨텐츠 및 컴포넌트를 개발 업데이트한다. 여기서 개발자들은 업데이트 된 정보를 상위 환경으로 Deploy하기 어떤 아이템이 수정되었는지 서비스팀에게 알려줘야하는데 수정된 항목 및 아이템이 많을경우 리스트하기가 쉽지가 않을뿐더러 불필요한 시간을 소비하게 된다. 고로, Package Designer를 사용하여 프로젝트를 저장하고 XML 파일을 공유하는 방법을 택하였다.

아래 사진처럼 프로젝트를 저장하고 "Open"경로를 열면 저장되어진 모든 프로젝트 파일이 나온다. XML파일은 팩키지에 추가되어진 모든 아이템 항목이 포함되어있어 쉽게 어떤 항목이 업데이트 되었는지 구분할뿐더러 서비스템에게 쉽게 전달할수가 있다.

사이트코어 패키지 디자이너

하지만 여기서 문제점은 Download. 사이트코어는 Admin 유저에게만 기본적으로 Download 버튼을 활성화 시킨다. 유저가 Developer 또는 Designer Role에 소속이 되었어도 해당 Download버턴을 보이지가 않는다. Core 데이타베이스에서 아무리 아이템정보를 찾아보아도 찾을수가 없었고, 이 Dialog 다운로드 버턴은 어프리케이션 폼 파일 (.xml)을 통하여 관리가 되고 UI가 형성되는것을 알수가 있었다. 고로 해당파일 "/sitecore/shell/Applications/Install/Dialogs/BrowseDialog.xml" 파일에서 "${Sitecore.Context.IsAdministrator.ToString()}" 부분을 "True"로 변경을 한다.

<Toolbutton Icon="Office/16x16/download.png" Tooltip="Download the selected file" Header="Download" Click="dialog:download" Visible='${Sitecore.Context.IsAdministrator.ToString()}'/>

<!-- 아래로 변경 -->

<Toolbutton Icon="Office/16x16/download.png" Tooltip="Download the selected file" Header="Download" Click="dialog:download" Visible='True'/>