Diag====| Initiating an AUTOMATIC CHECK FOR UPDATES ON PAGE LOAD wp_loaded due to FeedWordPress option = string(4) "init"
Diag====| FeedWordPress is set up to hold pings, fwp_held_ping=0
Diag| Polling feed [https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed]
Diag====| HTTP [https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2413 (1) {
    ["data":protected]=>
    array(12) {
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
      ["date"]=>
      string(29) "Sat, 16 May 2026 20:03:34 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.30"
      ["expires"]=>
      string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
      ["cache-control"]=>
      string(35) "no-store, no-cache, must-revalidate"
      ["pragma"]=>
      string(8) "no-cache"
      ["link"]=>
      string(194) "<https://blogs.ed.ac.uk/sliceoflearning/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/sliceoflearning/wp-json/wp/v2/tags/8>; rel="alternate"; title="JSON"; type="application/json""
      ["set-cookie"]=>
      array(3) {
        [0]=>
        string(62) "PHPSESSID=hma8sb4pdgee5e3kci6h9sr2u4; path=/; secure; HttpOnly"
        [1]=>
        string(139) "spo_2048_fa=1f6a19a4a61ea1542b1e6b34a077e786; expires=Sat, 16 May 2026 20:33:34 GMT; Max-Age=1800; path=/sliceoflearning/; Secure; HttpOnly"
        [2]=>
        string(125) "RCKBMHKB=027ff8be59-56fd-48Y2CetPKHE-yLCBpzbcaN3u1ynk-MGI4q9wxUpQgnwsjFLyz2z7WMlN7F7zldA-tRQtA; path=/; SameSite=None; Secure"
      }
      ["last-modified"]=>
      string(29) "Mon, 05 Sep 2022 13:49:32 GMT"
      ["etag"]=>
      string(34) ""3f92756d9ecbe74d271c36001f3864b1""
      ["vary"]=>
      string(15) "Accept-Encoding"
    }
  }
  ["body"]=>
  string(31884) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>dlam-feed – A Slice of Learning</title>
	<atom:link href="https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/sliceoflearning</link>
	<description></description>
	<lastBuildDate>Thu, 24 Sep 2020 15:04:52 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>More about Blogs.ed and Plugins</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/#respond</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Wed, 23 Sep 2020 15:22:18 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=176</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>Processes and Plugins   I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>Processes and Plugins</h1>
<p> </p>
<p>I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own WordPress Multisite at your institution, as ever, if you want to discuss this feel free to get in touch.</p>
<p> </p>
<p>Firstly let’s talk about how we go about selecting Plugins. We start to look when multiple users all ask for the same of similar plugin/function or if we encounter and issue that needs a plugin to be resolved. Thankfully we have an inhouse development team that can be called on if we cannot find something which is a blessing but they support multiple platforms so we do need to have good reason. If we do find a plugin or multiple plugins then we start to investigate whether they actually resolve our issue and if they add any issues or have unexpected behaviour, so far this seems to make basic sense. We have, however, developed a process to audit plugins to ascertain whether they are well supported, well reviewed and also if they contain privacy invasive cookies using the following criteria:</p>
<table width="99%">
<tbody>
<tr>
<td><strong>Plugin / theme name:</strong></td>
<td><strong>Yes / no</strong></td>
<td><strong>Comments</strong></td>
<td><strong>Date requested</strong></td>
<td><strong>Date installed</strong></td>
</tr>
<tr>
<td><strong>What does it do?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>How much does it cost?</strong></p>
<ul>
<li>Cost of adoption</li>
<li>Cost of training</li>
<li>Cost of usage</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Author background</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Is the documentation good?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Who will use the add-on?</strong></p>
<ul>
<li>admins / authors</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Feedback / reviews</strong></p>
<ul>
<li>Is it used by many, reviews / comments</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Technical status:</strong></p>
<ul>
<li>Is it up to date, compatible with our version of wordpress?</li>
<li>Is it well written?</li>
<li>Does it backup/restore?</li>
<li>Is it secure?</li>
<li>Is data shared outside of wordpress?</li>
<li>Type of cookies set</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Accessibility:</strong></p>
<ul>
<li>Check any spellcheck functionality on free data entry boxes/forms that is either automatically run by the system or that requires users interaction</li>
<li>Describe any data validation that is automatically run by the system to ensure users enter data in the correct formats.  Check error messages are in sufficient colour contrast, accessible font, clear location, not pop ups.</li>
<li>Check whether the template scales correctly using different resolutions and whether there are any resolutions that are not recommended, tested using ctrl + and Windows Magnifier</li>
<li>Check the colours and colour contrasts and font types and styles used i.e. are italics and continuous capitals avoided?</li>
<li>Check functionality that would allow users to customise their views (i.e. font size, colours, contrast ratios).  This is by altering browser settings.</li>
<li>Check whether all content is accessible through a keyboard interface and whether it requires specific timings for keystrokes. I.e. is it possible to navigate around the template and complete any forms etc without ever using a mouse.</li>
<li>Check there is an indication or warning of links which will open a new tab or window and check that these warnings are accessible</li>
<li>Check that the template conveys no information in only colour or sound.</li>
<li>Check there is no flashing or scrolling text? If so does the text flash 3 or more times per second and can it be paused? If there is flashing or scrolling text please provide more details.</li>
<li>Check that Zoomtext is compatible with the template without plug ins</li>
<li>Check that JAWS is compatible with the template without plug ins</li>
<li>Check that TextHelp Read and Write Gold is compatible with the template in terms of spellcheck, hover highlight and highlight and read without plug ins.</li>
<li>Check that tooltips are clear and enabled by default on the template.</li>
</ul>
<p>·       Check that there are text alternatives for any non-text content.</p>
<ul>
<li>Check that for any audio/visual items are there captions available and theses have been checked for accuracy.</li>
<li>Check there are no time limits prescribed for the viewing/inputting of content to the template</li>
<li>Check what specialist help is linked to on the template and that this includes a method of contacting someone for assistance?</li>
<li>Check that if the template is accessed via a mobile or tablet device the user system does not require to use any requires any specific timings/specific keystrokes to complete tasks</li>
<li>Check the template works with mobiles/tablets to offer any text to speech functionality of the results for those with visual impairments?</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p> </p>
<p>You can also read more about this process in this blog post by Callum, one of the original service managers who has since moved to greener pastures (about 5 metres away when we were in the office) – <a href="https://blogs.ed.ac.uk/dlam/2019/04/08/cookie-audit-findings/">Cookie Audit Process Blog</a></p>
<p>Lastly, here is a comprehensive list of all of the plugins that we currently use, all of these have been vetted through our process so should provide a good starting point.</p>
<h3>Plugins</h3>
<table width="1132">
<tbody>
<tr>
<td width="270"><strong>Plugin</strong></td>
<td width="225">Developer</td>
<td width="511">Description</td>
<td width="126">Network Activated?</td>
</tr>
<tr>
<td>Add Existing Users</td>
<td>WPMUDEV</td>
<td width="511">Allows you to bulk add existing users to a site, including the facility to set their role.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://addmultipleusers.happynuclear.com/">Add Multiple Users</a></td>
<td>HappyNuclear</td>
<td width="511">This plugin allows you to add multiple user accounts to your WordPress blog using a range of tools.</td>
<td>Y</td>
</tr>
<tr>
<td><a href="https://akismet.com/">Akismet Anti-Spam</a></td>
<td>Automattic</td>
<td width="511">Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Your site is fully configured and being protected, even while you sleep.</td>
<td>Y</td>
</tr>
<tr>
<td>Batch Create</td>
<td>WPMUDEV</td>
<td width="511">Create hundred or thousands of blogs and users automatically by simply uploading a csv text file – subdomain and user creation automation has never been so easy.</td>
<td>Y</td>
</tr>
<tr>
<td>BeeHive Pro</td>
<td>WPMUDEV</td>
<td width="511">Basicall Google Analytics, users can use their own ID or apply for access to the University managed one</td>
<td>N</td>
</tr>
<tr>
<td>Broken Link Checker</td>
<td>ManageWP</td>
<td width="511">Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.</td>
<td>N</td>
</tr>
<tr>
<td>Classic Editor</td>
<td>WordPress Contributers</td>
<td width="511">Enabled at network level to remove block editor default</td>
<td>N</td>
</tr>
<tr>
<td>CommentPress Core</td>
<td><a href="http://www.futureofthebook.org/"> Institute for the Future of the Book</a></td>
<td width="511">CommentPress allows readers to comment in the margins of a text. You can use it to annotate, gloss, workshop, debate and more!</td>
<td>N</td>
</tr>
<tr>
<td>Cookies for Comment</td>
<td><a href="http://ocaoimh.ie/"> Donncha O Caoimh</a></td>
<td width="511">Sets a cookie that must exist for a comment to be allowed through</td>
<td>Y</td>
</tr>
<tr>
<td>Cryout Series Slider</td>
<td><a href="http://www.cryoutcreations.eu/">Cryout Creations</a></td>
<td width="511">accessibility ready free image slider for WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Disable Comments</td>
<td><a href="http://www.rayofsolaris.net/">Samir Shah</a></td>
<td width="511">Allows administrators to globally disable comments on their site. Comments can be disabled according to post type.</td>
<td>N</td>
</tr>
<tr>
<td><a href="https://gitlab.is.ed.ac.uk/is-dlam/academic-blogging-project/ed-solr">EdSolr</a></td>
<td>UoE</td>
<td width="511">Integrates Apache Solr with a WordPress Multisite Installation.</td>
<td>Y</td>
</tr>
<tr>
<td>Email Subscribers & Newsletters</td>
<td><a href="https://www.icegram.com/"> Icegram</a></td>
<td width="511">Add subscription forms on website, send HTML newsletters, and automatically notify subscribers about new blog posts once they are published.</td>
<td>N</td>
</tr>
<tr>
<td>Enlighter – Customizable Syntax Highlighter</td>
<td><a href="https://andidittrich.com/">Andi Dittrich</a></td>
<td width="511">Syntax Highlighter</td>
<td>N</td>
</tr>
<tr>
<td>FeedWordPress</td>
<td><a href="https://feedwordpress.radgeek.com/contact/"> C. Johnson</a></td>
<td width="511">simple and flexible Atom/RSS syndication for WordPress</td>
<td>N</td>
</tr>
<tr>
<td>Flickr Album Gallery</td>
<td>FARAZFRANK</td>
<td>Flickr Album Gallery is on JS API plugin to display all public Flickr albums on your WordPress website.</td>
<td>N</td>
</tr>
<tr>
<td>Force Regenerate Thumbnails</td>
<td><a href="http://www.pedroelsner.com/">Pedro Elsner</a></td>
<td width="511">Delete and REALLY force the regenerate thumbnail.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a></td>
<td><a href="http://www.arnebrachhold.de/"> Arne Brachhold</a></td>
<td width="511">This plugin improves SEO using sitemaps for best indexation by search engines like Google, Bing, Yahoo and others.</td>
<td>Y</td>
</tr>
<tr>
<td>Image Attribution Tagger</td>
<td><a href="http://red8interactive.com/">Red8 Interactive</a></td>
<td width="511">A plugin that adds image credits to licensed images</td>
<td>Y</td>
</tr>
<tr>
<td>MimeTypes Link Icons</td>
<td><a href="https://github.com/eagerterrier/MimeTypes-Link-Icons"> Toby Cox, Juliette Reinders Folmer</a></td>
<td width="511">This will add file type icons next to links automatically.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Plugin Manager</td>
<td><a href="http://uglyrobot.com/"> Aaron Edwards</a></td>
<td width="511">The essential plugin for every multisite install! Manage plugin access permissions across your entire multisite network.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Privacy</td>
<td>WPMUDEV</td>
<td width="511">Adds more levels of privacy and allows you to control them across all sites – or allow users to override them.</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner – Site Copier</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">Allows us to create sites from a template</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner Pro</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">add-ons to the NS Cloner Core</td>
<td>Y</td>
</tr>
<tr>
<td>Open Attribute</td>
<td><a href="http://openattribute.com/">OpenAttribute</a></td>
<td width="511"></td>
<td>Y</td>
</tr>
<tr>
<td>PDF & Print</td>
<td><a href="https://bestwebsoft.com/">BestWebSoft</a></td>
<td width="511">Generate PDF files and print WordPress posts/pages. Customize document header/footer styles and appearance.</td>
<td>N</td>
</tr>
<tr>
<td>Reading Time WP</td>
<td><a href="https://jasonyingling.me/">Jason Yingling</a></td>
<td width="511">Add an estimated reading time to your posts.</td>
<td>N</td>
</tr>
<tr>
<td>Remove Email Verification</td>
<td>WPMUDEV</td>
<td width="511">Removes need to send a verification email when adding users to site or blogs</td>
<td>Y</td>
</tr>
<tr>
<td>TinyMCE Comment Field – WPSIWYG</td>
<td><a href="http://www.eracer.de/">Stefan Helmer</a></td>
<td width="511">This plugin turns the comment field from a primitive into a WYSIWYG editor, using the internal TinyMCE library bundled with WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Titan Framework</td>
<td><a href="http://gambit.ph/"> Benjamin Intal, Gambit</a></td>
<td width="511">Titan Framework allows theme and plugin developers to create a admin pages, options, meta boxes, and theme customizer options with just a few simple lines of code.</td>
<td>N</td>
</tr>
<tr>
<td>True Multisite Indexer</td>
<td><a href="https://rudrastyh.com/">Misha Rudrastyh</a></td>
<td width="511">Indexes all posts across your network and brings them into one spot – a very powerful tool that you use as a base to display posts in different ways or to manage your network.</td>
<td>Y</td>
</tr>
<tr>
<td>Ultimate Category Excluder</td>
<td><a href="http://infolific.com/technology/"> Marios Alexandrou</a></td>
<td width="511">Easily exclude categories from your front page, feeds, archives, and search results.</td>
<td>N</td>
</tr>
<tr>
<td>WordPress Importer</td>
<td><a href="https://wordpress.org/"> wordpressdotorg</a></td>
<td width="511">Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.</td>
<td>Y</td>
</tr>
<tr>
<td>WordPress.com Theme Updates</td>
<td><a href="http://automattic.com/"> Automattic</a></td>
<td width="511">Update themes downloaded from WordPress.com seamlessly with the rest of your WordPress updates.</td>
<td>Y</td>
</tr>
<tr>
<td>WP Accessibility</td>
<td><a href="http://www.joedolson.com/"> Joe Dolson</a></td>
<td width="511">Helps improve accessibility in your WordPress site, like removing title attributes.</td>
<td>N</td>
</tr>
<tr>
<td>WP Crontrol</td>
<td><a href="https://github.com/johnbillion/wp-crontrol/graphs/contributors"> John Blackbourn & contributors</a></td>
<td width="511">WP Crontrol lets you view and control what’s happening in the WP-Cron system.</td>
<td>N</td>
</tr>
<tr>
<td>WP QuickLaTeX</td>
<td><a href="http://www.holoborodko.com/pavel/">Pavel Holoborodko</a></td>
<td width="511">Access to complete LaTeX distribution. Publish formulae & graphics using native LaTeX syntax directly in the text. Inline formulas, displayed equations auto-numbering, labeling and referencing, AMS-LaTeX, TikZ, custom LaTeX preamble. No LaTeX installation required. Easily customizable using UI dialog. Actively developed and maintained. Visit QuickLaTeX homepage for more info.</td>
<td>N</td>
</tr>
<tr>
<td>WP to Twitter</td>
<td><a href="http://www.joedolson.com/">Joseph C Dolson</a></td>
<td width="511">Posts a Tweet when you update your WordPress blog or post a link, using your URL shortener. Rich options to customise and promote your Tweets.</td>
<td>N</td>
</tr>
<tr>
<td>WPMUDEV Dashboard</td>
<td>WPMUDEV</td>
<td width="511">Brings the powers of WPMU DEV directly to you. It will revolutionize how you use WordPress. Activate now!</td>
<td>N</td>
</tr>
</tbody>
</table>
<p> </p>
<h3>Themes</h3>
<div>
<table style="border-collapse: collapse; width: 48pt;" border="0" width="64" cellspacing="0" cellpadding="0">
<colgroup>
<col style="width: 48pt;" width="64" /> </colgroup>
<tbody>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt; width: 48pt;" width="64" height="19"><strong>Theme Name</strong></td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Apostrophe 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">AwesomePress</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Baskerville</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Bhari</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Blask</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cyanotype</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Davis</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fluida</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fukasawa</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Garfunkel</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Hitchcock</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Isola</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Lovecraft</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Make</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Period</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Radcliffe</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Sorbet</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">SPLOTpoint</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Tiny Framework</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Fifteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Nineteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Seventeen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Sixteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Twenty</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Writee</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Service Inheritance</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/#comments</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2020 16:06:04 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=165</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>How to Inherit a Service A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went: “We think you’ve done quiet well and we’d like you to take over this service” “Does that mean I […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>How to Inherit a Service</h1>
<p>A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went:</p>
<p>“We think you’ve done quiet well and we’d like you to take over this service”</p>
<p>“Does that mean I can drop my old service”</p>
<p>“No”.</p>
<p>Thankfully I have loved taking over this service, by this service I do actually mean *this* service. I now manage the Academic Blogging service, blogs.ed.ac.uk which is what you are reading this post on. I have blogged in the past but sporadically at best. Managing the service is completely different, managing any service is difficult but managing a service which is designed to be open and allow people to do what they want (to an extent) comes with it’s own interesting challenges, more of that in another post.</p>
<p>Today however I wanted to talk more specifically about inheriting a service. It’s something that I hadn’t really thought about before but it struck me that this is the first ‘living’ service that I have taken over. I have a relatively short period of experience of managing learning technology services, roughly 6 years at this point. In that time I have managed two large services but both of these were in their infancy when I got hold. I was able to largely decide what these service should look like, what they would look like and what the policies around them would be. Obviously there is an amount of team work and involvement of other teams in this process but as a service manager the impetus usually came from me.</p>
<p>Taking on a new service that has existed before, however, is something completely different. I often enjoy using bad analogies that I tend to stretch to far, so allow me to do this yet again: Inheriting services is like getting an armchair that belonged to someone else (ish). It’s arranged in a different way, it faces the door, it doesn’t go back far enough, it feels a bit to firm and there are Revels tucked into the side of the cushion. Who would put Revels down there, why would they choose Revels of all the things available?</p>
<h2>Service Personality</h2>
<p>The problem/issue/opportunity is, someone or a group of somebodies have decided how this should work and put it all in place. Now you come in and you’re not sure if you always agree. Most of the time you will but you just need to understand the ‘why’ after seeing the ‘what’ and ‘how’. Most services have a ‘vision’ of sorts attached, usually within the original Project Brief or the Service Level Description (SLD) that sets out the ‘shape’ of the service. This works great in isolation but what often happens is that this clearly defined ‘shape’ then gets released and it tends to need to alter shape to fits its environment in some way. (I DID say I enjoy bad analogies).</p>
<h2>Opportunities for Change</h2>
<p>I’ve always very strongly believed that getting a ‘fresh pair of eyes’ is possibly one of the most useful things to do when you have a great idea or process. Having someone outside of the ‘organisation’ take a look is often the best way to pick up on things, firstly it forces you to explain why you made a decision and also allows you to be questioned. If you can’t convince someone as to why something works that way then you might want to re-evaluate or compromise with the other view point. I love the following quote, which I believe is attributed to Grace Hopper  – “The most dangerous phrase in the language is, ‘We’ve always done it this way’ ”</p>
<p>(If you don’t know who Grace Hopper is, please pause and look her up. I will wait)</p>
<h2>Inheritance runs both ways</h2>
<p>This is the part that surprised me the most when I realised that this was the first service that was secondhand/pre-loved/pre-existing/had a life before me. I started this long monologue talking about how I had inherited something but it seems obvious that the service had also imbibed something from it’s creators and previous owners. There were certain priorities or choices that were made by previous people upon the service, impressions in the surface that had left their mark. I agree with the vast majority of these but some I want to change, based on my priorities or choices that I think make it fit it’s environment in a better way, or a way that appears better to me. Obviously all of this is measured alongside the needs of the current community, I wouldn’t make big changes that negatively impacted people using the service but I may make decisions that change the ‘flavour’ in some ways.</p>
<h2>Making it yours or making you part of it</h2>
<p>After you have been looking after the service for a short while you will likely find a list of things that don’t really feel right to you. It’s likely that these decisions were made some time ago and might not reflect the needs of the user community anymore. I would say it is important to mention here that we aren’t criticising the previous owners, just using this change as an opportunity to review and also add you own input to the service. Once you have found these areas then try to seek the justification if possible, there could be a very good reason as to why something works like this and not like *this*. If there isn’t a good justification or if that doesn’t really hold anymore then start building your case for making a change and what that change will be. Next you get to take these changes to the service team, working group or user community. If these don’t exist then this is a good chance to make them as having some external input, if only at certain times will greatly improve the service as a whole. Also be sure to check that these changes are actually wanted/needed/will have a positive impact, change for the sake of change is a winding road. Always remember RACI (Responsible, Accountable,<strong> Consulted, Informed</strong>)</p>
<p>This is the part that I enjoy the most about managing services, there is a human part even if what *it* is an application running on virtual machines somewhere (I imagine in a basement, because, it has to be). I get to take all of the work that went before and add my layer on top and alter it ever so slightly, like a funky new flavour in your Rainbow Cake – I REALLY DID say that I like bad analogies.</p>
<p> </p>
<div id="attachment_166" style="width: 696px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-166" class="size-full wp-image-166" src="https://blogs.ed.ac.uk/sliceoflearning/wp-content/uploads/sites/2048/2020/08/7478835056_c91640ed8c_b.jpg" alt=""Layers from top - Rainbow Birthday Cake" by avlxyz is licensed under CC BY-NC-SA 2.0" width="686" height="1024" /><p id="caption-attachment-166" class="wp-caption-text">“Layers from top – Rainbow Birthday Cake” by avlxyz is licensed under CC BY-NC-SA 2.0</p></div>
<p> </p>
<p>Takeaways from service inheritance</p>
<p>If you are a current service owner</p>
<ul>
<li>For you managing a service, try to document what decisions were taken and why they were taken, this makes it a lot quicker for someone to get a feel for how the service exists now. Adding the justification really makes a big difference when someone new steps in</li>
<li>Even if the service isn’t being taken over by someone else it can be very helpful to get fresh eyes on a service, or to include more people when making the decisions. Working groups or user involvement are very good for this.</li>
<li>Try to update original documentation as the service shifts over time, most institutions seem to push for this at intervals but it helps to remember how services can change over time.</li>
<li>Include retrospective look backs at the service at regular intervals, perhaps each year. Having a look at the changes that were added, how they were received and whether they helped add something useful to the service is a very rewarding process</li>
</ul>
<p>If you are taking over an existing service</p>
<ul>
<li>Getting an overview or introduction to the service is incredibly useful but do bear in mind that it is unlikely that you will be able to understand the entire service after one meeting</li>
<li>If possible try to take the previous service owner hostage so that you can refer to them if they didn’t document things</li>
<li>Once you have a good understanding of the service highlight the areas that you have issues with. Areas that you don’t understand why something was done in a particular way or why a certain policy exists. Try to find to root cause for these, if they make sense and fit the service you can leave them for now. If that doesn’t fit the service or the user’s need then earmark those areas for change.</li>
<li>Add your personal touch, come up with suggestions in these specific areas that you have highlighted and taken them to existing working groups or service team. If they don’t exist then consider creating them.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(3) {
    [0]=>
    object(WP_Http_Cookie)#2425 (7) {
      ["name"]=>
      string(9) "PHPSESSID"
      ["value"]=>
      string(26) "hma8sb4pdgee5e3kci6h9sr2u4"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [1]=>
    object(WP_Http_Cookie)#2424 (7) {
      ["name"]=>
      string(11) "spo_2048_fa"
      ["value"]=>
      string(32) "1f6a19a4a61ea1542b1e6b34a077e786"
      ["expires"]=>
      int(1778963614)
      ["path"]=>
      string(17) "/sliceoflearning/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [2]=>
    object(WP_Http_Cookie)#2426 (7) {
      ["name"]=>
      string(8) "RCKBMHKB"
      ["value"]=>
      string(85) "027ff8be59-56fd-48Y2CetPKHE-yLCBpzbcaN3u1ynk-MGI4q9wxUpQgnwsjFLyz2z7WMlN7F7zldA-tRQtA"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#2412 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#2414 (10) {
      ["body"]=>
      string(31884) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>dlam-feed – A Slice of Learning</title>
	<atom:link href="https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/sliceoflearning</link>
	<description></description>
	<lastBuildDate>Thu, 24 Sep 2020 15:04:52 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>More about Blogs.ed and Plugins</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/#respond</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Wed, 23 Sep 2020 15:22:18 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=176</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>Processes and Plugins   I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>Processes and Plugins</h1>
<p> </p>
<p>I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own WordPress Multisite at your institution, as ever, if you want to discuss this feel free to get in touch.</p>
<p> </p>
<p>Firstly let’s talk about how we go about selecting Plugins. We start to look when multiple users all ask for the same of similar plugin/function or if we encounter and issue that needs a plugin to be resolved. Thankfully we have an inhouse development team that can be called on if we cannot find something which is a blessing but they support multiple platforms so we do need to have good reason. If we do find a plugin or multiple plugins then we start to investigate whether they actually resolve our issue and if they add any issues or have unexpected behaviour, so far this seems to make basic sense. We have, however, developed a process to audit plugins to ascertain whether they are well supported, well reviewed and also if they contain privacy invasive cookies using the following criteria:</p>
<table width="99%">
<tbody>
<tr>
<td><strong>Plugin / theme name:</strong></td>
<td><strong>Yes / no</strong></td>
<td><strong>Comments</strong></td>
<td><strong>Date requested</strong></td>
<td><strong>Date installed</strong></td>
</tr>
<tr>
<td><strong>What does it do?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>How much does it cost?</strong></p>
<ul>
<li>Cost of adoption</li>
<li>Cost of training</li>
<li>Cost of usage</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Author background</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Is the documentation good?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Who will use the add-on?</strong></p>
<ul>
<li>admins / authors</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Feedback / reviews</strong></p>
<ul>
<li>Is it used by many, reviews / comments</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Technical status:</strong></p>
<ul>
<li>Is it up to date, compatible with our version of wordpress?</li>
<li>Is it well written?</li>
<li>Does it backup/restore?</li>
<li>Is it secure?</li>
<li>Is data shared outside of wordpress?</li>
<li>Type of cookies set</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Accessibility:</strong></p>
<ul>
<li>Check any spellcheck functionality on free data entry boxes/forms that is either automatically run by the system or that requires users interaction</li>
<li>Describe any data validation that is automatically run by the system to ensure users enter data in the correct formats.  Check error messages are in sufficient colour contrast, accessible font, clear location, not pop ups.</li>
<li>Check whether the template scales correctly using different resolutions and whether there are any resolutions that are not recommended, tested using ctrl + and Windows Magnifier</li>
<li>Check the colours and colour contrasts and font types and styles used i.e. are italics and continuous capitals avoided?</li>
<li>Check functionality that would allow users to customise their views (i.e. font size, colours, contrast ratios).  This is by altering browser settings.</li>
<li>Check whether all content is accessible through a keyboard interface and whether it requires specific timings for keystrokes. I.e. is it possible to navigate around the template and complete any forms etc without ever using a mouse.</li>
<li>Check there is an indication or warning of links which will open a new tab or window and check that these warnings are accessible</li>
<li>Check that the template conveys no information in only colour or sound.</li>
<li>Check there is no flashing or scrolling text? If so does the text flash 3 or more times per second and can it be paused? If there is flashing or scrolling text please provide more details.</li>
<li>Check that Zoomtext is compatible with the template without plug ins</li>
<li>Check that JAWS is compatible with the template without plug ins</li>
<li>Check that TextHelp Read and Write Gold is compatible with the template in terms of spellcheck, hover highlight and highlight and read without plug ins.</li>
<li>Check that tooltips are clear and enabled by default on the template.</li>
</ul>
<p>·       Check that there are text alternatives for any non-text content.</p>
<ul>
<li>Check that for any audio/visual items are there captions available and theses have been checked for accuracy.</li>
<li>Check there are no time limits prescribed for the viewing/inputting of content to the template</li>
<li>Check what specialist help is linked to on the template and that this includes a method of contacting someone for assistance?</li>
<li>Check that if the template is accessed via a mobile or tablet device the user system does not require to use any requires any specific timings/specific keystrokes to complete tasks</li>
<li>Check the template works with mobiles/tablets to offer any text to speech functionality of the results for those with visual impairments?</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p> </p>
<p>You can also read more about this process in this blog post by Callum, one of the original service managers who has since moved to greener pastures (about 5 metres away when we were in the office) – <a href="https://blogs.ed.ac.uk/dlam/2019/04/08/cookie-audit-findings/">Cookie Audit Process Blog</a></p>
<p>Lastly, here is a comprehensive list of all of the plugins that we currently use, all of these have been vetted through our process so should provide a good starting point.</p>
<h3>Plugins</h3>
<table width="1132">
<tbody>
<tr>
<td width="270"><strong>Plugin</strong></td>
<td width="225">Developer</td>
<td width="511">Description</td>
<td width="126">Network Activated?</td>
</tr>
<tr>
<td>Add Existing Users</td>
<td>WPMUDEV</td>
<td width="511">Allows you to bulk add existing users to a site, including the facility to set their role.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://addmultipleusers.happynuclear.com/">Add Multiple Users</a></td>
<td>HappyNuclear</td>
<td width="511">This plugin allows you to add multiple user accounts to your WordPress blog using a range of tools.</td>
<td>Y</td>
</tr>
<tr>
<td><a href="https://akismet.com/">Akismet Anti-Spam</a></td>
<td>Automattic</td>
<td width="511">Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Your site is fully configured and being protected, even while you sleep.</td>
<td>Y</td>
</tr>
<tr>
<td>Batch Create</td>
<td>WPMUDEV</td>
<td width="511">Create hundred or thousands of blogs and users automatically by simply uploading a csv text file – subdomain and user creation automation has never been so easy.</td>
<td>Y</td>
</tr>
<tr>
<td>BeeHive Pro</td>
<td>WPMUDEV</td>
<td width="511">Basicall Google Analytics, users can use their own ID or apply for access to the University managed one</td>
<td>N</td>
</tr>
<tr>
<td>Broken Link Checker</td>
<td>ManageWP</td>
<td width="511">Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.</td>
<td>N</td>
</tr>
<tr>
<td>Classic Editor</td>
<td>WordPress Contributers</td>
<td width="511">Enabled at network level to remove block editor default</td>
<td>N</td>
</tr>
<tr>
<td>CommentPress Core</td>
<td><a href="http://www.futureofthebook.org/"> Institute for the Future of the Book</a></td>
<td width="511">CommentPress allows readers to comment in the margins of a text. You can use it to annotate, gloss, workshop, debate and more!</td>
<td>N</td>
</tr>
<tr>
<td>Cookies for Comment</td>
<td><a href="http://ocaoimh.ie/"> Donncha O Caoimh</a></td>
<td width="511">Sets a cookie that must exist for a comment to be allowed through</td>
<td>Y</td>
</tr>
<tr>
<td>Cryout Series Slider</td>
<td><a href="http://www.cryoutcreations.eu/">Cryout Creations</a></td>
<td width="511">accessibility ready free image slider for WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Disable Comments</td>
<td><a href="http://www.rayofsolaris.net/">Samir Shah</a></td>
<td width="511">Allows administrators to globally disable comments on their site. Comments can be disabled according to post type.</td>
<td>N</td>
</tr>
<tr>
<td><a href="https://gitlab.is.ed.ac.uk/is-dlam/academic-blogging-project/ed-solr">EdSolr</a></td>
<td>UoE</td>
<td width="511">Integrates Apache Solr with a WordPress Multisite Installation.</td>
<td>Y</td>
</tr>
<tr>
<td>Email Subscribers & Newsletters</td>
<td><a href="https://www.icegram.com/"> Icegram</a></td>
<td width="511">Add subscription forms on website, send HTML newsletters, and automatically notify subscribers about new blog posts once they are published.</td>
<td>N</td>
</tr>
<tr>
<td>Enlighter – Customizable Syntax Highlighter</td>
<td><a href="https://andidittrich.com/">Andi Dittrich</a></td>
<td width="511">Syntax Highlighter</td>
<td>N</td>
</tr>
<tr>
<td>FeedWordPress</td>
<td><a href="https://feedwordpress.radgeek.com/contact/"> C. Johnson</a></td>
<td width="511">simple and flexible Atom/RSS syndication for WordPress</td>
<td>N</td>
</tr>
<tr>
<td>Flickr Album Gallery</td>
<td>FARAZFRANK</td>
<td>Flickr Album Gallery is on JS API plugin to display all public Flickr albums on your WordPress website.</td>
<td>N</td>
</tr>
<tr>
<td>Force Regenerate Thumbnails</td>
<td><a href="http://www.pedroelsner.com/">Pedro Elsner</a></td>
<td width="511">Delete and REALLY force the regenerate thumbnail.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a></td>
<td><a href="http://www.arnebrachhold.de/"> Arne Brachhold</a></td>
<td width="511">This plugin improves SEO using sitemaps for best indexation by search engines like Google, Bing, Yahoo and others.</td>
<td>Y</td>
</tr>
<tr>
<td>Image Attribution Tagger</td>
<td><a href="http://red8interactive.com/">Red8 Interactive</a></td>
<td width="511">A plugin that adds image credits to licensed images</td>
<td>Y</td>
</tr>
<tr>
<td>MimeTypes Link Icons</td>
<td><a href="https://github.com/eagerterrier/MimeTypes-Link-Icons"> Toby Cox, Juliette Reinders Folmer</a></td>
<td width="511">This will add file type icons next to links automatically.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Plugin Manager</td>
<td><a href="http://uglyrobot.com/"> Aaron Edwards</a></td>
<td width="511">The essential plugin for every multisite install! Manage plugin access permissions across your entire multisite network.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Privacy</td>
<td>WPMUDEV</td>
<td width="511">Adds more levels of privacy and allows you to control them across all sites – or allow users to override them.</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner – Site Copier</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">Allows us to create sites from a template</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner Pro</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">add-ons to the NS Cloner Core</td>
<td>Y</td>
</tr>
<tr>
<td>Open Attribute</td>
<td><a href="http://openattribute.com/">OpenAttribute</a></td>
<td width="511"></td>
<td>Y</td>
</tr>
<tr>
<td>PDF & Print</td>
<td><a href="https://bestwebsoft.com/">BestWebSoft</a></td>
<td width="511">Generate PDF files and print WordPress posts/pages. Customize document header/footer styles and appearance.</td>
<td>N</td>
</tr>
<tr>
<td>Reading Time WP</td>
<td><a href="https://jasonyingling.me/">Jason Yingling</a></td>
<td width="511">Add an estimated reading time to your posts.</td>
<td>N</td>
</tr>
<tr>
<td>Remove Email Verification</td>
<td>WPMUDEV</td>
<td width="511">Removes need to send a verification email when adding users to site or blogs</td>
<td>Y</td>
</tr>
<tr>
<td>TinyMCE Comment Field – WPSIWYG</td>
<td><a href="http://www.eracer.de/">Stefan Helmer</a></td>
<td width="511">This plugin turns the comment field from a primitive into a WYSIWYG editor, using the internal TinyMCE library bundled with WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Titan Framework</td>
<td><a href="http://gambit.ph/"> Benjamin Intal, Gambit</a></td>
<td width="511">Titan Framework allows theme and plugin developers to create a admin pages, options, meta boxes, and theme customizer options with just a few simple lines of code.</td>
<td>N</td>
</tr>
<tr>
<td>True Multisite Indexer</td>
<td><a href="https://rudrastyh.com/">Misha Rudrastyh</a></td>
<td width="511">Indexes all posts across your network and brings them into one spot – a very powerful tool that you use as a base to display posts in different ways or to manage your network.</td>
<td>Y</td>
</tr>
<tr>
<td>Ultimate Category Excluder</td>
<td><a href="http://infolific.com/technology/"> Marios Alexandrou</a></td>
<td width="511">Easily exclude categories from your front page, feeds, archives, and search results.</td>
<td>N</td>
</tr>
<tr>
<td>WordPress Importer</td>
<td><a href="https://wordpress.org/"> wordpressdotorg</a></td>
<td width="511">Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.</td>
<td>Y</td>
</tr>
<tr>
<td>WordPress.com Theme Updates</td>
<td><a href="http://automattic.com/"> Automattic</a></td>
<td width="511">Update themes downloaded from WordPress.com seamlessly with the rest of your WordPress updates.</td>
<td>Y</td>
</tr>
<tr>
<td>WP Accessibility</td>
<td><a href="http://www.joedolson.com/"> Joe Dolson</a></td>
<td width="511">Helps improve accessibility in your WordPress site, like removing title attributes.</td>
<td>N</td>
</tr>
<tr>
<td>WP Crontrol</td>
<td><a href="https://github.com/johnbillion/wp-crontrol/graphs/contributors"> John Blackbourn & contributors</a></td>
<td width="511">WP Crontrol lets you view and control what’s happening in the WP-Cron system.</td>
<td>N</td>
</tr>
<tr>
<td>WP QuickLaTeX</td>
<td><a href="http://www.holoborodko.com/pavel/">Pavel Holoborodko</a></td>
<td width="511">Access to complete LaTeX distribution. Publish formulae & graphics using native LaTeX syntax directly in the text. Inline formulas, displayed equations auto-numbering, labeling and referencing, AMS-LaTeX, TikZ, custom LaTeX preamble. No LaTeX installation required. Easily customizable using UI dialog. Actively developed and maintained. Visit QuickLaTeX homepage for more info.</td>
<td>N</td>
</tr>
<tr>
<td>WP to Twitter</td>
<td><a href="http://www.joedolson.com/">Joseph C Dolson</a></td>
<td width="511">Posts a Tweet when you update your WordPress blog or post a link, using your URL shortener. Rich options to customise and promote your Tweets.</td>
<td>N</td>
</tr>
<tr>
<td>WPMUDEV Dashboard</td>
<td>WPMUDEV</td>
<td width="511">Brings the powers of WPMU DEV directly to you. It will revolutionize how you use WordPress. Activate now!</td>
<td>N</td>
</tr>
</tbody>
</table>
<p> </p>
<h3>Themes</h3>
<div>
<table style="border-collapse: collapse; width: 48pt;" border="0" width="64" cellspacing="0" cellpadding="0">
<colgroup>
<col style="width: 48pt;" width="64" /> </colgroup>
<tbody>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt; width: 48pt;" width="64" height="19"><strong>Theme Name</strong></td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Apostrophe 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">AwesomePress</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Baskerville</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Bhari</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Blask</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cyanotype</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Davis</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fluida</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fukasawa</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Garfunkel</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Hitchcock</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Isola</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Lovecraft</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Make</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Period</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Radcliffe</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Sorbet</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">SPLOTpoint</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Tiny Framework</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Fifteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Nineteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Seventeen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Sixteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Twenty</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Writee</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Service Inheritance</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/#comments</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2020 16:06:04 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=165</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>How to Inherit a Service A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went: “We think you’ve done quiet well and we’d like you to take over this service” “Does that mean I […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>How to Inherit a Service</h1>
<p>A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went:</p>
<p>“We think you’ve done quiet well and we’d like you to take over this service”</p>
<p>“Does that mean I can drop my old service”</p>
<p>“No”.</p>
<p>Thankfully I have loved taking over this service, by this service I do actually mean *this* service. I now manage the Academic Blogging service, blogs.ed.ac.uk which is what you are reading this post on. I have blogged in the past but sporadically at best. Managing the service is completely different, managing any service is difficult but managing a service which is designed to be open and allow people to do what they want (to an extent) comes with it’s own interesting challenges, more of that in another post.</p>
<p>Today however I wanted to talk more specifically about inheriting a service. It’s something that I hadn’t really thought about before but it struck me that this is the first ‘living’ service that I have taken over. I have a relatively short period of experience of managing learning technology services, roughly 6 years at this point. In that time I have managed two large services but both of these were in their infancy when I got hold. I was able to largely decide what these service should look like, what they would look like and what the policies around them would be. Obviously there is an amount of team work and involvement of other teams in this process but as a service manager the impetus usually came from me.</p>
<p>Taking on a new service that has existed before, however, is something completely different. I often enjoy using bad analogies that I tend to stretch to far, so allow me to do this yet again: Inheriting services is like getting an armchair that belonged to someone else (ish). It’s arranged in a different way, it faces the door, it doesn’t go back far enough, it feels a bit to firm and there are Revels tucked into the side of the cushion. Who would put Revels down there, why would they choose Revels of all the things available?</p>
<h2>Service Personality</h2>
<p>The problem/issue/opportunity is, someone or a group of somebodies have decided how this should work and put it all in place. Now you come in and you’re not sure if you always agree. Most of the time you will but you just need to understand the ‘why’ after seeing the ‘what’ and ‘how’. Most services have a ‘vision’ of sorts attached, usually within the original Project Brief or the Service Level Description (SLD) that sets out the ‘shape’ of the service. This works great in isolation but what often happens is that this clearly defined ‘shape’ then gets released and it tends to need to alter shape to fits its environment in some way. (I DID say I enjoy bad analogies).</p>
<h2>Opportunities for Change</h2>
<p>I’ve always very strongly believed that getting a ‘fresh pair of eyes’ is possibly one of the most useful things to do when you have a great idea or process. Having someone outside of the ‘organisation’ take a look is often the best way to pick up on things, firstly it forces you to explain why you made a decision and also allows you to be questioned. If you can’t convince someone as to why something works that way then you might want to re-evaluate or compromise with the other view point. I love the following quote, which I believe is attributed to Grace Hopper  – “The most dangerous phrase in the language is, ‘We’ve always done it this way’ ”</p>
<p>(If you don’t know who Grace Hopper is, please pause and look her up. I will wait)</p>
<h2>Inheritance runs both ways</h2>
<p>This is the part that surprised me the most when I realised that this was the first service that was secondhand/pre-loved/pre-existing/had a life before me. I started this long monologue talking about how I had inherited something but it seems obvious that the service had also imbibed something from it’s creators and previous owners. There were certain priorities or choices that were made by previous people upon the service, impressions in the surface that had left their mark. I agree with the vast majority of these but some I want to change, based on my priorities or choices that I think make it fit it’s environment in a better way, or a way that appears better to me. Obviously all of this is measured alongside the needs of the current community, I wouldn’t make big changes that negatively impacted people using the service but I may make decisions that change the ‘flavour’ in some ways.</p>
<h2>Making it yours or making you part of it</h2>
<p>After you have been looking after the service for a short while you will likely find a list of things that don’t really feel right to you. It’s likely that these decisions were made some time ago and might not reflect the needs of the user community anymore. I would say it is important to mention here that we aren’t criticising the previous owners, just using this change as an opportunity to review and also add you own input to the service. Once you have found these areas then try to seek the justification if possible, there could be a very good reason as to why something works like this and not like *this*. If there isn’t a good justification or if that doesn’t really hold anymore then start building your case for making a change and what that change will be. Next you get to take these changes to the service team, working group or user community. If these don’t exist then this is a good chance to make them as having some external input, if only at certain times will greatly improve the service as a whole. Also be sure to check that these changes are actually wanted/needed/will have a positive impact, change for the sake of change is a winding road. Always remember RACI (Responsible, Accountable,<strong> Consulted, Informed</strong>)</p>
<p>This is the part that I enjoy the most about managing services, there is a human part even if what *it* is an application running on virtual machines somewhere (I imagine in a basement, because, it has to be). I get to take all of the work that went before and add my layer on top and alter it ever so slightly, like a funky new flavour in your Rainbow Cake – I REALLY DID say that I like bad analogies.</p>
<p> </p>
<div id="attachment_166" style="width: 696px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-166" class="size-full wp-image-166" src="https://blogs.ed.ac.uk/sliceoflearning/wp-content/uploads/sites/2048/2020/08/7478835056_c91640ed8c_b.jpg" alt=""Layers from top - Rainbow Birthday Cake" by avlxyz is licensed under CC BY-NC-SA 2.0" width="686" height="1024" /><p id="caption-attachment-166" class="wp-caption-text">“Layers from top – Rainbow Birthday Cake” by avlxyz is licensed under CC BY-NC-SA 2.0</p></div>
<p> </p>
<p>Takeaways from service inheritance</p>
<p>If you are a current service owner</p>
<ul>
<li>For you managing a service, try to document what decisions were taken and why they were taken, this makes it a lot quicker for someone to get a feel for how the service exists now. Adding the justification really makes a big difference when someone new steps in</li>
<li>Even if the service isn’t being taken over by someone else it can be very helpful to get fresh eyes on a service, or to include more people when making the decisions. Working groups or user involvement are very good for this.</li>
<li>Try to update original documentation as the service shifts over time, most institutions seem to push for this at intervals but it helps to remember how services can change over time.</li>
<li>Include retrospective look backs at the service at regular intervals, perhaps each year. Having a look at the changes that were added, how they were received and whether they helped add something useful to the service is a very rewarding process</li>
</ul>
<p>If you are taking over an existing service</p>
<ul>
<li>Getting an overview or introduction to the service is incredibly useful but do bear in mind that it is unlikely that you will be able to understand the entire service after one meeting</li>
<li>If possible try to take the previous service owner hostage so that you can refer to them if they didn’t document things</li>
<li>Once you have a good understanding of the service highlight the areas that you have issues with. Areas that you don’t understand why something was done in a particular way or why a certain policy exists. Try to find to root cause for these, if they make sense and fit the service you can leave them for now. If that doesn’t fit the service or the user’s need then earmark those areas for change.</li>
<li>Add your personal touch, come up with suggestions in these specific areas that you have highlighted and taken them to existing working groups or service team. If they don’t exist then consider creating them.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(32870) "HTTP/1.1 200 OK
Content-Type: application/rss+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Date: Sat, 16 May 2026 20:03:34 GMT
Server: Apache
X-Powered-By: PHP/8.3.30
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://blogs.ed.ac.uk/sliceoflearning/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/sliceoflearning/wp-json/wp/v2/tags/8>; rel="alternate"; title="JSON"; type="application/json"
Set-Cookie: PHPSESSID=hma8sb4pdgee5e3kci6h9sr2u4; path=/; secure; HttpOnly
Set-Cookie: spo_2048_fa=1f6a19a4a61ea1542b1e6b34a077e786; expires=Sat, 16 May 2026 20:33:34 GMT; Max-Age=1800; path=/sliceoflearning/; Secure; HttpOnly
Last-Modified: Mon, 05 Sep 2022 13:49:32 GMT
ETag: "3f92756d9ecbe74d271c36001f3864b1"
Vary: Accept-Encoding
Set-Cookie: RCKBMHKB=027ff8be59-56fd-48Y2CetPKHE-yLCBpzbcaN3u1ynk-MGI4q9wxUpQgnwsjFLyz2z7WMlN7F7zldA-tRQtA; path=/; SameSite=None; Secure

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>dlam-feed – A Slice of Learning</title>
	<atom:link href="https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/sliceoflearning</link>
	<description></description>
	<lastBuildDate>Thu, 24 Sep 2020 15:04:52 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
<cc:license >Creative Commons Attribution CC BY 3.0</cc:license><dc:rights  >Creative Commons Attribution CC BY 3.0</dc:rights>	<item>
		<title>More about Blogs.ed and Plugins</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/#respond</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Wed, 23 Sep 2020 15:22:18 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=176</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>Processes and Plugins   I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>Processes and Plugins</h1>
<p> </p>
<p>I admit, I may be cheating a little here. As part of HeyPresstoConf20 I really wanted to be able to talk about our Plugins and Processes but couldn’t fit into the Tweet limit so I’m putting it all here. This should be helpful if you are planning on building your own WordPress Multisite at your institution, as ever, if you want to discuss this feel free to get in touch.</p>
<p> </p>
<p>Firstly let’s talk about how we go about selecting Plugins. We start to look when multiple users all ask for the same of similar plugin/function or if we encounter and issue that needs a plugin to be resolved. Thankfully we have an inhouse development team that can be called on if we cannot find something which is a blessing but they support multiple platforms so we do need to have good reason. If we do find a plugin or multiple plugins then we start to investigate whether they actually resolve our issue and if they add any issues or have unexpected behaviour, so far this seems to make basic sense. We have, however, developed a process to audit plugins to ascertain whether they are well supported, well reviewed and also if they contain privacy invasive cookies using the following criteria:</p>
<table width="99%">
<tbody>
<tr>
<td><strong>Plugin / theme name:</strong></td>
<td><strong>Yes / no</strong></td>
<td><strong>Comments</strong></td>
<td><strong>Date requested</strong></td>
<td><strong>Date installed</strong></td>
</tr>
<tr>
<td><strong>What does it do?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>How much does it cost?</strong></p>
<ul>
<li>Cost of adoption</li>
<li>Cost of training</li>
<li>Cost of usage</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Author background</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Is the documentation good?</strong></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Who will use the add-on?</strong></p>
<ul>
<li>admins / authors</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Feedback / reviews</strong></p>
<ul>
<li>Is it used by many, reviews / comments</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Technical status:</strong></p>
<ul>
<li>Is it up to date, compatible with our version of wordpress?</li>
<li>Is it well written?</li>
<li>Does it backup/restore?</li>
<li>Is it secure?</li>
<li>Is data shared outside of wordpress?</li>
<li>Type of cookies set</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Accessibility:</strong></p>
<ul>
<li>Check any spellcheck functionality on free data entry boxes/forms that is either automatically run by the system or that requires users interaction</li>
<li>Describe any data validation that is automatically run by the system to ensure users enter data in the correct formats.  Check error messages are in sufficient colour contrast, accessible font, clear location, not pop ups.</li>
<li>Check whether the template scales correctly using different resolutions and whether there are any resolutions that are not recommended, tested using ctrl + and Windows Magnifier</li>
<li>Check the colours and colour contrasts and font types and styles used i.e. are italics and continuous capitals avoided?</li>
<li>Check functionality that would allow users to customise their views (i.e. font size, colours, contrast ratios).  This is by altering browser settings.</li>
<li>Check whether all content is accessible through a keyboard interface and whether it requires specific timings for keystrokes. I.e. is it possible to navigate around the template and complete any forms etc without ever using a mouse.</li>
<li>Check there is an indication or warning of links which will open a new tab or window and check that these warnings are accessible</li>
<li>Check that the template conveys no information in only colour or sound.</li>
<li>Check there is no flashing or scrolling text? If so does the text flash 3 or more times per second and can it be paused? If there is flashing or scrolling text please provide more details.</li>
<li>Check that Zoomtext is compatible with the template without plug ins</li>
<li>Check that JAWS is compatible with the template without plug ins</li>
<li>Check that TextHelp Read and Write Gold is compatible with the template in terms of spellcheck, hover highlight and highlight and read without plug ins.</li>
<li>Check that tooltips are clear and enabled by default on the template.</li>
</ul>
<p>·       Check that there are text alternatives for any non-text content.</p>
<ul>
<li>Check that for any audio/visual items are there captions available and theses have been checked for accuracy.</li>
<li>Check there are no time limits prescribed for the viewing/inputting of content to the template</li>
<li>Check what specialist help is linked to on the template and that this includes a method of contacting someone for assistance?</li>
<li>Check that if the template is accessed via a mobile or tablet device the user system does not require to use any requires any specific timings/specific keystrokes to complete tasks</li>
<li>Check the template works with mobiles/tablets to offer any text to speech functionality of the results for those with visual impairments?</li>
</ul>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p> </p>
<p>You can also read more about this process in this blog post by Callum, one of the original service managers who has since moved to greener pastures (about 5 metres away when we were in the office) – <a href="https://blogs.ed.ac.uk/dlam/2019/04/08/cookie-audit-findings/">Cookie Audit Process Blog</a></p>
<p>Lastly, here is a comprehensive list of all of the plugins that we currently use, all of these have been vetted through our process so should provide a good starting point.</p>
<h3>Plugins</h3>
<table width="1132">
<tbody>
<tr>
<td width="270"><strong>Plugin</strong></td>
<td width="225">Developer</td>
<td width="511">Description</td>
<td width="126">Network Activated?</td>
</tr>
<tr>
<td>Add Existing Users</td>
<td>WPMUDEV</td>
<td width="511">Allows you to bulk add existing users to a site, including the facility to set their role.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://addmultipleusers.happynuclear.com/">Add Multiple Users</a></td>
<td>HappyNuclear</td>
<td width="511">This plugin allows you to add multiple user accounts to your WordPress blog using a range of tools.</td>
<td>Y</td>
</tr>
<tr>
<td><a href="https://akismet.com/">Akismet Anti-Spam</a></td>
<td>Automattic</td>
<td width="511">Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Your site is fully configured and being protected, even while you sleep.</td>
<td>Y</td>
</tr>
<tr>
<td>Batch Create</td>
<td>WPMUDEV</td>
<td width="511">Create hundred or thousands of blogs and users automatically by simply uploading a csv text file – subdomain and user creation automation has never been so easy.</td>
<td>Y</td>
</tr>
<tr>
<td>BeeHive Pro</td>
<td>WPMUDEV</td>
<td width="511">Basicall Google Analytics, users can use their own ID or apply for access to the University managed one</td>
<td>N</td>
</tr>
<tr>
<td>Broken Link Checker</td>
<td>ManageWP</td>
<td width="511">Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.</td>
<td>N</td>
</tr>
<tr>
<td>Classic Editor</td>
<td>WordPress Contributers</td>
<td width="511">Enabled at network level to remove block editor default</td>
<td>N</td>
</tr>
<tr>
<td>CommentPress Core</td>
<td><a href="http://www.futureofthebook.org/"> Institute for the Future of the Book</a></td>
<td width="511">CommentPress allows readers to comment in the margins of a text. You can use it to annotate, gloss, workshop, debate and more!</td>
<td>N</td>
</tr>
<tr>
<td>Cookies for Comment</td>
<td><a href="http://ocaoimh.ie/"> Donncha O Caoimh</a></td>
<td width="511">Sets a cookie that must exist for a comment to be allowed through</td>
<td>Y</td>
</tr>
<tr>
<td>Cryout Series Slider</td>
<td><a href="http://www.cryoutcreations.eu/">Cryout Creations</a></td>
<td width="511">accessibility ready free image slider for WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Disable Comments</td>
<td><a href="http://www.rayofsolaris.net/">Samir Shah</a></td>
<td width="511">Allows administrators to globally disable comments on their site. Comments can be disabled according to post type.</td>
<td>N</td>
</tr>
<tr>
<td><a href="https://gitlab.is.ed.ac.uk/is-dlam/academic-blogging-project/ed-solr">EdSolr</a></td>
<td>UoE</td>
<td width="511">Integrates Apache Solr with a WordPress Multisite Installation.</td>
<td>Y</td>
</tr>
<tr>
<td>Email Subscribers & Newsletters</td>
<td><a href="https://www.icegram.com/"> Icegram</a></td>
<td width="511">Add subscription forms on website, send HTML newsletters, and automatically notify subscribers about new blog posts once they are published.</td>
<td>N</td>
</tr>
<tr>
<td>Enlighter – Customizable Syntax Highlighter</td>
<td><a href="https://andidittrich.com/">Andi Dittrich</a></td>
<td width="511">Syntax Highlighter</td>
<td>N</td>
</tr>
<tr>
<td>FeedWordPress</td>
<td><a href="https://feedwordpress.radgeek.com/contact/"> C. Johnson</a></td>
<td width="511">simple and flexible Atom/RSS syndication for WordPress</td>
<td>N</td>
</tr>
<tr>
<td>Flickr Album Gallery</td>
<td>FARAZFRANK</td>
<td>Flickr Album Gallery is on JS API plugin to display all public Flickr albums on your WordPress website.</td>
<td>N</td>
</tr>
<tr>
<td>Force Regenerate Thumbnails</td>
<td><a href="http://www.pedroelsner.com/">Pedro Elsner</a></td>
<td width="511">Delete and REALLY force the regenerate thumbnail.</td>
<td>N</td>
</tr>
<tr>
<td><a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a></td>
<td><a href="http://www.arnebrachhold.de/"> Arne Brachhold</a></td>
<td width="511">This plugin improves SEO using sitemaps for best indexation by search engines like Google, Bing, Yahoo and others.</td>
<td>Y</td>
</tr>
<tr>
<td>Image Attribution Tagger</td>
<td><a href="http://red8interactive.com/">Red8 Interactive</a></td>
<td width="511">A plugin that adds image credits to licensed images</td>
<td>Y</td>
</tr>
<tr>
<td>MimeTypes Link Icons</td>
<td><a href="https://github.com/eagerterrier/MimeTypes-Link-Icons"> Toby Cox, Juliette Reinders Folmer</a></td>
<td width="511">This will add file type icons next to links automatically.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Plugin Manager</td>
<td><a href="http://uglyrobot.com/"> Aaron Edwards</a></td>
<td width="511">The essential plugin for every multisite install! Manage plugin access permissions across your entire multisite network.</td>
<td>Y</td>
</tr>
<tr>
<td>Multisite Privacy</td>
<td>WPMUDEV</td>
<td width="511">Adds more levels of privacy and allows you to control them across all sites – or allow users to override them.</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner – Site Copier</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">Allows us to create sites from a template</td>
<td>Y</td>
</tr>
<tr>
<td>NS Cloner Pro</td>
<td><a href="https://neversettle.it/">Never Settle</a></td>
<td width="511">add-ons to the NS Cloner Core</td>
<td>Y</td>
</tr>
<tr>
<td>Open Attribute</td>
<td><a href="http://openattribute.com/">OpenAttribute</a></td>
<td width="511"></td>
<td>Y</td>
</tr>
<tr>
<td>PDF & Print</td>
<td><a href="https://bestwebsoft.com/">BestWebSoft</a></td>
<td width="511">Generate PDF files and print WordPress posts/pages. Customize document header/footer styles and appearance.</td>
<td>N</td>
</tr>
<tr>
<td>Reading Time WP</td>
<td><a href="https://jasonyingling.me/">Jason Yingling</a></td>
<td width="511">Add an estimated reading time to your posts.</td>
<td>N</td>
</tr>
<tr>
<td>Remove Email Verification</td>
<td>WPMUDEV</td>
<td width="511">Removes need to send a verification email when adding users to site or blogs</td>
<td>Y</td>
</tr>
<tr>
<td>TinyMCE Comment Field – WPSIWYG</td>
<td><a href="http://www.eracer.de/">Stefan Helmer</a></td>
<td width="511">This plugin turns the comment field from a primitive into a WYSIWYG editor, using the internal TinyMCE library bundled with WordPress.</td>
<td>N</td>
</tr>
<tr>
<td>Titan Framework</td>
<td><a href="http://gambit.ph/"> Benjamin Intal, Gambit</a></td>
<td width="511">Titan Framework allows theme and plugin developers to create a admin pages, options, meta boxes, and theme customizer options with just a few simple lines of code.</td>
<td>N</td>
</tr>
<tr>
<td>True Multisite Indexer</td>
<td><a href="https://rudrastyh.com/">Misha Rudrastyh</a></td>
<td width="511">Indexes all posts across your network and brings them into one spot – a very powerful tool that you use as a base to display posts in different ways or to manage your network.</td>
<td>Y</td>
</tr>
<tr>
<td>Ultimate Category Excluder</td>
<td><a href="http://infolific.com/technology/"> Marios Alexandrou</a></td>
<td width="511">Easily exclude categories from your front page, feeds, archives, and search results.</td>
<td>N</td>
</tr>
<tr>
<td>WordPress Importer</td>
<td><a href="https://wordpress.org/"> wordpressdotorg</a></td>
<td width="511">Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.</td>
<td>Y</td>
</tr>
<tr>
<td>WordPress.com Theme Updates</td>
<td><a href="http://automattic.com/"> Automattic</a></td>
<td width="511">Update themes downloaded from WordPress.com seamlessly with the rest of your WordPress updates.</td>
<td>Y</td>
</tr>
<tr>
<td>WP Accessibility</td>
<td><a href="http://www.joedolson.com/"> Joe Dolson</a></td>
<td width="511">Helps improve accessibility in your WordPress site, like removing title attributes.</td>
<td>N</td>
</tr>
<tr>
<td>WP Crontrol</td>
<td><a href="https://github.com/johnbillion/wp-crontrol/graphs/contributors"> John Blackbourn & contributors</a></td>
<td width="511">WP Crontrol lets you view and control what’s happening in the WP-Cron system.</td>
<td>N</td>
</tr>
<tr>
<td>WP QuickLaTeX</td>
<td><a href="http://www.holoborodko.com/pavel/">Pavel Holoborodko</a></td>
<td width="511">Access to complete LaTeX distribution. Publish formulae & graphics using native LaTeX syntax directly in the text. Inline formulas, displayed equations auto-numbering, labeling and referencing, AMS-LaTeX, TikZ, custom LaTeX preamble. No LaTeX installation required. Easily customizable using UI dialog. Actively developed and maintained. Visit QuickLaTeX homepage for more info.</td>
<td>N</td>
</tr>
<tr>
<td>WP to Twitter</td>
<td><a href="http://www.joedolson.com/">Joseph C Dolson</a></td>
<td width="511">Posts a Tweet when you update your WordPress blog or post a link, using your URL shortener. Rich options to customise and promote your Tweets.</td>
<td>N</td>
</tr>
<tr>
<td>WPMUDEV Dashboard</td>
<td>WPMUDEV</td>
<td width="511">Brings the powers of WPMU DEV directly to you. It will revolutionize how you use WordPress. Activate now!</td>
<td>N</td>
</tr>
</tbody>
</table>
<p> </p>
<h3>Themes</h3>
<div>
<table style="border-collapse: collapse; width: 48pt;" border="0" width="64" cellspacing="0" cellpadding="0">
<colgroup>
<col style="width: 48pt;" width="64" /> </colgroup>
<tbody>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt; width: 48pt;" width="64" height="19"><strong>Theme Name</strong></td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Apostrophe 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">AwesomePress</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Baskerville</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Bhari</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Blask</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cover2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Cyanotype</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Davis</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fluida</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Fukasawa</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Garfunkel</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Hitchcock</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Intergalactic 2</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Isola</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Lovecraft</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Make</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Period</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Radcliffe</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Sorbet</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">SPLOTpoint</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Tiny Framework</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Fifteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Nineteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Seventeen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Sixteen</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Twenty Twenty</td>
</tr>
<tr style="height: 14.5pt;">
<td style="height: 14.5pt;" height="19">Writee</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/09/23/more-about-blogs-ed-and-plugins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Service Inheritance</title>
		<link>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/</link>
					<comments>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/#comments</comments>
		
		<dc:creator><![CDATA[James Slack]]></dc:creator>
		<pubDate>Fri, 14 Aug 2020 16:06:04 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/sliceoflearning/?p=165</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span>How to Inherit a Service A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went: “We think you’ve done quiet well and we’d like you to take over this service” “Does that mean I […]]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 6</span> <span class="rt-label rt-postfix">minutes</span></span><h1>How to Inherit a Service</h1>
<p>A while back, before quarantine and therefore a lifetime ago, I ‘inherited’ a service. Anyone familiar with how these things go will also be somewhat familiar with how the conversation went:</p>
<p>“We think you’ve done quiet well and we’d like you to take over this service”</p>
<p>“Does that mean I can drop my old service”</p>
<p>“No”.</p>
<p>Thankfully I have loved taking over this service, by this service I do actually mean *this* service. I now manage the Academic Blogging service, blogs.ed.ac.uk which is what you are reading this post on. I have blogged in the past but sporadically at best. Managing the service is completely different, managing any service is difficult but managing a service which is designed to be open and allow people to do what they want (to an extent) comes with it’s own interesting challenges, more of that in another post.</p>
<p>Today however I wanted to talk more specifically about inheriting a service. It’s something that I hadn’t really thought about before but it struck me that this is the first ‘living’ service that I have taken over. I have a relatively short period of experience of managing learning technology services, roughly 6 years at this point. In that time I have managed two large services but both of these were in their infancy when I got hold. I was able to largely decide what these service should look like, what they would look like and what the policies around them would be. Obviously there is an amount of team work and involvement of other teams in this process but as a service manager the impetus usually came from me.</p>
<p>Taking on a new service that has existed before, however, is something completely different. I often enjoy using bad analogies that I tend to stretch to far, so allow me to do this yet again: Inheriting services is like getting an armchair that belonged to someone else (ish). It’s arranged in a different way, it faces the door, it doesn’t go back far enough, it feels a bit to firm and there are Revels tucked into the side of the cushion. Who would put Revels down there, why would they choose Revels of all the things available?</p>
<h2>Service Personality</h2>
<p>The problem/issue/opportunity is, someone or a group of somebodies have decided how this should work and put it all in place. Now you come in and you’re not sure if you always agree. Most of the time you will but you just need to understand the ‘why’ after seeing the ‘what’ and ‘how’. Most services have a ‘vision’ of sorts attached, usually within the original Project Brief or the Service Level Description (SLD) that sets out the ‘shape’ of the service. This works great in isolation but what often happens is that this clearly defined ‘shape’ then gets released and it tends to need to alter shape to fits its environment in some way. (I DID say I enjoy bad analogies).</p>
<h2>Opportunities for Change</h2>
<p>I’ve always very strongly believed that getting a ‘fresh pair of eyes’ is possibly one of the most useful things to do when you have a great idea or process. Having someone outside of the ‘organisation’ take a look is often the best way to pick up on things, firstly it forces you to explain why you made a decision and also allows you to be questioned. If you can’t convince someone as to why something works that way then you might want to re-evaluate or compromise with the other view point. I love the following quote, which I believe is attributed to Grace Hopper  – “The most dangerous phrase in the language is, ‘We’ve always done it this way’ ”</p>
<p>(If you don’t know who Grace Hopper is, please pause and look her up. I will wait)</p>
<h2>Inheritance runs both ways</h2>
<p>This is the part that surprised me the most when I realised that this was the first service that was secondhand/pre-loved/pre-existing/had a life before me. I started this long monologue talking about how I had inherited something but it seems obvious that the service had also imbibed something from it’s creators and previous owners. There were certain priorities or choices that were made by previous people upon the service, impressions in the surface that had left their mark. I agree with the vast majority of these but some I want to change, based on my priorities or choices that I think make it fit it’s environment in a better way, or a way that appears better to me. Obviously all of this is measured alongside the needs of the current community, I wouldn’t make big changes that negatively impacted people using the service but I may make decisions that change the ‘flavour’ in some ways.</p>
<h2>Making it yours or making you part of it</h2>
<p>After you have been looking after the service for a short while you will likely find a list of things that don’t really feel right to you. It’s likely that these decisions were made some time ago and might not reflect the needs of the user community anymore. I would say it is important to mention here that we aren’t criticising the previous owners, just using this change as an opportunity to review and also add you own input to the service. Once you have found these areas then try to seek the justification if possible, there could be a very good reason as to why something works like this and not like *this*. If there isn’t a good justification or if that doesn’t really hold anymore then start building your case for making a change and what that change will be. Next you get to take these changes to the service team, working group or user community. If these don’t exist then this is a good chance to make them as having some external input, if only at certain times will greatly improve the service as a whole. Also be sure to check that these changes are actually wanted/needed/will have a positive impact, change for the sake of change is a winding road. Always remember RACI (Responsible, Accountable,<strong> Consulted, Informed</strong>)</p>
<p>This is the part that I enjoy the most about managing services, there is a human part even if what *it* is an application running on virtual machines somewhere (I imagine in a basement, because, it has to be). I get to take all of the work that went before and add my layer on top and alter it ever so slightly, like a funky new flavour in your Rainbow Cake – I REALLY DID say that I like bad analogies.</p>
<p> </p>
<div id="attachment_166" style="width: 696px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-166" class="size-full wp-image-166" src="https://blogs.ed.ac.uk/sliceoflearning/wp-content/uploads/sites/2048/2020/08/7478835056_c91640ed8c_b.jpg" alt=""Layers from top - Rainbow Birthday Cake" by avlxyz is licensed under CC BY-NC-SA 2.0" width="686" height="1024" /><p id="caption-attachment-166" class="wp-caption-text">“Layers from top – Rainbow Birthday Cake” by avlxyz is licensed under CC BY-NC-SA 2.0</p></div>
<p> </p>
<p>Takeaways from service inheritance</p>
<p>If you are a current service owner</p>
<ul>
<li>For you managing a service, try to document what decisions were taken and why they were taken, this makes it a lot quicker for someone to get a feel for how the service exists now. Adding the justification really makes a big difference when someone new steps in</li>
<li>Even if the service isn’t being taken over by someone else it can be very helpful to get fresh eyes on a service, or to include more people when making the decisions. Working groups or user involvement are very good for this.</li>
<li>Try to update original documentation as the service shifts over time, most institutions seem to push for this at intervals but it helps to remember how services can change over time.</li>
<li>Include retrospective look backs at the service at regular intervals, perhaps each year. Having a look at the changes that were added, how they were received and whether they helped add something useful to the service is a very rewarding process</li>
</ul>
<p>If you are taking over an existing service</p>
<ul>
<li>Getting an overview or introduction to the service is incredibly useful but do bear in mind that it is unlikely that you will be able to understand the entire service after one meeting</li>
<li>If possible try to take the previous service owner hostage so that you can refer to them if they didn’t document things</li>
<li>Once you have a good understanding of the service highlight the areas that you have issues with. Areas that you don’t understand why something was done in a particular way or why a certain policy exists. Try to find to root cause for these, if they make sense and fit the service you can leave them for now. If that doesn’t fit the service or the user’s need then earmark those areas for change.</li>
<li>Add your personal touch, come up with suggestions in these specific areas that you have highlighted and taken them to existing working groups or service team. If they don’t exist then consider creating them.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/sliceoflearning/2020/08/14/service-inheritance/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#2415 (1) {
        ["data":protected]=>
        array(12) {
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Sat, 16 May 2026 20:03:34 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.30"
          }
          ["expires"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
          }
          ["cache-control"]=>
          array(1) {
            [0]=>
            string(35) "no-store, no-cache, must-revalidate"
          }
          ["pragma"]=>
          array(1) {
            [0]=>
            string(8) "no-cache"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(194) "<https://blogs.ed.ac.uk/sliceoflearning/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/sliceoflearning/wp-json/wp/v2/tags/8>; rel="alternate"; title="JSON"; type="application/json""
          }
          ["set-cookie"]=>
          array(3) {
            [0]=>
            string(62) "PHPSESSID=hma8sb4pdgee5e3kci6h9sr2u4; path=/; secure; HttpOnly"
            [1]=>
            string(139) "spo_2048_fa=1f6a19a4a61ea1542b1e6b34a077e786; expires=Sat, 16 May 2026 20:33:34 GMT; Max-Age=1800; path=/sliceoflearning/; Secure; HttpOnly"
            [2]=>
            string(125) "RCKBMHKB=027ff8be59-56fd-48Y2CetPKHE-yLCBpzbcaN3u1ynk-MGI4q9wxUpQgnwsjFLyz2z7WMlN7F7zldA-tRQtA; path=/; SameSite=None; Secure"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Mon, 05 Sep 2022 13:49:32 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""3f92756d9ecbe74d271c36001f3864b1""
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(15) "Accept-Encoding"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(0)
      ["url"]=>
      string(58) "https://blogs.ed.ac.uk/sliceoflearning/feed/?tag=dlam-feed"
      ["history"]=>
      array(0) {
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2411 (1) {
        ["cookies":protected]=>
        array(3) {
          ["PHPSESSID"]=>
          object(WpOrg\Requests\Cookie)#2419 (5) {
            ["name"]=>
            string(9) "PHPSESSID"
            ["value"]=>
            string(26) "hma8sb4pdgee5e3kci6h9sr2u4"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2418 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961814)
              ["last-access"]=>
              int(1778961814)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961814)
          }
          ["spo_2048_fa"]=>
          object(WpOrg\Requests\Cookie)#2420 (5) {
            ["name"]=>
            string(11) "spo_2048_fa"
            ["value"]=>
            string(32) "1f6a19a4a61ea1542b1e6b34a077e786"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2421 (1) {
              ["data":protected]=>
              array(6) {
                ["expires"]=>
                int(1778963614)
                ["max-age"]=>
                int(1778963614)
                ["path"]=>
                string(17) "/sliceoflearning/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961814)
              ["last-access"]=>
              int(1778961814)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961814)
          }
          ["RCKBMHKB"]=>
          object(WpOrg\Requests\Cookie)#2422 (5) {
            ["name"]=>
            string(8) "RCKBMHKB"
            ["value"]=>
            string(85) "027ff8be59-56fd-48Y2CetPKHE-yLCBpzbcaN3u1ynk-MGI4q9wxUpQgnwsjFLyz2z7WMlN7F7zldA-tRQtA"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2423 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["samesite"]=>
                string(4) "None"
                ["secure"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961814)
              ["last-access"]=>
              int(1778961814)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961814)
          }
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/sliceoflearning/?p=176] "More about Blogs.ed and Plugins"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/sliceoflearning/?p=176'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/sliceoflearning/?p=176] "More about Blogs.ed and Plugins" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/sliceoflearning/?p=165] "Service Inheritance"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/sliceoflearning/?p=165'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/sliceoflearning/?p=165] "Service Inheritance" is a duplicate of an existing post.
Diag| Polling feed [https://blogs.ed.ac.uk/lramutsa/feed/]
Diag====| HTTP [https://blogs.ed.ac.uk/lramutsa/feed/] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://blogs.ed.ac.uk/lramutsa/feed/] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2422 (1) {
    ["data":protected]=>
    array(12) {
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
      ["date"]=>
      string(29) "Sat, 16 May 2026 20:03:35 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.30"
      ["expires"]=>
      string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
      ["cache-control"]=>
      string(35) "no-store, no-cache, must-revalidate"
      ["pragma"]=>
      string(8) "no-cache"
      ["link"]=>
      string(68) "<https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/""
      ["set-cookie"]=>
      array(3) {
        [0]=>
        string(62) "PHPSESSID=mn263qcjql1e4kljd74hbnmnj4; path=/; secure; HttpOnly"
        [1]=>
        string(132) "spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly"
        [2]=>
        string(125) "RCKBMHKB=027ff8be59-56fd-48jH9A_7KtLwXnFHeVa6OViBSrI9vScqT1gAGwakNaZjUsxOfizwRObi1TapQdt1HTrqQ; path=/; SameSite=None; Secure"
      }
      ["last-modified"]=>
      string(29) "Fri, 27 Mar 2026 13:01:18 GMT"
      ["etag"]=>
      string(34) ""0e0241b0d0da1df953c03c1bff9fac51""
      ["vary"]=>
      string(15) "Accept-Encoding"
    }
  }
  ["body"]=>
  string(17543) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(3) {
    [0]=>
    object(WP_Http_Cookie)#2460 (7) {
      ["name"]=>
      string(9) "PHPSESSID"
      ["value"]=>
      string(26) "mn263qcjql1e4kljd74hbnmnj4"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [1]=>
    object(WP_Http_Cookie)#2459 (7) {
      ["name"]=>
      string(11) "spo_9865_fa"
      ["value"]=>
      string(32) "ed90b7d8fac126105541600d5650d741"
      ["expires"]=>
      int(1778963615)
      ["path"]=>
      string(10) "/lramutsa/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [2]=>
    object(WP_Http_Cookie)#2461 (7) {
      ["name"]=>
      string(8) "RCKBMHKB"
      ["value"]=>
      string(85) "027ff8be59-56fd-48jH9A_7KtLwXnFHeVa6OViBSrI9vScqT1gAGwakNaZjUsxOfizwRObi1TapQdt1HTrqQ"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#986 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#991 (10) {
      ["body"]=>
      string(17543) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(18396) "HTTP/1.1 200 OK
Content-Type: application/rss+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Date: Sat, 16 May 2026 20:03:35 GMT
Server: Apache
X-Powered-By: PHP/8.3.30
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/"
Set-Cookie: PHPSESSID=mn263qcjql1e4kljd74hbnmnj4; path=/; secure; HttpOnly
Set-Cookie: spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly
Last-Modified: Fri, 27 Mar 2026 13:01:18 GMT
ETag: "0e0241b0d0da1df953c03c1bff9fac51"
Vary: Accept-Encoding
Set-Cookie: RCKBMHKB=027ff8be59-56fd-48jH9A_7KtLwXnFHeVa6OViBSrI9vScqT1gAGwakNaZjUsxOfizwRObi1TapQdt1HTrqQ; path=/; SameSite=None; Secure

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Leopold Ramutsamaya’s Blog</title>
	<atom:link href="https://blogs.ed.ac.uk/lramutsa/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/lramutsa</link>
	<description>Leopold Ramutsamaya's Blog for personal use</description>
	<lastBuildDate>Fri, 27 Mar 2026 13:01:18 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>It depends!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 09:01:25 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=57</guid>

					<description><![CDATA[I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees. We got to connect with experienced developers, newcomers […]]]></description>
										<content:encoded><![CDATA[<p>I had the pleasure of attending the PHP UK Conference in London this year. It was my second time, and it was even more exciting than the last! We had three simultaneous sessions, with 19 carefully chosen speakers and a new venue to welcome over 200 attendees.</p>
<p>We got to connect with experienced developers, newcomers and speakers, sharing ideas, concerns and developments across the developer community. This year, the speakers covered a wide range of technical topics, from seasoned open-source contributors like Sebastian Bergmann (the creator of PHPUnit), new product launches like Simon Hamp (the creator of NativePhp), performance enthusiasts like Volker Dusch (PHP 8.5 Release Manager) and long-time PHP contributors like Sara Golemon (PHP release manager at the PHP Foundation).</p>
<p>With so many fascinating and insightful talks, Gary Hockin’s talk on technical trade-offs really stood out to me. His talk, ‘It Depends’, aimed to explain why tech experts rarely give a straightforward ‘yes or no’ answer. It showed that every choice involves a trade-off – a ‘slider’ where getting one benefit often means giving up something else. I have had conversations with colleagues who are exploring tools to make their daily tasks easier, from visualising data within Learn, optimising queries to the database or setting up an application to try out a new AI tool – the question always is, which tool is the best?</p>
<p>Hockin’s main point is that there are no set answers when it comes to technology. Knowing that ‘it depends’ isn’t just a way out, but rather the first step towards making better, more thoughtful choices. It often means realising that every decision we make usually doesn’t have a single ‘right’ answer, rather well-considered compromises. Instead of looking for a one-size-fits-all ‘best’ solution, successful teams learn to ask more specific questions. Picking a programming language, database or framework can sometimes feel like choosing the ‘best’ car. A car that’s perfect for a racetrack won’t work for a snowy driveway and probably won’t be good for a school run with four kids. The same idea applies to our everyday jobs and decisions that come with it. The ‘best’ choice depends entirely on the situation, like the team’s experience, how much money and time we have and what the project needs to achieve.</p>
<p>From picking the best room to book for your non-anchor day at FH to deciding what lunch to have at the ISG Spring event, we need to ask the right questions and have the complete view of the slider before making the right choice. As i retreat to my everyday tasks and the decisions I must make, I am more conscious to seek the full picture, assess the slider in its entirety to ensure I have a good understanding of all the negatives and positives and ask the right questions. It is not as easy as it sounds, but with practice and constant refinement, “it depends” becomes a part of every decision we need to make.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2026-03-27" itemprop="dateModified">Mar 27, 2026</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2026/03/27/it-depends/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lights, Camera, Learn!</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Sun, 02 Mar 2025 19:56:58 +0000</pubDate>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-conference]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=32</guid>

					<description><![CDATA[I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers. The conference had two tracks concurrently running most of the […]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="size-medium wp-image-35 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg" alt="PHP UK Conference 2025" width="300" height="100" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-300x100.jpeg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1024x341.jpeg 1024w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-768x256.jpeg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference-1440x480.jpeg 1440w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2025/02/PHP-UK-Conference.jpeg 1500w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p class="p1">I had the pleasure of attending the 2025 PHP UK Conference in London on 19th of February. The speakers were amazing, and each session gave us practical tips on the challenges we face as software developers and the cutting-edge tech being developed by other developers.</p>
<p class="p1">The conference had two tracks concurrently running most of the day, so you could choose which talks were most interesting. Luckily, I was there with a work colleague, so we were able to cover both tracks and not miss out on any talks. I have highlighted some of the talks that really inspired me to think differently and unlock a toolkit of ideas to level up my developer skills.</p>
<p class="p1">Craig Francis talked about “Ending Injection Vulnerabilities,” a topic that every developer should know about. Even though PHP has improved, SQL injection attacks still happen a lot. Craig showed us real-world examples that were used in production which left many reviewing their code bases. He stressed that languages make it easy to add vulnerable code with just one line of code (which works), but it’s harder to make secure code with several lines of code – something that should change by making secure code just as easy to write as insecure one. He also said that escaping inputs or using Object-Relational Mapping (ORM like Eloquent) isn’t enough. Instead, we should take a “zero-trust” approach to any data that users send and make sure that security principles like using prepared statements and validating every user input are followed. On top of that, we should make sure that we actually use the functions provided by these ORMs as they’re meant to be used, so we don’t open backdoors on otherwise secure code.</p>
<p class="p1">Liam Hammett’s session, “Beyond Requests: Supercharging API Monitoring with Guzzle Middleware,” was a real eye-opener for me. I have used Guzzle before, but Liam showed me how to use middleware to log requests, view traces, and observe metrics. This way, I can easily monitor my application’s performance. He also showed us how to use Graphana, Tempo, Prometheus, and Loki to monitor different log levels and API telemetry from our application. We have a few apps that could really benefit from this kind of logging and monitoring, like our Class Group Builder, Bulk unenrol tool or our infrastructure servers that currently host the Short Courses Platform.</p>
<p class="p1">Ivo Lukac’s shared “Learn to Appreciate Legacy,” a heartwarming story about a fictional developer named Zed, was also really moving. Through Zed’s struggles with a messy and old codebase, Ivo showed us how legacy code often contains important business logic and institutional knowledge. It hit home for me because I have often complained about “legacy code” that we have running on some of our old apps, instead of seeing its value. Ivo’s positive outlook has me rethinking how I approach maintenance work. He shared some strategies for maintaining and refactoring such code without breaking everything and leaving every file that you’ve worked on better than you found it. The lesson? Legacy code is just code that’s been pushed to production!</p>
<p class="p1">Finally, Kevin Dunglas closed off the talks with “Give Your PHP Apps Superpowers with FrankenPHP”. This modern PHP server, built on Caddy, handles concurrency easily and supports real-time features out of the box. It also boosts performance by preloading classes. The “worker mode” was the coolest part for me, as it lets you run persistent processes for tasks like queued jobs without external services. I can’t wait to try it on a side project, maybe a chat app, and see how it simplifies my workflow. As far as I could tell, for developers, it’s a game-changer, combining PHP’s simplicity with the enterprise-grade power of Go.</p>
<p class="p1">With so many exciting talks happening at the same time on two tracks, it’s easy to miss out on others. It would be awesome if the organisers could split the talks over two days so everyone can hear everything. On the bright side, this conference made me realise that PHP is still evolving and there’s always something new and exciting coming from the community.</p>
<p class="p1">As I get back to my projects, I’m inspired to pay closer attention to every input, monitor APIs smartly, respect legacy code, and use tools that push PHP to its limits. Conferences aren’t just about learning new tricks—they remind us why we love this craft. We have the chance to build a better world, one line of code at a time!</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2025-03-02" itemprop="dateModified">Mar 2, 2025</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2025/03/02/lights-camera-learn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A day in the life of an eLearning Systems Developer</title>
		<link>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/</link>
					<comments>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/#respond</comments>
		
		<dc:creator><![CDATA[lramutsa]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 14:10:31 +0000</pubDate>
				<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<category><![CDATA[leopold ramutsamaya]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/lramutsa/?p=9</guid>

					<description><![CDATA[As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous […]]]></description>
										<content:encoded><![CDATA[<p style="text-align: left"><img loading="lazy" decoding="async" class="size-medium wp-image-28 alignleft" src="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg" alt="Leopold Ramutsamaya Photo" width="300" height="300" srcset="https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-300x300.jpg 300w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-150x150.jpg 150w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo-768x768.jpg 768w, https://blogs.ed.ac.uk/lramutsa/wp-content/uploads/sites/9865/2024/01/Leopold-Photo.jpg 960w" sizes="auto, (max-width: 300px) 100vw, 300px" />As an eLearning Systems Developer in a dynamic small team, my role revolves around creating custom web applications, university-wide platforms, and extensions for the central virtual learning environment, Blackboard Learn. With over 20 applications under our belt, each presenting unique challenges and varying complexities, my days are a blend of technical expertise, collaboration, and continuous learning.</p>
<p style="text-align: left">The day kicks off with catching up on both personal and team support emails. This ensures I am aware of any potential challenges or issues that may shape my workday. Whether it’s a student seeking support or a system alert for an application running out of storage, addressing these promptly ensures a smooth workflow. Following this, our daily team scrum meetings provide a platform for brief but vital discussion on completed tasks, ongoing work, and potential roadblocks. These meetings help the team keep on tabs on all the work at hand and the progress being made, as well as offer help on any issues you are facing – more often than not, someone else may have faced similar issue and already have a solution or a way to handle the issue.</p>
<p style="text-align: left">With the morning meetings concluded, the day unfolds into a solo venture of coding and project planning for the rest of the day – the ability to manage and prioritise your own work becomes very crucial. Working with sprint tickets, our team follows a meticulous process that includes peer code review and writing of automated tests. This not only enhances code quality by minimizing errors but also provides a unique opportunity for professional growth as different viewpoints and solutions emerge during code reviews, creating a fertile ground for the exchange of ideas. Writing automated tests ensures that new features align with specifications without disrupting existing logic.</p>
<p style="text-align: left">Reflection becomes a crucial part of the daily routine, providing insights into lessons learned, challenges faced, and opportunities for improvement. In the ever-evolving realm of software development, challenges serve as stepping stones for professional growth. Crucially, the supportive ecosystem within the team and the section at large is the cornerstone of our success. Knowing that assistance is just an inquiry away fosters a collaborative spirit, making the complex web of software development more manageable.</p>
<p style="text-align: left">One of the most rewarding aspects of my job is the opportunity to work on a multitude of applications, employing various technologies and catering to different stakeholders across the university. This diversity exposes me to processes beyond my immediate scope, allowing me to contribute to the resolution of challenges faced by staff and students throughout their daily routines. Each day is a unique opportunity to shape the digital future of education, one line of code at a time.</p>

			<span class="uoe-published-time uoe-seo-hidden-area">
				<time datetime="2024-01-26" itemprop="dateModified">Jan 26, 2024</time>
			</span>
		]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/lramutsa/2024/01/26/a-day-in-the-life-of-an-elearning-systems-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#988 (1) {
        ["data":protected]=>
        array(12) {
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Sat, 16 May 2026 20:03:35 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.30"
          }
          ["expires"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
          }
          ["cache-control"]=>
          array(1) {
            [0]=>
            string(35) "no-store, no-cache, must-revalidate"
          }
          ["pragma"]=>
          array(1) {
            [0]=>
            string(8) "no-cache"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(68) "<https://blogs.ed.ac.uk/lramutsa/wp-json/>; rel="https://api.w.org/""
          }
          ["set-cookie"]=>
          array(3) {
            [0]=>
            string(62) "PHPSESSID=mn263qcjql1e4kljd74hbnmnj4; path=/; secure; HttpOnly"
            [1]=>
            string(132) "spo_9865_fa=ed90b7d8fac126105541600d5650d741; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/lramutsa/; Secure; HttpOnly"
            [2]=>
            string(125) "RCKBMHKB=027ff8be59-56fd-48jH9A_7KtLwXnFHeVa6OViBSrI9vScqT1gAGwakNaZjUsxOfizwRObi1TapQdt1HTrqQ; path=/; SameSite=None; Secure"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Fri, 27 Mar 2026 13:01:18 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""0e0241b0d0da1df953c03c1bff9fac51""
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(15) "Accept-Encoding"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(0)
      ["url"]=>
      string(37) "https://blogs.ed.ac.uk/lramutsa/feed/"
      ["history"]=>
      array(0) {
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2425 (1) {
        ["cookies":protected]=>
        array(3) {
          ["PHPSESSID"]=>
          object(WpOrg\Requests\Cookie)#2454 (5) {
            ["name"]=>
            string(9) "PHPSESSID"
            ["value"]=>
            string(26) "mn263qcjql1e4kljd74hbnmnj4"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2453 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
          ["spo_9865_fa"]=>
          object(WpOrg\Requests\Cookie)#2455 (5) {
            ["name"]=>
            string(11) "spo_9865_fa"
            ["value"]=>
            string(32) "ed90b7d8fac126105541600d5650d741"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2456 (1) {
              ["data":protected]=>
              array(6) {
                ["expires"]=>
                int(1778963615)
                ["max-age"]=>
                int(1778963615)
                ["path"]=>
                string(10) "/lramutsa/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
          ["RCKBMHKB"]=>
          object(WpOrg\Requests\Cookie)#2457 (5) {
            ["name"]=>
            string(8) "RCKBMHKB"
            ["value"]=>
            string(85) "027ff8be59-56fd-48jH9A_7KtLwXnFHeVa6OViBSrI9vScqT1gAGwakNaZjUsxOfizwRObi1TapQdt1HTrqQ"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2458 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["samesite"]=>
                string(4) "None"
                ["secure"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=57] "It depends!"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=57'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=57] "It depends!" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=32] "Lights, Camera, Learn!"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=32'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=32] "Lights, Camera, Learn!" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/lramutsa/?p=9] "A day in the life of an eLearning Systems Developer"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/lramutsa/?p=9'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/lramutsa/?p=9] "A day in the life of an eLearning Systems Developer" is a duplicate of an existing post.
Diag| Polling feed [https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/rss/]
Diag====| HTTP [https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/rss/] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/rss/] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2503 (1) {
    ["data":protected]=>
    array(12) {
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
      ["date"]=>
      string(29) "Sat, 16 May 2026 20:03:35 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.30"
      ["expires"]=>
      string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
      ["cache-control"]=>
      string(35) "no-store, no-cache, must-revalidate"
      ["pragma"]=>
      string(8) "no-cache"
      ["link"]=>
      string(194) "<https://blogs.ed.ac.uk/edtechunchained/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/edtechunchained/wp-json/wp/v2/tags/3>; rel="alternate"; title="JSON"; type="application/json""
      ["set-cookie"]=>
      string(140) "spo_10112_fa=835dd0b2695588e851ef477a8aa831a7; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/edtechunchained/; Secure; HttpOnly"
      ["last-modified"]=>
      string(29) "Fri, 24 Apr 2026 08:47:05 GMT"
      ["etag"]=>
      string(34) ""8ec008d5bde259dd134ea2a25d69cb8f""
      ["vary"]=>
      string(15) "Accept-Encoding"
    }
  }
  ["body"]=>
  string(27283) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dlam-feed – EdTech Unchained</title>
	<atom:link href="https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/edtechunchained</link>
	<description>Making sense of EdTech in uncertain times</description>
	<lastBuildDate>Fri, 24 Apr 2026 08:47:05 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Lessons from the Aspiring Manager Programme: Beyond Managing</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 13:18:11 +0000</pubDate>
				<category><![CDATA[CPD]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=80</guid>

					<description><![CDATA[As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core […]]]></description>
										<content:encoded><![CDATA[<p>As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core workshops.</p>
<h2>The Aspiring Manager Programme</h2>
<p>It runs 2 cohort intakes per academic year beginning in October and January and requires a nominating manager to support your application (usually your line manager). If interested, you can find further details through the <a href="https://human-resources.ed.ac.uk/learning-development/leadership-programmes/aspiring-manager">Aspiring Manager Programme dedicated web page.</a></p>
<p>The first phase of the programme involves attending an onboarding session, starting working on weekly prompts and attending the first of two main workshops. The weekly prompts feel like school home work but I have to admit that they are helpful to reflect on key topics about becoming a manager and successfully supporting a team.</p>
<p>During Workshop 1 we explored our motivations and management styles whereas Workshop 2 was dedicated to team development, constructive feedback and managing challenging conversations through real-world scenarios and role-playing activities. Not being a big fan of group activities I found them more interesting than I initially envisaged. The break up rooms had the right timing and length to avoid making them boring or annoying.</p>
<h2>Workshops Reflection: What is important as a good manager</h2>
<p>While reflecting about our management styles and what we consider important as a manager, some of the most cited ingredients were the ability to empower and support , fairness,  creating a safe environment, clear communication and leading by example. The latter was clearly something important for most if not all the participants as future managers-leaders.</p>
<p>Workshop 2 addressed these core “ingredients” and was actually really good. One of the concepts that I liked as it matches my personal views about how I like to work although I did not know it had a name is “Psychological Safety”, a concept developed by Harvard professor Amy Edmondson. It refers to creating an open, safe and trusting environment for the staff, where they are allowed to speak up,  admit mistakes, ask questions, and propose new ideas without fear of punishment or humiliation. The other element that I found of great importance is communication, not only to provide clear instructions but also when it comes down to having difficult conversations, coaching or supporting a team member. No matter how much you may know, it is never that easy, requiring constant practice to keep honing these skills. I think that getting this right is probably one of the most challenging parts of being a good manager and building high-performance teams.</p>
<p>On the other hand, while reflecting on the concept of leading by example, my attention was drawn to Japan as it has some of the most impressive examples of great leadership and leading by example, in particular, in the face of adversity. Some well known examples during periods of financial downturn are Nintendo´s President who chose to halve his salary to avoid laying off employees and preserve talent for future success and Japan Airlines CEO Haruka Nishimatsu who slashed his own salary and gave up executive perks during 2007 and 2009 while the airline faced severe changes to recover from financial debt. He famously stated that if a leader doesn’t share the pain, they cannot expect the followers to endure it which sets a quite high benchmark for leadership solidarity. I would say this is key as a leader and/or manager to avoid an organizational disconnect that may likely impact performance and long term results.</p>
<h2>Final Thoughts</h2>
<p>We are used to think about management or being a manager as being responsible for the operational activity of the team, work planning, setting priorities, dealing with a wide range of issues, supporting team members and dealing with People & Money for multiple administrative tasks (which may likely include screaming time to time). <span style="font-size: 1rem;">At some point during the activities, I defined a team as a living organism, where every member has its particularities, and hence requiring constant adjustment or fine tuning aka management from a manager in order to achieve a suitable balance. Like a garden with different plants, each one displaying different qualities, requiring different nutrients, water intake and sun in order to thrive. </span>Through the different conversations with other participants and my peer group, it unfolds that,  as a manager you manage tasks, but you also lead people and the best way to lead is by showing (leading by example).  It turns out that one of the most important things a manager can do isn’t “managing” at all—it’s leading by example, otherwise, none of the other elements involving being a manager may have the expected results.</p>
<p>As we progress into the final part of this adventure, it is time to reflect about the most important lessons I have learned as this is that last activity for us before being able to complete the course.</p>
<p>If you are considering joining the programme, go for it. I get bored quite easily and thought it may be just another boring set of activities and now I have to admit that it is actually a really good experience plus the facilitator is brilliant so I strongly recommend it.</p>
<p>What does good management look like to you?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to survive and pass the ITIL 4 Foundation exam</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 11:31:48 +0000</pubDate>
				<category><![CDATA[ITIL]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=40</guid>

					<description><![CDATA[I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam. This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner […]]]></description>
										<content:encoded><![CDATA[<p>I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam.</p>
<p>This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner of Axelos who managed to turn a usually dry content into a set of engaging sessions with the help of timely coffee breaks.</p>
<p>As part of my role in DLAM, we currently implement ITIL practices and I was eager to learn more about ITIL so that I could better support the different services using best practices.</p>
<h4>My experience in 30 seconds</h4>
<p>I found the course really useful to have a better understanding of ITIL framework and key concepts. ITIL also helps to understand why UniDesk works the way it does here at the University. Another positive from the course was to meet and interact with other staff involved in ITIL practices.</p>
<p>The main downside is that by the end of each day everyone’s brain is saturated with information and no matter how much I like processes and workflows…it is a lot of to take in. On the other hand, the quizzes and mock exams that are introduced throughout the training sessions are really good to review, reflect on the concepts and refresh the brain.</p>
<h4>Main Tips and Takeaways</h4>
<p><strong>Before the course</strong></p>
<ul>
<li>Consider checking some ITIL courses available on Linkedin Learning to get a grasp of the basic concepts if you are not familiar with the ITIL framework.</li>
<li>Consider buying a revision guide. I bought the ITIL Foundation Essentials by Claire Agutter (there are different guides so check and decide which one you like it better) and found it very useful before the course and specially once completed to easily review the concepts (ie on the bus) instead of login into the course content platform.</li>
</ul>
<p><strong>During the course</strong></p>
<ul>
<li>Ask questions</li>
<li>Add notes (the course platform allows to easily add notes)</li>
<li>Get proper sleep (if possible)</li>
<li>Bring your own coffee in the morning in case catering is delayed</li>
<li>Bring layers as you never know how cold or warm you may feel the room</li>
</ul>
<p><strong> </strong><strong>After the course (Exam prep)</strong></p>
<ul>
<li>Learn the terminology. There are multiple questions in the exam about key concepts definitions.</li>
<li>Understand the relationships between ITIL concepts.</li>
<li>Review the Mock Exams (you can find additional mock exams online) and practice until you are able to consistently achieve the desired mark.</li>
</ul>
<p><strong>Tips for the online exam</strong></p>
<p>The ITIL® Foundation exam consists of 40 multiple-choice questions that must be completed within 60 minutes.</p>
<p>The online exam is an online proctored exam. It felt weird having someone “overseeing” you but without actually seeing them. However, once I started the exam I was fully focused on the questions and this was not an issue.</p>
<ul>
<li>Make sure that you take the exam in a suitable room (ie: the room should only have one door and your camera needs to show that door, my understanding is that if you have two doors, they have to be in view)</li>
<li>Wherever you are taking the exam, ensure no one open the doors while you take the exam</li>
<li>You will need to keep a clean desk and cover any extra monitors (you need to show it with your webcam)</li>
<li>The proctor will gently review that all the requirements are met for the room, reading the requirements feels worst than it its (ie: I had to cover my two monitors while using just the laptop to take the exam)</li>
<li>Read carefully the questions, don’t rush.</li>
<li>If you get stuck on a test question, move on and come back later</li>
<li>Keep an eye on the clock however, I can assure you that you will have plenty of time.</li>
<li>Learn the key definitions and watch out for certain keywords (this would help you connect the wording to the right concept)</li>
<li>Book your exam (important thing to remember!)</li>
</ul>
<h4>Conclusion</h4>
<p>Do I recommend the course if you are interested in ITIL, IT or Service Management? Yes!</p>
<p>I took the exam on Monday after completing the course the previous Friday.</p>
<p>We were advised to let the content sink during the weekend and schedule the exam from Sunday on wards and not more than 1 week after completing the course so that we still have the concepts fresh in the mind. I practiced the mock exams a few times until being consistent at getting at least 30 out of 40 and…I got more than 30 in the exam <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI, Instructional Design and Midjourney</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Fri, 12 Apr 2024 15:06:38 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/</guid>

					<description><![CDATA[One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know. I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the […]]]></description>
										<content:encoded><![CDATA[<p>One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know.</p>
<p>I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the pros and cons of AI.</p>
<p>It is described by its creators as by its creators as “text-to-image AI where your imagination is the only limit”. One of the things I was curious about is the possibility to use Midjourney to create specific images that could be use in online courses or as feature images in posts as I sometimes struggle to find the right image.</p>
<p>I got myself a basic account to do some tests and I have selected some of the Midjourney generated images below to illustrate this post and the featured image.</p>
<p>As an instructional designer, part of the job may involve creating or editing certain creative assets. Most of the Authoring eLearning tools would nowadays provide access to a library of images, yet sometimes you may need something very specific. Same applies for blogs, there are a good number of bank photos but you may not always find what you want or you may spend too much time scrolling through a content library.</p>
<h3>Creating an image for an online course</h3>
<p>Let’s say that I need an angry dinosaur having a discussion to illustrate a conflict management slide for a course…</p>
<p><strong>Prompt:</strong> angry customer with a dinosaur face discussing with a customer assistant, v 5.1 –style raw</p>
<p>If you look at the woman’s character, do you notice some strange things? The pen seems to be floating, the elbow and the hand are a bit odd.</p>
<p>And…the dinosaur body is…well…interesting.</p>
<p>This was the first attempt at this prompt which shows some of the AI limitations at the moment. Usually, by iteration and clarifying the instructions within the prompt, the image can get closer to the idea I had in mind although there is a high chance that it may still require some manual editing. On the positive side, if there is no similar image via the image bank, this can be very helpful.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png" alt="angry_customer_with_a_dinosaur_face" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<h3>Creating a flat illustration</h3>
<p>Now, using a more elaborated prompt to create a flat illustration, the result was not bad although it took a few iterations to get something that I was satisfied with. Still, the right arm looks like a bit strange to me.</p>
<p><strong>Prompt:</strong> Discover the world of scientific exploration with this flat illustration featuring a chemist wearing glasses, with a smile and happy eyes, diligently working in a research laboratory. Engaged in experiments, she skillfully handles a [object that is used]. This minimalist UI illustration, perfect for GUI applications, boasts a clean white background and a bright color scheme that highlights the focus and determination of the scientist. Immerse yourself in the pursuit of knowledge and celebrate the passion for discovery in this vibrant and engaging visual representation.–ar 1:1 –v 5 –s 100</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-21" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png" alt="chemist_in_laboratory_flat_illustration" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p> </p>
<h3>The fun side of AI</h3>
<p>So far, I have found being able to communicate with AI fascinating. It can be exciting when you manage to create a prompt that returns what you expected or frustrating when you get just the opposite and even funny when you look at some of the results based on not good enough prompts or the AI not quite understanding what you meant in your prompt (as you may note looking at the image below!).</p>
<p><strong>Prompt</strong>: funny t-rex dinosaur, working as it support with headphones sitting in a chair in front of a computer, cartoon style, happy face, with scottish kilt ,v 5.1 –style raw –</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-20" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png" alt="funny_t_rex_dinosaur_with_a_happy_face_wearing_scottish_kilt" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p>Like many radical innovations, the fear is for a potentially good tool to end up being used in a harmful way. It feels like a tsunami and either you sink or you ride the wave. I believe that, a good starting point, is to have a better understanding of its advantages and limitations, so that we can work towards and ethical and safe use of AI.</p>
<h3>Thoughts about AI and Midjourney</h3>
<p>Some quick thoughts based on my initial experience (note that I am not an AI expert or a designer)</p>
<p><strong>Pros</strong></p>
<ul>
<li>You can create almost anything that you can conceive in your mind</li>
<li>It enhances your creativity by exposing you to creative options you may have not considered</li>
<li>It can speed up the creative process using AI as a starting point and then adding manual input to create the final artwork.</li>
<li>It can be used as inspiration, as creative prompts.</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>Achieving a perfect image out of a prompt is not always possible, it requires iteration and often some final human touch.</li>
<li>Complexity of copyright ownership/infringement (in theory, there is no copyright in the “raw” outcome as there is no creative human input unless it is modified, there are risks based on regulations in different countries, changes in terms of service, existing images…)</li>
<li>Current controversy with copyright (it is worth reading <a href="http://docs.midjourney.com/hc/en-us/articles/32083055291277-Terms-of-Service" class="broken_link">Midjourney Terms of Service </a> and to check or seek advice depending on the intended usage of the images, especially for commercial use)</li>
<li>Devaluation of manually created artwork</li>
</ul>
<p><strong>Opportunities</strong></p>
<ul>
<li>Learning how to communicate to AI and train it to help us</li>
<li>A powerful additional brain that can be used for good</li>
</ul>
<p><strong>Challenges</strong></p>
<ul>
<li>Data usage</li>
<li>Data waste as a result of the crazy amount of both good and awful content being generated.</li>
<li>Concerns about Midjourney stealing work .</li>
<li>Ensuring that we are able to establish ethical boundaries so that we do not end up fighting against Skynet like in Terminator!</li>
</ul>
<p><strong>Lessons learnt</strong></p>
<ul>
<li>Talking to AI is not so different than talking to humans (bear with me…). If you want AI or a human to understand you, you need to communicate the right way. Also, even if you use the right words, AI may not get what you ask for!</li>
<li>There is a learning curve, it can be frustrating and also good fun.</li>
<li>To achieve the best results,  i would say that, at least at the moment, human input is required to edit what AI presents.</li>
<li>The key to create successful prompts is to use a positive language!  If I want a “clear background”, the trick is adding “clear background” in the prompt rather than requesting “no dark background”. In essence, anything we may not want in the image, has to be changed into a positive keyword for Midjourney to better understand what we want.</li>
<li>It requires a good conversation regarding copyrights and commercial use of creative work produced in collaboration with AI tools.</li>
</ul>
<p><strong>Final thoughts</strong></p>
<ul>
<li>Although this AI tool is pretty amazing from a creative perspective, I have found that it can be time consuming to design or adapt certain prompts (hence the rise of prompt designers). Therefore, I may have spent more time trying to achieve a decent image with the prompts than finding a good enough image through the image bank or image library. It is also likely that a prompt designer may be able to achieve better results in less time.</li>
<li>With the right knowledge and experience, it allows creating fascinating art and creative assets that otherwise, unless being an artist or a creative, may be near impossible to achieve.</li>
<li>It can be a complementary tool to create certain digital assets that may be difficult to find and may be used as a first draft before editing the image through human input.</li>
<li>There are some Midjourney users creating fascinating pieces of work however I don’t feel it is a tool that anyone can use to create a great creative asset in five minutes. Even knowing about prompt design, it seems that it requires some good skills to achieve really good outcomes.</li>
</ul>
<p> </p>
<p>If you feel like giving it a try you will need a Discord and Midjourney account. There are several good tutorials online in case you may want to give it a go.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(3) {
    [0]=>
    object(WP_Http_Cookie)#2517 (7) {
      ["name"]=>
      string(9) "PHPSESSID"
      ["value"]=>
      string(26) "vms824r5a1t1slhfkgg5708opi"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [1]=>
    object(WP_Http_Cookie)#2519 (7) {
      ["name"]=>
      string(12) "spo_10112_fa"
      ["value"]=>
      string(32) "835dd0b2695588e851ef477a8aa831a7"
      ["expires"]=>
      int(1778963615)
      ["path"]=>
      string(17) "/edtechunchained/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
    [2]=>
    object(WP_Http_Cookie)#2518 (7) {
      ["name"]=>
      string(8) "RCKBMHKB"
      ["value"]=>
      string(85) "027ff8be59-56fd-48TNJV7hMimUd2Sdle7jY5iOa40Gxo_T5U-XQHN_0htciESRn0V4lUez90d-zYn784nTM"
      ["expires"]=>
      NULL
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(14) "blogs.ed.ac.uk"
      ["port"]=>
      NULL
      ["host_only"]=>
      bool(true)
    }
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#2502 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#2515 (10) {
      ["body"]=>
      string(27283) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dlam-feed – EdTech Unchained</title>
	<atom:link href="https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/edtechunchained</link>
	<description>Making sense of EdTech in uncertain times</description>
	<lastBuildDate>Fri, 24 Apr 2026 08:47:05 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Lessons from the Aspiring Manager Programme: Beyond Managing</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 13:18:11 +0000</pubDate>
				<category><![CDATA[CPD]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=80</guid>

					<description><![CDATA[As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core […]]]></description>
										<content:encoded><![CDATA[<p>As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core workshops.</p>
<h2>The Aspiring Manager Programme</h2>
<p>It runs 2 cohort intakes per academic year beginning in October and January and requires a nominating manager to support your application (usually your line manager). If interested, you can find further details through the <a href="https://human-resources.ed.ac.uk/learning-development/leadership-programmes/aspiring-manager">Aspiring Manager Programme dedicated web page.</a></p>
<p>The first phase of the programme involves attending an onboarding session, starting working on weekly prompts and attending the first of two main workshops. The weekly prompts feel like school home work but I have to admit that they are helpful to reflect on key topics about becoming a manager and successfully supporting a team.</p>
<p>During Workshop 1 we explored our motivations and management styles whereas Workshop 2 was dedicated to team development, constructive feedback and managing challenging conversations through real-world scenarios and role-playing activities. Not being a big fan of group activities I found them more interesting than I initially envisaged. The break up rooms had the right timing and length to avoid making them boring or annoying.</p>
<h2>Workshops Reflection: What is important as a good manager</h2>
<p>While reflecting about our management styles and what we consider important as a manager, some of the most cited ingredients were the ability to empower and support , fairness,  creating a safe environment, clear communication and leading by example. The latter was clearly something important for most if not all the participants as future managers-leaders.</p>
<p>Workshop 2 addressed these core “ingredients” and was actually really good. One of the concepts that I liked as it matches my personal views about how I like to work although I did not know it had a name is “Psychological Safety”, a concept developed by Harvard professor Amy Edmondson. It refers to creating an open, safe and trusting environment for the staff, where they are allowed to speak up,  admit mistakes, ask questions, and propose new ideas without fear of punishment or humiliation. The other element that I found of great importance is communication, not only to provide clear instructions but also when it comes down to having difficult conversations, coaching or supporting a team member. No matter how much you may know, it is never that easy, requiring constant practice to keep honing these skills. I think that getting this right is probably one of the most challenging parts of being a good manager and building high-performance teams.</p>
<p>On the other hand, while reflecting on the concept of leading by example, my attention was drawn to Japan as it has some of the most impressive examples of great leadership and leading by example, in particular, in the face of adversity. Some well known examples during periods of financial downturn are Nintendo´s President who chose to halve his salary to avoid laying off employees and preserve talent for future success and Japan Airlines CEO Haruka Nishimatsu who slashed his own salary and gave up executive perks during 2007 and 2009 while the airline faced severe changes to recover from financial debt. He famously stated that if a leader doesn’t share the pain, they cannot expect the followers to endure it which sets a quite high benchmark for leadership solidarity. I would say this is key as a leader and/or manager to avoid an organizational disconnect that may likely impact performance and long term results.</p>
<h2>Final Thoughts</h2>
<p>We are used to think about management or being a manager as being responsible for the operational activity of the team, work planning, setting priorities, dealing with a wide range of issues, supporting team members and dealing with People & Money for multiple administrative tasks (which may likely include screaming time to time). <span style="font-size: 1rem;">At some point during the activities, I defined a team as a living organism, where every member has its particularities, and hence requiring constant adjustment or fine tuning aka management from a manager in order to achieve a suitable balance. Like a garden with different plants, each one displaying different qualities, requiring different nutrients, water intake and sun in order to thrive. </span>Through the different conversations with other participants and my peer group, it unfolds that,  as a manager you manage tasks, but you also lead people and the best way to lead is by showing (leading by example).  It turns out that one of the most important things a manager can do isn’t “managing” at all—it’s leading by example, otherwise, none of the other elements involving being a manager may have the expected results.</p>
<p>As we progress into the final part of this adventure, it is time to reflect about the most important lessons I have learned as this is that last activity for us before being able to complete the course.</p>
<p>If you are considering joining the programme, go for it. I get bored quite easily and thought it may be just another boring set of activities and now I have to admit that it is actually a really good experience plus the facilitator is brilliant so I strongly recommend it.</p>
<p>What does good management look like to you?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to survive and pass the ITIL 4 Foundation exam</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 11:31:48 +0000</pubDate>
				<category><![CDATA[ITIL]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=40</guid>

					<description><![CDATA[I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam. This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner […]]]></description>
										<content:encoded><![CDATA[<p>I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam.</p>
<p>This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner of Axelos who managed to turn a usually dry content into a set of engaging sessions with the help of timely coffee breaks.</p>
<p>As part of my role in DLAM, we currently implement ITIL practices and I was eager to learn more about ITIL so that I could better support the different services using best practices.</p>
<h4>My experience in 30 seconds</h4>
<p>I found the course really useful to have a better understanding of ITIL framework and key concepts. ITIL also helps to understand why UniDesk works the way it does here at the University. Another positive from the course was to meet and interact with other staff involved in ITIL practices.</p>
<p>The main downside is that by the end of each day everyone’s brain is saturated with information and no matter how much I like processes and workflows…it is a lot of to take in. On the other hand, the quizzes and mock exams that are introduced throughout the training sessions are really good to review, reflect on the concepts and refresh the brain.</p>
<h4>Main Tips and Takeaways</h4>
<p><strong>Before the course</strong></p>
<ul>
<li>Consider checking some ITIL courses available on Linkedin Learning to get a grasp of the basic concepts if you are not familiar with the ITIL framework.</li>
<li>Consider buying a revision guide. I bought the ITIL Foundation Essentials by Claire Agutter (there are different guides so check and decide which one you like it better) and found it very useful before the course and specially once completed to easily review the concepts (ie on the bus) instead of login into the course content platform.</li>
</ul>
<p><strong>During the course</strong></p>
<ul>
<li>Ask questions</li>
<li>Add notes (the course platform allows to easily add notes)</li>
<li>Get proper sleep (if possible)</li>
<li>Bring your own coffee in the morning in case catering is delayed</li>
<li>Bring layers as you never know how cold or warm you may feel the room</li>
</ul>
<p><strong> </strong><strong>After the course (Exam prep)</strong></p>
<ul>
<li>Learn the terminology. There are multiple questions in the exam about key concepts definitions.</li>
<li>Understand the relationships between ITIL concepts.</li>
<li>Review the Mock Exams (you can find additional mock exams online) and practice until you are able to consistently achieve the desired mark.</li>
</ul>
<p><strong>Tips for the online exam</strong></p>
<p>The ITIL® Foundation exam consists of 40 multiple-choice questions that must be completed within 60 minutes.</p>
<p>The online exam is an online proctored exam. It felt weird having someone “overseeing” you but without actually seeing them. However, once I started the exam I was fully focused on the questions and this was not an issue.</p>
<ul>
<li>Make sure that you take the exam in a suitable room (ie: the room should only have one door and your camera needs to show that door, my understanding is that if you have two doors, they have to be in view)</li>
<li>Wherever you are taking the exam, ensure no one open the doors while you take the exam</li>
<li>You will need to keep a clean desk and cover any extra monitors (you need to show it with your webcam)</li>
<li>The proctor will gently review that all the requirements are met for the room, reading the requirements feels worst than it its (ie: I had to cover my two monitors while using just the laptop to take the exam)</li>
<li>Read carefully the questions, don’t rush.</li>
<li>If you get stuck on a test question, move on and come back later</li>
<li>Keep an eye on the clock however, I can assure you that you will have plenty of time.</li>
<li>Learn the key definitions and watch out for certain keywords (this would help you connect the wording to the right concept)</li>
<li>Book your exam (important thing to remember!)</li>
</ul>
<h4>Conclusion</h4>
<p>Do I recommend the course if you are interested in ITIL, IT or Service Management? Yes!</p>
<p>I took the exam on Monday after completing the course the previous Friday.</p>
<p>We were advised to let the content sink during the weekend and schedule the exam from Sunday on wards and not more than 1 week after completing the course so that we still have the concepts fresh in the mind. I practiced the mock exams a few times until being consistent at getting at least 30 out of 40 and…I got more than 30 in the exam <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI, Instructional Design and Midjourney</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Fri, 12 Apr 2024 15:06:38 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/</guid>

					<description><![CDATA[One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know. I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the […]]]></description>
										<content:encoded><![CDATA[<p>One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know.</p>
<p>I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the pros and cons of AI.</p>
<p>It is described by its creators as by its creators as “text-to-image AI where your imagination is the only limit”. One of the things I was curious about is the possibility to use Midjourney to create specific images that could be use in online courses or as feature images in posts as I sometimes struggle to find the right image.</p>
<p>I got myself a basic account to do some tests and I have selected some of the Midjourney generated images below to illustrate this post and the featured image.</p>
<p>As an instructional designer, part of the job may involve creating or editing certain creative assets. Most of the Authoring eLearning tools would nowadays provide access to a library of images, yet sometimes you may need something very specific. Same applies for blogs, there are a good number of bank photos but you may not always find what you want or you may spend too much time scrolling through a content library.</p>
<h3>Creating an image for an online course</h3>
<p>Let’s say that I need an angry dinosaur having a discussion to illustrate a conflict management slide for a course…</p>
<p><strong>Prompt:</strong> angry customer with a dinosaur face discussing with a customer assistant, v 5.1 –style raw</p>
<p>If you look at the woman’s character, do you notice some strange things? The pen seems to be floating, the elbow and the hand are a bit odd.</p>
<p>And…the dinosaur body is…well…interesting.</p>
<p>This was the first attempt at this prompt which shows some of the AI limitations at the moment. Usually, by iteration and clarifying the instructions within the prompt, the image can get closer to the idea I had in mind although there is a high chance that it may still require some manual editing. On the positive side, if there is no similar image via the image bank, this can be very helpful.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png" alt="angry_customer_with_a_dinosaur_face" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<h3>Creating a flat illustration</h3>
<p>Now, using a more elaborated prompt to create a flat illustration, the result was not bad although it took a few iterations to get something that I was satisfied with. Still, the right arm looks like a bit strange to me.</p>
<p><strong>Prompt:</strong> Discover the world of scientific exploration with this flat illustration featuring a chemist wearing glasses, with a smile and happy eyes, diligently working in a research laboratory. Engaged in experiments, she skillfully handles a [object that is used]. This minimalist UI illustration, perfect for GUI applications, boasts a clean white background and a bright color scheme that highlights the focus and determination of the scientist. Immerse yourself in the pursuit of knowledge and celebrate the passion for discovery in this vibrant and engaging visual representation.–ar 1:1 –v 5 –s 100</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-21" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png" alt="chemist_in_laboratory_flat_illustration" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p> </p>
<h3>The fun side of AI</h3>
<p>So far, I have found being able to communicate with AI fascinating. It can be exciting when you manage to create a prompt that returns what you expected or frustrating when you get just the opposite and even funny when you look at some of the results based on not good enough prompts or the AI not quite understanding what you meant in your prompt (as you may note looking at the image below!).</p>
<p><strong>Prompt</strong>: funny t-rex dinosaur, working as it support with headphones sitting in a chair in front of a computer, cartoon style, happy face, with scottish kilt ,v 5.1 –style raw –</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-20" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png" alt="funny_t_rex_dinosaur_with_a_happy_face_wearing_scottish_kilt" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p>Like many radical innovations, the fear is for a potentially good tool to end up being used in a harmful way. It feels like a tsunami and either you sink or you ride the wave. I believe that, a good starting point, is to have a better understanding of its advantages and limitations, so that we can work towards and ethical and safe use of AI.</p>
<h3>Thoughts about AI and Midjourney</h3>
<p>Some quick thoughts based on my initial experience (note that I am not an AI expert or a designer)</p>
<p><strong>Pros</strong></p>
<ul>
<li>You can create almost anything that you can conceive in your mind</li>
<li>It enhances your creativity by exposing you to creative options you may have not considered</li>
<li>It can speed up the creative process using AI as a starting point and then adding manual input to create the final artwork.</li>
<li>It can be used as inspiration, as creative prompts.</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>Achieving a perfect image out of a prompt is not always possible, it requires iteration and often some final human touch.</li>
<li>Complexity of copyright ownership/infringement (in theory, there is no copyright in the “raw” outcome as there is no creative human input unless it is modified, there are risks based on regulations in different countries, changes in terms of service, existing images…)</li>
<li>Current controversy with copyright (it is worth reading <a href="http://docs.midjourney.com/hc/en-us/articles/32083055291277-Terms-of-Service" class="broken_link">Midjourney Terms of Service </a> and to check or seek advice depending on the intended usage of the images, especially for commercial use)</li>
<li>Devaluation of manually created artwork</li>
</ul>
<p><strong>Opportunities</strong></p>
<ul>
<li>Learning how to communicate to AI and train it to help us</li>
<li>A powerful additional brain that can be used for good</li>
</ul>
<p><strong>Challenges</strong></p>
<ul>
<li>Data usage</li>
<li>Data waste as a result of the crazy amount of both good and awful content being generated.</li>
<li>Concerns about Midjourney stealing work .</li>
<li>Ensuring that we are able to establish ethical boundaries so that we do not end up fighting against Skynet like in Terminator!</li>
</ul>
<p><strong>Lessons learnt</strong></p>
<ul>
<li>Talking to AI is not so different than talking to humans (bear with me…). If you want AI or a human to understand you, you need to communicate the right way. Also, even if you use the right words, AI may not get what you ask for!</li>
<li>There is a learning curve, it can be frustrating and also good fun.</li>
<li>To achieve the best results,  i would say that, at least at the moment, human input is required to edit what AI presents.</li>
<li>The key to create successful prompts is to use a positive language!  If I want a “clear background”, the trick is adding “clear background” in the prompt rather than requesting “no dark background”. In essence, anything we may not want in the image, has to be changed into a positive keyword for Midjourney to better understand what we want.</li>
<li>It requires a good conversation regarding copyrights and commercial use of creative work produced in collaboration with AI tools.</li>
</ul>
<p><strong>Final thoughts</strong></p>
<ul>
<li>Although this AI tool is pretty amazing from a creative perspective, I have found that it can be time consuming to design or adapt certain prompts (hence the rise of prompt designers). Therefore, I may have spent more time trying to achieve a decent image with the prompts than finding a good enough image through the image bank or image library. It is also likely that a prompt designer may be able to achieve better results in less time.</li>
<li>With the right knowledge and experience, it allows creating fascinating art and creative assets that otherwise, unless being an artist or a creative, may be near impossible to achieve.</li>
<li>It can be a complementary tool to create certain digital assets that may be difficult to find and may be used as a first draft before editing the image through human input.</li>
<li>There are some Midjourney users creating fascinating pieces of work however I don’t feel it is a tool that anyone can use to create a great creative asset in five minutes. Even knowing about prompt design, it seems that it requires some good skills to achieve really good outcomes.</li>
</ul>
<p> </p>
<p>If you feel like giving it a try you will need a Discord and Midjourney account. There are several good tutorials online in case you may want to give it a go.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(28055) "HTTP/1.1 200 OK
Content-Type: application/rss+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Date: Sat, 16 May 2026 20:03:35 GMT
Server: Apache
X-Powered-By: PHP/8.3.30
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Link: <https://blogs.ed.ac.uk/edtechunchained/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/edtechunchained/wp-json/wp/v2/tags/3>; rel="alternate"; title="JSON"; type="application/json"
Set-Cookie: spo_10112_fa=835dd0b2695588e851ef477a8aa831a7; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/edtechunchained/; Secure; HttpOnly
Last-Modified: Fri, 24 Apr 2026 08:47:05 GMT
ETag: "8ec008d5bde259dd134ea2a25d69cb8f"
Vary: Accept-Encoding

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dlam-feed – EdTech Unchained</title>
	<atom:link href="https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.ed.ac.uk/edtechunchained</link>
	<description>Making sense of EdTech in uncertain times</description>
	<lastBuildDate>Fri, 24 Apr 2026 08:47:05 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Lessons from the Aspiring Manager Programme: Beyond Managing</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 13:18:11 +0000</pubDate>
				<category><![CDATA[CPD]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=80</guid>

					<description><![CDATA[As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core […]]]></description>
										<content:encoded><![CDATA[<p>As part of my career development I started  the Aspiring Manager Programme this past January with support from my line manager. The programme provides a framework to develop core management skills and behaviours to set aspiring managers up for success in future management roles. This post is a reflection of the programme following the core workshops.</p>
<h2>The Aspiring Manager Programme</h2>
<p>It runs 2 cohort intakes per academic year beginning in October and January and requires a nominating manager to support your application (usually your line manager). If interested, you can find further details through the <a href="https://human-resources.ed.ac.uk/learning-development/leadership-programmes/aspiring-manager">Aspiring Manager Programme dedicated web page.</a></p>
<p>The first phase of the programme involves attending an onboarding session, starting working on weekly prompts and attending the first of two main workshops. The weekly prompts feel like school home work but I have to admit that they are helpful to reflect on key topics about becoming a manager and successfully supporting a team.</p>
<p>During Workshop 1 we explored our motivations and management styles whereas Workshop 2 was dedicated to team development, constructive feedback and managing challenging conversations through real-world scenarios and role-playing activities. Not being a big fan of group activities I found them more interesting than I initially envisaged. The break up rooms had the right timing and length to avoid making them boring or annoying.</p>
<h2>Workshops Reflection: What is important as a good manager</h2>
<p>While reflecting about our management styles and what we consider important as a manager, some of the most cited ingredients were the ability to empower and support , fairness,  creating a safe environment, clear communication and leading by example. The latter was clearly something important for most if not all the participants as future managers-leaders.</p>
<p>Workshop 2 addressed these core “ingredients” and was actually really good. One of the concepts that I liked as it matches my personal views about how I like to work although I did not know it had a name is “Psychological Safety”, a concept developed by Harvard professor Amy Edmondson. It refers to creating an open, safe and trusting environment for the staff, where they are allowed to speak up,  admit mistakes, ask questions, and propose new ideas without fear of punishment or humiliation. The other element that I found of great importance is communication, not only to provide clear instructions but also when it comes down to having difficult conversations, coaching or supporting a team member. No matter how much you may know, it is never that easy, requiring constant practice to keep honing these skills. I think that getting this right is probably one of the most challenging parts of being a good manager and building high-performance teams.</p>
<p>On the other hand, while reflecting on the concept of leading by example, my attention was drawn to Japan as it has some of the most impressive examples of great leadership and leading by example, in particular, in the face of adversity. Some well known examples during periods of financial downturn are Nintendo´s President who chose to halve his salary to avoid laying off employees and preserve talent for future success and Japan Airlines CEO Haruka Nishimatsu who slashed his own salary and gave up executive perks during 2007 and 2009 while the airline faced severe changes to recover from financial debt. He famously stated that if a leader doesn’t share the pain, they cannot expect the followers to endure it which sets a quite high benchmark for leadership solidarity. I would say this is key as a leader and/or manager to avoid an organizational disconnect that may likely impact performance and long term results.</p>
<h2>Final Thoughts</h2>
<p>We are used to think about management or being a manager as being responsible for the operational activity of the team, work planning, setting priorities, dealing with a wide range of issues, supporting team members and dealing with People & Money for multiple administrative tasks (which may likely include screaming time to time). <span style="font-size: 1rem;">At some point during the activities, I defined a team as a living organism, where every member has its particularities, and hence requiring constant adjustment or fine tuning aka management from a manager in order to achieve a suitable balance. Like a garden with different plants, each one displaying different qualities, requiring different nutrients, water intake and sun in order to thrive. </span>Through the different conversations with other participants and my peer group, it unfolds that,  as a manager you manage tasks, but you also lead people and the best way to lead is by showing (leading by example).  It turns out that one of the most important things a manager can do isn’t “managing” at all—it’s leading by example, otherwise, none of the other elements involving being a manager may have the expected results.</p>
<p>As we progress into the final part of this adventure, it is time to reflect about the most important lessons I have learned as this is that last activity for us before being able to complete the course.</p>
<p>If you are considering joining the programme, go for it. I get bored quite easily and thought it may be just another boring set of activities and now I have to admit that it is actually a really good experience plus the facilitator is brilliant so I strongly recommend it.</p>
<p>What does good management look like to you?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/lessons-from-aspiring-manager-programme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to survive and pass the ITIL 4 Foundation exam</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 11:31:48 +0000</pubDate>
				<category><![CDATA[ITIL]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/?p=40</guid>

					<description><![CDATA[I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam. This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner […]]]></description>
										<content:encoded><![CDATA[<p>I recently attended the ITIL 4 Foundation training course organised by ISG and successfully passed the exam. Here’s some thoughts about my experience and some tips that I learned while studying for the exam.</p>
<p>This is a 3 days in-person course that prepares attendees for the ITIL exam. It was delivered by a training partner of Axelos who managed to turn a usually dry content into a set of engaging sessions with the help of timely coffee breaks.</p>
<p>As part of my role in DLAM, we currently implement ITIL practices and I was eager to learn more about ITIL so that I could better support the different services using best practices.</p>
<h4>My experience in 30 seconds</h4>
<p>I found the course really useful to have a better understanding of ITIL framework and key concepts. ITIL also helps to understand why UniDesk works the way it does here at the University. Another positive from the course was to meet and interact with other staff involved in ITIL practices.</p>
<p>The main downside is that by the end of each day everyone’s brain is saturated with information and no matter how much I like processes and workflows…it is a lot of to take in. On the other hand, the quizzes and mock exams that are introduced throughout the training sessions are really good to review, reflect on the concepts and refresh the brain.</p>
<h4>Main Tips and Takeaways</h4>
<p><strong>Before the course</strong></p>
<ul>
<li>Consider checking some ITIL courses available on Linkedin Learning to get a grasp of the basic concepts if you are not familiar with the ITIL framework.</li>
<li>Consider buying a revision guide. I bought the ITIL Foundation Essentials by Claire Agutter (there are different guides so check and decide which one you like it better) and found it very useful before the course and specially once completed to easily review the concepts (ie on the bus) instead of login into the course content platform.</li>
</ul>
<p><strong>During the course</strong></p>
<ul>
<li>Ask questions</li>
<li>Add notes (the course platform allows to easily add notes)</li>
<li>Get proper sleep (if possible)</li>
<li>Bring your own coffee in the morning in case catering is delayed</li>
<li>Bring layers as you never know how cold or warm you may feel the room</li>
</ul>
<p><strong> </strong><strong>After the course (Exam prep)</strong></p>
<ul>
<li>Learn the terminology. There are multiple questions in the exam about key concepts definitions.</li>
<li>Understand the relationships between ITIL concepts.</li>
<li>Review the Mock Exams (you can find additional mock exams online) and practice until you are able to consistently achieve the desired mark.</li>
</ul>
<p><strong>Tips for the online exam</strong></p>
<p>The ITIL® Foundation exam consists of 40 multiple-choice questions that must be completed within 60 minutes.</p>
<p>The online exam is an online proctored exam. It felt weird having someone “overseeing” you but without actually seeing them. However, once I started the exam I was fully focused on the questions and this was not an issue.</p>
<ul>
<li>Make sure that you take the exam in a suitable room (ie: the room should only have one door and your camera needs to show that door, my understanding is that if you have two doors, they have to be in view)</li>
<li>Wherever you are taking the exam, ensure no one open the doors while you take the exam</li>
<li>You will need to keep a clean desk and cover any extra monitors (you need to show it with your webcam)</li>
<li>The proctor will gently review that all the requirements are met for the room, reading the requirements feels worst than it its (ie: I had to cover my two monitors while using just the laptop to take the exam)</li>
<li>Read carefully the questions, don’t rush.</li>
<li>If you get stuck on a test question, move on and come back later</li>
<li>Keep an eye on the clock however, I can assure you that you will have plenty of time.</li>
<li>Learn the key definitions and watch out for certain keywords (this would help you connect the wording to the right concept)</li>
<li>Book your exam (important thing to remember!)</li>
</ul>
<h4>Conclusion</h4>
<p>Do I recommend the course if you are interested in ITIL, IT or Service Management? Yes!</p>
<p>I took the exam on Monday after completing the course the previous Friday.</p>
<p>We were advised to let the content sink during the weekend and schedule the exam from Sunday on wards and not more than 1 week after completing the course so that we still have the concepts fresh in the mind. I practiced the mock exams a few times until being consistent at getting at least 30 out of 40 and…I got more than 30 in the exam <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/itil-foundation-exam-tips/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI, Instructional Design and Midjourney</title>
		<link>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/</link>
					<comments>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/#respond</comments>
		
		<dc:creator><![CDATA[JGblog]]></dc:creator>
		<pubDate>Fri, 12 Apr 2024 15:06:38 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[dlam]]></category>
		<category><![CDATA[dlam-feed]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/</guid>

					<description><![CDATA[One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know. I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the […]]]></description>
										<content:encoded><![CDATA[<p>One of the tools that got my attention a while ago is Midjourney as a result of noticing astonishing images made by an artist I know.</p>
<p>I only started using it recently and I have been surprised by the potential it has and at the same time it has forced me to think about the pros and cons of AI.</p>
<p>It is described by its creators as by its creators as “text-to-image AI where your imagination is the only limit”. One of the things I was curious about is the possibility to use Midjourney to create specific images that could be use in online courses or as feature images in posts as I sometimes struggle to find the right image.</p>
<p>I got myself a basic account to do some tests and I have selected some of the Midjourney generated images below to illustrate this post and the featured image.</p>
<p>As an instructional designer, part of the job may involve creating or editing certain creative assets. Most of the Authoring eLearning tools would nowadays provide access to a library of images, yet sometimes you may need something very specific. Same applies for blogs, there are a good number of bank photos but you may not always find what you want or you may spend too much time scrolling through a content library.</p>
<h3>Creating an image for an online course</h3>
<p>Let’s say that I need an angry dinosaur having a discussion to illustrate a conflict management slide for a course…</p>
<p><strong>Prompt:</strong> angry customer with a dinosaur face discussing with a customer assistant, v 5.1 –style raw</p>
<p>If you look at the woman’s character, do you notice some strange things? The pen seems to be floating, the elbow and the hand are a bit odd.</p>
<p>And…the dinosaur body is…well…interesting.</p>
<p>This was the first attempt at this prompt which shows some of the AI limitations at the moment. Usually, by iteration and clarifying the instructions within the prompt, the image can get closer to the idea I had in mind although there is a high chance that it may still require some manual editing. On the positive side, if there is no similar image via the image bank, this can be very helpful.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-10" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png" alt="angry_customer_with_a_dinosaur_face" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_angry_customer_with_a_dinosaur_face_discussing_with__693c87f4-6ee4-4d49-8993-22e400cf358d_0.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<h3>Creating a flat illustration</h3>
<p>Now, using a more elaborated prompt to create a flat illustration, the result was not bad although it took a few iterations to get something that I was satisfied with. Still, the right arm looks like a bit strange to me.</p>
<p><strong>Prompt:</strong> Discover the world of scientific exploration with this flat illustration featuring a chemist wearing glasses, with a smile and happy eyes, diligently working in a research laboratory. Engaged in experiments, she skillfully handles a [object that is used]. This minimalist UI illustration, perfect for GUI applications, boasts a clean white background and a bright color scheme that highlights the focus and determination of the scientist. Immerse yourself in the pursuit of knowledge and celebrate the passion for discovery in this vibrant and engaging visual representation.–ar 1:1 –v 5 –s 100</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-21" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png" alt="chemist_in_laboratory_flat_illustration" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_Discover_the_world_of_scientific_exploration_with_th_3e40d1d4-b449-436c-ac7a-a03fc5b90a92_2.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p> </p>
<h3>The fun side of AI</h3>
<p>So far, I have found being able to communicate with AI fascinating. It can be exciting when you manage to create a prompt that returns what you expected or frustrating when you get just the opposite and even funny when you look at some of the results based on not good enough prompts or the AI not quite understanding what you meant in your prompt (as you may note looking at the image below!).</p>
<p><strong>Prompt</strong>: funny t-rex dinosaur, working as it support with headphones sitting in a chair in front of a computer, cartoon style, happy face, with scottish kilt ,v 5.1 –style raw –</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-20" src="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png" alt="funny_t_rex_dinosaur_with_a_happy_face_wearing_scottish_kilt" width="300" height="300" srcset="https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-300x300.png 300w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-150x150.png 150w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3-768x768.png 768w, https://blogs.ed.ac.uk/edtechunchained/wp-content/uploads/sites/10112/2024/04/josmedia_funny_t_rex_dinosaur_with_a_happy_face_wearing_a_sco_7a10e2a8-157e-4fdb-a78a-fa28ac0cb4a0_3.png 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p><span style="font-size: 10pt;">Created with Midjourney</span></p>
<p>Like many radical innovations, the fear is for a potentially good tool to end up being used in a harmful way. It feels like a tsunami and either you sink or you ride the wave. I believe that, a good starting point, is to have a better understanding of its advantages and limitations, so that we can work towards and ethical and safe use of AI.</p>
<h3>Thoughts about AI and Midjourney</h3>
<p>Some quick thoughts based on my initial experience (note that I am not an AI expert or a designer)</p>
<p><strong>Pros</strong></p>
<ul>
<li>You can create almost anything that you can conceive in your mind</li>
<li>It enhances your creativity by exposing you to creative options you may have not considered</li>
<li>It can speed up the creative process using AI as a starting point and then adding manual input to create the final artwork.</li>
<li>It can be used as inspiration, as creative prompts.</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>Achieving a perfect image out of a prompt is not always possible, it requires iteration and often some final human touch.</li>
<li>Complexity of copyright ownership/infringement (in theory, there is no copyright in the “raw” outcome as there is no creative human input unless it is modified, there are risks based on regulations in different countries, changes in terms of service, existing images…)</li>
<li>Current controversy with copyright (it is worth reading <a href="http://docs.midjourney.com/hc/en-us/articles/32083055291277-Terms-of-Service" class="broken_link">Midjourney Terms of Service </a> and to check or seek advice depending on the intended usage of the images, especially for commercial use)</li>
<li>Devaluation of manually created artwork</li>
</ul>
<p><strong>Opportunities</strong></p>
<ul>
<li>Learning how to communicate to AI and train it to help us</li>
<li>A powerful additional brain that can be used for good</li>
</ul>
<p><strong>Challenges</strong></p>
<ul>
<li>Data usage</li>
<li>Data waste as a result of the crazy amount of both good and awful content being generated.</li>
<li>Concerns about Midjourney stealing work .</li>
<li>Ensuring that we are able to establish ethical boundaries so that we do not end up fighting against Skynet like in Terminator!</li>
</ul>
<p><strong>Lessons learnt</strong></p>
<ul>
<li>Talking to AI is not so different than talking to humans (bear with me…). If you want AI or a human to understand you, you need to communicate the right way. Also, even if you use the right words, AI may not get what you ask for!</li>
<li>There is a learning curve, it can be frustrating and also good fun.</li>
<li>To achieve the best results,  i would say that, at least at the moment, human input is required to edit what AI presents.</li>
<li>The key to create successful prompts is to use a positive language!  If I want a “clear background”, the trick is adding “clear background” in the prompt rather than requesting “no dark background”. In essence, anything we may not want in the image, has to be changed into a positive keyword for Midjourney to better understand what we want.</li>
<li>It requires a good conversation regarding copyrights and commercial use of creative work produced in collaboration with AI tools.</li>
</ul>
<p><strong>Final thoughts</strong></p>
<ul>
<li>Although this AI tool is pretty amazing from a creative perspective, I have found that it can be time consuming to design or adapt certain prompts (hence the rise of prompt designers). Therefore, I may have spent more time trying to achieve a decent image with the prompts than finding a good enough image through the image bank or image library. It is also likely that a prompt designer may be able to achieve better results in less time.</li>
<li>With the right knowledge and experience, it allows creating fascinating art and creative assets that otherwise, unless being an artist or a creative, may be near impossible to achieve.</li>
<li>It can be a complementary tool to create certain digital assets that may be difficult to find and may be used as a first draft before editing the image through human input.</li>
<li>There are some Midjourney users creating fascinating pieces of work however I don’t feel it is a tool that anyone can use to create a great creative asset in five minutes. Even knowing about prompt design, it seems that it requires some good skills to achieve really good outcomes.</li>
</ul>
<p> </p>
<p>If you feel like giving it a try you will need a Discord and Midjourney account. There are several good tutorials online in case you may want to give it a go.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.ed.ac.uk/edtechunchained/ai-instructional-design-midjourney/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#2514 (1) {
        ["data":protected]=>
        array(12) {
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Sat, 16 May 2026 20:03:35 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.30"
          }
          ["expires"]=>
          array(1) {
            [0]=>
            string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
          }
          ["cache-control"]=>
          array(1) {
            [0]=>
            string(35) "no-store, no-cache, must-revalidate"
          }
          ["pragma"]=>
          array(1) {
            [0]=>
            string(8) "no-cache"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(194) "<https://blogs.ed.ac.uk/edtechunchained/wp-json/>; rel="https://api.w.org/", <https://blogs.ed.ac.uk/edtechunchained/wp-json/wp/v2/tags/3>; rel="alternate"; title="JSON"; type="application/json""
          }
          ["set-cookie"]=>
          array(1) {
            [0]=>
            string(140) "spo_10112_fa=835dd0b2695588e851ef477a8aa831a7; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/edtechunchained/; Secure; HttpOnly"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Fri, 24 Apr 2026 08:47:05 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""8ec008d5bde259dd134ea2a25d69cb8f""
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(15) "Accept-Encoding"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(1)
      ["url"]=>
      string(58) "https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/"
      ["history"]=>
      array(1) {
        [0]=>
        object(WpOrg\Requests\Response)#2504 (10) {
          ["body"]=>
          string(0) ""
          ["raw"]=>
          string(864) "HTTP/1.1 301 Moved Permanently
Content-Type: application/rss+xml; charset=UTF-8
Content-Length: 0
Connection: close
Date: Sat, 16 May 2026 20:03:35 GMT
Server: Apache
X-Powered-By: PHP/8.3.30
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Redirect-By: WordPress
Set-Cookie: PHPSESSID=vms824r5a1t1slhfkgg5708opi; path=/; secure; HttpOnly
Set-Cookie: spo_10112_fa=835dd0b2695588e851ef477a8aa831a7; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/edtechunchained/; Secure; HttpOnly
Last-Modified: Fri, 24 Apr 2026 08:47:05 GMT
ETag: "8ec008d5bde259dd134ea2a25d69cb8f"
Location: https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/
Set-Cookie: RCKBMHKB=027ff8be59-56fd-48TNJV7hMimUd2Sdle7jY5iOa40Gxo_T5U-XQHN_0htciESRn0V4lUez90d-zYn784nTM; path=/; SameSite=None; Secure

"
          ["headers"]=>
          object(WpOrg\Requests\Response\Headers)#2505 (1) {
            ["data":protected]=>
            array(13) {
              ["content-type"]=>
              array(1) {
                [0]=>
                string(34) "application/rss+xml; charset=UTF-8"
              }
              ["content-length"]=>
              array(1) {
                [0]=>
                string(1) "0"
              }
              ["date"]=>
              array(1) {
                [0]=>
                string(29) "Sat, 16 May 2026 20:03:35 GMT"
              }
              ["server"]=>
              array(1) {
                [0]=>
                string(6) "Apache"
              }
              ["x-powered-by"]=>
              array(1) {
                [0]=>
                string(10) "PHP/8.3.30"
              }
              ["expires"]=>
              array(1) {
                [0]=>
                string(29) "Thu, 19 Nov 1981 08:52:00 GMT"
              }
              ["cache-control"]=>
              array(1) {
                [0]=>
                string(35) "no-store, no-cache, must-revalidate"
              }
              ["pragma"]=>
              array(1) {
                [0]=>
                string(8) "no-cache"
              }
              ["x-redirect-by"]=>
              array(1) {
                [0]=>
                string(9) "WordPress"
              }
              ["set-cookie"]=>
              array(3) {
                [0]=>
                string(62) "PHPSESSID=vms824r5a1t1slhfkgg5708opi; path=/; secure; HttpOnly"
                [1]=>
                string(140) "spo_10112_fa=835dd0b2695588e851ef477a8aa831a7; expires=Sat, 16 May 2026 20:33:35 GMT; Max-Age=1800; path=/edtechunchained/; Secure; HttpOnly"
                [2]=>
                string(125) "RCKBMHKB=027ff8be59-56fd-48TNJV7hMimUd2Sdle7jY5iOa40Gxo_T5U-XQHN_0htciESRn0V4lUez90d-zYn784nTM; path=/; SameSite=None; Secure"
              }
              ["last-modified"]=>
              array(1) {
                [0]=>
                string(29) "Fri, 24 Apr 2026 08:47:05 GMT"
              }
              ["etag"]=>
              array(1) {
                [0]=>
                string(34) ""8ec008d5bde259dd134ea2a25d69cb8f""
              }
              ["location"]=>
              array(1) {
                [0]=>
                string(58) "https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/feed/"
              }
            }
          }
          ["status_code"]=>
          int(301)
          ["protocol_version"]=>
          float(1.1)
          ["success"]=>
          bool(false)
          ["redirects"]=>
          int(0)
          ["url"]=>
          string(57) "https://blogs.ed.ac.uk/edtechunchained/tag/dlam-feed/rss/"
          ["history"]=>
          array(0) {
          }
          ["cookies"]=>
          object(WpOrg\Requests\Cookie\Jar)#2501 (1) {
            ["cookies":protected]=>
            array(3) {
              ["PHPSESSID"]=>
              object(WpOrg\Requests\Cookie)#2509 (5) {
                ["name"]=>
                string(9) "PHPSESSID"
                ["value"]=>
                string(26) "vms824r5a1t1slhfkgg5708opi"
                ["attributes"]=>
                object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2508 (1) {
                  ["data":protected]=>
                  array(4) {
                    ["path"]=>
                    string(1) "/"
                    ["secure"]=>
                    bool(true)
                    ["httponly"]=>
                    bool(true)
                    ["domain"]=>
                    string(14) "blogs.ed.ac.uk"
                  }
                }
                ["flags"]=>
                array(4) {
                  ["creation"]=>
                  int(1778961815)
                  ["last-access"]=>
                  int(1778961815)
                  ["persistent"]=>
                  bool(false)
                  ["host-only"]=>
                  bool(true)
                }
                ["reference_time"]=>
                int(1778961815)
              }
              ["spo_10112_fa"]=>
              object(WpOrg\Requests\Cookie)#2510 (5) {
                ["name"]=>
                string(12) "spo_10112_fa"
                ["value"]=>
                string(32) "835dd0b2695588e851ef477a8aa831a7"
                ["attributes"]=>
                object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2516 (1) {
                  ["data":protected]=>
                  array(6) {
                    ["expires"]=>
                    int(1778963615)
                    ["max-age"]=>
                    int(1778963615)
                    ["path"]=>
                    string(17) "/edtechunchained/"
                    ["secure"]=>
                    bool(true)
                    ["httponly"]=>
                    bool(true)
                    ["domain"]=>
                    string(14) "blogs.ed.ac.uk"
                  }
                }
                ["flags"]=>
                array(4) {
                  ["creation"]=>
                  int(1778961815)
                  ["last-access"]=>
                  int(1778961815)
                  ["persistent"]=>
                  bool(false)
                  ["host-only"]=>
                  bool(true)
                }
                ["reference_time"]=>
                int(1778961815)
              }
              ["RCKBMHKB"]=>
              object(WpOrg\Requests\Cookie)#2512 (5) {
                ["name"]=>
                string(8) "RCKBMHKB"
                ["value"]=>
                string(85) "027ff8be59-56fd-48TNJV7hMimUd2Sdle7jY5iOa40Gxo_T5U-XQHN_0htciESRn0V4lUez90d-zYn784nTM"
                ["attributes"]=>
                object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2513 (1) {
                  ["data":protected]=>
                  array(4) {
                    ["path"]=>
                    string(1) "/"
                    ["samesite"]=>
                    string(4) "None"
                    ["secure"]=>
                    bool(true)
                    ["domain"]=>
                    string(14) "blogs.ed.ac.uk"
                  }
                }
                ["flags"]=>
                array(4) {
                  ["creation"]=>
                  int(1778961815)
                  ["last-access"]=>
                  int(1778961815)
                  ["persistent"]=>
                  bool(false)
                  ["host-only"]=>
                  bool(true)
                }
                ["reference_time"]=>
                int(1778961815)
              }
            }
          }
        }
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2501 (1) {
        ["cookies":protected]=>
        array(3) {
          ["PHPSESSID"]=>
          object(WpOrg\Requests\Cookie)#2509 (5) {
            ["name"]=>
            string(9) "PHPSESSID"
            ["value"]=>
            string(26) "vms824r5a1t1slhfkgg5708opi"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2508 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
          ["spo_10112_fa"]=>
          object(WpOrg\Requests\Cookie)#2510 (5) {
            ["name"]=>
            string(12) "spo_10112_fa"
            ["value"]=>
            string(32) "835dd0b2695588e851ef477a8aa831a7"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2516 (1) {
              ["data":protected]=>
              array(6) {
                ["expires"]=>
                int(1778963615)
                ["max-age"]=>
                int(1778963615)
                ["path"]=>
                string(17) "/edtechunchained/"
                ["secure"]=>
                bool(true)
                ["httponly"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
          ["RCKBMHKB"]=>
          object(WpOrg\Requests\Cookie)#2512 (5) {
            ["name"]=>
            string(8) "RCKBMHKB"
            ["value"]=>
            string(85) "027ff8be59-56fd-48TNJV7hMimUd2Sdle7jY5iOa40Gxo_T5U-XQHN_0htciESRn0V4lUez90d-zYn784nTM"
            ["attributes"]=>
            object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2513 (1) {
              ["data":protected]=>
              array(4) {
                ["path"]=>
                string(1) "/"
                ["samesite"]=>
                string(4) "None"
                ["secure"]=>
                bool(true)
                ["domain"]=>
                string(14) "blogs.ed.ac.uk"
              }
            }
            ["flags"]=>
            array(4) {
              ["creation"]=>
              int(1778961815)
              ["last-access"]=>
              int(1778961815)
              ["persistent"]=>
              bool(false)
              ["host-only"]=>
              bool(true)
            }
            ["reference_time"]=>
            int(1778961815)
          }
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/edtechunchained/?p=80] "Lessons from the Aspiring Manager Programme: Beyond Managing"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/edtechunchained/?p=80'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/edtechunchained/?p=80] "Lessons from the Aspiring Manager Programme: Beyond Managing" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/edtechunchained/?p=40] "How to survive and pass the ITIL 4 Foundation exam"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/edtechunchained/?p=40'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/edtechunchained/?p=40] "How to survive and pass the ITIL 4 Foundation exam" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/] "AI, Instructional Design and Midjourney"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/edtechunchained/2024/04/12/welcome/] "AI, Instructional Design and Midjourney" is a duplicate of an existing post.
Diag| Polling feed [https://interactive-content.is.ed.ac.uk/feed/]
Diag====| HTTP [https://interactive-content.is.ed.ac.uk/feed/] ⌈ array(7) {
  ["timeout"]=>
  int(20)
  ["redirection"]=>
  int(5)
  ["headers"]=>
  array(1) {
    ["Accept"]=>
    string(185) "application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1"
  }
  ["user-agent"]=>
  string(162) "FeedWordPress/2024.1119 (aggregator:feedwordpress; WordPress/6.8.5 + SimplePie/1.8.0; Allow like Gecko; +http://feedwordpress.radgeek.com/) at blogs.ed.ac.uk/dlam"
  ["authentication"]=>
  NULL
  ["username"]=>
  string(0) ""
  ["password"]=>
  string(0) ""
}
Diag====| HTTP [https://interactive-content.is.ed.ac.uk/feed/] ⌉ array(6) {
  ["headers"]=>
  object(WpOrg\Requests\Utility\CaseInsensitiveDictionary)#2548 (1) {
    ["data":protected]=>
    array(9) {
      ["date"]=>
      string(29) "Sat, 16 May 2026 20:03:35 GMT"
      ["server"]=>
      string(6) "Apache"
      ["x-powered-by"]=>
      string(10) "PHP/8.3.30"
      ["vary"]=>
      string(19) "accept,content-type"
      ["link"]=>
      string(76) "<https://interactive-content.is.ed.ac.uk/wp-json/>; rel="https://api.w.org/""
      ["upgrade"]=>
      string(6) "h2,h2c"
      ["last-modified"]=>
      string(29) "Wed, 29 Apr 2026 08:37:46 GMT"
      ["etag"]=>
      string(34) ""c4f9e5b0d0f55012ee9c046e04ce9efc""
      ["content-type"]=>
      string(34) "application/rss+xml; charset=UTF-8"
    }
  }
  ["body"]=>
  string(15257) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Interactive Content</title>
	<atom:link href="https://interactive-content.is.ed.ac.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://interactive-content.is.ed.ac.uk</link>
	<description>Team Blog</description>
	<lastBuildDate>Wed, 29 Apr 2026 08:37:46 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/interactive-content.is.ed.ac.uk/wp-content/uploads/2017/10/cropped-avatar-roundel-bright-blue-72dpi.png?fit=32%2C32&ssl=1</url>
	<title>Interactive Content</title>
	<link>https://interactive-content.is.ed.ac.uk</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">137880713</site>	<item>
		<title>Being crafty with hand-drawn stick figures and open-sourced music</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/04/29/stick-figures/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 08:37:46 +0000</pubDate>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Business School]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Pixabay]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=24171</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>Changing the visual design mid-way in a video project is quite unusual, but pivoting to a softer animation style with stick figures proved successful for both the client and us.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8955</post-id>	</item>
		<item>
		<title>300 Faces</title>
		<link>https://stubot.me/300-faces/#utm_source=rss&utm_medium=rss&utm_campaign=300-faces</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 14:40:20 +0000</pubDate>
				<category><![CDATA[Edinburgh Medical School]]></category>
		<category><![CDATA[Edinburgh Science Festival]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[Sight Scotland]]></category>
		<category><![CDATA[diabetes]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3601</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes. </span></span>I was recently invited to the ‘300 Faces of Edinburgh Medical School’ launch event. Marking the 300th anniversary of the Faculty of Medicine at the University of Edinburgh, this exhibition celebrates the people who have made inspirational contributions to the school.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8048</post-id>	</item>
		<item>
		<title>Digital Accessibility Intern</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/02/24/digital-accessibility-intern-2/</link>
		
		<dc:creator><![CDATA[Stewart Cromar]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 16:06:03 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Unitemps]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=18828</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> < 1</span> <span class="rt-label rt-postfix">minute</span></span>If you are interested in helping users and people, we have an interesting summer internship for you which is about checking our services to make sure they are as accessible as they can be for all our users.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7795</post-id>	</item>
		<item>
		<title>Reflecting on a Drupal 7 to Drupal 10 Migration</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/12/08/drupal-migration/</link>
		
		<dc:creator><![CDATA[Charlie Chu]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 15:43:39 +0000</pubDate>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Drupal]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=12121</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>In 2023, I started work on migrating three Drupal 7 websites over to Drupal 10. All three sites used a custom sub-theme based on Bootstrap 3. Each site had its own purpose, but they needed to look and feel similar. The main reason for the migration was that Drupal 7 was reaching its end-of-life.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6968</post-id>	</item>
		<item>
		<title>Interactive Women in STEM tour</title>
		<link>https://stubot.me/stem-tour/?utm_source=rss&utm_medium=rss&utm_campaign=stem-tour</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 14:35:12 +0000</pubDate>
				<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[H5P]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3578</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025, Jackie, Magda and Stewart created the 'Interactive Women in STEM tour' game for everyone to play.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6030</post-id>	</item>
		<item>
		<title>Moira Dunbar</title>
		<link>https://stubot.me/moira-dunbar/?utm_source=rss&utm_medium=rss&utm_campaign=moira-dunbar</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 12:37:09 +0000</pubDate>
				<category><![CDATA[Ada Lovelace Day]]></category>
		<category><![CDATA[colouring book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Ada Lovelace]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3569</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025 I created a colouring-in illustration of Moira Dunbar (1918-1999), the pioneering Scottish-Canadian glaciologist and Arctic sea-ice researcher.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6016</post-id>	</item>
		<item>
		<title>Making an impact with ThingLink</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/08/18/making-an-impact-with-thinglink/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 07:19:54 +0000</pubDate>
				<category><![CDATA[EdWed]]></category>
		<category><![CDATA[infographic]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sustainability]]></category>
		<category><![CDATA[ThingLink]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[graphic design]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5614</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>The Interactive Content team used ThingLink to create interactive learning materials for two Careers Services projects: ‘Skills For Success Framework’ and ‘Riding the Wave’. They chose ThingLink for its ability to add interactivity to graphics and its ease of embedding into EdWeb. The team collaborated with the Graphics Design service to create engaging and accessible content using ThingLink’s scenes and tags features.]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5466</post-id>	</item>
		<item>
		<title>In Their Own Time</title>
		<link>https://stubot.me/in-their-own-time/?utm_source=rss&utm_medium=rss&utm_campaign=in-their-own-time</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 11 Aug 2025 13:33:50 +0000</pubDate>
				<category><![CDATA[academia]]></category>
		<category><![CDATA[academics]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[comic book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3519</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>Challenging conventional funding structures to include intersectionally underrepresented casualised academics. The Interactive Content team help launch a new digital comic resource.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5397</post-id>	</item>
		<item>
		<title>Educated Prompting: Coding Without Writing a Single Line</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/31/educated-prompting/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 14:49:56 +0000</pubDate>
				<category><![CDATA[Claude]]></category>
		<category><![CDATA[ELM]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[digital skills]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5490</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 9</span> <span class="rt-label rt-postfix">minutes</span></span>In my second month as the DLAM Digital Accessibility Intern, I've been contributing key accessibility and UX improvements to an open-source sheet music application. This blog describes how a GenAI workflow helped fast-track my understanding of Python coding, and allowed me to make impactful changes to an open-source project, through a process I call "Educated Prompting".]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5385</post-id>	</item>
		<item>
		<title>Diary of an Accessibility Intern (Weeks 1-4)</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/01/diary-of-an-accessibility-intern-weeks-1-4/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 10:44:52 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5208</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 18</span> <span class="rt-label rt-postfix">minutes</span></span>In this blog post, I write about what digital accessibility is, how we can make digital content more accessible, and why all of this matters in the first place. Also, this is a sort of diary of my first month as a Digital Accessibility Intern: what I have been up to, and my thoughts about various activities I have undertaken.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5134</post-id>	</item>
	</channel>
</rss>
"
  ["response"]=>
  array(2) {
    ["code"]=>
    int(200)
    ["message"]=>
    string(2) "OK"
  }
  ["cookies"]=>
  array(0) {
  }
  ["filename"]=>
  NULL
  ["http_response"]=>
  object(WP_HTTP_Requests_Response)#2547 (5) {
    ["data"]=>
    NULL
    ["headers"]=>
    NULL
    ["status"]=>
    NULL
    ["response":protected]=>
    object(WpOrg\Requests\Response)#2549 (10) {
      ["body"]=>
      string(15257) "<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Interactive Content</title>
	<atom:link href="https://interactive-content.is.ed.ac.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://interactive-content.is.ed.ac.uk</link>
	<description>Team Blog</description>
	<lastBuildDate>Wed, 29 Apr 2026 08:37:46 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/interactive-content.is.ed.ac.uk/wp-content/uploads/2017/10/cropped-avatar-roundel-bright-blue-72dpi.png?fit=32%2C32&ssl=1</url>
	<title>Interactive Content</title>
	<link>https://interactive-content.is.ed.ac.uk</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">137880713</site>	<item>
		<title>Being crafty with hand-drawn stick figures and open-sourced music</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/04/29/stick-figures/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 08:37:46 +0000</pubDate>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Business School]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Pixabay]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=24171</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>Changing the visual design mid-way in a video project is quite unusual, but pivoting to a softer animation style with stick figures proved successful for both the client and us.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8955</post-id>	</item>
		<item>
		<title>300 Faces</title>
		<link>https://stubot.me/300-faces/#utm_source=rss&utm_medium=rss&utm_campaign=300-faces</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 14:40:20 +0000</pubDate>
				<category><![CDATA[Edinburgh Medical School]]></category>
		<category><![CDATA[Edinburgh Science Festival]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[Sight Scotland]]></category>
		<category><![CDATA[diabetes]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3601</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes. </span></span>I was recently invited to the ‘300 Faces of Edinburgh Medical School’ launch event. Marking the 300th anniversary of the Faculty of Medicine at the University of Edinburgh, this exhibition celebrates the people who have made inspirational contributions to the school.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8048</post-id>	</item>
		<item>
		<title>Digital Accessibility Intern</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/02/24/digital-accessibility-intern-2/</link>
		
		<dc:creator><![CDATA[Stewart Cromar]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 16:06:03 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Unitemps]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=18828</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> < 1</span> <span class="rt-label rt-postfix">minute</span></span>If you are interested in helping users and people, we have an interesting summer internship for you which is about checking our services to make sure they are as accessible as they can be for all our users.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7795</post-id>	</item>
		<item>
		<title>Reflecting on a Drupal 7 to Drupal 10 Migration</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/12/08/drupal-migration/</link>
		
		<dc:creator><![CDATA[Charlie Chu]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 15:43:39 +0000</pubDate>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Drupal]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=12121</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>In 2023, I started work on migrating three Drupal 7 websites over to Drupal 10. All three sites used a custom sub-theme based on Bootstrap 3. Each site had its own purpose, but they needed to look and feel similar. The main reason for the migration was that Drupal 7 was reaching its end-of-life.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6968</post-id>	</item>
		<item>
		<title>Interactive Women in STEM tour</title>
		<link>https://stubot.me/stem-tour/?utm_source=rss&utm_medium=rss&utm_campaign=stem-tour</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 14:35:12 +0000</pubDate>
				<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[H5P]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3578</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025, Jackie, Magda and Stewart created the 'Interactive Women in STEM tour' game for everyone to play.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6030</post-id>	</item>
		<item>
		<title>Moira Dunbar</title>
		<link>https://stubot.me/moira-dunbar/?utm_source=rss&utm_medium=rss&utm_campaign=moira-dunbar</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 12:37:09 +0000</pubDate>
				<category><![CDATA[Ada Lovelace Day]]></category>
		<category><![CDATA[colouring book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Ada Lovelace]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3569</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025 I created a colouring-in illustration of Moira Dunbar (1918-1999), the pioneering Scottish-Canadian glaciologist and Arctic sea-ice researcher.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6016</post-id>	</item>
		<item>
		<title>Making an impact with ThingLink</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/08/18/making-an-impact-with-thinglink/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 07:19:54 +0000</pubDate>
				<category><![CDATA[EdWed]]></category>
		<category><![CDATA[infographic]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sustainability]]></category>
		<category><![CDATA[ThingLink]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[graphic design]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5614</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>The Interactive Content team used ThingLink to create interactive learning materials for two Careers Services projects: ‘Skills For Success Framework’ and ‘Riding the Wave’. They chose ThingLink for its ability to add interactivity to graphics and its ease of embedding into EdWeb. The team collaborated with the Graphics Design service to create engaging and accessible content using ThingLink’s scenes and tags features.]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5466</post-id>	</item>
		<item>
		<title>In Their Own Time</title>
		<link>https://stubot.me/in-their-own-time/?utm_source=rss&utm_medium=rss&utm_campaign=in-their-own-time</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 11 Aug 2025 13:33:50 +0000</pubDate>
				<category><![CDATA[academia]]></category>
		<category><![CDATA[academics]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[comic book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3519</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>Challenging conventional funding structures to include intersectionally underrepresented casualised academics. The Interactive Content team help launch a new digital comic resource.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5397</post-id>	</item>
		<item>
		<title>Educated Prompting: Coding Without Writing a Single Line</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/31/educated-prompting/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 14:49:56 +0000</pubDate>
				<category><![CDATA[Claude]]></category>
		<category><![CDATA[ELM]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[digital skills]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5490</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 9</span> <span class="rt-label rt-postfix">minutes</span></span>In my second month as the DLAM Digital Accessibility Intern, I've been contributing key accessibility and UX improvements to an open-source sheet music application. This blog describes how a GenAI workflow helped fast-track my understanding of Python coding, and allowed me to make impactful changes to an open-source project, through a process I call "Educated Prompting".]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5385</post-id>	</item>
		<item>
		<title>Diary of an Accessibility Intern (Weeks 1-4)</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/01/diary-of-an-accessibility-intern-weeks-1-4/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 10:44:52 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5208</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 18</span> <span class="rt-label rt-postfix">minutes</span></span>In this blog post, I write about what digital accessibility is, how we can make digital content more accessible, and why all of this matters in the first place. Also, this is a sort of diary of my first month as a Digital Accessibility Intern: what I have been up to, and my thoughts about various activities I have undertaken.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5134</post-id>	</item>
	</channel>
</rss>
"
      ["raw"]=>
      string(15677) "HTTP/1.1 200 OK
Date: Sat, 16 May 2026 20:03:35 GMT
Server: Apache
X-Powered-By: PHP/8.3.30
Vary: accept,content-type
Link: <https://interactive-content.is.ed.ac.uk/wp-json/>; rel="https://api.w.org/"
Upgrade: h2,h2c
Connection: Upgrade, close
Last-Modified: Wed, 29 Apr 2026 08:37:46 GMT
ETag: "c4f9e5b0d0f55012ee9c046e04ce9efc"
Transfer-Encoding: chunked
Content-Type: application/rss+xml; charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Interactive Content</title>
	<atom:link href="https://interactive-content.is.ed.ac.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://interactive-content.is.ed.ac.uk</link>
	<description>Team Blog</description>
	<lastBuildDate>Wed, 29 Apr 2026 08:37:46 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/interactive-content.is.ed.ac.uk/wp-content/uploads/2017/10/cropped-avatar-roundel-bright-blue-72dpi.png?fit=32%2C32&ssl=1</url>
	<title>Interactive Content</title>
	<link>https://interactive-content.is.ed.ac.uk</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">137880713</site>	<item>
		<title>Being crafty with hand-drawn stick figures and open-sourced music</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/04/29/stick-figures/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 08:37:46 +0000</pubDate>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Business School]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Pixabay]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=24171</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>Changing the visual design mid-way in a video project is quite unusual, but pivoting to a softer animation style with stick figures proved successful for both the client and us.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8955</post-id>	</item>
		<item>
		<title>300 Faces</title>
		<link>https://stubot.me/300-faces/#utm_source=rss&utm_medium=rss&utm_campaign=300-faces</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 14:40:20 +0000</pubDate>
				<category><![CDATA[Edinburgh Medical School]]></category>
		<category><![CDATA[Edinburgh Science Festival]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[LEGO]]></category>
		<category><![CDATA[Sight Scotland]]></category>
		<category><![CDATA[diabetes]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3601</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes. </span></span>I was recently invited to the ‘300 Faces of Edinburgh Medical School’ launch event. Marking the 300th anniversary of the Faculty of Medicine at the University of Edinburgh, this exhibition celebrates the people who have made inspirational contributions to the school.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8048</post-id>	</item>
		<item>
		<title>Digital Accessibility Intern</title>
		<link>https://blogs.ed.ac.uk/dlam/2026/02/24/digital-accessibility-intern-2/</link>
		
		<dc:creator><![CDATA[Stewart Cromar]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 16:06:03 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Unitemps]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=18828</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> < 1</span> <span class="rt-label rt-postfix">minute</span></span>If you are interested in helping users and people, we have an interesting summer internship for you which is about checking our services to make sure they are as accessible as they can be for all our users.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7795</post-id>	</item>
		<item>
		<title>Reflecting on a Drupal 7 to Drupal 10 Migration</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/12/08/drupal-migration/</link>
		
		<dc:creator><![CDATA[Charlie Chu]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 15:43:39 +0000</pubDate>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Drupal]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=12121</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">minutes</span></span>In 2023, I started work on migrating three Drupal 7 websites over to Drupal 10. All three sites used a custom sub-theme based on Bootstrap 3. Each site had its own purpose, but they needed to look and feel similar. The main reason for the migration was that Drupal 7 was reaching its end-of-life.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6968</post-id>	</item>
		<item>
		<title>Interactive Women in STEM tour</title>
		<link>https://stubot.me/stem-tour/?utm_source=rss&utm_medium=rss&utm_campaign=stem-tour</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 14:35:12 +0000</pubDate>
				<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[H5P]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3578</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025, Jackie, Magda and Stewart created the 'Interactive Women in STEM tour' game for everyone to play.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6030</post-id>	</item>
		<item>
		<title>Moira Dunbar</title>
		<link>https://stubot.me/moira-dunbar/?utm_source=rss&utm_medium=rss&utm_campaign=moira-dunbar</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 12:37:09 +0000</pubDate>
				<category><![CDATA[Ada Lovelace Day]]></category>
		<category><![CDATA[colouring book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[OER]]></category>
		<category><![CDATA[Women In STEM]]></category>
		<category><![CDATA[Ada Lovelace]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3569</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes</span></span><span class="span-reading-time rt-reading-time"><span class="rt-label rt-prefix">Estimated reading time: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">minutes. </span></span>For Ada Lovelace Day 2025 I created a colouring-in illustration of Moira Dunbar (1918-1999), the pioneering Scottish-Canadian glaciologist and Arctic sea-ice researcher.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6016</post-id>	</item>
		<item>
		<title>Making an impact with ThingLink</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/08/18/making-an-impact-with-thinglink/</link>
		
		<dc:creator><![CDATA[Jackie Aim]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 07:19:54 +0000</pubDate>
				<category><![CDATA[EdWed]]></category>
		<category><![CDATA[infographic]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sustainability]]></category>
		<category><![CDATA[ThingLink]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[graphic design]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5614</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>The Interactive Content team used ThingLink to create interactive learning materials for two Careers Services projects: ‘Skills For Success Framework’ and ‘Riding the Wave’. They chose ThingLink for its ability to add interactivity to graphics and its ease of embedding into EdWeb. The team collaborated with the Graphics Design service to create engaging and accessible content using ThingLink’s scenes and tags features.]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5466</post-id>	</item>
		<item>
		<title>In Their Own Time</title>
		<link>https://stubot.me/in-their-own-time/?utm_source=rss&utm_medium=rss&utm_campaign=in-their-own-time</link>
		
		<dc:creator><![CDATA[Stewart Lamb Cromar]]></dc:creator>
		<pubDate>Mon, 11 Aug 2025 13:33:50 +0000</pubDate>
				<category><![CDATA[academia]]></category>
		<category><![CDATA[academics]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[comic book]]></category>
		<category><![CDATA[illustration]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[University of Edinburgh]]></category>
		<guid isPermaLink="false">https://stubot.me/?p=3519</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 5</span> <span class="rt-label rt-postfix">minutes</span></span>Challenging conventional funding structures to include intersectionally underrepresented casualised academics. The Interactive Content team help launch a new digital comic resource.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5397</post-id>	</item>
		<item>
		<title>Educated Prompting: Coding Without Writing a Single Line</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/31/educated-prompting/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 14:49:56 +0000</pubDate>
				<category><![CDATA[Claude]]></category>
		<category><![CDATA[ELM]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[digital skills]]></category>
		<category><![CDATA[DLAM Feed]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5490</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 9</span> <span class="rt-label rt-postfix">minutes</span></span>In my second month as the DLAM Digital Accessibility Intern, I've been contributing key accessibility and UX improvements to an open-source sheet music application. This blog describes how a GenAI workflow helped fast-track my understanding of Python coding, and allowed me to make impactful changes to an open-source project, through a process I call "Educated Prompting".]]></description>
		
		
		<enclosure url="//?#" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">5385</post-id>	</item>
		<item>
		<title>Diary of an Accessibility Intern (Weeks 1-4)</title>
		<link>https://blogs.ed.ac.uk/dlam/2025/07/01/diary-of-an-accessibility-intern-weeks-1-4/</link>
		
		<dc:creator><![CDATA[dbuik]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 10:44:52 +0000</pubDate>
				<category><![CDATA[Interactive Content]]></category>
		<category><![CDATA[Interactive Content feed]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[thinking]]></category>
		<category><![CDATA[accessibility]]></category>
		<guid isPermaLink="false">https://blogs.ed.ac.uk/dlam/?p=5208</guid>

					<description><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 18</span> <span class="rt-label rt-postfix">minutes</span></span>In this blog post, I write about what digital accessibility is, how we can make digital content more accessible, and why all of this matters in the first place. Also, this is a sort of diary of my first month as a Digital Accessibility Intern: what I have been up to, and my thoughts about various activities I have undertaken.]]></description>
		
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5134</post-id>	</item>
	</channel>
</rss>
"
      ["headers"]=>
      object(WpOrg\Requests\Response\Headers)#2550 (1) {
        ["data":protected]=>
        array(9) {
          ["date"]=>
          array(1) {
            [0]=>
            string(29) "Sat, 16 May 2026 20:03:35 GMT"
          }
          ["server"]=>
          array(1) {
            [0]=>
            string(6) "Apache"
          }
          ["x-powered-by"]=>
          array(1) {
            [0]=>
            string(10) "PHP/8.3.30"
          }
          ["vary"]=>
          array(1) {
            [0]=>
            string(19) "accept,content-type"
          }
          ["link"]=>
          array(1) {
            [0]=>
            string(76) "<https://interactive-content.is.ed.ac.uk/wp-json/>; rel="https://api.w.org/""
          }
          ["upgrade"]=>
          array(1) {
            [0]=>
            string(6) "h2,h2c"
          }
          ["last-modified"]=>
          array(1) {
            [0]=>
            string(29) "Wed, 29 Apr 2026 08:37:46 GMT"
          }
          ["etag"]=>
          array(1) {
            [0]=>
            string(34) ""c4f9e5b0d0f55012ee9c046e04ce9efc""
          }
          ["content-type"]=>
          array(1) {
            [0]=>
            string(34) "application/rss+xml; charset=UTF-8"
          }
        }
      }
      ["status_code"]=>
      int(200)
      ["protocol_version"]=>
      float(1.1)
      ["success"]=>
      bool(true)
      ["redirects"]=>
      int(0)
      ["url"]=>
      string(45) "https://interactive-content.is.ed.ac.uk/feed/"
      ["history"]=>
      array(0) {
      }
      ["cookies"]=>
      object(WpOrg\Requests\Cookie\Jar)#2546 (1) {
        ["cookies":protected]=>
        array(0) {
        }
      }
    }
    ["filename":protected]=>
    NULL
  }
}
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=24171] "Being crafty with hand-drawn stick figures and open-sourced music"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=24171'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=24171] "Being crafty with hand-drawn stick figures and open-sourced music" is a duplicate of an existing post.
Diag| Considering item [https://stubot.me/?p=3601] "300 Faces"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://stubot.me/?p=3601'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://stubot.me/?p=3601] "300 Faces" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=18828] "Digital Accessibility Intern"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=18828'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=18828] "Digital Accessibility Intern" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=12121] "Reflecting on a Drupal 7 to Drupal 10 Migration"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=12121'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=12121] "Reflecting on a Drupal 7 to Drupal 10 Migration" is an update of an existing post.
Diag========| Item [https://blogs.ed.ac.uk/dlam/?p=12121] "Reflecting on a Drupal 7 to Drupal 10 Migration"  has a not-yet-seen update hash: string(32) "260fe8a76fcac3201b3509cec249ede5" not in {}. Basis: array(4) { [0]=> string(5) "title" [1]=> string(4) "link" [2]=> string(7) "content" [3]=> string(7) "excerpt" } 
Diag====| Filtered out item [https://blogs.ed.ac.uk/dlam/?p=12121] without syndication: no author available
Diag| Considering item [https://stubot.me/?p=3578] "Interactive Women in STEM tour"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://stubot.me/?p=3578'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://stubot.me/?p=3578] "Interactive Women in STEM tour" is a duplicate of an existing post.
Diag| Considering item [https://stubot.me/?p=3569] "Moira Dunbar"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://stubot.me/?p=3569'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://stubot.me/?p=3569] "Moira Dunbar" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=5614] "Making an impact with ThingLink"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=5614'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=5614] "Making an impact with ThingLink" is a duplicate of an existing post.
Diag| Considering item [https://stubot.me/?p=3519] "In Their Own Time"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://stubot.me/?p=3519'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://stubot.me/?p=3519] "In Their Own Time" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=5490] "Educated Prompting: Coding Without Writing a Single Line"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=5490'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=5490] "Educated Prompting: Coding Without Writing a Single Line" is a duplicate of an existing post.
Diag| Considering item [https://blogs.ed.ac.uk/dlam/?p=5208] "Diary of an Accessibility Intern (Weeks 1-4)"
Diag========| SQL: SELECT   wp_30_posts.ID, wp_30_posts.guid, wp_30_posts.post_modified_gmt, wp_30_posts.post_name
					 FROM wp_30_posts  LEFT JOIN wp_30_postmeta EO_META ON EO_META.meta_key = 'ease_only' AND EO_META.post_id = wp_30_posts.ID 
					 WHERE 1=1  AND ((guid = 'https://blogs.ed.ac.uk/dlam/?p=5208'))
					 
					 ORDER BY wp_30_posts.post_date DESC
					 
Diag====| Item [https://blogs.ed.ac.uk/dlam/?p=5208] "Diary of an Accessibility Intern (Weeks 1-4)" is a duplicate of an existing post.
Captions – Digital Learning Applications and Media
Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

Category: Captions

Ellie in her scrubs

A guest blog post from one of our human-captioners, Ellie Kerr. Ellie joined us back in 2023 and is one of our original captioners – when we only had a team of 2. Now we have 20 part-time captioners who work on correcting automated captions across our lecture recordings and other media.   I never […]

Diag| Memory: Current usage: 186 MB
Diag| Memory: Peak usage: 186 MB
css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel