Hallo Thomas,
ja, das ist technisch ohne weiteres möglich. Für den CC kann man einen sog. StatusProvider implementieren, dem dem "Framework" diejenigen Elemente liefert, auf denen dann Workflows gestartet werden. Das geschieht technisch über die implementierung eines WebeditElementStatusProviderPlugins. Dieses erzeugt dann eine Liste von WorkflowGroups - in einer WorkflowGroup sind dann alle Elemente enthalten, auf denen ein Workflow gemeinsam gestartet werden soll.
In eurem Fall würde sich z.B. anbieten, einen StatusProvider zu erstellen, der zwei Gruppen liefert: Einmal für die Struktur und einmal für die Inhalte. Ausgehend vom Beispiel-Screenshot (oben rechts) hättet ihr dann zwei statt drei Gruppen (dunkelgrau): "Content page" (statt "Page with all media") und "Structure" (statt "Page only").
Welche Elemente dann in den jeweiligen Gruppen landen, kommt dann auf Eiren Workflow an. Grundsätzlich gibt es hier zwei (nicht strikt getrennte) Varianten:
- In einer Gruppe liegt nur ein Element, davon abhängige werden dann über Skripte im Workflow freigegeben
- In einer Gruppe liegen mehrere Elemente, auf denen dann durch diesen Mechanismus parallel Workflows gestartet werden.
Man muss hier beachten, dass (falls in einer Gruppe mehrere Elemente liegen) nicht ein Workflow auf dieser Gruppe gestartet wird, sondern jeweils eine Workflow-Instanz pro Element erzeugt wird. Nach dem Starten "wissen" die einzelnen Elemente nichts mehr voneinander.
Der StatusProvider ist außerdem dafür zuständig, ausgehend von der Seite auf der sich der Redakteur befindet (was im CC immer einer Seitenreferenz oder einem Datensatz entspricht), einen von drei Stati zu liefern: Freigegeben, im Arbeitsablauf, geändert. Wenn ihr das für Inhalte und Seiten parallel machen wollt, könnte man die getrennten Stati (zur Information) einfach separat in die Ausgabe rendern und z.B. den Status oben in der Leiste so definieren dass er nur "freigegeben" liefert, wenn sowohl Struktur als auch Inhalt freigegeben ist.
Eine Beispielimplementierung die ihr euren Bedürfnissen entsprechend anpassen könnt, gibt es unter "Beispiele" (ContentCreator Examples Source Code Package).
Viele Grüße
Michael