Zum Inhalt springen

Typo3/Workspaces: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „–“ durch „-“
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=Introduction=
== TYPO3-Arbeitsbereiche ==
*Workspaces in Typo3 allow you to create new versions of the website
Diese Erweiterung führt Workflows mit benutzerdefinierten Stufen und Versionierung für einen detaillierteren Bearbeitungs- und Veröffentlichungsprozess ein.
*This tool is useful to create new versions before make them visible on the frontend
=Create a new Workspace=
*Enter in the root page of your website and create a new Workspace
[[Datei:Schermata 2021-02-24 alle 17.27.08.png|mini|ohne|New Workspace]]
*We will call it Version 3.0
*Set all the fields according to your needs
[[Datei:Schermata 2021-02-24 alle 17.28.58.png|mini|ohne|New Workspace]]
*Save>close
=The workspaces=
*You can switch between the different Workspaces (Versions) clicking the Workspaces icon
[[Datei:Schermata 2021-02-24 alle 17.33.05.png|mini|ohne|Workspaces icon]]
*The "Live Workspace" is the version of the website that is visible in the frontend
*You can select the version of the website you want to work on, in our case Version 3.0
*Once you are in the new Workspace you can add contents to the new version of the website
*The changes you will make in the new Workspace are not visible in the frontend
[[Datei:Schermata 2021-02-24 alle 17.36.56.png|mini|ohne|Add contents to the new Version]]
*The sections that are being modified in the new version are highlighted in the tree section
*Click on the View icon to check the new changes
[[Datei:Schermata 2021-02-24 alle 17.43.40.png|mini|ohne|View Icon]]
*Use the tool to see the differences between the 2 pages (1)
*If you are satisfied click on the button "Ready to publish" (2)
[[Datei:Schermata 2021-02-24 alle 17.48.15.png|mini|ohne|New version preview and "ready to publish" button]]
=Publish the changes=
*Enter in the Workspaces module of the new Workspace
*The highlighted pages are the ones that differ from the LIVE version of the website
[[Datei:Schermata 2021-02-24 alle 17.52.52.png|mini|ohne|New version]]
*You can see the changes that have be done for every page and set their status:
#Editing:The changes are not ready to be published. Someone is still working on them.
#Send to stage Ready to publish:The editor is satisfied of his work and is waiting for an approval
#Publish to LIVE: The changes will be published in the live Workspace
[[Datei:Schermata 2021-02-24 alle 17.55.23.png|mini|ohne|Different stages of publication]]


== Einleitung ==
=== Über dieses Dokument ===
Dieses Dokument erklärt, wie Versionierung und Workspaces in TYPO3 CMS funktionieren und wie sie eingerichtet werden. Der erste Teil erklärt den technischen Hintergrund für Administratoren oder Entwickler, die ihre Erweiterungen versionssicher machen wollen. Der zweite Teil richtet sich an Benutzer von Arbeitsbereichen, ein kurzer Leitfaden über die Möglichkeiten und die Verwendung von Arbeitsbereichen. Der letzte Teil zeigt, wie man einen eigenen Arbeitsbereich erstellt.


* This document explains how versioning and workspaces function in TYPO3 CMS and how they are set up.  
=== Credits ===
* The first part explains the technical background for administrators or developers who want to make their extensions version aware.  
Dieses Handbuch entspricht in weiten Teilen der Originalversion von Kasper aus dem [https://docs.typo3.org/typo3cms/InsideTypo3Reference/ Inside TYPO3] Dokument. Sie wurde an die Arbeitsbereiche und Versionierungsmodule angepasst und aktualisiert und in [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Workspaces/Index.html#workspaces TYPO3 erklärt] verschoben.
* The second part is for users of workspaces, a short guide about what is possible and how to use workspaces.
* The last part shows how to create a custom workspace.


= Users Guide =
=== Feedback ===
*This section covers the workspace-related features in the backend.
Wenn Sie einen Fehler entweder in diesem Handbuch oder in den Workspaces / Versionierungserweiterungen finden, benutzen Sie bitte den Bugtracker unter [https://forge.typo3.org/projects/typo3cms-core/issues https://forge.typo3.org/projects/typo3cms-core/issues].
*Most significantly workspaces have a selector box in the upper right corner of the backend.
[[File:WorkspaceMenu.png|none|The workspace selector in the top bar]]


*In this selector box you can choose between the workspaces available.
== Installation ==
*The whole backend reloads each time one changes workspace.
Diese Erweiterung ist Teil des TYPO3 Core, wird aber nicht standardmäßig installiert.
*As a visual reminder that you are currently in a workspace, a section of the top bar changes to a different color:
[[File:WorkspaceIndicator.png|none]]
Activation of a workspace highlighted in the top bar
As soon as you start editing inside a workspace, new versions get created for you.
A page which has a change in the current workspace is highlighted in the page tree:
[[File:ModifiedPageHighlight.png|none]]
Modified page highlighted in the page tree
The module '''WEB > Workspaces''' allows you to monitor changes in a workspace:
[[File:WorkspaceModuleOverview.png|none]]
An overview of the changes in the workspaces module
First of all you get an overview of all changes in the current workspace and the current page (or below, if so defined). This is also the control center for reviewing, editing and sending any change to another stage. All these operations are detailed below. The icons correspond to the following operations:# ''Show changes'': opens the detailed view
# ''Swap'': swaps the workspace and live version of that record
# ''Preview element'': opens the preview window
# ''Edit element'': edits the record
# ''Open version of page'': switches to the '''WEB > Page''' module
# ''Discard'': discards the change
# selects the record. Once a records is selected, the two action menus at the bottom left become active.


The third menu at the bottom of the view is called the "mass action" menu ([https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#users-guide-mass-action detailed below]).
Inhaltsübersicht* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#installation-with-composer Installation mit Composer]
You can also switch workspace by clicking on the corresponding tab.
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#installation-without-composer Installation ohne Composer]
The detailed view opens in a popup with the full history information.
[[File:WorkspaceModuleChangeDetails.png|none]]
Viewing all details about a change
== Previewing content ==
When in a workspace, as soon as you hit the "View webpage" button or use the "Save and view page" action, you will access the workspace preview. This is also possible straight from the ''Workspaces'' module, when clicking on the "Preview element" button.
The workspaces preview is a simultaneous view of the live and workspace version. The default selection is to show the workspace version and to display a slider with which it is possible to change the display to the live version. With the select box in the upper right corner you can change the mode to - for example - vertical split:
[[File:WorkspaceSplitPreview.png|none]]
Changing the workspaces split preview
Clicking on the "List view" tab leads you to the same view as the ''Workspaces'' module.


== Generating a preview link ==
=== Installation mit Composer ===
An additional feature of workspace is that a special preview link can be generated. It can be shared with anyone, even with people who have no access whatsoever to the TYPO3 CMS installation. With this link, people are able to view the page as it appears in the given workspace.
Prüfen Sie, ob Sie die Erweiterung bereits mit verwenden:
Simply hit the "Generate page preview links" button in the docheader and copy the link from the popup window:
[[File:PreviewLink.png|none]]
The preview link appears in a popup window


== Review process ==
composer show | grep workspaces
Sending a change to another stage in the review process is achieved via the detailed view popup window:
[[File:SendToAnotherStage.png|none]]
Sending a change to the previous or next stage
The change can either be sent to the next stage or sent back to the previous one. Once a stage has been selected, another popup window appears for entering a message:
[[File:SendToStageMessage.png|none]]
Adding a message upon sending to another stage
The messages are visible as comments in the change history.
Once the change reaches the "Ready to publish" stage, anyone with the proper rights can publish it to the LIVE version, upon which it is visible on the web site. Note that it is possible for anyone that is allowed to publish to directly publish from any stage. A change does therefore not necessary need to have been in all stages.
It is also possible to send a change to another stage by selecting it in the overview and using the menu at the bottom left:
[[File:IndividualActions.png|none]]
Sending one or more changes directly to some other stage


== The mass action menu ==
Dies sollte Ihnen entweder kein Ergebnis oder etwas ähnliches liefern:
*You can also publish, swap or discard a '''whole workspace''' at once with the third menu at the bottom.
*This select box - called "Mass Actions" - is only active when no element is selected:
[[File:MassActionsMenu.png|none]]
<div style="color:#ffffff;">Important</div>
<span style="background-color:#ebf6eb;">The mass actions affect the </span><span style="background-color:#ebf6eb;">'''whole workspace'''</span><span style="background-color:#ebf6eb;">, which means even the changes that may not currently be visible in the workspaces module because they are not within the currently selected branch in the page tree.</span>


== Workspace log ==
typo3/cms-workspaces v12.4.11
*The '''system log''' will also reflect operations in the workspace.  
*In the "User" column the name of the workspace appears below the username:
[[File:WorkspaceLogging.png|none]]


= Administration =
Wenn sie noch nicht installiert ist, verwenden Sie den Befehl <tt>composer require</tt>, um die Erweiterung zu installieren:
== Versioning ==
*TYPO3 CMS offers versioning of the database elements it manages.
*This versioning system allows you to work on future versions of content without affecting the live content.
*It is used by workflow systems to offer a process for such content, going from creation, editing to review and publishing.
*Versioning is available in the core API by default, but to gain access to management tools you must install the system extension "workspaces".
=== Technical Details ===
*Versioning must be enabled on a per-table basis in the [https://docs.typo3.org/m/typo3/reference-tca/master/en-us/Ctrl/Index.html#ctrl "ctrl" section of the TCA array] for the given table.
*In addition a fixed set of fields has to exist for the management of versions.
*All of these technical details are specified in the [https://docs.typo3.org/m/typo3/reference-tca/master/en-us/Ctrl/Properties/VersioningWS.html#ctrl-reference-versioningws description of the "versioningWS" TCA property].
*All other versioning and workspace-related properties are also described there.
*Future and past versions of records in TYPO3 CMS remain in the same table as the live version.
*However, all "offline" versions have a pid value of "-1" to set them apart.
*Furthermore they have a database field called "t3ver_oid" which points to their live ("online") counterpart.
*When a future/past version is swapped with the live version it is done by ''swapping all field values except the uid and pid'' fields (and of course versioning related fields are manipulated according to their function). It means that online content is always identified by the same id as before and therefore all references are kept intact.
*Versioning is easy for existing elements. However, moving, creating and deleting poses other problems. This is solved the following way:* Deleting elements is done by actually creating a new version of the element ''and'' setting a flag in the new version (<span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 2</span>) that indicates the live element must be deleted upon publishing the versions.
* Creating elements is done by first creating a placeholder element which is in fact live but carrying a flag (<span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 1</span>) that makes it invisible online. Then a new version of this placeholder with the flag (<span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = -1</span>) is made which is what is modified until published.
* Moving elements is done by first creating a placeholder element which is in fact live but carrying a flag (<span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 3</span>) that makes it invisible online. It also has a field, "t3ver_move_id", holding the uid of the record to move (source record). In addition, a new version of the source record is made with <span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 4</span> (move-to pointer). This version is necessary in order for the versioning system to have something to publish for the move operation. So in summary, two records are created for a move operation in a workspace: The placeholder (online, with <span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 3</span> and "t3ver_move_id" set) and a new version (<span style="background-color:#f2f2f2;color:#ff5370;">t3ver_state = 4</span>) of the online source record (the one being moved).


==== Unique fields ====
composer require typo3/cms-workspaces
* Unique fields like a page alias or user name are tricky in a versioning scenario because the publication process must perform a check if the field is unique in the "Live" situation. The implications of implementing this means that we have chosen a solution where unique fields are simply not swapped at all! It means that publication of a new version of a page cannot and will not alter the alias of the live version. The "Live" unique value will remain until changed in the live version.
* You can hide fields with the "unique" keyword when there are offline versions. This is done with the display condition:


<div style="color:#eeffff;margin-left:0cm;margin-right:0cm;"><span style="color:#82aaff;">'displayCond'</span> <span style="color:#ff5370;"><nowiki>=></nowiki></span> <span style="color:#82aaff;">'VERSION:IS:false'</span>,</div>
Die angegebene Version hängt von der Version des TYPO3 Core ab, die Sie verwenden.
==== Permissions ====
This is an overview of how permissions are handled in relation to versioning:
===== Display =====
* Read permissions are evaluated based on the live version of pages (as the basic rule). The read permissions of the offline page version in a workspace is not observed.
* The ID of the live record is used so the live records display- permissions get evaluated.


===== Versioning records =====
=== Installation ohne Composer ===
* To create a new version the user must have read permission to the live record he requests to version
Bei einer Installation ohne Composer wird die Erweiterung bereits ausgeliefert, ist aber möglicherweise noch nicht aktiviert. Aktivieren Sie sie wie folgt:# Navigieren Sie im Backend zum Modul Admin Tools > Extensions.
* A new version of a page will inherit the owner user, group and permission settings from the live record
# Klicken Sie auf das Symbol Aktivieren für die Erweiterung "Workspaces".


===== Publishing version =====
[[Image:Bild2.png|top|alt="Extension manager showing Workspaces extension"]]
* To publish, a user must have general publishing permission in the workspace, for instance be the owner of it or have access to the Live workspace.
* In addition, the user must have read and edit access to the offline version being published plus edit access to the ''live version'' that a publishing action will substitute!
* The permissions of a new version of a page follows the page when published.


===== Editing records =====
Erweiterungsmanager mit der Erweiterung Workspaces
* For all editing it is required that the stage of the versioned record (or root point) allows editing.
* Page records:
** Permission to edit is always evaluated based on the pages own permission settings and not the live records.
* Records from non-pages tables:
** Always based on the live parent page.


===== New records =====
== Verwaltung ==
* When new records are created with a version and live place holder the permissions depend on the live page under which the record is created.
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#versioning-1 Versionierung]
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#workspaces-1 Arbeitsbereiche]
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#creating-a-custom-workspace Erstellen eines benutzerdefinierten Arbeitsbereichs]
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#configuration-options Konfigurationsoptionen]
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#scheduler-tasks Planer-Aufgaben]


===== Moving records =====
== Versionierung ==
* Records can be moved as long as the source and destination root point to a stage that allows it.
TYPO3 CMS bietet eine Versionierung der Datenbankelemente, die es verwaltet. Dieses Versionierungssystem ermöglicht es Ihnen, an zukünftigen Versionen von Inhalten zu arbeiten, ohne dass der aktuelle Inhalt beeinträchtigt wird. Es wird von Workflow-Systemen verwendet, um einen Prozess für solche Inhalte anzubieten, der von der Erstellung über die Bearbeitung bis zur Überprüfung und Veröffentlichung reicht.
* New records created with a placeholder element can be moved freely around.
* Generally, the stage of a moved record has to allow for editing plus regular permissions for moving.


===== Deleting records =====
Die Versionierung ist in der Kern-API standardmäßig verfügbar, aber um Zugang zu den Verwaltungswerkzeugen zu erhalten, müssen Sie die Systemerweiterung "Workspaces" installieren.
* If a record supports versioning it will be marked for deletion if all usual requirements are fulfilled at the time of the delete request: delete access to record, no subpages if recursive deletion is not enabled and no disallowed table records are found. As soon as the record is marked for deletion any change to the record and subpages that would otherwise prevent deletion for the user will not be effective. The record ''will'' be deleted upon publication!
* If you try to delete a Live record for which a version is found in the workspace, that version is deleted instead.
* Detaching versions from a workspace and raising stage of versions can be done as long as the user has edit permission to the record.


== Workspaces ==
=== Technische Details ===
*Workspaces are the user interface that sits on top of the versioning concept, to make it easier for users to manage versions.
Die Versionsverwaltung muss für jede Tabelle in der [https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Ctrl/Index.html#ctrl "ctrl"-Sektion des TCA-Arrays] für die jeweilige Tabelle aktiviert werden. Darüber hinaus muss ein fester Satz von Feldern für die Verwaltung von Versionen vorhanden sein. Alle diese technischen Details sind in der [https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Ctrl/Index.html#ctrl-reference-versioningws Beschreibung der TCA-Eigenschaft "versioningWS"] aufgeführt. Dort sind auch alle anderen versionierungs- und arbeitsbereichsbezogenen Eigenschaften beschrieben.
*Furthermore workspaces make it possible to create a number of stages for validation of any given change, thus providing a complete review process before publication.
*Users at all stages can be notified about changes in the review process.
*A workspace is a state in the backend of TYPO3 CMS.
*Basically there are two types of workspaces:
#LIVE workspace: this is exactly the state TYPO3 CMS has always been in. Any change you make will be instantly live. Nothing has changed, it just got a name.<br/>Access to the Live workspace must be explicitly granted to backend users and groups (in the "Mounts and Workspaces" tab).
#Custom workspaces: when users select a custom workspace new rules apply to anything they do in the backend:
* Safety: any change they try to make will not affect the live website. It’s a safe playground.
* Transparent versioning: they can edit pages and elements because a new version is made automatically and attached to the workspace. No training needed, no administrative overhead!
* Previewing: visiting the frontend website will display it as it will appear when all versions in the workspace are eventually published.
* Overview of changes: the workspace manager module gives a clear overview of all changes that have been made inside the workspace across the site. This gives unparalleled control before making the content live.
* Constraints: only tables that support versioning can be edited.
* Flexibility: custom workspaces can be configured with owners, members and reviewers plus database mounts and more. A custom workspace can thus offer a more targeted editing area than backend users and groups. Plus a review process as simple or complete as needed.


=== Publishing and swapping ===
Zukünftige und vergangene Versionen von Datensätzen in TYPO3 CMS bleiben in der gleichen Tabelle wie die Live-Version. Allerdings haben alle "Offline"-Versionen einen pid-Wert von "-1", um sie zu unterscheiden. Außerdem haben sie ein Datenbankfeld mit dem Namen "t3ver_oid", das auf ihr Live-Pendant ("online") verweist.
*There are two ways to publish an element in a workspace; publish or swap.
*In both cases the draft content is published live. But when swapping it means the current live element is attached to the workspace when taken offline. *This is contrary to the publish mode which pushes the live item out of any workspace and "into the archive".
*The swapping mode is useful if you have a temporary campaign, say a Christmas special frontpage and website section.
*You create the Christmas edition in a custom workspace and two weeks before Christmas you swap in the Christmas edition. All normal pages and elements that were unpublished are now in the workspace, waiting for Christmas to pass by and eventually the old frontpage und weitere will be swapped back in. The Christmas edition is now back in the workspace and ready for next year.
=== Extensions and workspaces ===
Workspaces imply transparent support all over the backend and frontend and extensions must be programmed with this in mind. Although the ideal is complete transparency in backend and perfect previews in the frontend, this is almost impossible to obtain. Nevertheless a high level of consistency can be obtained by using the API provided by TYPO3 CMS. These functions and the challenges they are designed to address are discussed in [https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Workspaces/Index.html#workspaces TYPO3 Core API].


==Create a new Workspace==
Wenn eine zukünftige/vergangene Version mit der Live-Version ausgetauscht wird, geschieht dies durch ''Austausch aller Feldwerte außer den Feldern uid und pid'' (und natürlich werden versionierungsbezogene Felder entsprechend ihrer Funktion manipuliert). Das bedeutet, dass der Online-Inhalt immer durch dieselbe ID identifiziert wird wie zuvor und daher alle Referenzen intakt bleiben.
*Enter in the root page of your website and create a new Workspace
[[Datei:Schermata 2021-02-24 alle 17.27.08.png|mini|ohne|New Workspace]]
*We will call it Version 3.0
*Set all the fields according to your needs
[[Datei:Schermata 2021-02-24 alle 17.28.58.png|mini|ohne|New Workspace]]
*Save>close
*Except for the LIVE workspace (i.e. the default TYPO3 CMS working environment), some custom workspaces must be created before anyone can start using the features described in this document.
*By default a custom workspace contains three stages, which represent steps in the validation process: "editing", "ready to publish" and "publishing execute". Additional stages can be added.
=== General ===
[[File:CustomWorkspaceGeneralTab.png|none]]
Entering the general information about the workspace
As with most records in the TYPO3 CMS universe, this is just about setting a clear title and a helpful description.


=== Users ===
Die Versionierung ist für bestehende Elemente einfach. Das Verschieben, Erstellen und Löschen wirft jedoch andere Probleme auf. Dies wird auf folgende Weise gelöst:* Das Löschen von Elementen erfolgt durch die Erstellung einer neuen Version des Elements ''und'' das Setzen einer Markierung in der neuen Version (<tt>t3ver_</tt>), die angibt, dass das aktive Element bei der Veröffentlichung der Versionen gelöscht werden muss.
[[File:CustomWorkspaceUsersTab.png|none]]
* Bei der Erstellung von Elementen wird zunächst ein Platzhalter-Element erstellt, das tatsächlich live ist, aber eine Markierung (<tt>t3ver_</tt>) trägt, die es online unsichtbar macht. Dann wird eine neue Version dieses Platzhalters mit dem Flag (<tt>t3ver_</tt>) erstellt, die bis zur Veröffentlichung geändert wird.
Setting up owners and members of the workspace
* Das Verschieben von Elementen erfolgt, indem zunächst ein Platzhalterelement erstellt wird, das in der Tat live ist, aber eine Markierung (<tt>t3ver_</tt>) trägt, die es online unsichtbar macht. Es hat auch ein Feld, "t3ver_move_id", das die uid des zu verschiebenden Datensatzes (Quelldatensatz) enthält. Außerdem wird eine neue Version des Quelldatensatzes mit <tt>t3ver_</tt> (move-to pointer) erstellt. Diese Version ist notwendig, damit das Versionierungssystem etwas hat, das es für den Verschiebevorgang veröffentlichen kann. Zusammengefasst werden also zwei Datensätze für einen Verschiebevorgang in einem Arbeitsbereich erstellt: Der Platzhalter (online, mit <tt>t3ver_</tt> und "t3ver_move_id") und eine neue Version (<tt>t3ver_</tt>) des Online-Quelldatensatzes (der, der verschoben wird).
This tab is about setting up user permissions. The "Owners" have all possible rights over the workspace, including publication to live. "Members" also have all the rights, although they may be prevented from publishing with the "Only workspace owner can publish" setting (see the [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#custom-workspace-other Other tab]).
<div style="color:#212121;">Note</div>
As usual, it is recommended to work with groups rather than individual users. "Admin" users have access to all workspaces and all operations within workspaces.
<div style="color:#212121;">Note</div>
Users must be given explicit access to the LIVE workspace. This is done at the level backend users or backend groups.
[[File:LiveWorkspacesPermission.png|none]]
Giving access to the LIVE workspace to a backend group


=== Notification settings ===
==== Eindeutige Felder ====
[[File:CustomWorkspaceNotificationsTab.png|none]]
* Eindeutige Felder wie ein Seitenalias oder ein Benutzername sind in einem Versionierungsszenario heikel, da der Veröffentlichungsprozess eine Prüfung durchführen muss, ob das Feld in der "Live"-Situation eindeutig ist. Das bedeutet, dass wir eine Lösung gewählt haben, bei der eindeutige Felder überhaupt nicht ausgetauscht werden! Dies bedeutet, dass die Veröffentlichung einer neuen Version einer Seite den Alias der Live-Version nicht ändern kann und wird. Der eindeutige Wert "Live" bleibt erhalten, bis er in der Live-Version geändert wird.
Fine-grained definition for the notification process
* Sie können Felder mit dem Schlüsselwort "unique" ausblenden, wenn es Offline-Versionen gibt. Dies geschieht mit der Anzeigebedingung:
Each time a given change or set of changes moves from one stage to another (either forward or backward in the review process), people can be notified about this status change. This tab is about defining the behavior of the notification process.
With "Stage change notification by email" you can choose who gets notified. This can be either all users involved in the workspace (no matter the stage) or only the users involved with the stage the changes are being sent to.
Subsequently you can configure settings for the three predefined stages.
<div style="color:#212121;">Note</div>
The screenshot is cropped. The settings are the same for each stage.
The "Settings dialog" is about the popup window which appears after each review process. If the "show dialog" box is not checked, the popup will not even appear and notifications will be sent according to the predefined settings. When the "changeable preselection" box is checked, the preselected list of users to notify can be modified on the fly before sending the change notification.
The "Preselection" setting makes it possible to choose which users should be preselected by default in the notification popup. Furthermore specific users can be added to the list of notified people using the "Default notification mail recipients" field.


=== Mountpoints ===
'displayCond' => 'VERSION:IS:false',
[[File:CustomWorkspaceMountpointsTab.png|none]]
Setting alternate mountpoint for the workspace
A workspace can be restricted to one or more mountpoints. These need not be the same as the mountpoints from the users and groups that are allowed access to this workspace.
If no mountpoints are defined, the mountpoints from the users and the groups they belong to are used.


=== Publishing ===
==== Berechtigungen ====
[[File:CustomWorkspacePublishingTab.png|none]]
Dies ist ein Überblick über die Handhabung von Berechtigungen im Zusammenhang mit der Versionierung:
Choosing a publication date for the custom workspace
If a "Publish" date is set, the content of the workspace will be automatically published on the given date. This requires the "Workspaces auto-publication" Scheduler task to be activated.
<div style="color:#212121;">Note</div>
Only the content which is "Ready to publish" is actually published.


=== Staging ===
===== Anzeigen =====
Any number of custom stages can be created. Each corresponds to an additional step in the review process. Custom stages can be ordered at will. However they all come after the default "Editing" stage and before the default "Ready to publish" stage.
* Leseberechtigungen werden auf der Grundlage der Live-Version von Seiten ausgewertet (als Grundregel). Die Leseberechtigungen der Offline-Seitenversion in einem Arbeitsbereich werden nicht berücksichtigt.
[[File:CustomWorkspaceStagingTabGeneral.png|none]]
* Es wird die ID des Live-Datensatzes verwendet, damit die Anzeigeberechtigungen des Live-Datensatzes ausgewertet werden.
Setting the general information of a custom stage
In the "General" tab of a custom stage, a restricted set of users can be chosen from among "Owners" and "Members". They are called "Responsible persons".
[[File:CustomWorkspaceStagingTabNotifications.png|none]]
Defining the notification settings of a custom stage
The notification settings for a custom stage are mostly the same as for the default stages, except that the "Responsible persons" can also be chosen in the predefined list of users to notify and that a "Default mail comment" can be defined for that stage.
<div style="color:#212121;">Note</div>
In this context "Editors" means the people that have been involved in the change originally.


=== Other ===
===== Versionierung von Datensätzen =====
[[File:CustomWorkspaceOtherTab.png|none]]
* Um eine neue Version zu erstellen, muss der Benutzer Leserechte für den Live-Datensatz haben, den er versionieren möchte
Miscellaneous settings for a custom workspace
* Eine neue Version einer Seite erbt die Einstellungen für den Eigentümer, die Gruppe und die Berechtigungen aus dem Live-Datensatz
The "Other" tab is comprised of various settings affecting the behavior of the custom workspace.
The "Freeze editing" flag actually blocks all operations in the workspace until it is turned off again.
It is possible to allow editing of non-versionable records in the custom workspace. These records will be edited "live", i.e. any changes to them performed in the workspace will be directly visible on the web site, rather than going through the review process.
"Swap modes" defines if swapping should take place or not upon automatic publishing.
The "Publish access" setting further refines publishing rights. If the "Publish only content in publish stage" box is checked, modified content cannot be forcefully published by workspace owners at whatever stage. It has to reach the "Ready to publish" stage. Also publication can be restricted to the owners of the workspace (i.e. members may not publish).


== Configuration Options ==
===== Version veröffentlichen =====
There are a number of User TSconfig and Page TSconfig properties related to workspaces.
* Um zu veröffentlichen, muss ein Benutzer über allgemeine Veröffentlichungsrechte im Arbeitsbereich verfügen, z.B. muss er der Eigentümer des Arbeitsbereichs sein oder Zugriff auf den Live-Arbeitsbereich haben.
<div style="color:#212121;">Note</div>
* Außerdem muss der Benutzer Lese- und Bearbeitungsrechte für die zu veröffentlichende Offline-Version sowie Bearbeitungsrechte für die ''Live-Version'' haben, die durch eine Veröffentlichungsaktion ersetzt wird!
Some of these options are actually handled by the "version" system extension, but apply to workspaces.* [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#page-tsconfig Page TSconfig]
* Die Berechtigungen einer neuen Version einer Seite folgen der Seite, wenn sie veröffentlicht wird.
** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#workspaces workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#splitpreviewmodes splitPreviewModes]
** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#options-workspaces options.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#previewpageid previewPageId]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#enablemassactions enableMassActions]
** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#tx-version-workspaces tx_version.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#stagenotificationemail-subject stageNotificationEmail.subject]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#stagenotificationemail-message stageNotificationEmail.message]
* [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#user-tsconfig User TSconfig]
** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#usertsconfig-options-workspaces options.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#previewlinkttlhours previewLinkTTLHours]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#swapmode swapMode]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#changestagemode changeStageMode]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#allowed-languages allowed_languages]


=== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id2 Page TSconfig] ===
===== Bearbeiten von Datensätzen =====
==== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id3 workspaces] ====
* Für alle Bearbeitungen ist es erforderlich, dass die Stufe des versionierten Datensatzes (oder der Wurzelpunkt) die Bearbeitung zulässt.
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id4 splitPreviewModes] =====
* Seitendatensätze:
'''Data type'''
** Die Berechtigung zur Bearbeitung wird immer anhand der Berechtigungseinstellungen der Seite und nicht anhand der Live-Datensätze bewertet.
<div style="margin-left:0cm;margin-right:0cm;">String</div>
* Datensätze aus Nicht-Seiten-Tabellen:
'''Description'''
** Basiert immer auf der übergeordneten Live-Seite.
<div style="margin-left:1cm;margin-right:0cm;">Comma-separated list of allowed values for preview modes. Possible values are "slider", "vbox" and "hbox".</div>
'''Example'''
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">workspaces.splitPreviewModes <span style="color:#ff5370;"><nowiki>=</nowiki></span> slider</div>
<div style="margin-left:1cm;margin-right:0cm;">will restrict the preview mode to "slider".</div>
'''Default'''
<div style="margin-left:0cm;margin-right:0cm;">slider, vbox, hbox</div>
==== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id5 options.workspaces] ====
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id6 previewPageId] =====
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">Integer / fieldReference per table</div>
'''Description'''
<div style="margin-left:1cm;margin-right:0cm;">Page uid used for previewing records on a workspace.</div>
'''Examples'''
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;"><nowiki># Using page 123 for previewing workspaces records (in general)</nowiki></div>
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">options.workspaces.previewPageId <span style="color:#ff5370;"><nowiki>=</nowiki></span> <span style="color:#ffcb6b;">123</span></div>


<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;"><nowiki># Using the pid field of each record for previewing (in general)</nowiki></div>
===== Neue Datensätze =====
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">options.workspaces.previewPageId <span style="color:#ff5370;"><nowiki>= </nowiki></span><span style="color:#ffffff;">field</span><span style="color:#ff5370;">:</span>pid</div>
* Wenn neue Datensätze mit einer Version und einem Live-Platzhalter erstellt werden, hängen die Berechtigungen von der Live-Seite ab, unter der der Datensatz erstellt wird.


<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;"><nowiki># Using page 123 for previewing workspaces records (for table tx_myext_table)</nowiki></div>
===== Verschieben von Datensätzen =====
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">options.workspaces.previewPageId.tx_myext_table <span style="color:#ff5370;"><nowiki>=</nowiki></span> <span style="color:#ffcb6b;">123</span></div>
* Datensätze können verschoben werden, solange die Quell- und Zielwurzel auf eine Stufe zeigen, die dies zulässt.
* Neue Datensätze, die mit einem Platzhalterelement erstellt wurden, können frei verschoben werden.
* Im Allgemeinen muss die Stufe eines verschobenen Datensatzes die Bearbeitung sowie die regulären Berechtigungen für das Verschieben zulassen.


<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;"><nowiki># Using the pid field of each record for previewing (for table tx_myext_table)</nowiki></div>
===== Löschen von Datensätzen =====
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">options.workspaces.previewPageId.tx_myext_table <span style="color:#ff5370;"><nowiki>= </nowiki></span><span style="color:#ffffff;">field</span><span style="color:#ff5370;">:</span>pid</div>
* Wenn ein Datensatz die Versionierung unterstützt, wird er zum Löschen markiert, wenn alle üblichen Voraussetzungen zum Zeitpunkt der Löschanfrage erfüllt sind: Löschzugriff auf den Datensatz, keine Unterseiten, wenn rekursives Löschen nicht aktiviert ist, und keine unzulässigen Tabellensätze gefunden werden. Sobald der Datensatz zum Löschen markiert ist, werden alle Änderungen am Datensatz und an den Unterseiten, die sonst das Löschen für den Benutzer verhindern würden, nicht mehr wirksam. Der Datensatz ''wird'' bei Veröffentlichung gelöscht!
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id7 enableMassActions] =====
* Wenn Sie versuchen, einen Live-Datensatz zu löschen, für den eine Version im Arbeitsbereich gefunden wird, wird stattdessen diese Version gelöscht.
'''Data type'''
* Das Entfernen von Versionen aus einem Arbeitsbereich und das Erhöhen der Versionsstufe ist möglich, solange der Benutzer Bearbeitungsrechte für den Datensatz besitzt.
<div style="margin-left:0cm;margin-right:0cm;">Boolean</div>
 
'''Description'''
===== Dateien / Assets / Ressourcen =====
<div style="margin-left:0cm;margin-right:0cm;">If set to "0", the mass actions menu will not be available to users.</div>
Zur Verwaltung von Dateien/Assets (im Gegensatz zu Datensätzen/Seiten) wird der Live-Arbeitsbereich verwendet. Das bedeutet, dass für den Zugriff auf Backend-Module wie das Dateilistenmodul entsprechende Rechte für den Live-Arbeitsbereich festgelegt werden müssen.
'''Default'''
 
<div style="margin-left:0cm;margin-right:0cm;">1</div>
== Arbeitsbereiche ==
==== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id8 tx_version.workspaces] ====
Arbeitsbereiche sind die Benutzeroberfläche, die auf dem Versionierungskonzept aufbaut, um den Benutzern die Verwaltung der Versionen zu erleichtern.
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id9 stageNotificationEmail.subject] =====
 
(<span style="background-color:#f2f2f2;color:#ff5370;">tx_version.workspaces.stageNotificationEmail.subject</span>)
Darüber hinaus ermöglichen es Arbeitsbereiche, eine Reihe von Stufen für die Validierung einer bestimmten Änderung zu erstellen und so einen vollständigen Überprüfungsprozess vor der Veröffentlichung zu gewährleisten. Die Benutzer aller Stufen können über Änderungen im Überprüfungsprozess benachrichtigt werden.
'''Data type'''
 
<div style="margin-left:0cm;margin-right:0cm;">String / Localized string reference (using <span style="background-color:#f2f2f2;color:#ff5370;">LLL:</span> syntax).</div>
Ein Arbeitsbereich ist ein Zustand im Backend von TYPO3 CMS. Grundsätzlich gibt es zwei Arten von Arbeitsbereichen:* LIVE-Arbeitsbereich: Dies ist genau der Zustand, in dem sich TYPO3 CMS immer befunden hat. Jede Änderung, die Sie vornehmen, wird sofort live sein. Es hat sich nichts geändert, er hat nur einen Namen bekommen.
'''Description'''
 
<div style="margin-left:1cm;margin-right:0cm;">The default subject for the stage notification email.</div>
Der Zugriff auf den Live-Arbeitsbereich muss den Backend-Benutzern und -Gruppen explizit gewährt werden (auf der Registerkarte "Mounts und Arbeitsbereiche").
The following markers can be used for replacement:* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###SITE_NAME###</nowiki></span>
* Benutzerdefinierte Arbeitsbereiche: Wenn Benutzer einen benutzerdefinierten Arbeitsbereich auswählen, gelten neue Regeln für alles, was sie im Backend tun:
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###SITE_URL###</nowiki></span>
** Sicherheit: Jede Änderung, die sie vornehmen wollen, hat keine Auswirkungen auf die aktuelle Website. Es ist ein sicherer Spielplatz.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###WORKSPACE_TITLE###</nowiki></span>
** Transparente Versionierung: Sie können Seiten und Elemente bearbeiten, da eine neue Version automatisch erstellt und an den Arbeitsbereich angehängt wird. Keine Schulung erforderlich, kein Verwaltungsaufwand!
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###WORKSPACE_UID###</nowiki></span>
** Vorschau: Wenn Sie die Frontend-Website besuchen, wird sie so angezeigt, wie sie erscheinen wird, wenn alle Versionen im Arbeitsbereich schließlich veröffentlicht werden.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###ELEMENT_NAME###</nowiki></span>
** Überblick über Änderungen: Das Modul Workspace Manager bietet einen klaren Überblick über alle Änderungen, die innerhalb des Arbeitsbereichs auf der gesamten Website vorgenommen wurden. Dies ermöglicht eine unvergleichliche Kontrolle, bevor der Inhalt live geschaltet wird.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###NEXT_STAGE###</nowiki></span>
** Einschränkungen: Nur Tabellen, die die Versionierung unterstützen, können bearbeitet werden.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###COMMENT###</nowiki></span>
** Flexibilität: Benutzerdefinierte Arbeitsbereiche können mit Eigentümern, Mitgliedern und Prüfern sowie Datenbankmounts und mehr konfiguriert werden. Ein benutzerdefinierter Arbeitsbereich kann somit einen gezielteren Bearbeitungsbereich bieten als Backend-Benutzer und -Gruppen. Und ein Überprüfungsverfahren, das je nach Bedarf einfach oder vollständig ist.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###USER_REALNAME###</nowiki></span>
 
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###USER_USERNAME###</nowiki></span>
=== Veröffentlichen und Austauschen ===
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###RECORD_PATH###</nowiki></span>
Es gibt zwei Möglichkeiten, ein Element in einem Arbeitsbereich zu veröffentlichen: veröffentlichen oder austauschen. In beiden Fällen wird der Entwurfsinhalt live veröffentlicht. Beim Swappen bedeutet dies jedoch, dass das aktuelle Live-Element an den Arbeitsbereich angehängt wird, wenn es offline genommen wird. Dies steht im Gegensatz zum Veröffentlichungsmodus, bei dem das Live-Element aus dem Arbeitsbereich heraus und "ins Archiv" verschoben wird.
* <span style="background-color:#f2f2f2;color:#ff5370;"><nowiki>###RECORD_TITLE###</nowiki></span>
 
Der Auslagerungsmodus ist nützlich, wenn Sie eine zeitlich begrenzte Kampagne haben, z. B. eine spezielle Weihnachtsseite und einen Website-Bereich. Sie erstellen die Weihnachtsausgabe in einem benutzerdefinierten Arbeitsbereich und zwei Wochen vor Weihnachten tauschen Sie die Weihnachtsausgabe aus. Alle normalen Seiten und Elemente, die nicht veröffentlicht wurden, befinden sich jetzt im Arbeitsbereich und warten darauf, dass Weihnachten vorbei ist und die alte Titelseite usw. wieder eingefügt wird. Die Weihnachtsausgabe ist nun wieder im Arbeitsbereich und bereit für das nächste Jahr.
 
=== Erweiterungen und Workspaces ===
Arbeitsbereiche setzen eine transparente Unterstützung im gesamten Backend und Frontend voraus, und Erweiterungen müssen unter diesem Gesichtspunkt programmiert werden. Obwohl das Ideal eine vollständige Transparenz im Backend und eine perfekte Vorschau im Frontend ist, ist dies fast unmöglich zu erreichen. Nichtsdestotrotz kann ein hohes Maß an Konsistenz erreicht werden, indem die von TYPO3 CMS bereitgestellte API genutzt wird. Diese Funktionen und die Herausforderungen, die sie lösen sollen, werden in [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Workspaces/Index.html#workspaces TYPO3 erklärt] behandelt.
 
== Erstellen eines benutzerdefinierten Arbeitsbereichs ==
Außer dem LIVE-Arbeitsbereich (d.h. der Standard-Arbeitsumgebung von TYPO3 CMS) müssen einige benutzerdefinierte Arbeitsbereiche erstellt werden, bevor die in diesem Dokument beschriebenen Funktionen genutzt werden können.
 
Standardmäßig enthält ein benutzerdefinierter Arbeitsbereich drei Stufen, die Schritte im Validierungsprozess darstellen: "Bearbeitung", "bereit zur Veröffentlichung" und "Veröffentlichung ausführen". Es können weitere Stufen hinzugefügt werden.
 
Um das folgende Element zu erreichen, müssen Sie zur Stammseite gehen (die Seite mit dem TYPO3-Symbol im Seitenbrowser), auf "Neuen Datensatz erstellen" klicken und einen Systemdatensatz vom Typ "Arbeitsbereich" erstellen.
 
Dieses Kapitel beschreibt alle Eigenschaften eines Arbeitsbereichs, wie sie im Bearbeitungsformular erscheinen, gruppiert nach Registerkarten.
 
=== Allgemein ===
[[Image:CustomWorkspaceGeneralTab.pngBild3.png|top|alt="The General tab of a custom workspace"]]
 
Eingabe der allgemeinen Informationen zum Arbeitsbereich
 
Wie bei den meisten Einträgen im TYPO3 CMS Universum geht es auch hier nur darum, einen klaren Titel und eine hilfreiche Beschreibung zu setzen.
 
=== Benutzer ===
[[Image:CustomWorkspaceUsersTab.pngBild4.png|top|alt="The Users tab of a custom workspace"]]
 
Einrichten von Eigentümern und Mitgliedern des Arbeitsbereichs
 
Auf dieser Registerkarte geht es um die Einrichtung von Benutzerberechtigungen. Die "Eigentümer" haben alle möglichen Rechte über den Arbeitsbereich, einschließlich der Veröffentlichung zum Leben. "Mitglieder" haben ebenfalls alle Rechte, obwohl sie mit der Einstellung "Nur Arbeitsbereichseigentümer kann veröffentlichen" an der Veröffentlichung gehindert werden können (siehe Registerkarte [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#custom-workspace-other Andere]).
 
Hinweis
 
Wie üblich ist es empfehlenswert, mit Gruppen statt mit einzelnen Benutzern zu arbeiten. "Admin"-Benutzer haben Zugriff auf alle Arbeitsbereiche und alle Operationen innerhalb der Arbeitsbereiche.
 
Hinweis
 
Den Benutzern muss ausdrücklich Zugang zum LIVE-Arbeitsbereich gewährt werden. Dies geschieht auf der Ebene der Backend-Benutzer oder Backend-Gruppen.
 
[[Image:LiveWorkspacesPermission.pngBild5.png|top|alt="Access to the live workspace"]]
 
Zugriff auf den LIVE-Arbeitsbereich für eine Backend-Gruppe gewähren
 
=== Benachrichtigungseinstellungen ===
[[Image:CustomWorkspaceNotificationsTab.pngBild6.png|top|alt="The Notification settings tab of a custom workspace"]]
 
Fein abgestimmte Definition des Benachrichtigungsprozesses
 
Jedes Mal, wenn eine bestimmte Änderung oder ein Satz von Änderungen von einem Stadium in ein anderes übergeht (entweder vorwärts oder rückwärts im Überprüfungsprozess), können Personen über diese Statusänderung benachrichtigt werden. Auf dieser Registerkarte wird das Verhalten des Benachrichtigungsprozesses festgelegt.
 
Mit "Benachrichtigung über Stufenänderung per E-Mail" können Sie festlegen, wer benachrichtigt werden soll. Dies können entweder alle am Arbeitsbereich beteiligten Benutzer sein (unabhängig von der Stufe) oder nur die Benutzer, die an der Stufe beteiligt sind, an die die Änderungen gesendet werden.
 
Anschließend können Sie Einstellungen für die drei vordefinierten Phasen konfigurieren.
 
Hinweis
 
Das Bildschirmfoto ist beschnitten. Die Einstellungen sind für jede Stufe die gleichen.
 
Beim "Einstellungsdialog" handelt es sich um das Popup-Fenster, das nach jedem Überprüfungsvorgang erscheint. Wenn das Kontrollkästchen "Dialog anzeigen" nicht aktiviert ist, zeigt das Popup-Fenster keine Benachrichtigungseinstellungen an und die Benachrichtigungen werden gemäß den vordefinierten Einstellungen gesendet. Wenn das Kontrollkästchen "änderbare Vorauswahl" aktiviert ist, kann die vorausgewählte Liste der zu benachrichtigenden Benutzer vor dem Senden der Änderungsbenachrichtigung geändert werden.
 
Mit der Einstellung "Vorauswahl" können Sie festlegen, welche Benutzer standardmäßig im Benachrichtigungs-Popup vorgewählt werden sollen. Außerdem können bestimmte Benutzer über das Feld "Standardempfänger der Benachrichtigungsmail" zur Liste der benachrichtigten Personen hinzugefügt werden.
 
=== Einhängepunkte ===
[[Image:CustomWorkspaceMountpointsTab.pngBild7.png|top|alt="The Mountpoints tab of a custom workspace"]]
 
Einstellen eines alternativen Einhängepunkts für den Arbeitsbereich
 
Ein Arbeitsbereich kann auf einen oder mehrere Einhängepunkte beschränkt werden. Diese müssen nicht mit den Einhängepunkten der Benutzer und Gruppen übereinstimmen, die Zugriff auf diesen Arbeitsbereich haben.
 
Wenn keine Einhängepunkte definiert sind, werden die Einhängepunkte der Benutzer und der Gruppen, denen sie angehören, verwendet.
 
=== Veröffentlichung ===
[[Image:CustomWorkspacePublishingTab.pngBild8.png|top|alt="The Publishing tab of a custom workspace"]]
 
Auswahl eines Veröffentlichungsdatums für den benutzerdefinierten Arbeitsbereich
 
Wenn ein Veröffentlichungsdatum festgelegt wird, wird der Inhalt des Arbeitsbereichs automatisch an dem angegebenen Datum veröffentlicht. Dazu muss die Scheduler-Aufgabe "Automatische Veröffentlichung von Arbeitsbereichen" aktiviert sein.
 
Hinweis
 
Nur der Inhalt, der "bereit zur Veröffentlichung" ist, wird tatsächlich veröffentlicht.
 
=== Inszenierung ===
Es kann eine beliebige Anzahl von benutzerdefinierten Stufen erstellt werden. Jede entspricht einem zusätzlichen Schritt im Überprüfungsprozess. Benutzerdefinierte Stufen können nach Belieben bestellt werden. Sie kommen jedoch alle nach der Standardstufe "Bearbeitung" und vor der Standardstufe "Bereit zur Veröffentlichung".
 
[[Image:CustomWorkspaceStagingTabGeneral.pngBild9.png|top|alt="The Staging tab of a custom workspace"]]
 
Einstellung der allgemeinen Informationen einer benutzerdefinierten Bühne
 
Auf der Registerkarte "Allgemein" einer benutzerdefinierten Stufe kann eine eingeschränkte Gruppe von Benutzern unter "Eigentümern" und "Mitgliedern" ausgewählt werden. Sie werden "Verantwortliche Personen" genannt.
 
[[Image:CustomWorkspaceStagingTabNotifications.pngBild10.png|top|alt="The Staging tab of a custom workspace"]]
 
Definieren der Benachrichtigungseinstellungen einer benutzerdefinierten Stufe
 
Die Benachrichtigungseinstellungen für eine benutzerdefinierte Stufe sind größtenteils dieselben wie für die Standardstufen, außer dass die "verantwortlichen Personen" auch in der vordefinierten Liste der zu benachrichtigenden Benutzer ausgewählt werden können und dass ein "Standard-E-Mail-Kommentar" für diese Stufe definiert werden kann.
 
Hinweis
 
Mit "Bearbeiter" sind in diesem Zusammenhang die Personen gemeint, die ursprünglich an der Änderung beteiligt waren.
 
=== Sonstiges ===
[[Image:CustomWorkspaceOtherTab.pngBild11.png|top|alt="The Other tab of a custom workspace"]]
 
Verschiedene Einstellungen für einen benutzerdefinierten Arbeitsbereich
 
Die Registerkarte "Sonstiges" enthält verschiedene Einstellungen, die das Verhalten des benutzerdefinierten Arbeitsbereichs beeinflussen.
 
Das Kennzeichen "Bearbeitung einfrieren" blockiert alle Vorgänge im Arbeitsbereich, bis es wieder deaktiviert wird.
 
Es ist möglich, die Bearbeitung von nicht-versionsfähigen Datensätzen im benutzerdefinierten Arbeitsbereich zuzulassen. Diese Datensätze werden "live" bearbeitet, d.h. alle Änderungen, die im Arbeitsbereich vorgenommen werden, sind direkt auf der Website sichtbar und durchlaufen nicht den Überprüfungsprozess.
 
Die Einstellung "Tauschmodi" legt fest, ob bei der automatischen Veröffentlichung ein Tausch stattfinden soll oder nicht.
 
Mit der Einstellung "Zugriff auf Veröffentlichung" werden die Veröffentlichungsrechte weiter verfeinert. Wenn das Kontrollkästchen "Nur Inhalte im Veröffentlichungsstadium veröffentlichen" aktiviert ist, können geänderte Inhalte von den Arbeitsbereichseigentümern in keinem Stadium zwangsweise veröffentlicht werden. Er muss erst das Stadium "Bereit zur Veröffentlichung" erreichen. Die Veröffentlichung kann auch auf die Eigentümer des Arbeitsbereichs beschränkt werden (d. h. Mitglieder dürfen nicht veröffentlichen).
 
== Konfigurationsoptionen ==
Es gibt eine Reihe von Eigenschaften von User TSconfig und Page TSconfig, die sich auf Arbeitsbereiche beziehen.
 
Hinweis
 
Einige dieser Optionen werden eigentlich von der Systemerweiterung "Version" behandelt, gelten aber für Arbeitsbereiche.* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#page-tsconfig Seite TSconfig]
** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#workspaces Arbeitsbereiche]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#splitpreviewmodes splitPreviewModes]
** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#options-workspaces options.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#previewpageid previewPageId]
** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#tx-version-workspaces tx_version.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#stagenotificationemail-subject stageNotificationEmail.subject]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#stagenotificationemail-message stageNotificationEmail.message]
* [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#user-tsconfig Benutzer TSconfig]
** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#options-workspaces options.workspaces]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#enablemassactions enableMassActions]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#previewlinkttlhours previewLinkTTLHours]
*** [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#allowed-languages Erlaubte_Sprachen]
 
=== Seite TSconfig ===
==== Arbeitsbereiche ====
===== splitPreviewModes =====
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">Zeichenkette </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Durch Kommata getrennte Liste der zulässigen Werte für Vorschaumodi. Mögliche Werte sind "slider", "vbox" und "hbox".</div>
 
<div style="margin-left:1cm;">'''Beispiel'''</div>
 
workspaces.splitPreviewModes = slider
 
<div style="margin-left:1cm;">wird der Vorschaumodus auf "Schieberegler" beschränkt.</div>
 
<div style="margin-left:0cm;">Standard </div>
 
<div style="margin-left:1cm;">Schieberegler, vbox, hbox </div>
 
==== options.workspaces ====
===== VorschauSeitenId =====
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">Integer / FeldReferenz pro Tabelle </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Seiten-Uid, die für die Vorschau von Datensätzen in einem Arbeitsbereich verwendet wird.</div>
 
<div style="margin-left:1cm;">'''Beispiele'''</div>
 
<nowiki># Using page 123 for previewing workspaces records (in general)</nowiki>
options.workspaces.previewPageId = 123
 
<nowiki># Using the pid field of each record for previewing (in general)</nowiki>
options.workspaces.previewPageId = field:pid
 
<nowiki># Using page 123 for previewing workspaces records (for table tx_myext_table)</nowiki>
options.workspaces.previewPageId.tx_myext_table = 123
 
<nowiki># Using the pid field of each record for previewing (for table tx_myext_table)</nowiki>
options.workspaces.previewPageId.tx_myext_table = field:pid
 
Hinweis
 
<div style="margin-left:1cm;">Wenn sie in Verbindung mit dem [https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/PageTsconfig/TceMain.html#pagetcemain-preview Backend-Vorschau-Mechanismus] verwendet wird, hat diese Einstellung Vorrang vor der <tt>Vorschau</tt>, die in <tt>TCEMAIN.</tt> definiert ist.</div>
 
==== tx_version.workspaces ====
===== stageNotificationEmail.subject =====
(<tt>tx_</tt>)
 
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">String / Lokalisierte String-Referenz (unter Verwendung der <tt>LLL:</tt>-Syntax). </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Der Standard-Betreff für die E-Mail zur Bühnenbenachrichtigung.</div>
 
<div style="margin-left:1cm;">Die folgenden Markierungen können als Ersatz verwendet werden:</div>* <tt><nowiki>###SITE_</nowiki></tt>
* <tt><nowiki>###SITE_</nowiki></tt>
* <tt><nowiki>###WORKSPACE_</nowiki></tt>
* <tt><nowiki>###WORKSPACE_</nowiki></tt>
* <tt><nowiki>###ELEMENT_</nowiki></tt>
* <tt><nowiki>###NEXT_</nowiki></tt>
* <tt><nowiki>###COMMENT###</nowiki></tt>
* <tt><nowiki>###USER_</nowiki></tt>
* <tt><nowiki>###USER_</nowiki></tt>
* <tt><nowiki>###RECORD_</nowiki></tt>
* <tt><nowiki>###RECORD_</nowiki></tt>
 
<div style="margin-left:0cm;">Standardmäßig </div>
 
<div style="margin-left:1cm;">LLL:EXT:version/Resources/Private/Language/emails.xml:subject </div>
 
===== stageNotificationEmail.message =====
(<tt>tx_</tt>)
 
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">String / Lokalisierte String-Referenz (unter Verwendung der <tt>LLL:</tt>-Syntax). </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Die Standardnachricht für die E-Mail der Stufenbenachrichtigung. Es stehen die gleichen Markierungen zur Verfügung wie für den Betreff (siehe oben). </div>
 
<div style="margin-left:0cm;">Standardmäßig </div>
 
<div style="margin-left:1cm;">LLL:EXT:version/Resources/Private/Language/emails.xml:message </div>
 
=== Benutzer TSconfig ===
==== options.workspaces ====
===== enableMassActions =====
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">Boolescher Wert </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Wenn diese Option auf "0" gesetzt wird, ist das Menü für Massenaktionen für die Benutzer nicht verfügbar. </div>
 
<div style="margin-left:0cm;">Standardwert </div>
 
<div style="margin-left:1cm;">1 </div>
 
===== previewLinkTTLHours =====
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">Ganzzahl </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Anzahl der Stunden bis zum Verfall von Vorschaulinks zu Arbeitsbereichen. </div>
 
<div style="margin-left:0cm;">Standard </div>
 
<div style="margin-left:1cm;">48 </div>
 
===== erlaubte_Sprachen =====
<div style="margin-left:0cm;">Eigenschaft </div>
 
<div style="margin-left:1cm;">workspaces.allowed_languages.[workspaceId] </div>
 
<div style="margin-left:0cm;">Datentyp </div>
 
<div style="margin-left:1cm;">''(Liste von sys\_language ids)'' </div>
 
<div style="margin-left:0cm;">Beschreibung </div>
 
<div style="margin-left:1cm;">Dies ist eine Liste von sys_language uids, die in einem Arbeitsbereich erlaubt sind. Wenn diese Liste gesetzt ist, hat sie Vorrang vor der Liste der erlaubten Sprachen in der BE-Benutzergruppenkonfiguration.</div>
 
<div style="margin-left:1cm;">'''Beispiel'''</div>
 
options.workspaces.allowed_languages.3 = 1,2
 
<div style="margin-left:1cm;">In diesem Beispiel wird der Benutzer auf Sprachen mit "uid" 1 oder 2 im Arbeitsbereich mit "uid" 3 beschränkt.</div>
 
== Planer-Aufgaben ==
Die "workspaces"-Erweiterung bietet zwei Scheduler-Aufgaben.
 
<div style="margin-left:0cm;">Automatische Veröffentlichung von Arbeitsbereichen </div>
 
<div style="margin-left:1cm;">Diese Aufgabe prüft, ob ein Arbeitsbereich ein geplantes Veröffentlichungsdatum hat. Wenn ja und wenn dieses Datum überschritten ist, werden alle Änderungen, die das Stadium "Bereit zur Veröffentlichung" erreicht haben, im Live-Arbeitsbereich veröffentlicht. </div>
 
<div style="margin-left:0cm;">Arbeitsbereiche bereinigen Vorschau-Links </div>
 
<div style="margin-left:1cm;">Wenn [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#users-guide-preview-link Vorschau-Links] erzeugt werden, werden sie in der Datenbank (in der Tabelle "sys_preview") gespeichert. Diese Aufgabe löscht jeden Link, der abgelaufen ist. </div>
 
== PSR-14-Ereignisse ==
Die folgenden PSR-14-Ereignisse sind zur Erweiterung der Funktionalität verfügbar:
 
=== AfterCompiledCacheableDataForWorkspaceEvent ===
Findet alle cachebaren Daten von Versionen eines Arbeitsbereichs. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/AfterCompiledCacheableDataForWorkspaceEvent.html#AfterCompiledCacheableDataForWorkspaceEvent Mehr Details]
 
=== AfterDataGeneratedForWorkspaceEvent ===
Findet alle Daten von Versionen eines Arbeitsbereichs. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/AfterDataGeneratedForWorkspaceEvent.html#AfterDataGeneratedForWorkspaceEvent Mehr Details]
 
=== AfterRecordPublishedEvent ===
Das Ereignis wird ausgelöst, nachdem ein Datensatz in einem Arbeitsbereich veröffentlicht worden ist. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/AfterRecordPublishedEvent.html#AfterRecordPublishedEvent Mehr Details]
 
=== GetVersionedDataEvent ===
Findet alle vorbereiteten / bereinigten Daten von Versionen eines Arbeitsbereichs. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/GetVersionedDataEvent.html#GetVersionedDataEvent Mehr Details]
 
=== ModifyVersionDifferencesEvent ===
Ändern Sie die Daten der Versionsunterschiede. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/ModifyVersionDifferencesEvent.html#ModifyVersionDifferencesEvent Mehr Details]
 
=== SortVersionedDataEvent ===
Das Ereignis wird nach dem Sortieren aller Daten für Versionen eines Arbeitsbereichs ausgelöst. [https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Events/Events/Workspaces/SortVersionedDataEvent.html#SortVersionedDataEvent Mehr Details]
 
== Benutzerhandbuch ==
Dieser Abschnitt befasst sich mit den arbeitsbereichsbezogenen Funktionen im Backend.
 
Die meisten bedeutenden Arbeitsbereiche haben ein Auswahlfeld in der oberen rechten Ecke des Backends.
 
[[Image:Bild12.png|top|alt="Workspace selector"]]
 
Der Arbeitsbereichselektor in der oberen Leiste
 
In dieser Auswahlbox können Sie zwischen den verfügbaren Arbeitsbereichen wählen. Das gesamte Backend wird jedes Mal neu geladen, wenn man den Arbeitsbereich wechselt.
 
Als visuelle Erinnerung daran, dass Sie sich gerade in einem Arbeitsbereich befinden, ändert sich ein Teil der oberen Leiste in eine andere Farbe:
 
[[Image:Bild13.png|top|alt="Workspace indicator"]]
 
Aktivierung eines Arbeitsbereichs, hervorgehoben in der oberen Leiste
 
Sobald Sie innerhalb eines Arbeitsbereichs mit der Bearbeitung beginnen, werden neue Versionen für Sie erstellt.
 
Eine Seite, die im aktuellen Arbeitsbereich eine Änderung aufweist, wird im Seitenbaum hervorgehoben:
 
[[Image:Bild14.png|top|alt="Highlighted page"]]
 
Geänderte Seite im Seitenbaum hervorgehoben
 
Das Modul '''WEB > Workspaces''' ermöglicht es Ihnen, Änderungen in einem Arbeitsbereich zu überwachen:
 
[[Image:Bild15.png|top|alt="Workspace module overview"]]
 
Ein Überblick über die Änderungen im Modul Arbeitsbereiche
 
Zunächst einmal erhalten Sie einen Überblick über alle Änderungen im aktuellen Arbeitsbereich und auf der aktuellen Seite (oder darunter, falls so definiert). Dies ist auch das Kontrollzentrum für das Überprüfen, Bearbeiten und Senden von Änderungen an eine andere Stufe. Alle diese Vorgänge werden im Folgenden detailliert beschrieben. Die Icons entsprechen den folgenden Operationen:# ''Änderungen anzeigen'': öffnet die Detailansicht
# ''Swap'': tauscht den Arbeitsbereich und die Live-Version des Datensatzes
# ''Vorschau-Element'': öffnet das Vorschaufenster
# ''Element bearbeiten'': editiert den Datensatz
# ''Version der Seite öffnen'': wechselt zum Modul '''WEB > Seite'''
# ''Verwerfen'': verwirft die Änderung
# wählt den Datensatz aus. Sobald ein Datensatz ausgewählt ist, werden die beiden Aktionsmenüs unten links aktiv.
 
Das dritte Menü am unteren Rand der Ansicht ist das Menü "Massenaktion" ([https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html#users-guide-mass-action unten beschrieben]).
 
Sie können auch den Arbeitsbereich wechseln, indem Sie auf die entsprechende Registerkarte klicken.
 
Die Detailansicht öffnet sich in einem Popup-Fenster mit den vollständigen Verlaufsinformationen.
 
[[Image:Bild16.png|top|alt="Viewing details of a change"]]
 
Alle Details zu einer Änderung anzeigen
 
=== Vorschau des Inhalts ===
Sobald Sie in einem Arbeitsbereich auf die Schaltfläche "Webseite anzeigen" klicken oder die Aktion "Seite speichern und anzeigen" verwenden, gelangen Sie zur Vorschau des Arbeitsbereichs. Dies ist auch direkt aus dem Modul ''Arbeitsbereiche'' möglich, wenn Sie auf die Schaltfläche "Elementvorschau" klicken.
 
Die Arbeitsbereichsvorschau ist eine gleichzeitige Ansicht der Live- und der Arbeitsbereichsversion. Standardmäßig wird die Arbeitsbereichsversion angezeigt und ein Schieberegler, mit dem Sie die Anzeige auf die Live-Version umstellen können. Mit dem Auswahlfeld in der oberen rechten Ecke können Sie den Modus z. B. auf vertikale Aufteilung ändern:
 
[[Image:Bild17.png|top|alt="Workspace split preview"]]
 
Ändern der geteilten Vorschau der Arbeitsbereiche
 
Wenn Sie auf den Reiter "Listenansicht" klicken, gelangen Sie in die gleiche Ansicht wie im Modul ''Arbeitsbereiche''.
 
=== Erzeugen eines Vorschau-Links ===
Ein zusätzliches Feature des Arbeitsbereichs ist, dass ein spezieller Vorschaulink generiert werden kann. Dieser kann mit jedem geteilt werden, auch mit Personen, die keinen Zugriff auf die TYPO3 CMS-Installation haben. Mit diesem Link können andere Personen die Seite so sehen, wie sie in dem jeweiligen Arbeitsbereich erscheint.
 
Klicken Sie einfach auf die Schaltfläche "Seitenvorschau-Links generieren" in der Kopfzeile und kopieren Sie den Link aus dem Popup-Fenster:
 
[[Image:Bild18.png|top|alt="The preview link"]]
 
Der Link zur Vorschau erscheint in einem Popup-Fenster
 
=== Überprüfungsprozess ===
Die Weiterleitung einer Änderung an eine andere Stufe des Überprüfungsprozesses erfolgt über das Popup-Fenster der Detailansicht:
 
[[Image:Bild19.png|top|alt="Send to another stage"]]
 
Senden einer Änderung an die vorherige oder nächste Stufe
 
Die Änderung kann entweder an die nächste Stufe gesendet oder an die vorherige Stufe zurückgeschickt werden. Sobald eine Stufe ausgewählt wurde, erscheint ein weiteres Popup-Fenster zur Eingabe einer Nachricht:
 
[[Image:Bild20.png|top|alt="Send to stage message"]]
 
Hinzufügen einer Nachricht beim Senden an eine andere Stufe
 
Die Nachrichten sind als Kommentare in der Änderungshistorie sichtbar.
 
Sobald die Änderung das Stadium "Bereit zur Veröffentlichung" erreicht hat, kann jeder, der über die entsprechenden Rechte verfügt, sie in der LIVE-Version veröffentlichen, woraufhin sie auf der Website sichtbar wird. Beachten Sie, dass jeder, der zur Veröffentlichung berechtigt ist, direkt von jeder Stufe aus veröffentlichen kann. Eine Änderung muss also nicht in allen Phasen durchlaufen worden sein.
 
Es ist auch möglich, eine Änderung an eine andere Stufe zu senden, indem Sie sie in der Übersicht auswählen und das Menü unten links verwenden:
 
[[Image:Bild21.png|top|alt="Individual stage actions"]]
 
Eine oder mehrere Änderungen direkt an eine andere Stufe senden
 
=== Das Massenaktionsmenü ===
Mit dem dritten Menü am unteren Rand können Sie auch einen '''ganzen Arbeitsbereich''' auf einmal veröffentlichen, austauschen oder verwerfen. Dieses Auswahlfeld - "Massenaktionen" genannt - ist nur aktiv, wenn kein Element ausgewählt ist:
 
[[Image:Bild22.png|top|alt="Mass actions menu"]]
 
Der Massenwirkungsselektor
 
Wichtig
 
Die Massenaktionen wirken sich auf den '''gesamten Arbeitsbereich''' aus, d.h. auch auf die Änderungen, die im Modul Arbeitsbereiche nicht sichtbar sind, weil sie sich nicht im aktuell ausgewählten Zweig im Seitenbaum befinden.
 
=== Arbeitsbereich-Protokoll ===
Das '''Systemprotokoll''' spiegelt auch die Vorgänge im Arbeitsbereich wider. In der Spalte "Benutzer" erscheint der Name des Arbeitsbereichs unterhalb des Benutzernamens:
 
[[Image:Bild23.png|top|alt="Workspaces and logging"]]
 
Protokoll der arbeitsplatzbezogenen Vorgänge
 
# [https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html]


'''Default'''
<div style="margin-left:0cm;margin-right:0cm;">LLL:EXT:version/Resources/Private/Language/emails.xml:subject</div>
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id10 stageNotificationEmail.message] =====
(<span style="background-color:#f2f2f2;color:#ff5370;">tx_version.workspaces.stageNotificationEmail.message</span>)
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">String / Localized string reference (using <span style="background-color:#f2f2f2;color:#ff5370;">LLL:</span> syntax).</div>
'''Description'''
<div style="margin-left:0cm;margin-right:0cm;">The default message for the stage notification email. The same markers are available as for the subject (see above).</div>
'''Default'''
<div style="margin-left:0cm;margin-right:0cm;">LLL:EXT:version/Resources/Private/Language/emails.xml:message</div>
=== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id11 User TSconfig] ===
==== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id12 options.workspaces] ====
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id13 previewLinkTTLHours] =====
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">Integer</div>
'''Description'''
<div style="margin-left:0cm;margin-right:0cm;">Number of hours until expiry of preview links to workspaces.</div>
'''Default'''
<div style="margin-left:0cm;margin-right:0cm;">48</div>
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id14 swapMode] =====
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">String</div>
'''Description'''
<div style="margin-left:1cm;margin-right:0cm;">Possible values are:</div>
"any" - if page or element (meaning any record on the page) is published, all content elements on the page and page itself will be published regardless of the current editing stage.
<div style="margin-left:1cm;margin-right:0cm;">"page" - if page is published, all content elements on the page will be published as well. If element is published, its publishing does not affect other elements or page.</div>
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id15 changeStageMode] =====
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">String</div>
'''Description'''
<div style="margin-left:1cm;margin-right:0cm;">Possible values are:</div>
"any" - if page or element (meaning any record on the page) stage is changed (for example, from "editing" to "review"), all content elements on the page and page will change to that new stage as well (possibly bypassing intermediate stages).
<div style="margin-left:1cm;margin-right:0cm;">"page" - if page stage is changed (for example, from "editing" to "review"), all content elements on the page will change stage as well (possibly bypassing intermediate stages). If stage is changed for element, all other elements on the page and page itself remain in the previous stage.</div>
===== [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/#id16 allowed_languages] =====
<div style="margin-left:1cm;margin-right:1cm;">'''Property'''</div>
<div style="margin-left:2cm;margin-right:1cm;">workspaces.allowed_languages.[workspaceId]</div>
'''Data type'''
<div style="margin-left:0cm;margin-right:0cm;">''(list of sys_language ids)''</div>
'''Description'''
<div style="margin-left:1cm;margin-right:0cm;">This is a list of sys_language uids which will be allowed in a workspace. This list - if set - will override the allowed languages list in the BE user group configuration.</div>
'''Example'''
<div style="color:#eeffff;margin-left:1cm;margin-right:0cm;">options.workspaces.allowed_languages.<span style="color:#ffcb6b;">3</span> <span style="color:#ff5370;"><nowiki>=</nowiki></span> <span style="color:#ffcb6b;">1</span>,<span style="color:#ffcb6b;">2</span></div>
<div style="margin-left:1cm;margin-right:0cm;">In this example, the user will be restricted to languages with "uid" 1 or 2 in the workspace with "uid" 3.</div>
== Scheduler tasks ==
The "workspaces" extension provides two Scheduler tasks.
'''Workspaces auto-publication'''
<div style="margin-left:0cm;margin-right:0cm;">This task checks if any workspace has a scheduled publishing date. If yes and if that date is passed, then all changes that have reached the "Ready to publish" stage are published to the Live workspace.</div>
'''Workspaces cleanup preview links'''
<div style="margin-left:0cm;margin-right:0cm;">When [https://docs.typo3.org/c/typo3/cms-workspaces/master/en-us/singlehtml/Index.html#users-guide-preview-link preview links] are generated, they are stored in the database (in table "sys_preview"). This task will delete any link which has expired.</div>




[[Kategorie:Typo3/Extension]]
[[Kategorie:Typo3/Extension]]

Version vom 29. Juli 2025, 08:53 Uhr

TYPO3-Arbeitsbereiche

Diese Erweiterung führt Workflows mit benutzerdefinierten Stufen und Versionierung für einen detaillierteren Bearbeitungs- und Veröffentlichungsprozess ein.

Einleitung

Über dieses Dokument

Dieses Dokument erklärt, wie Versionierung und Workspaces in TYPO3 CMS funktionieren und wie sie eingerichtet werden. Der erste Teil erklärt den technischen Hintergrund für Administratoren oder Entwickler, die ihre Erweiterungen versionssicher machen wollen. Der zweite Teil richtet sich an Benutzer von Arbeitsbereichen, ein kurzer Leitfaden über die Möglichkeiten und die Verwendung von Arbeitsbereichen. Der letzte Teil zeigt, wie man einen eigenen Arbeitsbereich erstellt.

Credits

Dieses Handbuch entspricht in weiten Teilen der Originalversion von Kasper aus dem Inside TYPO3 Dokument. Sie wurde an die Arbeitsbereiche und Versionierungsmodule angepasst und aktualisiert und in TYPO3 erklärt verschoben.

Feedback

Wenn Sie einen Fehler entweder in diesem Handbuch oder in den Workspaces / Versionierungserweiterungen finden, benutzen Sie bitte den Bugtracker unter https://forge.typo3.org/projects/typo3cms-core/issues.

Installation

Diese Erweiterung ist Teil des TYPO3 Core, wird aber nicht standardmäßig installiert.

Inhaltsübersicht* Installation mit Composer

Installation mit Composer

Prüfen Sie, ob Sie die Erweiterung bereits mit verwenden:

composer show | grep workspaces

Dies sollte Ihnen entweder kein Ergebnis oder etwas ähnliches liefern:

typo3/cms-workspaces v12.4.11

Wenn sie noch nicht installiert ist, verwenden Sie den Befehl composer require, um die Erweiterung zu installieren:

composer require typo3/cms-workspaces

Die angegebene Version hängt von der Version des TYPO3 Core ab, die Sie verwenden.

Installation ohne Composer

Bei einer Installation ohne Composer wird die Erweiterung bereits ausgeliefert, ist aber möglicherweise noch nicht aktiviert. Aktivieren Sie sie wie folgt:# Navigieren Sie im Backend zum Modul Admin Tools > Extensions.

  1. Klicken Sie auf das Symbol Aktivieren für die Erweiterung "Workspaces".

"Extension manager showing Workspaces extension"

Erweiterungsmanager mit der Erweiterung Workspaces

Verwaltung

Versionierung

TYPO3 CMS bietet eine Versionierung der Datenbankelemente, die es verwaltet. Dieses Versionierungssystem ermöglicht es Ihnen, an zukünftigen Versionen von Inhalten zu arbeiten, ohne dass der aktuelle Inhalt beeinträchtigt wird. Es wird von Workflow-Systemen verwendet, um einen Prozess für solche Inhalte anzubieten, der von der Erstellung über die Bearbeitung bis zur Überprüfung und Veröffentlichung reicht.

Die Versionierung ist in der Kern-API standardmäßig verfügbar, aber um Zugang zu den Verwaltungswerkzeugen zu erhalten, müssen Sie die Systemerweiterung "Workspaces" installieren.

Technische Details

Die Versionsverwaltung muss für jede Tabelle in der "ctrl"-Sektion des TCA-Arrays für die jeweilige Tabelle aktiviert werden. Darüber hinaus muss ein fester Satz von Feldern für die Verwaltung von Versionen vorhanden sein. Alle diese technischen Details sind in der Beschreibung der TCA-Eigenschaft "versioningWS" aufgeführt. Dort sind auch alle anderen versionierungs- und arbeitsbereichsbezogenen Eigenschaften beschrieben.

Zukünftige und vergangene Versionen von Datensätzen in TYPO3 CMS bleiben in der gleichen Tabelle wie die Live-Version. Allerdings haben alle "Offline"-Versionen einen pid-Wert von "-1", um sie zu unterscheiden. Außerdem haben sie ein Datenbankfeld mit dem Namen "t3ver_oid", das auf ihr Live-Pendant ("online") verweist.

Wenn eine zukünftige/vergangene Version mit der Live-Version ausgetauscht wird, geschieht dies durch Austausch aller Feldwerte außer den Feldern uid und pid (und natürlich werden versionierungsbezogene Felder entsprechend ihrer Funktion manipuliert). Das bedeutet, dass der Online-Inhalt immer durch dieselbe ID identifiziert wird wie zuvor und daher alle Referenzen intakt bleiben.

Die Versionierung ist für bestehende Elemente einfach. Das Verschieben, Erstellen und Löschen wirft jedoch andere Probleme auf. Dies wird auf folgende Weise gelöst:* Das Löschen von Elementen erfolgt durch die Erstellung einer neuen Version des Elements und das Setzen einer Markierung in der neuen Version (t3ver_), die angibt, dass das aktive Element bei der Veröffentlichung der Versionen gelöscht werden muss.

  • Bei der Erstellung von Elementen wird zunächst ein Platzhalter-Element erstellt, das tatsächlich live ist, aber eine Markierung (t3ver_) trägt, die es online unsichtbar macht. Dann wird eine neue Version dieses Platzhalters mit dem Flag (t3ver_) erstellt, die bis zur Veröffentlichung geändert wird.
  • Das Verschieben von Elementen erfolgt, indem zunächst ein Platzhalterelement erstellt wird, das in der Tat live ist, aber eine Markierung (t3ver_) trägt, die es online unsichtbar macht. Es hat auch ein Feld, "t3ver_move_id", das die uid des zu verschiebenden Datensatzes (Quelldatensatz) enthält. Außerdem wird eine neue Version des Quelldatensatzes mit t3ver_ (move-to pointer) erstellt. Diese Version ist notwendig, damit das Versionierungssystem etwas hat, das es für den Verschiebevorgang veröffentlichen kann. Zusammengefasst werden also zwei Datensätze für einen Verschiebevorgang in einem Arbeitsbereich erstellt: Der Platzhalter (online, mit t3ver_ und "t3ver_move_id") und eine neue Version (t3ver_) des Online-Quelldatensatzes (der, der verschoben wird).

Eindeutige Felder

  • Eindeutige Felder wie ein Seitenalias oder ein Benutzername sind in einem Versionierungsszenario heikel, da der Veröffentlichungsprozess eine Prüfung durchführen muss, ob das Feld in der "Live"-Situation eindeutig ist. Das bedeutet, dass wir eine Lösung gewählt haben, bei der eindeutige Felder überhaupt nicht ausgetauscht werden! Dies bedeutet, dass die Veröffentlichung einer neuen Version einer Seite den Alias der Live-Version nicht ändern kann und wird. Der eindeutige Wert "Live" bleibt erhalten, bis er in der Live-Version geändert wird.
  • Sie können Felder mit dem Schlüsselwort "unique" ausblenden, wenn es Offline-Versionen gibt. Dies geschieht mit der Anzeigebedingung:

'displayCond' => 'VERSION:IS:false',

Berechtigungen

Dies ist ein Überblick über die Handhabung von Berechtigungen im Zusammenhang mit der Versionierung:

Anzeigen
  • Leseberechtigungen werden auf der Grundlage der Live-Version von Seiten ausgewertet (als Grundregel). Die Leseberechtigungen der Offline-Seitenversion in einem Arbeitsbereich werden nicht berücksichtigt.
  • Es wird die ID des Live-Datensatzes verwendet, damit die Anzeigeberechtigungen des Live-Datensatzes ausgewertet werden.
Versionierung von Datensätzen
  • Um eine neue Version zu erstellen, muss der Benutzer Leserechte für den Live-Datensatz haben, den er versionieren möchte
  • Eine neue Version einer Seite erbt die Einstellungen für den Eigentümer, die Gruppe und die Berechtigungen aus dem Live-Datensatz
Version veröffentlichen
  • Um zu veröffentlichen, muss ein Benutzer über allgemeine Veröffentlichungsrechte im Arbeitsbereich verfügen, z.B. muss er der Eigentümer des Arbeitsbereichs sein oder Zugriff auf den Live-Arbeitsbereich haben.
  • Außerdem muss der Benutzer Lese- und Bearbeitungsrechte für die zu veröffentlichende Offline-Version sowie Bearbeitungsrechte für die Live-Version haben, die durch eine Veröffentlichungsaktion ersetzt wird!
  • Die Berechtigungen einer neuen Version einer Seite folgen der Seite, wenn sie veröffentlicht wird.
Bearbeiten von Datensätzen
  • Für alle Bearbeitungen ist es erforderlich, dass die Stufe des versionierten Datensatzes (oder der Wurzelpunkt) die Bearbeitung zulässt.
  • Seitendatensätze:
    • Die Berechtigung zur Bearbeitung wird immer anhand der Berechtigungseinstellungen der Seite und nicht anhand der Live-Datensätze bewertet.
  • Datensätze aus Nicht-Seiten-Tabellen:
    • Basiert immer auf der übergeordneten Live-Seite.
Neue Datensätze
  • Wenn neue Datensätze mit einer Version und einem Live-Platzhalter erstellt werden, hängen die Berechtigungen von der Live-Seite ab, unter der der Datensatz erstellt wird.
Verschieben von Datensätzen
  • Datensätze können verschoben werden, solange die Quell- und Zielwurzel auf eine Stufe zeigen, die dies zulässt.
  • Neue Datensätze, die mit einem Platzhalterelement erstellt wurden, können frei verschoben werden.
  • Im Allgemeinen muss die Stufe eines verschobenen Datensatzes die Bearbeitung sowie die regulären Berechtigungen für das Verschieben zulassen.
Löschen von Datensätzen
  • Wenn ein Datensatz die Versionierung unterstützt, wird er zum Löschen markiert, wenn alle üblichen Voraussetzungen zum Zeitpunkt der Löschanfrage erfüllt sind: Löschzugriff auf den Datensatz, keine Unterseiten, wenn rekursives Löschen nicht aktiviert ist, und keine unzulässigen Tabellensätze gefunden werden. Sobald der Datensatz zum Löschen markiert ist, werden alle Änderungen am Datensatz und an den Unterseiten, die sonst das Löschen für den Benutzer verhindern würden, nicht mehr wirksam. Der Datensatz wird bei Veröffentlichung gelöscht!
  • Wenn Sie versuchen, einen Live-Datensatz zu löschen, für den eine Version im Arbeitsbereich gefunden wird, wird stattdessen diese Version gelöscht.
  • Das Entfernen von Versionen aus einem Arbeitsbereich und das Erhöhen der Versionsstufe ist möglich, solange der Benutzer Bearbeitungsrechte für den Datensatz besitzt.
Dateien / Assets / Ressourcen

Zur Verwaltung von Dateien/Assets (im Gegensatz zu Datensätzen/Seiten) wird der Live-Arbeitsbereich verwendet. Das bedeutet, dass für den Zugriff auf Backend-Module wie das Dateilistenmodul entsprechende Rechte für den Live-Arbeitsbereich festgelegt werden müssen.

Arbeitsbereiche

Arbeitsbereiche sind die Benutzeroberfläche, die auf dem Versionierungskonzept aufbaut, um den Benutzern die Verwaltung der Versionen zu erleichtern.

Darüber hinaus ermöglichen es Arbeitsbereiche, eine Reihe von Stufen für die Validierung einer bestimmten Änderung zu erstellen und so einen vollständigen Überprüfungsprozess vor der Veröffentlichung zu gewährleisten. Die Benutzer aller Stufen können über Änderungen im Überprüfungsprozess benachrichtigt werden.

Ein Arbeitsbereich ist ein Zustand im Backend von TYPO3 CMS. Grundsätzlich gibt es zwei Arten von Arbeitsbereichen:* LIVE-Arbeitsbereich: Dies ist genau der Zustand, in dem sich TYPO3 CMS immer befunden hat. Jede Änderung, die Sie vornehmen, wird sofort live sein. Es hat sich nichts geändert, er hat nur einen Namen bekommen.

Der Zugriff auf den Live-Arbeitsbereich muss den Backend-Benutzern und -Gruppen explizit gewährt werden (auf der Registerkarte "Mounts und Arbeitsbereiche").

  • Benutzerdefinierte Arbeitsbereiche: Wenn Benutzer einen benutzerdefinierten Arbeitsbereich auswählen, gelten neue Regeln für alles, was sie im Backend tun:
    • Sicherheit: Jede Änderung, die sie vornehmen wollen, hat keine Auswirkungen auf die aktuelle Website. Es ist ein sicherer Spielplatz.
    • Transparente Versionierung: Sie können Seiten und Elemente bearbeiten, da eine neue Version automatisch erstellt und an den Arbeitsbereich angehängt wird. Keine Schulung erforderlich, kein Verwaltungsaufwand!
    • Vorschau: Wenn Sie die Frontend-Website besuchen, wird sie so angezeigt, wie sie erscheinen wird, wenn alle Versionen im Arbeitsbereich schließlich veröffentlicht werden.
    • Überblick über Änderungen: Das Modul Workspace Manager bietet einen klaren Überblick über alle Änderungen, die innerhalb des Arbeitsbereichs auf der gesamten Website vorgenommen wurden. Dies ermöglicht eine unvergleichliche Kontrolle, bevor der Inhalt live geschaltet wird.
    • Einschränkungen: Nur Tabellen, die die Versionierung unterstützen, können bearbeitet werden.
    • Flexibilität: Benutzerdefinierte Arbeitsbereiche können mit Eigentümern, Mitgliedern und Prüfern sowie Datenbankmounts und mehr konfiguriert werden. Ein benutzerdefinierter Arbeitsbereich kann somit einen gezielteren Bearbeitungsbereich bieten als Backend-Benutzer und -Gruppen. Und ein Überprüfungsverfahren, das je nach Bedarf einfach oder vollständig ist.

Veröffentlichen und Austauschen

Es gibt zwei Möglichkeiten, ein Element in einem Arbeitsbereich zu veröffentlichen: veröffentlichen oder austauschen. In beiden Fällen wird der Entwurfsinhalt live veröffentlicht. Beim Swappen bedeutet dies jedoch, dass das aktuelle Live-Element an den Arbeitsbereich angehängt wird, wenn es offline genommen wird. Dies steht im Gegensatz zum Veröffentlichungsmodus, bei dem das Live-Element aus dem Arbeitsbereich heraus und "ins Archiv" verschoben wird.

Der Auslagerungsmodus ist nützlich, wenn Sie eine zeitlich begrenzte Kampagne haben, z. B. eine spezielle Weihnachtsseite und einen Website-Bereich. Sie erstellen die Weihnachtsausgabe in einem benutzerdefinierten Arbeitsbereich und zwei Wochen vor Weihnachten tauschen Sie die Weihnachtsausgabe aus. Alle normalen Seiten und Elemente, die nicht veröffentlicht wurden, befinden sich jetzt im Arbeitsbereich und warten darauf, dass Weihnachten vorbei ist und die alte Titelseite usw. wieder eingefügt wird. Die Weihnachtsausgabe ist nun wieder im Arbeitsbereich und bereit für das nächste Jahr.

Erweiterungen und Workspaces

Arbeitsbereiche setzen eine transparente Unterstützung im gesamten Backend und Frontend voraus, und Erweiterungen müssen unter diesem Gesichtspunkt programmiert werden. Obwohl das Ideal eine vollständige Transparenz im Backend und eine perfekte Vorschau im Frontend ist, ist dies fast unmöglich zu erreichen. Nichtsdestotrotz kann ein hohes Maß an Konsistenz erreicht werden, indem die von TYPO3 CMS bereitgestellte API genutzt wird. Diese Funktionen und die Herausforderungen, die sie lösen sollen, werden in TYPO3 erklärt behandelt.

Erstellen eines benutzerdefinierten Arbeitsbereichs

Außer dem LIVE-Arbeitsbereich (d.h. der Standard-Arbeitsumgebung von TYPO3 CMS) müssen einige benutzerdefinierte Arbeitsbereiche erstellt werden, bevor die in diesem Dokument beschriebenen Funktionen genutzt werden können.

Standardmäßig enthält ein benutzerdefinierter Arbeitsbereich drei Stufen, die Schritte im Validierungsprozess darstellen: "Bearbeitung", "bereit zur Veröffentlichung" und "Veröffentlichung ausführen". Es können weitere Stufen hinzugefügt werden.

Um das folgende Element zu erreichen, müssen Sie zur Stammseite gehen (die Seite mit dem TYPO3-Symbol im Seitenbrowser), auf "Neuen Datensatz erstellen" klicken und einen Systemdatensatz vom Typ "Arbeitsbereich" erstellen.

Dieses Kapitel beschreibt alle Eigenschaften eines Arbeitsbereichs, wie sie im Bearbeitungsformular erscheinen, gruppiert nach Registerkarten.

Allgemein

"The General tab of a custom workspace"

Eingabe der allgemeinen Informationen zum Arbeitsbereich

Wie bei den meisten Einträgen im TYPO3 CMS Universum geht es auch hier nur darum, einen klaren Titel und eine hilfreiche Beschreibung zu setzen.

Benutzer

"The Users tab of a custom workspace"

Einrichten von Eigentümern und Mitgliedern des Arbeitsbereichs

Auf dieser Registerkarte geht es um die Einrichtung von Benutzerberechtigungen. Die "Eigentümer" haben alle möglichen Rechte über den Arbeitsbereich, einschließlich der Veröffentlichung zum Leben. "Mitglieder" haben ebenfalls alle Rechte, obwohl sie mit der Einstellung "Nur Arbeitsbereichseigentümer kann veröffentlichen" an der Veröffentlichung gehindert werden können (siehe Registerkarte Andere).

Hinweis

Wie üblich ist es empfehlenswert, mit Gruppen statt mit einzelnen Benutzern zu arbeiten. "Admin"-Benutzer haben Zugriff auf alle Arbeitsbereiche und alle Operationen innerhalb der Arbeitsbereiche.

Hinweis

Den Benutzern muss ausdrücklich Zugang zum LIVE-Arbeitsbereich gewährt werden. Dies geschieht auf der Ebene der Backend-Benutzer oder Backend-Gruppen.

"Access to the live workspace"

Zugriff auf den LIVE-Arbeitsbereich für eine Backend-Gruppe gewähren

Benachrichtigungseinstellungen

"The Notification settings tab of a custom workspace"

Fein abgestimmte Definition des Benachrichtigungsprozesses

Jedes Mal, wenn eine bestimmte Änderung oder ein Satz von Änderungen von einem Stadium in ein anderes übergeht (entweder vorwärts oder rückwärts im Überprüfungsprozess), können Personen über diese Statusänderung benachrichtigt werden. Auf dieser Registerkarte wird das Verhalten des Benachrichtigungsprozesses festgelegt.

Mit "Benachrichtigung über Stufenänderung per E-Mail" können Sie festlegen, wer benachrichtigt werden soll. Dies können entweder alle am Arbeitsbereich beteiligten Benutzer sein (unabhängig von der Stufe) oder nur die Benutzer, die an der Stufe beteiligt sind, an die die Änderungen gesendet werden.

Anschließend können Sie Einstellungen für die drei vordefinierten Phasen konfigurieren.

Hinweis

Das Bildschirmfoto ist beschnitten. Die Einstellungen sind für jede Stufe die gleichen.

Beim "Einstellungsdialog" handelt es sich um das Popup-Fenster, das nach jedem Überprüfungsvorgang erscheint. Wenn das Kontrollkästchen "Dialog anzeigen" nicht aktiviert ist, zeigt das Popup-Fenster keine Benachrichtigungseinstellungen an und die Benachrichtigungen werden gemäß den vordefinierten Einstellungen gesendet. Wenn das Kontrollkästchen "änderbare Vorauswahl" aktiviert ist, kann die vorausgewählte Liste der zu benachrichtigenden Benutzer vor dem Senden der Änderungsbenachrichtigung geändert werden.

Mit der Einstellung "Vorauswahl" können Sie festlegen, welche Benutzer standardmäßig im Benachrichtigungs-Popup vorgewählt werden sollen. Außerdem können bestimmte Benutzer über das Feld "Standardempfänger der Benachrichtigungsmail" zur Liste der benachrichtigten Personen hinzugefügt werden.

Einhängepunkte

"The Mountpoints tab of a custom workspace"

Einstellen eines alternativen Einhängepunkts für den Arbeitsbereich

Ein Arbeitsbereich kann auf einen oder mehrere Einhängepunkte beschränkt werden. Diese müssen nicht mit den Einhängepunkten der Benutzer und Gruppen übereinstimmen, die Zugriff auf diesen Arbeitsbereich haben.

Wenn keine Einhängepunkte definiert sind, werden die Einhängepunkte der Benutzer und der Gruppen, denen sie angehören, verwendet.

Veröffentlichung

"The Publishing tab of a custom workspace"

Auswahl eines Veröffentlichungsdatums für den benutzerdefinierten Arbeitsbereich

Wenn ein Veröffentlichungsdatum festgelegt wird, wird der Inhalt des Arbeitsbereichs automatisch an dem angegebenen Datum veröffentlicht. Dazu muss die Scheduler-Aufgabe "Automatische Veröffentlichung von Arbeitsbereichen" aktiviert sein.

Hinweis

Nur der Inhalt, der "bereit zur Veröffentlichung" ist, wird tatsächlich veröffentlicht.

Inszenierung

Es kann eine beliebige Anzahl von benutzerdefinierten Stufen erstellt werden. Jede entspricht einem zusätzlichen Schritt im Überprüfungsprozess. Benutzerdefinierte Stufen können nach Belieben bestellt werden. Sie kommen jedoch alle nach der Standardstufe "Bearbeitung" und vor der Standardstufe "Bereit zur Veröffentlichung".

"The Staging tab of a custom workspace"

Einstellung der allgemeinen Informationen einer benutzerdefinierten Bühne

Auf der Registerkarte "Allgemein" einer benutzerdefinierten Stufe kann eine eingeschränkte Gruppe von Benutzern unter "Eigentümern" und "Mitgliedern" ausgewählt werden. Sie werden "Verantwortliche Personen" genannt.

"The Staging tab of a custom workspace"

Definieren der Benachrichtigungseinstellungen einer benutzerdefinierten Stufe

Die Benachrichtigungseinstellungen für eine benutzerdefinierte Stufe sind größtenteils dieselben wie für die Standardstufen, außer dass die "verantwortlichen Personen" auch in der vordefinierten Liste der zu benachrichtigenden Benutzer ausgewählt werden können und dass ein "Standard-E-Mail-Kommentar" für diese Stufe definiert werden kann.

Hinweis

Mit "Bearbeiter" sind in diesem Zusammenhang die Personen gemeint, die ursprünglich an der Änderung beteiligt waren.

Sonstiges

"The Other tab of a custom workspace"

Verschiedene Einstellungen für einen benutzerdefinierten Arbeitsbereich

Die Registerkarte "Sonstiges" enthält verschiedene Einstellungen, die das Verhalten des benutzerdefinierten Arbeitsbereichs beeinflussen.

Das Kennzeichen "Bearbeitung einfrieren" blockiert alle Vorgänge im Arbeitsbereich, bis es wieder deaktiviert wird.

Es ist möglich, die Bearbeitung von nicht-versionsfähigen Datensätzen im benutzerdefinierten Arbeitsbereich zuzulassen. Diese Datensätze werden "live" bearbeitet, d.h. alle Änderungen, die im Arbeitsbereich vorgenommen werden, sind direkt auf der Website sichtbar und durchlaufen nicht den Überprüfungsprozess.

Die Einstellung "Tauschmodi" legt fest, ob bei der automatischen Veröffentlichung ein Tausch stattfinden soll oder nicht.

Mit der Einstellung "Zugriff auf Veröffentlichung" werden die Veröffentlichungsrechte weiter verfeinert. Wenn das Kontrollkästchen "Nur Inhalte im Veröffentlichungsstadium veröffentlichen" aktiviert ist, können geänderte Inhalte von den Arbeitsbereichseigentümern in keinem Stadium zwangsweise veröffentlicht werden. Er muss erst das Stadium "Bereit zur Veröffentlichung" erreichen. Die Veröffentlichung kann auch auf die Eigentümer des Arbeitsbereichs beschränkt werden (d. h. Mitglieder dürfen nicht veröffentlichen).

Konfigurationsoptionen

Es gibt eine Reihe von Eigenschaften von User TSconfig und Page TSconfig, die sich auf Arbeitsbereiche beziehen.

Hinweis

Einige dieser Optionen werden eigentlich von der Systemerweiterung "Version" behandelt, gelten aber für Arbeitsbereiche.* Seite TSconfig

Seite TSconfig

Arbeitsbereiche

splitPreviewModes
Datentyp
Zeichenkette
Beschreibung
Durch Kommata getrennte Liste der zulässigen Werte für Vorschaumodi. Mögliche Werte sind "slider", "vbox" und "hbox".
Beispiel

workspaces.splitPreviewModes = slider

wird der Vorschaumodus auf "Schieberegler" beschränkt.
Standard
Schieberegler, vbox, hbox

options.workspaces

VorschauSeitenId
Datentyp
Integer / FeldReferenz pro Tabelle
Beschreibung
Seiten-Uid, die für die Vorschau von Datensätzen in einem Arbeitsbereich verwendet wird.
Beispiele

# Using page 123 for previewing workspaces records (in general) options.workspaces.previewPageId = 123

# Using the pid field of each record for previewing (in general) options.workspaces.previewPageId = field:pid

# Using page 123 for previewing workspaces records (for table tx_myext_table) options.workspaces.previewPageId.tx_myext_table = 123

# Using the pid field of each record for previewing (for table tx_myext_table) options.workspaces.previewPageId.tx_myext_table = field:pid

Hinweis

Wenn sie in Verbindung mit dem Backend-Vorschau-Mechanismus verwendet wird, hat diese Einstellung Vorrang vor der Vorschau, die in TCEMAIN. definiert ist.

tx_version.workspaces

stageNotificationEmail.subject

(tx_)

Datentyp
String / Lokalisierte String-Referenz (unter Verwendung der LLL:-Syntax).
Beschreibung
Der Standard-Betreff für die E-Mail zur Bühnenbenachrichtigung.
Die folgenden Markierungen können als Ersatz verwendet werden:

* ###SITE_

  • ###SITE_
  • ###WORKSPACE_
  • ###WORKSPACE_
  • ###ELEMENT_
  • ###NEXT_
  • ###COMMENT###
  • ###USER_
  • ###USER_
  • ###RECORD_
  • ###RECORD_
Standardmäßig
LLL:EXT:version/Resources/Private/Language/emails.xml:subject
stageNotificationEmail.message

(tx_)

Datentyp
String / Lokalisierte String-Referenz (unter Verwendung der LLL:-Syntax).
Beschreibung
Die Standardnachricht für die E-Mail der Stufenbenachrichtigung. Es stehen die gleichen Markierungen zur Verfügung wie für den Betreff (siehe oben).
Standardmäßig
LLL:EXT:version/Resources/Private/Language/emails.xml:message

Benutzer TSconfig

options.workspaces

enableMassActions
Datentyp
Boolescher Wert
Beschreibung
Wenn diese Option auf "0" gesetzt wird, ist das Menü für Massenaktionen für die Benutzer nicht verfügbar.
Standardwert
1
previewLinkTTLHours
Datentyp
Ganzzahl
Beschreibung
Anzahl der Stunden bis zum Verfall von Vorschaulinks zu Arbeitsbereichen.
Standard
48
erlaubte_Sprachen
Eigenschaft
workspaces.allowed_languages.[workspaceId]
Datentyp
(Liste von sys\_language ids)
Beschreibung
Dies ist eine Liste von sys_language uids, die in einem Arbeitsbereich erlaubt sind. Wenn diese Liste gesetzt ist, hat sie Vorrang vor der Liste der erlaubten Sprachen in der BE-Benutzergruppenkonfiguration.
Beispiel

options.workspaces.allowed_languages.3 = 1,2

In diesem Beispiel wird der Benutzer auf Sprachen mit "uid" 1 oder 2 im Arbeitsbereich mit "uid" 3 beschränkt.

Planer-Aufgaben

Die "workspaces"-Erweiterung bietet zwei Scheduler-Aufgaben.

Automatische Veröffentlichung von Arbeitsbereichen
Diese Aufgabe prüft, ob ein Arbeitsbereich ein geplantes Veröffentlichungsdatum hat. Wenn ja und wenn dieses Datum überschritten ist, werden alle Änderungen, die das Stadium "Bereit zur Veröffentlichung" erreicht haben, im Live-Arbeitsbereich veröffentlicht.
Arbeitsbereiche bereinigen Vorschau-Links
Wenn Vorschau-Links erzeugt werden, werden sie in der Datenbank (in der Tabelle "sys_preview") gespeichert. Diese Aufgabe löscht jeden Link, der abgelaufen ist.

PSR-14-Ereignisse

Die folgenden PSR-14-Ereignisse sind zur Erweiterung der Funktionalität verfügbar:

AfterCompiledCacheableDataForWorkspaceEvent

Findet alle cachebaren Daten von Versionen eines Arbeitsbereichs. Mehr Details

AfterDataGeneratedForWorkspaceEvent

Findet alle Daten von Versionen eines Arbeitsbereichs. Mehr Details

AfterRecordPublishedEvent

Das Ereignis wird ausgelöst, nachdem ein Datensatz in einem Arbeitsbereich veröffentlicht worden ist. Mehr Details

GetVersionedDataEvent

Findet alle vorbereiteten / bereinigten Daten von Versionen eines Arbeitsbereichs. Mehr Details

ModifyVersionDifferencesEvent

Ändern Sie die Daten der Versionsunterschiede. Mehr Details

SortVersionedDataEvent

Das Ereignis wird nach dem Sortieren aller Daten für Versionen eines Arbeitsbereichs ausgelöst. Mehr Details

Benutzerhandbuch

Dieser Abschnitt befasst sich mit den arbeitsbereichsbezogenen Funktionen im Backend.

Die meisten bedeutenden Arbeitsbereiche haben ein Auswahlfeld in der oberen rechten Ecke des Backends.

"Workspace selector"

Der Arbeitsbereichselektor in der oberen Leiste

In dieser Auswahlbox können Sie zwischen den verfügbaren Arbeitsbereichen wählen. Das gesamte Backend wird jedes Mal neu geladen, wenn man den Arbeitsbereich wechselt.

Als visuelle Erinnerung daran, dass Sie sich gerade in einem Arbeitsbereich befinden, ändert sich ein Teil der oberen Leiste in eine andere Farbe:

"Workspace indicator"

Aktivierung eines Arbeitsbereichs, hervorgehoben in der oberen Leiste

Sobald Sie innerhalb eines Arbeitsbereichs mit der Bearbeitung beginnen, werden neue Versionen für Sie erstellt.

Eine Seite, die im aktuellen Arbeitsbereich eine Änderung aufweist, wird im Seitenbaum hervorgehoben:

"Highlighted page"

Geänderte Seite im Seitenbaum hervorgehoben

Das Modul WEB > Workspaces ermöglicht es Ihnen, Änderungen in einem Arbeitsbereich zu überwachen:

"Workspace module overview"

Ein Überblick über die Änderungen im Modul Arbeitsbereiche

Zunächst einmal erhalten Sie einen Überblick über alle Änderungen im aktuellen Arbeitsbereich und auf der aktuellen Seite (oder darunter, falls so definiert). Dies ist auch das Kontrollzentrum für das Überprüfen, Bearbeiten und Senden von Änderungen an eine andere Stufe. Alle diese Vorgänge werden im Folgenden detailliert beschrieben. Die Icons entsprechen den folgenden Operationen:# Änderungen anzeigen: öffnet die Detailansicht

  1. Swap: tauscht den Arbeitsbereich und die Live-Version des Datensatzes
  2. Vorschau-Element: öffnet das Vorschaufenster
  3. Element bearbeiten: editiert den Datensatz
  4. Version der Seite öffnen: wechselt zum Modul WEB > Seite
  5. Verwerfen: verwirft die Änderung
  6. wählt den Datensatz aus. Sobald ein Datensatz ausgewählt ist, werden die beiden Aktionsmenüs unten links aktiv.

Das dritte Menü am unteren Rand der Ansicht ist das Menü "Massenaktion" (unten beschrieben).

Sie können auch den Arbeitsbereich wechseln, indem Sie auf die entsprechende Registerkarte klicken.

Die Detailansicht öffnet sich in einem Popup-Fenster mit den vollständigen Verlaufsinformationen.

"Viewing details of a change"

Alle Details zu einer Änderung anzeigen

Vorschau des Inhalts

Sobald Sie in einem Arbeitsbereich auf die Schaltfläche "Webseite anzeigen" klicken oder die Aktion "Seite speichern und anzeigen" verwenden, gelangen Sie zur Vorschau des Arbeitsbereichs. Dies ist auch direkt aus dem Modul Arbeitsbereiche möglich, wenn Sie auf die Schaltfläche "Elementvorschau" klicken.

Die Arbeitsbereichsvorschau ist eine gleichzeitige Ansicht der Live- und der Arbeitsbereichsversion. Standardmäßig wird die Arbeitsbereichsversion angezeigt und ein Schieberegler, mit dem Sie die Anzeige auf die Live-Version umstellen können. Mit dem Auswahlfeld in der oberen rechten Ecke können Sie den Modus z. B. auf vertikale Aufteilung ändern:

"Workspace split preview"

Ändern der geteilten Vorschau der Arbeitsbereiche

Wenn Sie auf den Reiter "Listenansicht" klicken, gelangen Sie in die gleiche Ansicht wie im Modul Arbeitsbereiche.

Erzeugen eines Vorschau-Links

Ein zusätzliches Feature des Arbeitsbereichs ist, dass ein spezieller Vorschaulink generiert werden kann. Dieser kann mit jedem geteilt werden, auch mit Personen, die keinen Zugriff auf die TYPO3 CMS-Installation haben. Mit diesem Link können andere Personen die Seite so sehen, wie sie in dem jeweiligen Arbeitsbereich erscheint.

Klicken Sie einfach auf die Schaltfläche "Seitenvorschau-Links generieren" in der Kopfzeile und kopieren Sie den Link aus dem Popup-Fenster:

"The preview link"

Der Link zur Vorschau erscheint in einem Popup-Fenster

Überprüfungsprozess

Die Weiterleitung einer Änderung an eine andere Stufe des Überprüfungsprozesses erfolgt über das Popup-Fenster der Detailansicht:

"Send to another stage"

Senden einer Änderung an die vorherige oder nächste Stufe

Die Änderung kann entweder an die nächste Stufe gesendet oder an die vorherige Stufe zurückgeschickt werden. Sobald eine Stufe ausgewählt wurde, erscheint ein weiteres Popup-Fenster zur Eingabe einer Nachricht:

"Send to stage message"

Hinzufügen einer Nachricht beim Senden an eine andere Stufe

Die Nachrichten sind als Kommentare in der Änderungshistorie sichtbar.

Sobald die Änderung das Stadium "Bereit zur Veröffentlichung" erreicht hat, kann jeder, der über die entsprechenden Rechte verfügt, sie in der LIVE-Version veröffentlichen, woraufhin sie auf der Website sichtbar wird. Beachten Sie, dass jeder, der zur Veröffentlichung berechtigt ist, direkt von jeder Stufe aus veröffentlichen kann. Eine Änderung muss also nicht in allen Phasen durchlaufen worden sein.

Es ist auch möglich, eine Änderung an eine andere Stufe zu senden, indem Sie sie in der Übersicht auswählen und das Menü unten links verwenden:

"Individual stage actions"

Eine oder mehrere Änderungen direkt an eine andere Stufe senden

Das Massenaktionsmenü

Mit dem dritten Menü am unteren Rand können Sie auch einen ganzen Arbeitsbereich auf einmal veröffentlichen, austauschen oder verwerfen. Dieses Auswahlfeld - "Massenaktionen" genannt - ist nur aktiv, wenn kein Element ausgewählt ist:

"Mass actions menu"

Der Massenwirkungsselektor

Wichtig

Die Massenaktionen wirken sich auf den gesamten Arbeitsbereich aus, d.h. auch auf die Änderungen, die im Modul Arbeitsbereiche nicht sichtbar sind, weil sie sich nicht im aktuell ausgewählten Zweig im Seitenbaum befinden.

Arbeitsbereich-Protokoll

Das Systemprotokoll spiegelt auch die Vorgänge im Arbeitsbereich wider. In der Spalte "Benutzer" erscheint der Name des Arbeitsbereichs unterhalb des Benutzernamens:

"Workspaces and logging"

Protokoll der arbeitsplatzbezogenen Vorgänge

  1. https://docs.typo3.org/c/typo3/cms-workspaces/main/en-us/singlehtml/Index.html