Oanonyma-kommentarer-i-kommentarsmodulen

Oanonyma kommentarer på SiteVision-intranätet

Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/java.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/java.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/java.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/javascript.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html4strict.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html4strict.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html4strict.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103 Warning: fopen(/usr/local/pem/vhosts/272394/webspace/httpdocs/johanalbertsson.se/wp-content/plugins/devformatter/geshi/geshi/html.php): failed to open stream: No such file or directory in /storage/content/62/2004462/johanalbertsson.se/public_html/wp-content/plugins/devformatter/devgeshi.php on line 103

Kommentarsfunktionen i SiteVision är en trevlig funktion som kan ge ett intranät en ”social” touch. Men avsaknaden av att kunna förhindra anonyma kommentarer kan vara ett hinder för införande.

Men det finns en lösning!

Det man kan göra är att låta ett skript skriva ut användarens namn i ett gömt fält, för att sen flytta över det till namnfältet, samt sätta så det inte går att redigera.

I JavaSkript-delen hämtar vi användarens namn och lagrar den i variabeln name.

 java |  copy code |? 
var utils = request.getAttribute("sitevision.utils");
var propertyUtil = utils.getPropertyUtil();
var context = utils.getPortletContextUtil();
var user = context.getCurrentUser();
 
var name = "";
 
try {
name = propertyUtil.getString(user, "displayName");
} catch(e) {}

Sen använder vi jQuery för att hämta och stoppa in namnet i rätt fält. Efter det förhindrar vi användaren från att ändra värdet.

I raden:

var inputField = $(‘#name12_61fd919f1288caeb0c4800032156′);

Måste vi stoppa in det id-nummer fältet fick när vi la ut kommentarsmodulen på sidan. Det gör man enklast genom att markera det i Firebug och se vilket id det fick.

Här är resten av skriptet som kopieras in i Velocitydelen:

 html |  copy code |? 
<div id="userName" style="display: none;">$name</div>
<script>
 $(document).ready(function() {
 var name = $('#userName').html();
 var inputField = $('#name12_61fd919f1288caeb0c4800094285');
 inputField.val(name);
 inputField.attr('readonly', true); 
 inputField.attr('disabled', true);
 inputField.css('background' ,'#CCC');
 inputField.css('color', '#333');
 inputField.css('border' ,'1px solid #666');
 });
</script>

Obs: Eftersom den här lösningen är beroende av att JavaScript är påslaget i webbläsaren finns det en liten möjlighet för användaren att ta sig runt skyddet genom att stänga av Javascript.

Comments (1)

  1. Hade samma utmaning på vårt intranät, men löste det på lite annorlunda sätt. Plockar ut användarens namn-attribut direkt i kommentarmodulens Velocity-mall (som ditt skript-exempel fast i velocity). Då får man in $name-variabeln i input-fältet utan att blanda in klient-javascript.

Leave a Comment

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>