Fermer

décembre 12, 2020

Implémentation du flux de travail dans Sitecore: une mini-série Partie 7 – Accélérer le processus


Les avantages de l'implémentation du workflow dans Sitecore ne sont pas sans inconvénients. Comme pour tout processus d'entreprise, plus vous ajoutez de barrières d'arrêt pour diffuser votre contenu, ce qui rend le travail plus fastidieux. Dans notre flux de travail simple, vous devez verrouiller et modifier pour créer un élément «Brouillon». Après avoir enregistré vos modifications, vous devez soumettre votre article pour approbation. Une fois approuvé, vous devez publier l'élément. Imaginez si vous avez créé une nouvelle page et ajouté 15 nouveaux composants, chacun étant livré avec ses propres nouveaux éléments de source de données. Vous devrez soumettre l'élément de page et chacun des 15 éléments de source de données individuellement. Faire cela plusieurs fois peut considérablement entraver la capacité d'un auteur de contenu à produire du contenu en temps opportun. Dans cet article de blog, nous allons créer des scripts PowerShell que les auteurs de contenu peuvent exécuter dans l'éditeur de contenu, qui feront tout le travail à leur place.

Scripts PowerShell pour les auteurs

 $ currentItem = Get-Item.

Get-ChildItem -Recurse -Path $ currentItem.FullPath -WithParent | Where-Object {$ _. "__ État du flux de travail" -eq '{}'} |
        ForEach-Object {
            Write-Host "Soumission pour approbation:" $ _. Nom
            $ _. Édition.BeginEdit ()
            $ _. Champs ["__Workflow State"] .Value = "{}"
            foreach ($ version dans $ _. Versions.GetVersions ($ true))
            {
                if ($ version.Locking.IsLocked ())
                {
                    $ version.Editing.BeginEdit ()
                    $ version.Locking.Unlock ()
                    $ version.Editing.EndEdit ()
                }
            }
            $ _. Editing.EndEdit ()
        } 

Insérez votre état «Brouillon» et les indicateurs d'état «En attente d'approbation», le cas échéant, dans le script ci-dessus. Ce script prendra l'élément actuel sur lequel vous l'exécutez et déplacera l'élément actuel et ses enfants qui sont à l'état «Brouillon» dans l'état «En attente d'approbation». Il débloquera également les éléments qui ont changé d'état.

Ensuite, enregistrez-le à l'emplacement suivant ci-dessous pour le rendre accessible dans l'éditeur de contenu.

 Simpleworkflowspeeduplocationwitharrow

 Sitecore - Comprendre les approches de développement: un Outlook Sitecore

L'enregistrement du script dans cette structure de dossiers vous permet d'accéder à ce script sur n'importe quel élément donné en cliquant dessus avec le bouton droit de la souris. Voici à quoi cela ressemble:

 Simpleworkflowcontextmenusubmit

Scripts PowerShell pour les approbateurs et les administrateurs

 $ currentItem = Get-Item.

Get-ChildItem -Recurse -Path $ currentItem.FullPath -WithParent | Where-Object {$ _. "__ État du flux de travail" -eq '{}'} |
        ForEach-Object {
            Write-Host "Soumission pour approbation:" $ _. Nom
            $ _. Édition.BeginEdit ()
            $ _. Champs ["__Workflow State"] .Value = "{}"
            foreach ($ version dans $ _. Versions.GetVersions ($ true))
            {
                if ($ version.Locking.IsLocked ())
                {
                    $ version.Editing.BeginEdit ()
                    $ version.Locking.Unlock ()
                    $ version.Editing.EndEdit ()
                }
            }
            $ _. Editing.EndEdit ()
        }

Insérez votre état "Brouillon" et vos codes d'état "Approuvé" le cas échéant dans le script ci-dessus. Ce script prendra l'élément actuel sur lequel vous l'exécutez et déplacera l'élément actuel et ses enfants qui sont à l'état «Brouillon» dans l'état «Approuvé». Cela déverrouillera également les objets qui ont changé d'état. Enregistrez ce script dans le même emplacement de dossier que le script précédent. Il sera également accessible de la même manière.

Empêcher les auteurs de soumettre et d'approuver du contenu via PowerShell Script

Accédez à l'éditeur de sécurité et mettez à jour les autorisations sur le rôle Auteur. Refuser l'accès en lecture au script PowerShell qui permet aux auteurs de contenu de déplacer des éléments de l'état «Brouillon» à l'état «Approuvé». Cela masquera l'option permettant d'exécuter ces scripts dans le menu contextuel d'un élément.

Conclusion

Ce billet de blog conclut la mini-série! J'espère que cela vous a été utile pour expliquer comment implémenter le flux de travail dans Sitecore pour votre entreprise. N'hésitez pas à laisser des commentaires ci-dessous si vous avez des questions!






Source link