2012-10-11 4 views
1

Plone에서 작은 프로젝트를 프로토 타이핑하고 요구 사항이 여전히 유동적 일 때 가능한 한 KISS를 시도하고 있습니다. 이를 위해 필자는 지금까지 사용자 지정 콘텐츠 형식을 만드는 것에 저항했고 마커 인터페이스를 사용하여 콘텐츠의 "형식"을 구별했습니다.CMFWorkflow 및 마커 인터페이스

워크 플로를 살펴 보았으므로 유형에 바인딩되어 있고 마커에 할당하는 메커니즘이없는 것 같습니다. 나는 portal_workflow을 마커를 찾는 내 자신의 버전으로 감쌀 수 있다고 생각하지만 적절한 워크 플로우를 발견하면이를 반환 할 수 있습니다. 그러나 이것이 가능한 접근법이 아닌 것 같습니다.

내가 놓친 마커에 워크 플로를 할당하는 방법이 있습니까? 아니면 그냥 글 머리 기호를 물고 가벼운 사용자 지정 콘텐츠 형식을 만들어야합니까?

+0

이 경우 간단하게 새 콘텐츠 형식을 사용하는 것이 좋습니다. : -P –

+0

그래, 일단 내가 사용자 정의 워크 플로우가 필요하다는 것을 깨닫게 된 것은 꽤 많은 결론이었습니다. :) –

답변

1

있다하지 정말 마커를 사용하는 기능을 내장,하지만 http://www.martinaspeli.net/articles/dcworkflows-hidden-gems에서, 마틴 Aspeli는 가능하다는 힌트 : 플론 (Plone)에, 오브젝트의 워크 플로우 체인이 에 의해보고되는

주 개체와 워크 플로를 IworkflowChain 인터페이스 인터페이스로 멀티 적응. 어댑터 팩토리는 문자열 워크 플로 이름의 튜플을 반환해야합니다 (IWorkflowChain은 IReadSequence의 특수화이며 즉 튜플입니다). 기본값은 분명히 portal_workflow 도구의 매핑을 살펴 보지만 매핑을 재정의 할 수 있습니다 (예 : 일부 마커 인터페이스 resopnse.

+0

고마워요. 이것이 저를 처리 한 자신의'portal_workflow' 래퍼를 제공 할 수 있다고 생각하게 만들었습니다. 나는 사용자 정의 유형이 올바른 접근법이 될 것이라고 생각하지만, 해결책으로 당신을 선택했습니다. 명시된 문제를 해결하기 때문에 :) –

+1

모두 맞습니다. 이 인터페이스는 CMFPlacefulWorkflow를 가능하게합니다. 전체 인터페이스 경로는'Products.CMFPlone.interfaces.IWorkflowChain'입니다. 기본 구현은'Products.CMFPlone.workflow'에 있습니다. –

+0

예, 본격적인 콘텐츠 유형을 수행하는 것이 결국 더 간단한 경로 일 것입니다. –