diff --git a/emf/docs/index.php b/emf/docs/index.php
index 1e51fef..1c10223 100755
--- a/emf/docs/index.php
+++ b/emf/docs/index.php
@@ -430,11 +430,16 @@
         </div>
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 EOHTML;
 
 
diff --git a/emf/gettingstarted.php b/emf/gettingstarted.php
index edf5beb..30f313f 100644
--- a/emf/gettingstarted.php
+++ b/emf/gettingstarted.php
@@ -51,11 +51,15 @@
 	
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
-
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 EOHTML;
 
diff --git a/emf/index.php b/emf/index.php
index 066ff7e..6ab5ecb 100644
--- a/emf/index.php
+++ b/emf/index.php
@@ -130,8 +130,8 @@
         </div>
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
diff --git a/graphical.php b/graphical.php
index e4c64fc..28a33b4 100644
--- a/graphical.php
+++ b/graphical.php
@@ -95,12 +95,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
-
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 EOHTML;
diff --git a/includes/downloads-common.php b/includes/downloads-common.php
index b22b5b6..a3248a8 100644
--- a/includes/downloads-common.php
+++ b/includes/downloads-common.php
@@ -254,8 +254,8 @@
 <div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 	</div>
diff --git a/index.php b/index.php
index 5d5f785..4f72aae 100644
--- a/index.php
+++ b/index.php
@@ -84,8 +84,8 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
diff --git a/more.php b/more.php
index 3f58508..63994bb 100644
--- a/more.php
+++ b/more.php
@@ -97,11 +97,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
diff --git a/server.php b/server.php
index 3f3b0f1..c9eb87e 100644
--- a/server.php
+++ b/server.php
@@ -95,11 +95,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf">#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
diff --git a/support.php b/support.php
index 8573f6a..ef8be94 100644
--- a/support.php
+++ b/support.php
@@ -84,11 +84,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
diff --git a/textual.php b/textual.php
index d8d1fa0..20f746e 100644
--- a/textual.php
+++ b/textual.php
@@ -75,11 +75,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
diff --git a/tools.php b/tools.php
index 6a8fc69..87387dd 100644
--- a/tools.php
+++ b/tools.php
@@ -116,12 +116,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
-
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 EOHTML;
diff --git a/transformation.php b/transformation.php
index 751c5fb..a2d6925 100644
--- a/transformation.php
+++ b/transformation.php
@@ -100,11 +100,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
diff --git a/web.php b/web.php
index 56b45a1..8f9c7ab 100644
--- a/web.php
+++ b/web.php
@@ -76,11 +76,16 @@
 	<div id="rightcolumn">
 		<div class="sideitem">
 			<h6>News on Twitter</h6>
-		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" data-widget-id="503883842478809088">#eclipsemf Tweets</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+		<a id="twitter-timeline" href="https://twitter.com/hashtag/eclipsemf" >#eclipsemf Tweets</a>
+
 		</div>
 	</div>
 </div>
+<script>(function() {
+if (getCookie("eclipse_cookieconsent_status") === "allow") {
+      createTimeline();
+  }
+})()</script>
 
 
 
