diff --git a/beat/web/plotters/urls.py b/beat/web/plotters/urls.py
index 3507427758186d0b4c74c923b8ac39737bdfde97..44b2f2a2353fd8decaa7a5da39b0931a8665e167 100644
--- a/beat/web/plotters/urls.py
+++ b/beat/web/plotters/urls.py
@@ -99,6 +99,12 @@ urlpatterns = [
         name='fork',
     ),
 
+    url(
+        r'^plotterparameter/diff/(?P<author1>\w+)/(?P<name1>[-\w]+)/(?P<version1>\d+)/(?P<author2>\w+)/(?P<name2>[-\w]+)/(?P<version2>\d+)/$',
+        views.diff,
+        name='diff',
+    ),
+
     url(
         r'^(?P<author_name>\w+)/plotterparameter/$',
         views.list_plotterparameters,
@@ -123,6 +129,12 @@ urlpatterns = [
         name='view',
     ),
 
+    url(
+        r'^plotterparameter/(?P<author>\w+)/(?P<name>[-\w]+)/$',
+        views.plotterparameter_latest,
+        name='plotterparameter-view-latest',
+    ),
+
 
     url(
         r'^(?P<author>\w+)/(?P<name>[-\w]+)/$',
diff --git a/beat/web/plotters/views.py b/beat/web/plotters/views.py
index fc54cfbf81e787b1cdbda9bd987d1169073ec7be..e9da71880b589d6c4c68d316d21ba00ef619f072 100644
--- a/beat/web/plotters/views.py
+++ b/beat/web/plotters/views.py
@@ -711,6 +711,33 @@ def list_plotterparameters_public(request):
             )
 
 
+#----------------------------------------------------------
+
+
+def plotterparameter_latest(request, author, name):
+    '''Get latest plotterparameter for the request user'''
+
+    # check that the user exists on the system
+    objects = PlotterParameter.objects.filter(
+                author__username__iexact=author,
+                name__iexact=name,
+).order_by('-creation_date')
+    print objects
+    objects = PlotterParameter.filter_latest_versions(objects)
+
+    print objects
+
+    return render_to_response('plotterparameters/list.html',
+            dict(
+                objects=objects,
+                author=request.user, #anonymous
+                owner=False,
+                ),
+            context_instance=RequestContext(request),
+            )
+
+
+
 #------------------------------------------------
 
 
@@ -746,6 +773,43 @@ def plotterparameter_for_author(request, author_name, plotterparameter_name, ver
 
 #----------------------------------------------------------
 
+
+def diff(request, author1, name1, version1, author2, name2, version2):
+    """Shows the difference between two plotterparameters. The Web API is used to
+    retrieve the details about the plotterparameters and check the accessibility.
+    """
+
+    plotterparameter1 = get_object_or_404(
+            PlotterParameter,
+            author__username__iexact=author1,
+            name__iexact=name1,
+            version=int(version1),
+            )
+    has_access, _ = plotterparameter1.accessibility_for(request.user)
+    if not has_access: raise Http404()
+
+    plotterparameter2 = get_object_or_404(
+            PlotterParameter,
+            author__username__iexact=author2,
+            name__iexact=name2,
+            version=int(version2),
+            )
+    has_access, _ = plotterparameter2.accessibility_for(request.user)
+    if not has_access: raise Http404()
+
+    return render_to_response('plotterparameters/diff.html',
+                              {
+                                  'plotterparameter1':  plotterparameter1,
+                                  'plotterparameter1_data':  simplejson.loads(plotterparameter1.data),
+                                  'plotterparameter2':  plotterparameter2,
+                                  'plotterparameter2_data':  simplejson.loads(plotterparameter2.data),
+                              },
+                              context_instance=RequestContext(request))
+
+
+#----------------------------------------------------------
+
+
 @login_required
 def create_plotterparameter(request, author_name):
     '''Create a new plotterparameter to the request user'''