<?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>web development &#8211; Pages of Fun</title>
	<atom:link href="https://robertgomez.org/blog/tag/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>https://robertgomez.org</link>
	<description>Robert Wm. Gomez&#039;s Website</description>
	<lastBuildDate>Tue, 06 Aug 2024 02:05:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://robertgomez.org/wp-content/uploads/2020/10/cropped-garland_logo-32x32.png</url>
	<title>web development &#8211; Pages of Fun</title>
	<link>https://robertgomez.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>New Web Hosting</title>
		<link>https://robertgomez.org/blog/2024/08/05/new-web-hosting/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Tue, 06 Aug 2024 00:26:38 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[website]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=6073</guid>

					<description><![CDATA[You probably don&#8217;t notice anything different, but I have switched Web hosts. MediaTemple was acquired by GoDaddy and very quickly their service turned to crap. GoDaddy incessantly tries to up-sell stuff and they charge for just about everything you can get for free anywhere else. Most annoyingly, they phased out unlimited e-mail addresses that MediaTemple [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">You probably don&#8217;t notice anything different, but I have switched Web hosts. MediaTemple was acquired by GoDaddy and very quickly their service turned to crap. GoDaddy incessantly tries to up-sell stuff and they charge for just about everything you can get for free anywhere else. Most annoyingly, they phased out unlimited e-mail addresses that MediaTemple would always offer. GoDaddy sucks. Avoid them like the plague. Giving Namecheap a try and so far they&#8217;ve been great.</p>



<p class="wp-block-paragraph">Also: I&#8217;m just now discovering that many of my beloved em-dashes were converted into curly-apostrophes when I migrated off of drupal. This will require a post-by-post search of the database with some clever regex tokens.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New Mobile Navigation</title>
		<link>https://robertgomez.org/blog/2022/04/09/new-mobile-navigation/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sun, 10 Apr 2022 00:25:35 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Pages of Fun]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=4955</guid>

					<description><![CDATA[I just made a pretty significant update to the site&#8217;s main navigation. Finally, I am using a more mobile-friendly menu system in which the various depths slide left and right as you drill down. This article about WordPress menu walkers was extremely helpful in getting all this to work correctly. I probably should add a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="alignright size-full"><img decoding="async" width="212" height="232" src="https://robertgomez.org/wp-content/uploads/2022/04/pof-mobile-nav.jpg" alt="POF Mobile Menu" class="wp-image-4956"/></figure></div>



<p class="wp-block-paragraph">I just made a pretty significant update to the site&#8217;s main navigation. Finally, I am using a more mobile-friendly menu system in which the various depths slide left and right as you drill down. This <a href="https://awhitepixel.com/blog/wordpress-menu-walkers-tutorial/">article about WordPress menu walkers</a> was extremely helpful in getting all this to work correctly.</p>



<p class="wp-block-paragraph">I probably should add a bunch of accessibility attributes, but that is a bit much for now. I&#8217;m just shocked the thing works.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Digital Housekeeping</title>
		<link>https://robertgomez.org/blog/2022/03/08/digital-housekeeping/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Wed, 09 Mar 2022 04:38:35 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Pages of Fun]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=4905</guid>

					<description><![CDATA[The past week or so I have spent a bunch of time working behind-the-scenes on this WordPress site. My first priority was getting a handle on the new-ish system for creating and displaying sidebar blocks. Since WordPress 5.0, the goal of each subsequent update has been to make as much of the backend operate like [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The past week or so I have spent a bunch of time working behind-the-scenes on this WordPress site. My first priority was getting a handle on the new-ish system for creating and displaying sidebar blocks. Since WordPress 5.0, the goal of each subsequent update has been to make as much of the backend operate like the Gutenberg editor. When that change came to the widgets interface it ended up conflicting with a number of plugins that I was using: mainly contextual widget display and the sidebar nav. The side-nav is gone, and now I am using logic within my theme files to determine which sidebar items get displayed. So far it all seems to be working.</p>



<p class="wp-block-paragraph">My next big change was to clean-up and consolidate my CSS so that I could use a single template to render the various content types on this site. In the process I have re-added a few pages that I had created in Views back on the old Drupal version of this site. <a href="https://robertgomez.org/art/art-related-posts/" data-type="page" data-id="4835">Art</a> and <a href="https://robertgomez.org/fun-stuff/retro-computing/" data-type="page" data-id="4861">Retro-Computing</a> feeds are back. Many of the reviews pages now have <a href="https://robertgomez.org/fun-stuff/words-and-books/book-log/books-alphabetical/" data-type="page" data-id="4868">alternate</a> <a href="https://robertgomez.org/sounds/music/music-log/" data-type="page" data-id="4894">views</a>.</p>



<p class="wp-block-paragraph">I fixed a bunch of little details all over the place and have made it so my artworks exist apart from my posts (even though they are in this main home page feed). The final change which I have yet to get to is making the navigation more mobile friendly. I never look at the Web on my phone, so this is low-priority for me.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress: A Month Later</title>
		<link>https://robertgomez.org/blog/2020/10/29/wordpress-a-month-later/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Thu, 29 Oct 2020 19:21:34 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=4049</guid>

					<description><![CDATA[I have been using my new WordPress site for about a month now and can say that I am very satisfied with how everything is working. So much so that I would really like to convert all my sites to WordPress, if not for the fact that hand migration process from Drupal was a horrible [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I have been using my new WordPress site for about a month now and can say that I am very satisfied with how everything is working. So much so that I would really like to convert all my sites to WordPress, if not for the fact that hand migration process from Drupal was a horrible pain.</p>



<h2 class="wp-block-heading">The Good</h2>



<p class="wp-block-paragraph">WordPress is much faster than Drupal. Even without a caching plugin I am seeing my pages load up super quick. With the cache enabled—which, as an editor, I don&#8217;t actually see—the pages load almost instantaneously.</p>



<p class="wp-block-paragraph">The Gutenberg editing interface takes a little getting used to, but works very well especially with the addition of the EditorsKit plugin. Adding images and media like YouTube embeds or audio files is completely hassle/code free. The EditorsKit plugin adds in the all important <em>Insert Special Character</em> function and a few other less common HTML tags like `abbr`.</p>



<p class="wp-block-paragraph">Askimet provides spam-blocking that actually works. Drupal used to have a great anti-spam service in <em>Mollum</em>, but that was unceremoniously discontinued and the floodgates of spam opened up. In a related note, WordPress comment moderation is very simple and clean and, for the time being, I actually like seeing pingbacks</p>



<p class="wp-block-paragraph">With the right plugins, creating custom content isn&#8217;t as bad as I originally thought. I had to pay for the unlimited install Advanced Custom Fields plugin, but, between this site and my work projects, it has been well worth the investment.</p>



<p class="wp-block-paragraph">Finally, as I have stated before, updating the site is a complete breeze. This was my main reason for making the switch to WordPress. Click a button and the WordPress core is updated! The latest version allows me to tell the system to install updates automatically based on a per-plugin setting. Coming from Drupal, this is life changing.</p>



<h2 class="wp-block-heading">The Bad</h2>



<p class="wp-block-paragraph">It&#8217;s not all hearts and rainbows here in WordPressland. There are still a few areas that could use some improvement. First and foremost is that lack of anything like Drupal Views. Views allows front-end users to display site content in any manner they can imagine without needing to touch a single line of code. Instead, I am stuck having to hand code queries into WordPress PHP template files. The query code is relatively easy to learn but every little tweak you want to make requires hours of combing through help forums and documentation for an answer. I still have no idea how to add filters to my various <em>Reviews</em> lists. In Views you just expose a filter and <em>poof</em> you have a dropdown or a field that visitors can use to narrow down a list.</p>



<p class="wp-block-paragraph">I&#8217;m sure there is a plugin for this, but I would want to set up automated backups of the site. The WP All-in-One Migration plugin makes backing up easy, but I can figure out a way of making it run on a schedule.</p>



<p class="wp-block-paragraph">While the front-end of the Media Library is excellent, WordPress is constantly creating unnecessary image copies of every image I upload, regardless of context. This means there&#8217;s a lot of unused junk in my <em>uploads</em> directory. It&#8217;s not horrible, but my <em>Internet &#8217;98</em> mentality wants me so save as much hard drive space as possible.</p>



<p class="wp-block-paragraph">Most of my other complaints are about things that could be accomplished with a module in Drupal but require PHP coding to do in WordPress. Off the top of my head: highlighting a menu-trail based on a content type, customizing RSS output, custom menu blocks, etc.</p>



<h2 class="wp-block-heading">The Ugly</h2>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="300" height="300" src="https://robertgomez.org/wp-content/uploads/2020/10/Clint-Howard.jpg" alt="Clint Howard" class="wp-image-4050" srcset="https://robertgomez.org/wp-content/uploads/2020/10/Clint-Howard.jpg 300w, https://robertgomez.org/wp-content/uploads/2020/10/Clint-Howard-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pages of Fun, Now With WordPress</title>
		<link>https://robertgomez.org/blog/2020/10/05/pages-of-fun-now-with-wordpress/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Mon, 05 Oct 2020 23:40:43 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Pages of Fun]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=3457</guid>

					<description><![CDATA[It took about two weeks, but I think I have finally finished converting this site to WordPress. The bulk of that process was copying and pasting every post into the new system. I&#8217;m sure I probably goofed up a few posts along the way and there are bound to be many broken links. But I [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">It took about two weeks, but I think I have finally finished converting this site to WordPress. The bulk of that process was copying and pasting every post into the new system. I&#8217;m sure I probably goofed up a few posts along the way and there are bound to be many broken links. But I think was very thorough, going as far as copying every single comment and tag description.</p>



<p class="wp-block-paragraph">My reason for moving away from Drupal was my general disappointment with Drupal 8. Nothing ever seemed to work exactly right. I&#8217;d make a few changes on the back-end and the site would unbeknownst to me be put in maintenance mode. Several key plugins withered on the vine and stopped working. The built in <abbr title="What You See Is What You Get">WYSIWYG</abbr> editor was absolute garbage. And the worst part of it all was the horrifically user unfriendly update process. There are modules that require Composer to install and update and others that are always in pre-release dev states. No thanks. After a decade of loyal advocacy and usage, it was time to bid Drupal farewell.</p>



<p class="wp-block-paragraph">I have built a couple WordPress sites for work this year and now feel much more capable in this system. The main disadvantage of WordPress is its lack of a Views plugin. If you want to get creative with outputting data, you need to dive in to .PHP files and <code>WP_Query()</code> loops. There&#8217;s a massive user base, so finding help on the Internet is fairly easy and, once you understand the basics, you get an idea of how to accomplish tasks.</p>



<p class="wp-block-paragraph">As I type this, I am prepping to launch the site. Hopefully all will go well. Having never run a WordPress site with comments enabled I worry that I will find myself buried in comment spam.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Last Straw</title>
		<link>https://robertgomez.org/blog/2020/09/23/the-last-straw/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Wed, 23 Sep 2020 21:57:27 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=3273</guid>

					<description><![CDATA[This was all a big mistake. Upgrading to Drupal 8, that is. Nothing ever works right and Drupal hates casual users. I am now in the process of converting this site to WordPress by migrating every post by hand. There&#8217;s about 1700 posts so it&#8217;s going to be a while. There&#8217;s probably a plugin that [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This was all a big mistake. Upgrading to Drupal 8, that is. Nothing ever works right and Drupal hates casual users. I am now in the process of converting this site to WordPress by migrating every post by hand. There&#8217;s about 1700 posts so it&#8217;s going to be a while. There&#8217;s probably a plugin that can automagically do this, but the biggest con of WordPress is that good plugins aren&#8217;t free. Sigh.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Drupal 8 Migration</title>
		<link>https://robertgomez.org/blog/2019/12/20/drupal-8-migration/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sat, 21 Dec 2019 03:39:00 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=3203</guid>

					<description><![CDATA[I have resisted migrating this site to Drupal 8 for years. Every time I looked into it there was some killer feature that D8 couldn&#8217;t do. The times I attempted testing out the process&#160;it was always a complete disaster. Well, time is running out on Drupal 7. The old system is slated for end-of-life in [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I have resisted migrating this site to Drupal 8 for years. Every time I looked into it there was some killer feature that D8 couldn&#8217;t do. The times I attempted testing out the process&nbsp;it was always a complete disaster. Well, time is running out on Drupal 7. The old system is slated for end-of-life in 2020 and it&#8217;s now or never for the &#8220;upgrade.&#8221;</p>



<p class="wp-block-paragraph">In this post I am going to recap my experience in migrating a fairly simple Drupal 7 site to Drupal 8. Hopefully, someone facing the same issues as me will come across this post and will find something helpful.</p>



<p class="wp-block-paragraph">Long story short, the migration process sucks bad. If you don&#8217;t have a little experience with directly manipulating a database or troubleshooting software in general, don&#8217;t even attempt it.</p>



<p class="wp-block-paragraph">I am not a command-line guy. This was going to be a drush-free migration.The whole push in Web development towards command-line apps for everything has been one of the worst things to happen to the Internet. It is virtually impossible for a beginner to just jump in and start creating content. Developers have made huge strides in interface usability and yet the tools to create those interfaces are nightmares of horrible UI design puzzle-boxes that exist mostly as job security for entrenched Web devs. Thank Shatner for the few out there like Prepros.io who are at least trying to make new technologies user friendly.</p>



<p class="wp-block-paragraph">The first hurdle for me was finding a decent local development environment that could handle Drupal 8. My old standby, Xampp, has become garbage in recent versions with no 64-bit support and no interface improvements. I found&nbsp;<a href="http://www.wampserver.com/en/download-wampserver-64bits/">Wampserver64</a>&nbsp;and it has turned out to be fantastic. Most importantly, it allows me to run two different local domains, which is required as the migration process works by sucking an old site into a new one rather than overwriting an exiting Drupal 7 install.</p>



<p class="wp-block-paragraph">After setting up a clean Drupal 8 install with all the migration modules installed I set about creating a plan of attack. Oh, as an aside, whatever you do,&nbsp;<strong>do not</strong>&nbsp;install the&nbsp;<em>Migration Example</em>&nbsp;modules. It will fill your new site with a bunch of garbage content and fields that don&#8217;t get removed when you uninstall the module. My first order of business was to determine which I my D7 modules had D8 versions. A spreadsheet and lots of notes proved helpful. I tried to limit only the most integral modules and skip any ones that are just cosmetic. A lot of popular modules have been added into the core, but in many case they are watered down versions (Menu Block stands out as particularly bad).</p>



<h2 class="wp-block-heading">Migration Begins</h2>



<p class="wp-block-paragraph">At that point I clicked all the buttons, watched and waited. It looked like most of the content came over but there are big problems with text-filters. If they don&#8217;t match with the new D8 filters, the content won&#8217;t render. That is really dumb. I had to log in too phpMyAdmin to manually change values. The next big problem was that my post were peppered with strange characters. This had to do with my Sql server not having correct character encoding.&nbsp;<a href="https://medium.com/@manish_demblani/breaking-out-from-the-mysql-character-set-hell-24c6a306e1e5">This article</a>&nbsp;explains the fix you should do&nbsp;<em>before</em>&nbsp;migrating (I had to search and replace for hours because I failed to do this). Basically, add the following to mysql.ini:</p>



<pre class="wp-block-code"><code>&#91;client]
default-character-set = utf8mb4

&#91;mysql]
default-character-set = utf8mb4

&#91;mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci</code></pre>



<h2 class="wp-block-heading">Comments</h2>



<p class="wp-block-paragraph">The next big problem were comments. Only the most recent comments were rendering and I couldn&#8217;t see any difference between those and the bad ones. There appeared to be two tables for comments in the database:&nbsp;<code>comment_field_data</code>&nbsp;and&nbsp;<code>comment__comment_body</code>. Turns out if the langcode column doesn&#8217;t match between these two tables, the comments don&#8217;t render. More stupidity. Had to manually add &#8220;en&#8221; to the fields. Thankfully this site doesn&#8217;t have&nbsp;<em>that</em>&nbsp;many comments.</p>



<h2 class="wp-block-heading">Page Caching and Dev Environment</h2>



<p class="wp-block-paragraph">The next step was setting up the local.settings.php to disable caching and render theming helper code. A couple&nbsp;<a href="https://www.youtube.com/watch?v=rRsOxSuJ4OU">YouTube videos</a>&nbsp;explained this pretty well, although I still am having to flush the cache to see changes half the time.</p>



<h2 class="wp-block-heading">Views, Oh God Views</h2>



<p class="wp-block-paragraph">Views is a fantastic module. It&#8217;s the reason we all use Drupal in the first place. So, why the holy hell aren&#8217;t views migrated by default?!&nbsp;<strong>So freaking annoying!</strong>&nbsp;I had to recreate about 15 custom views manually in order to get many of the site features back. Don&#8217;t delete that Drupal 7 site yet. You will definitely need it for reference.</p>



<h2 class="wp-block-heading">Turning on the Modules</h2>



<p class="wp-block-paragraph">I then started installing and enabling various modules. Like I said earlier, things are different here in Drupal 8. Menu_Block is missing features, Menu_Position is just plain broken (a fix is in the works), Redirect is flaky and throws errors.</p>



<p class="wp-block-paragraph">Everything to do with CKEditor is horrible. TinyMCE was orders of magnitude better. More robust, more advanced features, better looking, better integration with Drupal&#8230; sigh. I have a feeling I am going to be using code view a lot with CKEditor.</p>



<h2 class="wp-block-heading">Pages of Fun Theme Redux</h2>



<p class="wp-block-paragraph">If there is one area where Drupal 8 is leaps and bounds better than D7 it&#8217;s the new Twig-based theming system. The syntax is far less cryptic. A simple&nbsp;<code>{{ content.field_myfield }}</code>&nbsp;renders a field. Perfect. My theme is far simpler than before, yet looks pretty good. Lots of fancy CSS layout tricks here that probably fail in Internet Explorer.</p>



<h2 class="wp-block-heading">Launching the Site</h2>



<p class="wp-block-paragraph">So, after about two weeks of poking at it, I finally launched the site on December 19th. Within about 30 minutes I got my first spam comment. I do miss Mollum. I&#8217;ve tracked down a few anti-spam modules, but it&#8217;s going to be tough. I gave up on comments on the&nbsp;<a href="http://nonagon.us/">Nonagon.us</a>&nbsp;site long ago and this may be a losing battle. Out of my cold dead hands Russian bot farms!</p>



<p class="wp-block-paragraph">And here we are, a couple days in and things seem to me working okay. I&#8217;m sure I will need to upload fixes very soon. There are always sections of the site I miss. And when my first round of analytic come in I may need to start hunting down broken links. In the meantime, click around and enjoy. (And buy my art!)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pages of Fun: Now with Drupal 8</title>
		<link>https://robertgomez.org/blog/2019/12/19/pages-of-fun-now-with-drupal-8/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Fri, 20 Dec 2019 03:38:22 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Pages of Fun]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=3201</guid>

					<description><![CDATA[Well, I have finally made the jump to the newest version of Drupal. We are now running Drupal 8 and, man, was it a pain in the butt to migrate the old site. I will forever recommend WordPress over Drupal to anyone who doesn&#8217;t want to pull their hair out every time a new patch [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Well, I have finally made the jump to the newest version of Drupal. We are now running Drupal 8 and, man, was it a pain in the butt to migrate the old site. I will forever recommend WordPress over Drupal to anyone who doesn&#8217;t want to pull their hair out every time a new patch is released.</p>



<p class="wp-block-paragraph">Still, there is a lot to like about the new system. I will soon post the gory details of my migration experience, but, in the meantime, let&#8217;s hope this works and that I am not swamped with comment spam.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Site Update 2017</title>
		<link>https://robertgomez.org/blog/2017/06/10/site-update-2017/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sat, 10 Jun 2017 19:37:53 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2956</guid>

					<description><![CDATA[Today I did a revamp of the site&#8217;s theme. Mostly this was because&#160;Prepros&#160;no longer supports Compass in its Sass implementation. I had to go through all my sass code and remove any Compass references and write my own mixins based on them. In the process I managed to reorganize much of my code and make [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Today I did a revamp of the site&#8217;s theme. Mostly this was because&nbsp;<a href="http://prepros.io/">Prepros</a>&nbsp;no longer supports Compass in its Sass implementation. I had to go through all my sass code and remove any Compass references and write my own mixins based on them.</p>



<p class="wp-block-paragraph">In the process I managed to reorganize much of my code and make some style tweaks across the site. I am going to go with slightly bigger fonts and am now using a grid system based on the Bootstrap grid instead of the confusing Zen grid. The biggest change to the site is that now the most recent post appears in full at the top of the homepage with a little &#8220;New&#8221; label in the corner. Future is now!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Major Overhaul of Planet Pimp Web Site</title>
		<link>https://robertgomez.org/blog/2015/06/27/major-overhaul-of-planet-pimp-web-site/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sat, 27 Jun 2015 16:38:56 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Planet Pimp]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2827</guid>

					<description><![CDATA[Did you know I maintain an informational resource page dedicated to&#160;Planet Pimp Records&#160;(the greatest record label ever to exist)? Well, now you do, and today I uploaded a massive update to the site. This is mostly behind the scenes stuff that makes the site easier for me to update, but I have also added some [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Did you know I maintain an informational resource page dedicated to&nbsp;<a href="http://planetpimp.robertgomez.org/">Planet Pimp Records&nbsp;</a>(the greatest record label ever to exist)? Well, now you do, and today I uploaded a massive update to the site. This is mostly behind the scenes stuff that makes the site easier for me to update, but I have also added some new features including links to external video and audio. There have also been some fancy style tweaks so the site now scales to fit mobile devices.</p>



<p class="wp-block-paragraph">There are still some quirky buts, but I am working on cleaning everything up and reviewing the site and links. A big thing on my to-do list is getting rid of Flash elements and replacing them with more mobile-friendly HTML5 widgets. As always, if you have anything to add to this vital historical record, please&nbsp;<a href="https://robertgomez.org/contact">send your contributions to me</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My First Foray into SASS</title>
		<link>https://robertgomez.org/blog/2015/06/12/my-first-foray-into-sass/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Fri, 12 Jun 2015 14:33:11 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2806</guid>

					<description><![CDATA[As I mentioned&#160;a few posts ago, this site has received a major theme overhaul. Aside from a couple form element styles, this change was mostly structural and behind-the-scenes. The new theme is my first foray into using the&#160;SASS&#160;CSS preprocessing language. Let me tell you, it was a revelation. SASS allows you to write CSS using [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">As I mentioned&nbsp;<a href="https://robertgomez.org/node/1237">a few posts ago</a>, this site has received a major theme overhaul. Aside from a couple form element styles, this change was mostly structural and behind-the-scenes. The new theme is my first foray into using the&nbsp;SASS&nbsp;CSS preprocessing language. Let me tell you, it was a revelation. SASS allows you to write CSS using a super-clean tabbed coding style and (finally) allows the use variables and expressions in styles. I mean, look at this&nbsp;OCD&nbsp;coder&#8217;s dreamscape:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="600" height="559" src="https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-screenshot-med.png" alt="Behold the beauty of SASS!" class="wp-image-2808" srcset="https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-screenshot-med.png 600w, https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-screenshot-med-300x280.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></figure>



<p class="wp-block-paragraph">Gone are curly brackets and semi-colons. Now elements can be nicely nested within each other and there&#8217;s lots of neat shorthand to make code more portable.</p>



<p class="wp-block-paragraph">Now, I am very late to this party and it turns out much of the SASS code you find on the net is written in a more standard CSS syntax (those sass files are saved as .SCSS rather than .SASS). I hope this cleaner, more modern syntax remains supported because I am completely sold on it.</p>



<p class="wp-block-paragraph">For quite some time I have heard of SASS but have always been hesitant to dig into it because I always assumed that it was some server-side application that would require SSH and Linux and a bunch of crap I don&#8217;t care about. I have since realized that this is not the case. SASS files are compiled locally into a single, standard CSS file. Still, the first thing tutorials seem to tell you to do is to go install Ruby and dive into the command prompt. Yeech! Thankfully, smart people out there (&#8220;there&#8221; equals Nepal in this case) have developed a windows app that will compile and upload everything you need.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="600" height="469" src="https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-prepros.png" alt="Prepros Screengrab" class="wp-image-2809" srcset="https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-prepros.png 600w, https://robertgomez.org/wp-content/uploads/2015/06/pof-sass-prepros-300x235.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>



<p class="wp-block-paragraph"><a href="https://prepros.io/">Prepros</a>&nbsp;is a tiny little app that does it all and I highly recommend it if you are developing on Windows. It processes many other languages as well (including Jade and JavaScript) and, regarding SASS, also includes Compass.</p>



<p class="wp-block-paragraph">Compass is a set of functions and extensions to SASS that makes cross-browser development super easy. A word of warning about Compass: unlike pure SASS it doesn&#8217;t work out-of-the-box and requires some research into creating a &#8220;config.rb&#8221; file. The Zen Drupal theme includes this file and I used that as a base, and I think I understand it now.</p>



<p class="wp-block-paragraph">In any event, I&#8217;m syched about Web development for the first time in a long while and I am glad I made the leap. Also, support&nbsp;<a href="https://prepros.io/">Prepros</a>&nbsp;and buy a copy (or two).</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Another Site Update</title>
		<link>https://robertgomez.org/blog/2015/06/09/another-site-update/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Tue, 09 Jun 2015 14:30:05 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2802</guid>

					<description><![CDATA[Well, recently I&#8217;ve been trying to learn how to use SASS for styling Web pages and have kind of fallen in love with it. So here is my first go at it in the form of a new site template. Not much has changed visually, but, trust me, there have been a ton of changes [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Well, recently I&#8217;ve been trying to learn how to use SASS for styling Web pages and have kind of fallen in love with it. So here is my first go at it in the form of a new site template. Not much has changed visually, but, trust me, there have been a ton of changes behind the scenes. I will post more about this and the trials of retrofitting a Drupal theme for SASS sometime in the near future. In the meantime, look at the neat comments buttons I made!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Drupal, Pathologic and Corrupted URLs</title>
		<link>https://robertgomez.org/blog/2015/01/31/drupal-pathologic-and-corrupted-urls/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sat, 31 Jan 2015 15:14:53 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2785</guid>

					<description><![CDATA[I&#8217;ve been having some technincal issues with this site lately. Strange links to content within the site have been appearing at random. I would insert a hyperlink to an archived post and then, days later, I would come back to see that the URL has been rewritten with a random sub-domain prefix. My domain would [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I&#8217;ve been having some technincal issues with this site lately. Strange links to content within the site have been appearing at random. I would insert a hyperlink to an archived post and then, days later, I would come back to see that the URL has been rewritten with a random sub-domain prefix. My domain would appear as www.wqw.robertgomez.org or similar.</p>



<p class="wp-block-paragraph">I am not entirely sure what was going on but I think bots and the Drupal Pathologic module are to blame.&nbsp;<a href="https://www.drupal.org/project/pathologic">Pathologic is a great module</a>&nbsp;that will convert any internal site link into a standardized absolute URL. In my code I would create a link with an href of &#8220;node/1098&#8221; and Pathologic would convert that href to &#8220;http:<em>//</em>www.<em>robertgomez</em>.org/blog/2014/03/17/drupal-my-list-essential-modules&#8221;. However, I suspect that when various bots crawled my site they used weird sub-domain prefixes in hopes of doing&#8230; I don&#8217;t know what?! Occasionally, one of these bots must have triggered a cron job, and my links were rewritten with the phony sub-domain. Seems feasible, right? If there is a real reason why this was happening, let me know in the comments.</p>



<p class="wp-block-paragraph">The bad links could be fixed by opening a node and re-saving them. I used the Resave Nodes module to bulk save everything again. However, by the next morning the bad links had returned. The phony sub-domains were still being crawled. The next step was to use a&nbsp;<a href="http://stackoverflow.com/questions/22383193/how-do-i-redirect-all-non-existent-subdomain-urls-to-my-main-url">rewrite rule</a>&nbsp;in my .htaccess file that would force all subdomain traffic to a non &#8220;www&#8221; prefixed URL of the site. I then re-resaved everything, an so far thing are back to normal. Again, if you know what&#8217;s going on, shoot me a comment.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Drupal: My List of Essential Modules</title>
		<link>https://robertgomez.org/blog/2014/03/17/drupal-my-list-of-essential-modules/</link>
					<comments>https://robertgomez.org/blog/2014/03/17/drupal-my-list-of-essential-modules/#comments</comments>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Tue, 18 Mar 2014 00:10:27 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2725</guid>

					<description><![CDATA[Taking a break from my usual and completely unnecessary review posts, I thought I&#8217;d take a moment get a little technical. This site and many others I have developed use the Drupal open-sourced content management system. Drupal is great. It&#8217;s incredibly flexible, powerful and yet moderately easy to use if you have a little Web [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Taking a break from my usual and completely unnecessary review posts, I thought I&#8217;d take a moment get a little technical. This site and many others I have developed use the Drupal open-sourced content management system. Drupal is great. It&#8217;s incredibly flexible, powerful and yet moderately easy to use if you have a little Web design experience.</p>



<p class="wp-block-paragraph">Other systems I have used in the past, including Microsoft Sharepoint and WordPress, don&#8217;t hold a candle to Drupal. Sharepoint is an abomination and the only reason you should ever use it for a public facing Web site is if you work at Megacorp, Inc. and some idiot I.T. guy bought it as part of a multi-million dollar corporate enterprise package. Customizing Sharepoint is an exercise in futility and self-immolation. Just assume that your clean standards-compliant code with get destroyed and converted into a stew of redundant tags and impossible-to-style markup. WordPress is much better than that but it still falls short of Drupal when it comes to customizing your content types and controlling look and feel. You can hardly do anything custom in WordPress without having to hand code PHP. Simple tasks like adding an extra field to a post-type are just a pain and require some sort of third-party plugin (of which there are many and all of them do it differently). The only area where WordPress is better than Drupal is in installing and updating plugins and core systems. Drupal is getting better at this, but it still has a way to go to match the ease of use that WordPress offers.</p>



<p class="wp-block-paragraph">For all my Drupal love, it still isn&#8217;t perfect right out of the box. Any Drupal install is going to require also installing a number of add-on modules to get your site fully reach its potential. So here is a list of the modules that I will include in every Drupal site that I create.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/views">Views</a></h3>



<p class="wp-block-paragraph">Views is the reason you are using Drupal. It allows you to build custom pages, feeds, blocks, etc. based on specific database queries. There is&nbsp;<strong>nothing</strong>&nbsp;like this for WordPress. You want a page of only posts created in June with the word&nbsp;<em>summer</em>&nbsp;in the body? A list of recent comments? A slideshow of art from posts tagged&nbsp;<em>NSFW</em>?&nbsp;Boom, Views can do that and sort it, make it filterable, restrict access&#8230; almost anything you can think of. Views puts&nbsp;<em>you</em>&nbsp;in control of your database. Installing views in Drupal 7 also requires the&nbsp;<a href="https://drupal.org/project/ctools">Chaos Tools Suite</a>, so consider that an essential module too.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/admin_menu">Administration Menu</a></h3>



<p class="wp-block-paragraph">This module puts a thin flyout-menu at the top of all pages that will quickly allow editors and admins to perform tasks without having to click down through multiple pages of admin content. The default Drupal 7 toolbar plus shortcuts is pretty close to providing this functionality but Admin Menu just does it so much better.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/module_filter">Module Filter</a></h3>



<p class="wp-block-paragraph">Module Filter is like Admin Menu in that it takes a core system interface and makes it just a bit more user friendly. In this case it tames the often over-long list of add on modules. During the development stage of any Drupal site, this saves you a ton of time scrolling and searching that page.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/backup_migrate">Backup and Migrate</a></h3>



<p class="wp-block-paragraph">This module has saved me many-a-time. It provides a way to backup your site&#8217;s data via a simple Web interface. You can also set schedules for daily backups and you automatically backup to the cloud if you so desire. It is also the easy way to get a site from a test environment to the live server.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/wysiwyg">Wysiwyg</a></h3>



<p class="wp-block-paragraph">The main thing that turned me off about Drupal when I first started using it was the lack of any sort of visual text editor when creating content. You still needed to know HTML to style anything. This problem is easily solved with the Wysiwyg module and another third-party visual editing library (in my case I use&nbsp;<a href="http://www.tinymce.com/download/download.php">TinyMCE</a>). The need for a library kinda makes this module a pain to install, but, once you get it up and running, composing posts becomes much easier especially for non-technical users.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/imce">IMCE</a></h3>



<p class="wp-block-paragraph">IMCE also fulfills a very basic editing need that the Drupal core lacks. It allows users to upload and embed images into the body area of their posts via a pop-up file browser. It integrates smoothly into your visual Wysiwyg editor by also installing the&nbsp;<a href="https://drupal.org/project/imce_wysiwyg">IMCE Wysiwyg bridge</a>&nbsp;module.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/readmorecontrol">Read More Control</a></h3>



<p class="wp-block-paragraph">A final basic Web design flaw with the Drupal core is that it places a truncated post&#8217;s&nbsp;<em>Read More</em>&nbsp;link way below where a user might actually notice it. Read More Control brings it back where it should be, within the text of the post&#8217;s teaser content.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/menu_block">Menu Block</a></h3>



<p class="wp-block-paragraph">The default main menu of Drupal is okay, but it is limited in that doesn&#8217;t easily let you create CSS flyouts or create sub menus in the sidebar as you dig deeper into the site. Menu block provides you with a highly customizable way to display menus whereever you want.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/pathauto">Pathauto</a></h3>



<p class="wp-block-paragraph">Pathauto is one of those modules (like views) that really just needs to be part of the core. It gives developers a way to create custom URL aliases based on all sorts of variables (using Tokens&#8230; see below). I typically use it to fake an organized directory structure to my sites. And, unlike WordPress&#8217;s path customization, it can be as general or specific as you like and doesn&#8217;t need to be based on dates or content IDs.&nbsp;</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/menu_position">Menu Position</a></h3>



<p class="wp-block-paragraph">This module is the second half of my strategy to get my sites to follow a psuedo-directory structure. It allows you to create rules that will make a particular set of content nodes appear as though they exist within a menu structure without having to individually assign each item to the menu tree.</p>



<h3 class="wp-block-heading"><a href="https://drupal.org/project/token">Token</a></h3>



<p class="wp-block-paragraph">Token is a behind the scenes module that provides a way for Drupal and other modules to use simple placeholders to output small bits of text like post titles, fields, tags, dates, etc.</p>



<h2 class="wp-block-heading">Honorable Mentions</h2>



<p class="wp-block-paragraph">There are a few more modules which I install most of the time but are not really essential in the way I believe the proceeding are. These include:&nbsp;<a href="https://drupal.org/project/date">Date</a>,&nbsp;<a href="https://drupal.org/project/field_group">Field Group</a>,&nbsp;<a href="https://drupal.org/project/captcha">Captcha</a>,&nbsp;<a href="https://drupal.org/project/webform">Webform</a>,&nbsp;<a href="https://drupal.org/project/colorbox">Colorbox</a>,&nbsp;<a href="https://drupal.org/project/entity">Entity</a>&nbsp;and&nbsp;<a href="https://drupal.org/project/libraries">Libraries</a>. Follow the links for more information.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://robertgomez.org/blog/2014/03/17/drupal-my-list-of-essential-modules/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Upgrading to Drupal 7</title>
		<link>https://robertgomez.org/blog/2013/09/08/upgrading-to-drupal-7/</link>
		
		<dc:creator><![CDATA[Robert Gomez]]></dc:creator>
		<pubDate>Sun, 08 Sep 2013 21:37:02 +0000</pubDate>
				<category><![CDATA[Robert's Blog]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[website]]></category>
		<guid isPermaLink="false">https://robertgomez.org/?p=2664</guid>

					<description><![CDATA[Well, I&#8217;ve finally decided to upgrade this site to the latest verison of Drupal. The actual process of migrating to version 7 wasn&#8217;t too bad. The majority of issues came from Views and fields not being named or typed the same way they were in Drupal 6. Changing all the views by hand was not [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Well, I&#8217;ve finally decided to upgrade this site to the latest verison of Drupal. The actual process of migrating to version 7 wasn&#8217;t too bad. The majority of issues came from Views and fields not being named or typed the same way they were in Drupal 6. Changing all the views by hand was not that difficult and it allowed me to do a bit of how cleaning withing views. Views in Drupal 7 is sooooo much better!</p>



<p class="wp-block-paragraph">The biggest challenge has been recreating the site&#8217;s theme. Although the general look and feel is more or less the same as before, I have made some visual tweaks here and there. The biggest change has been the fly-out menu and the switch to a responsive, mobile-friendly layout. I&#8217;m still working on getting that finished, but for the most part the site looks good on just about any size viewport.</p>



<p class="wp-block-paragraph">The only downside to the switch to Drupal 7 is that my host, MediaTemple&#8217;s Gridserver, has performance issues with the new system. There are a couple of tweaks that help, mainly changing references within the database file from &#8220;Innodb&#8221; to &#8220;MyISAM.&#8221; I have no idea what this does, but it helps keep the database from freezing up and timing out on the Gridserver.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
