2018년 2월 20일 화요일

사이트코어 Config 파일 패치하기

우선, .NET 개발자라면은 WebConfig.config 또는 App 폴더안의 세팅파일들이 어플리케이션에서 어떤 중요한 역할을 하지는 기본적으로 알고있을것이다.
개발자들은 Configuration 파일을 통하여 어플리케이션을 Recompile 없이 변경할수 있으며, 사이트코어 역시 모듈 또는 기능 별로 많은 .config 파일을 파일시스템에 놓아둔다.

사이트코어는 버전 9를 릴리즈하면서, App_Config 폴더안의 파일 스트럭쳐를 폴더 별로 Organize 하였으면, 이번에는 어떻게 config 파일들을 수정하는지 알아보도록 하겠다.
.config 파일의 기본형식은 아시다시피, XML 파일의 형식이며 기본적이 구조는 아래와 같다.

1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <sitecore>
    </sitecore>
</configuration>

보통 .Config 파일을 수정할때 해당 파일에 가서 변경하고 싶은 Node 또는 Value를 수정하는데, 사이트코어는 새로운 패치 파일을 만들어 변경 하는것을 선호한다.
예를 들어, Sitecore.config 파일안의 특정한 Node를 변경 또는 수정을 하고싶다면, WebRoot/App_Config 의 새로운 폴더 (예, 폴도명 zzz.custom)를 만들고, Configuration 노드에 XML Set Namespace를 추가하여 아래와 같은 패치파일을 만들수있다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<!-- 기존 세팅 Sitecore.Config 파일 -->
<sitecore >
    <settings>
        <!--  AUTOMATIC UNLOCK ON SAVED
                If true, the a saved item is automatically unlocked after
                saving.
        -->
        <setting name="AutomaticUnlockOnSaved" value="false"/>
    </settings>
</sitecore>


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<!-- 패치 파일 /App_config/zzz.Custom/Sitecore.Custom.config -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
    <sitecore >
        <settings>
            <!--  Original Setting from Sitecore.config -->
            <setting name="AutomaticUnlockOnSaved" set:value="true"/>
        </settings>
    </sitecore>
</configuration>

해당 업데이트를 "http(s)://website/sitecore/admin/showconfig.aspx" 페이지에서 확인을 하면, 패치되어진 값을 볼수가있다.





이런 형식으로 패치파일을 이용하면 차후 시스템 및 어플리케이션 조금 더 효율적으로 관리 및 유지할수있으며, 시스템을 초기화하는데도 용이하다.

*참고로 사이트코어를 config 파일들을 A-Z 순서대로 서칭하며 폴더안에 다른 폴더들과 파일들이 같이 존재한다면, 파일을 먼저 A-Z 순으로 패치하고, 다음으로 폴더순으로 패치하기위한 서칭을 시작한다.