2013-05-24 1 views
1

우리는 현재 여기에서 설치 공유 소스 항목 양동이 모듈 Sitecore CMS 6.5 (120706)를 실행하는 :공유 소스 항목 버킷이있는 CMS 6.5에서 CMS 7.0으로 업그레이드 ... 어떻게됩니까?

https://github.com/jerrong/Sitecore-Item-Buckets/tree/master/sitecorepackages/ItemBuckets%206.5%20NET_40/Final

우리는 CMS 버전 7.0으로 업그레이드하고 싶습니다. 현재 업그레이드 경로가없고 몇 달 안에 예상 할 수있는 경로가 있다고 들었습니다. 그러나 우리는 이것을 기다릴 필요가 없다.

항목 버킷은 사이트의 단일 섹션에만 사용됩니다. 다른 모든 것은 표준 컨텐츠 트리를 통해 제공됩니다. 문서화 된 업그레이드 절차에서 요구하는대로 공유 소스 항목 버킷 모듈을 업그레이드 불행하게도 지원되지 않는입니다 지침에 나중에 을 언급에도 불구하고

우리는 먼저 6.6로 업그레이드를 시도했습니다. 이 확실히 작동하지 않는 것을 확인, 우리는 오류가 나타납니다 :

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Lucene.Net, Version=2.3.1.3, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

우리는 또한 등의 .config 파일을 제거하여 항목 양동이를 해제하려고하지만 우리는 더 문제가 있었다 아마 때문에 실제 내용/데이터 템플릿 변경 아이템 버킷 업데이트에 의해 만들어진 것입니다.

우리는 CMS 7.0을 새로 설치 한 다음 문제를 해결하기 위해 Sitecore 패키지를 사용하여 사용자 정의 코드 기반, 컨텐츠 트리의 항목 (데이터 템플릿, 레이아웃, 렌더링 등)을 마이그레이션 할 것을 고려하고 있습니다.

누군가가이 접근법을 확인하거나 훨씬 덜 고통스러운 해결책을 제시 할 수 있습니까?

많은 감사이 시점에서

답변

3

은 아직이에 대한 좋은 해결책이 없습니다.

모듈을 적극적으로 사용하고 있다면 지금 업그레이드 할 방법이 없습니다 (알고있는 것만은 아닙니다). 모든에서 모듈을 사용하지 않는 경우

, 당신은 ItemBuckets과 관련이있다 Sitecore 모든 것을 제거 할 수 있습니다. 이것은 현재 수동 작업입니다 ... (6.5 환경에서 성공 했음).

모든 것을 제거하려면 항목 버킷 설치 패키지 (ZIP 파일)를 열어 설치된 항목을 확인하고 Sitecore에서 모든 항목을 수동으로 제거하십시오. 여기에는 템플릿, 필드, 필드 유형, 설정이 포함됩니다.

콘텐츠 편집기에서 검색을 사용하여 "itembucket"또는 "item bucket"을 검색하고 이와 비슷한 항목을 찾을 수도 있습니다.

또 다른 방법은 마스터 및 코어 데이터베이스에서 SQL로 직접 검색하는 것입니다.

Sitecore 및 구성에서 버킷과 관련된 모든 것을 제거한 후에는 링크 데이터베이스를 다시 작성하고 제어판에서 데이터베이스 정리를 실행하면 좋은 결과를 얻을 수 있습니다.

더러운 일이 ... 누군가 더 좋은 방법이 있다면, 나는 그것에 대해 듣고 싶습니다!

+0

루드 - 답장을 보내 주셔서 감사합니다. 기본적으로 공유 소스 버킷 설치를 수동으로 제거하는 것이 좋습니다. 그것은 당신이 말한 것처럼 꽤 더러운 것입니다. 그러나 나는 다른 해결책을 추측합니다. 우리는 또한 모든 환경에서이 작업을 수행 할 필요가 있습니다. (하지만 개발자 환경에서이 작업을 수행하고 패키지를 적절하게 작성하여 이전 Item Buckets 설치를 제거 할 수 있다고 말하고 있습니다. – geedubb

7

(이것은 공식적인 Sitecore 조언이 아니므로 면책 조항에서 면제되었습니다. 면책 조항!)

도움이 될 몇 가지 아이디어를 ..

처음에 우리는) ​​

당신 수 취소 버킷 항목을 (사물의 데이터면에 작업을 잠시 프론트 엔드 코드를 잊지 필요 그래서 그들은 다시 일반 Sitecore 항목입니다. 당신이 전에 언급 한 바와 같이 그런 다음 항목 버킷 모듈 템플릿과 필드를 제거 할 수

또한 Sitecore 바위를 사용하여 'anti-package'를 만들어 볼 수 있었다 ('unbucketing'에 의해 이제 버킷 팅 템플릿 등에 더 의존이 없을 것) , 어느 쪽이든이 사이트 버킷 모듈 전에 사이트에 가까운 사이트를 제공해야합니다.

그런 다음 깨끗한 6.5 (120706)의 설치 한 후 Sitecore 택배와 같은 도구를 사용하여 작업 복사본 '마스터'데이터베이스 비교/기본을 얻을 수 있습니다.

Sitecore Courier - https://github.com/adoprog/Sitecore-Courier - 두 버전의 Sitecore DB를 서로 비교하고 그 차이를 업데이트 패키지로 만들 수 있습니다.

이 당신이 이론적으로 Sitecore의 새 복사본이 점을 설치할 수 있도록 '마스터'데이터베이스에 수행 된 모든 변경 사항에 대한 업데이트 패키지를해야한다.

당신이 이론 다음을 수행 할 수 있습니다 다시 버킷 이전 버킷 모듈을 사용하여 섹션에서이 업데이트 패키지를 설치하지만 사용하는 경우이 당신을 얻을 수 얼마나 멀리 볼 수있는 새로운 내장 된 버킷. 지금 Sitecore Linq에 사용 된 것과 같은

프런트 엔드 코드 현명한 검색에 액세스 이전 항목 버킷 모듈 방식을 완전히 다시 작성되었습니다. 희망이 마이그레이션하기 쉬울 것이다 버킷 아직도 내가이 일을위한 다른 기술에 대해 듣고 관심을 가질 것 루드와 마찬가지로 대부분 같은 방식으로 (도니는 다르게 잘하면 더 나은!)

에서 작동합니다.

모든 여분의 복잡성과 같은 일에서 올 수 : 당신이 수행 한 핵심 데이터베이스의 1) 얼마나 많은 사용자 정의 2) 당신은

+0

스티븐 감사합니다. 이것은 도움이됩니다. Sitecore Courier 도구에 대해 큰 호평을했습니다. 우리에게 좋은 소식은 핵심 db가 상당히 표준이며 사용자 정의 XAML 응용 프로그램이 없다는 것입니다. 나는 기쁨이 있다면 여기에 다시 올릴거야. – geedubb

+0

필자는 다음과 같이함으로써 dev enviro를 업그레이드 할 수 있다는 점에서이 점에 대해 더 알고 있습니다. 1. 모든 항목 버킷 참조를 제거하는 스크립트를 작성했습니다 (업데이트 버킷 .update 설치 관리자의 출력 로그를 리버스 엔지니어링하여). 내 사용자 정의 Lucene '고급 db'검색 구성 및 코드를 제거했습니다. 2. 버킷 기능이 작동하지 않는다는 것을 알았을 때 정상적인 항목으로 버킷의 모든 것을 백업하는 스크립트를 작성했습니다. 3. 문서 당 6.6에서 7.0으로의 Ran 업데이트. 4. 이제 Lucene 크롤러 사용자 지정 항목을 모두 다시 작성하고 7.0에서 항목을 rebucket해야합니다. 내가 예상했던 것보다 더 많은 일을했습니다! – geedubb

1

발생한 문제를 작성했을 수 있습니다 얼마나 많은 새로운 필드 유형 및 XAML 응용 프로그램 아이템 버켓 코드는 Lucene.Net 2.9에 대해 컴파일되었고 Sitecore 7은 v3.0.3을 가지고 있습니다.

당신은 새에 이전 버전을 매핑 한 다음 사용되지 않는 방법 등으로 얻을 수있는 문제를 해결하려면 Web.config의 구성/런타임 섹션에서 바인딩 assembley를 추가 할 수 있습니다 ...

당신은 아마도 새 버킷 템플리트 & 항목이 제안 된대로 업그레이드하기 전에 항목 버킷 모듈을 제거하려는 경우 항목이 공유 소스 버전과 충돌 할 수 있습니다. 적어도 충돌 할 수 있으므로 bin 폴더에서 Item 버킷 config 및 dll을 제거해야합니다.

아직 간단한 방법이 없거나 Sitecore가 업그레이드 경로를 이미 제공했다고 생각하지 않습니다.