루트 사이트 모음 또는 각 사이트 모음에 대해서만 스타일 배포
-
09-12-2019 - |
문제
CSS, JavaScripts, Images 등의 마스터 페이지와 스타일을 배포하는 방법을 알고 있습니다. 내 질문은 오히려 가장 좋은 방법은 무엇입니까?
사이트 모음 범위 기능으로 스타일 라이브러리 등의 사이트 모음에 모든 필수 항목을 배포 할 때. 이 기능을 활성화하면이 사이트 모음에서 스타일이 활성화됩니다. 그래서 스타일 라이브러리의 각 사이트 모음에 대해 해당 파일이 생성됩니다.
그러나 MasterPage에서는 모든 내 CSS 등록 및 이미지 등을 루트 사이트 컬렉션에 대해 참조 할 수 있습니다.이 방법은 루트 사이트 모음에서 루트 사이트 모음에서 기능을 활성화하고 마스터 페이지가 적용된 경우 다른 사이트 모음에 영향을 미칩니다. 루트 사이트 컬렉션 스타일 라이브러리에만 해당 파일을 사용할 수 있습니다.
나는 물론 루트 사이트 컬렉션에서만 활성화하는 것을 주저하고 있으며, 포털의 파일의 양을 줄일 수는 있지만 여전히 ... 물론이 작업을 수행하면 모든 사이트 컬렉션에 대해 동일한 레이아웃과 스타일을 모두 갖게 될 것이지만 이는 내가 성취하고자하는 경우도 있습니다.
루트 사이트 컬렉션이나 모든 사이트 모음에 대해서만 배포해야합니까?
해결책
마스터 페이지, CSS, 이미지, JS 등을 포함한 브랜딩 요소를 특징으로 패키지 (사이트에 범위)로 포장 한 후 각 사이트 모음 (루트 사이트 및 하위 사이트 모음 에서이 기능을 활성화하는 것이 좋습니다. IE yourdomain / sites / subsite1). 이 기능은 _catalogs / masterPage 자산을 전송하는 모듈과 스타일 라이브러리 자산을 전송하기 위해 적어도 다른 모듈을 전송할 모듈을 포함해야합니다. 어쨌든 기능을 사용하고 있으므로 브랜딩을 업데이트 할 때마다, 기능은 자산 업데이트를 처리해야하며 PowerShell을 사용하여 모든 사이트 모음으로 업그레이드를 수행 할 수 있습니다.
예, 이는 각 사이트 모음에 모든 브랜딩 요소가 포함되지만 각 사이트 모음은 적어도 마스터 페이지 자산을 어쨌든 포함 할 필요가 있습니다. 스타일 라이브러리의 경우 항상이 요소를 14 개 하이브 (_layouts)에 배치 할 수 있습니다. 그들에게 가장 좋은 위치가 될 것입니다.
루트 사이트 모음에서 스타일 라이브러리 자산 복사본이 하나 뿐이 었는데, 스타일 라이브러리 자산을 설치하는 마스터 페이지와 다른 두 가지 기능이있는 두 가지 기능이 있어야합니다. 모든 사이트 모음에서 마스터 페이지 기능을 활성화하지만 스타일 라이브러리는 루트 사이트 컬렉션에서만 하나의 라이브러리입니다. 그런 다음 마스터 페이지를 설정하여 항상 루트 사이트 모음 스타일 라이브러리 만 참조하십시오. 그러나 당신이 이것을하고 있다면, 당신은 왜 당신이 기능을 사용하고 있는지, 당신은 자신을 위해 더 어려워지고 있습니다.
이 도움이되기를 바랍니다.
다른 팁
여기 에서이 문제는 "루트 사이트 컬렉션 vs 다른 사이트 모음"의 문제를 해소해야합니다. 자체적으로 각 사이트 모음은 루트 또는 그렇지 않음을 분리 경계로 만듭니다.기본적으로 사이트 모음 수준 (예 : 스타일 라이브러리 사용)에서 배치하는 연습은 레코딩 된 연습이며 사이트 모음 자체와 동일한 격리 장치를 따릅니다.
이 모델보다 샌드 박스 솔루션을 고려한 적이 있다면 또한 적합합니다.이미 사용중인 페이지 레이아웃을 마스터 페이지, 페이지 레이아웃을 변경해야 할 때 유일한 주요 단점은 모든 사이트 모음에서 실제로 업데이트되고 있습니다.