diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml
index ee05b6513613f5dc752bfc4e8cac10bf5219311a..b6d9d6bb0a3c090f3447577803fab428caefc71c 100644
--- a/apps/files_encryption/appinfo/info.xml
+++ b/apps/files_encryption/appinfo/info.xml
@@ -7,6 +7,10 @@
 	<author>Sam Tuke, Bjoern Schiessle, Florin Peter</author>
 	<require>4</require>
 	<shipped>true</shipped>
+	<documentation>
+		<user>http://doc.owncloud.org/server/6.0/user_manual/files/encryption.html</user>
+		<admin>http://doc.owncloud.org/server/6.0/admin_manual/configuration/configuration_encryption.html</admin>
+	</documentation>
 	<rememberlogin>false</rememberlogin>
 	<types>
 		<filesystem/>
diff --git a/lib/private/app.php b/lib/private/app.php
index 34c00e97fb9462eaf40272a2600c2d109ed4c03a..0c60557914aa3e6b00b1659ee06f61b0423b71a1 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -555,6 +555,10 @@ class OC_App{
 			}elseif($child->getName()=='description') {
 				$xml=(string)$child->asXML();
 				$data[$child->getName()]=substr($xml, 13, -14);//script <description> tags
+			}elseif($child->getName()=='documentation') {
+				foreach($child as $subchild) {
+					$data["documentation"][$subchild->getName()] = (string)$subchild;
+				}
 			}else{
 				$data[$child->getName()]=(string)$child;
 			}
diff --git a/settings/css/settings.css b/settings/css/settings.css
index a93c675d4669b5f4d4391d89c70f5cd6f5bae377..8a96885b78957b7cd12876fa470c94c75a184056 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -131,6 +131,12 @@ span.version { margin-left:1em; margin-right:1em; color:#555; }
 .appslink { text-decoration: underline; }
 .score { color:#666; font-weight:bold; font-size:0.8em; }
 
+.appinfo .documentation {
+	margin-top: 1em;
+	margin-bottom: 1em;
+}
+
+
 /* LOG */
 #log { white-space:normal; }
 #lessLog { display:none; }
diff --git a/settings/js/apps.js b/settings/js/apps.js
index a55c55e24cf4ccd64462fe722754570490d6fef2..2c6f77d9314caae3d1cc59b5eca5387b01f01ab4 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -37,6 +37,30 @@ OC.Settings.Apps = OC.Settings.Apps || {
 		}
 		page.find('span.licence').text(appLicense);
 
+		var userDocumentation = false;
+		var adminDocumentation = false;
+		if (typeof(app.documentation) !== 'undefined') {
+			if (typeof(app.documentation.user) !== 'undefined') {
+				userDocumentation = true;
+				page.find('span.userDocumentation').html("<a id='userDocumentation' href='" + app.documentation.user + "'>" + t('settings', 'User Documentation') + "</a>");
+				page.find('p.documentation').show();
+			}
+			if (typeof(app.documentation.admin) !== 'undefined') {
+				adminDocumentation = true;
+				page.find('span.adminDocumentation').html("<a id='adminDocumentation' href='" + app.documentation.admin + "'>" + t('settings', 'Admin Documentation') + "</a>");
+				page.find('p.documentation').show();
+			}
+
+			if(userDocumentation && adminDocumentation) {
+				page.find('span.userDocumentation').after(', ');
+			}
+		}
+
+		if (typeof(app.website) !== 'undefined') {
+			page.find('p.website').show();
+			page.find('a#websitelink').attr('href', app.website);
+		}
+
 		if (app.update !== false) {
 			page.find('input.update').show();
 			page.find('input.update').data('appid', app.id);
@@ -51,8 +75,8 @@ OC.Settings.Apps = OC.Settings.Apps || {
 		page.find('input.enable').data('active', app.active);
 		if (app.internal === false) {
 			page.find('span.score').show();
-			page.find('p.appslink').show();
-			page.find('a').attr('href', 'http://apps.owncloud.com/content/show.php?content=' + app.id);
+			page.find('p.appstore').show();
+			page.find('a#appstorelink').attr('href', 'http://apps.owncloud.com/content/show.php?content=' + app.id);
 			page.find('small.externalapp').hide();
 		} else {
 			page.find('p.appslink').hide();
@@ -110,7 +134,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
 					element.val(t('settings','Disable'));
 				}
 			},'json')
-			.fail(function() { 
+			.fail(function() {
 				OC.Settings.Apps.showErrorMessage(t('settings', 'Error while enabling app'));
 				appitem.data('errormsg', t('settings', 'Error while enabling app'));
 				appitem.data('active',false);
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 0b76f775fea4802ec635b42e69a27d9438fbc73d..e04815f9b99d7f1ec84578fcc46ce396b729283e 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -34,9 +34,16 @@
 		class="version"></span><small class="externalapp" style="visibility:hidden;"></small></h3>
 	<span class="score"></span>
 	<p class="description"></p>
+	<p class="documentation hidden">
+		<?php p($l->t("Documentation:"));?>
+		<span class="userDocumentation appslink"></span>
+		<span class="adminDocumentation appslink"></span>
+	</p>
 	<img src="" class="preview hidden" />
-	<p class="appslink hidden"><a href="#" target="_blank"><?php
+	<p class="appslink appstore hidden"><a id="appstorelink" href="#" target="_blank"><?php
 		p($l->t('See application page at apps.owncloud.com'));?></a></p>
+	<p class="appslink website hidden"><a id="websitelink" href="#" target="_blank"><?php
+		p($l->t('See application website'));?></a></p>
 	<p class="license hidden"><?php
 		print_unescaped($l->t('<span class="licence"></span>-licensed by <span class="author"></span>'));?></p>
 	<input class="enable hidden" type="submit" />