ok Confluence auf read only setzen (für Maintenance etc.) | CMS - Webdesign - Website

Confluence auf read only setzen (für Maintenance etc.)

Wenn man ein Wiki wie Confluence auf ein neues Release bringen möchte kann das schon ein Weilchen dauern, wenn die Datenmenge entsprechend groß ist. Eine Möglichkeit ist, parallel zum produktiven Confluence Wiki auf einer Kopie das neue Release hochzuziehen. Dabei ist es natürlich unerwünscht, wenn nebenbei die User im Produktivsystem fleissig weiterarbeiten und somit der Stand des parallelen Systems am Ende nicht mehr aktuell ist. Ein „Einfrieren“ des Produktivsystems macht da Sinn.  Die User dürfen ja ruhig lesen, sollen aber nichts verändern (hinzufügen, editieren, löschen, kommentieren, etc.).

Leider gibt es in Confluence derzeit noch keine Funktion, um das System auf „Read Only“ zu setzen. Man kann sich damit helfen, dass man durch Java Script (jQuery) alle Seiten, deren URL mit einer Action zur Veränderung des Systems verbunden sind (etwa editpage.action), blockiert. Z.B. einen Layer drauf legt, der halb durchsichtig ist, mit einem entpsrechenden Hinweis.

Dieses Script hinterlegt man im Admin-Bereich unter Look & Feel, Custom HTML, im HEAD-Bereich:

<script type='text/javascript'> 
// READ ONLY
        /*  wenn eine Editier-Seite, dann blockieren */
        // aktuelle Adresse der Seite abfragen
    var thisPageAdress = window.location.href;
if (thisPageAdress.indexOf("/editpage.action") > -1 ||  thisPageAdress.indexOf("/createpage.action") > -1 ||  thisPageAdress.indexOf("/uploadimport.action") > -1 ||  thisPageAdress.indexOf("/createblogpost.action") > -1 ||  thisPageAdress.indexOf("#addcomment") > -1 ||  thisPageAdress.indexOf("/removepage.action") > -1  ||  thisPageAdress.indexOf("/listpages-dirview.action") > -1 ||    thisPageAdress.indexOf("/copypage.action") > -1  ||   thisPageAdress.indexOf("/spaceadmin.action") > -1 || thisPageAdress.indexOf("/custompermissionsmanage.action") > -1  || thisPageAdress.indexOf("/createpagetemplate.action") > -1 || thisPageAdress.indexOf("/editpagetemplate.action") > -1  ||  thisPageAdress.indexOf("/editscaffold.action") > -1  ) {
function goBack() {
    window.history.back()
}
   jQuery(function ($) {
   $('input').replaceWith(' ');
   $('a').replaceWith(' ');
    $('body').prepend('<div style="position:fixed; z-index:10000; background-color:yellow; top:10px; bottom:10px; left:10px; right:10px; opacity:0.7; filter:alpha(opacity=70); -moz-opacity:.7; "><div style="position: absolute;top: 50%;left: 50%;width: 600px;height: 100px;padding: 5px;margin-left: -300px;margin-top: -50px;background: #fff;box-sizing: border-box;text-align:center; vertical-align:middle; color:red; font-weight:bold; font-size:large;line-height:45px;">Maintenance: WiKi nur lesbar / read only<br /><button onclick="goBack()">Zurück / Go Back</button></div></div>');
   });
}
</script>