2011-12-29 1 views
0

저는 고객의 지시에 따라 교육 콘텐츠 용으로 작은 CMS를 구축하고 있습니다. 기존 CMS를 사용하도록 권장했지만 처음부터 코딩하는 것을 살펴보고 싶습니다. 여기 CMS와 관련된 다른 질문은 CMS와 같은 상위 수준의 CMS 기능에 중점을 둡니다. 템플릿 편집, SEO, 라우팅 등을 포함하지만 저급 측면, 특히 콘텐츠 등의 버전 관리에 대해서는별로 알지 못합니다.MVC3의 CMS 기능 구현에 대한 조언

구체적으로 말하면 : 내가 볼 수있는 구성 요소 또는 라이브러리가 있습니까? 내 CMS에서 ContentItem이라고 부르는 버전 관리 또는이 작업을 직접 수행 할 수있는 훌륭한 리소스가 있습니까? ContentItem은 변경 내용 추적, 템플릿 입력란 등을 포함해야하는 큰 텍스트 조각입니다. 블로그 게시물, 교육 내용, 테스트 답변 등을 포함합니다.

Entity Framework 수준에서 변경 내용 추적에 사용할 수있는 포인터는 보너스가됩니다.

답변

1

데이터베이스 테이블에 버전을 추가하는 것은 매우 간단합니다. 버전에 대한 추가 필드를 추가하기 만하면 datetime, timestamp 또는 추가 할 순차 번호 일 수 있습니다. 이 키를 기존 키 (또는 고유 제한 조건)가있는 복합 기본 키로 만들면 황금이됩니다. 규칙은 모든 업데이트가 삽입 된 것입니다.

정말 간단합니다. 그런 다음 당신의 쿼리에서 당신은 기본적으로 최신 버전을 얻습니다. (정상적으로 작동하는 순서로 TOP 1을 수행합니다)

+0

그것은 간단 할 수 있지만, 아마도 조금 더 많은 버전이 필요할 것입니다. 게시 된 등등 및 '분기'등 – ProfK

+0

@ProfK - 나는 많은 CMS가 분기를 지원하는지 모르겠다. 대부분의 최종 사용자는 개념에 혼란 스러울 것입니다. (필자는 문서 관리를 위해 버전 관리를 사용할 때 어떻게 작동하는지 설명하려고 노력했습니다.) 물론 "콘텐츠 항목"에는 게시와 관련된 회원이 포함되어 있지만 이미 이해하고 있다고 가정합니다. 버전 관리에 대해 묻는 중입니다. –

+0

버전 관리를 포함하는 구성 요소 또는 라이브러리에 대해 다른 기능이 있다고 가정하고 일반적으로 묻습니다. 이미 해당 기능을 다루지 않았습니다. – ProfK