<?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; Jaytria</title>
	<atom:link href="https://api.jaytria.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>https://api.jaytria.com</link>
	<description>Web &#124; Technology</description>
	<lastBuildDate>Wed, 09 Feb 2022 06:08:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://api.jaytria.com/wp-content/uploads/2019/06/cropped-Jaytria-1-32x32.png</url>
	<title>Web Development &#8211; Jaytria</title>
	<link>https://api.jaytria.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Migrating Drupal 7 to Backdrop 1.x &#8211; The Important Parts</title>
		<link>https://api.jaytria.com/2022/01/21/migrating-drupal-7-to-backdrop-1-x-the-important-parts/</link>
					<comments>https://api.jaytria.com/2022/01/21/migrating-drupal-7-to-backdrop-1-x-the-important-parts/#respond</comments>
		
		<dc:creator><![CDATA[Justin]]></dc:creator>
		<pubDate>Fri, 21 Jan 2022 03:14:56 +0000</pubDate>
				<category><![CDATA[Backdrop CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Upgrading Drupal]]></category>
		<guid isPermaLink="false">https://blog.jaytria.com/?p=195</guid>

					<description><![CDATA[Backdrop promises to offer an easier upgrade process than making the jump to Drupal 9+ but it&#8217;s not without its pitfalls. Fortunately the upgrade process is not heinously difficult. This guide serves as an overview and breaks down the migration process described in the official documentation. 1. Test for Theme Compatibility The biggest change between &#8230; <p class="link-more"><a href="https://api.jaytria.com/2022/01/21/migrating-drupal-7-to-backdrop-1-x-the-important-parts/" class="more-link">Continue reading<span class="screen-reader-text"> "Migrating Drupal 7 to Backdrop 1.x &#8211; The Important Parts"</span></a></p>]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image is-style-default"><figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="566" height="345" src="https://api.jaytria.com/wp-content/uploads/2022/01/drupalmigrationheadingsource.gif" alt="Migrating Drupal 7 to Backdrop CMS" class="wp-image-212"/><figcaption>Backdrop is designed to act as the next version of Drupal 7 but the migration process is not necessarily seamless.</figcaption></figure></div>



<p class="has-drop-cap">Backdrop promises to offer an easier upgrade process than making the jump to Drupal 9+  but it&#8217;s not without its pitfalls.</p>



<p>Fortunately the upgrade process is not heinously difficult.</p>



<p>This guide serves as an overview and breaks down the migration process described in the <a href="https://docs.backdropcms.org/documentation/upgrading-from-drupal">official documentation</a>.</p>



<h2 class="wp-block-heading">1. Test for Theme Compatibility</h2>



<p>The biggest change between Drupal 7 and Backdrop has to do with how content is displayed to the user. Any custom themes you may have may not be compatible with how Backdrop displays site data. This change allows for Backdrop to do fantastic things out of the box but it accomplishes it by adding a killer feature that Drupal 7 doesn&#8217;t have &#8212; layouts.</p>



<p>Check out the official <a href="https://docs.backdropcms.org/converting-themes">theme conversion documentation</a> for more details if your theme is not compatible with Backdrop&#8217;s theme system.</p>



<h2 class="wp-block-heading">2. Test for Module Compatibility</h2>



<p>Drupal modules will not work out of the box with Backdrop. Test each module you rely on to make sure that either the functionality it provides hasn&#8217;t either been included in Backdrop core or works as intended on the new version.</p>



<p>Many modules need only slight tweaks in order to work with Backdrop, but in the event you rely on some API features that have been altered you can find examples for how to use nearly any function and API call through <a href="https://backdropcms.org/project/examples">Backdrop&#8217;s examples module</a>.</p>



<p>The <a href="https://forum.backdropcms.org/">developer forum</a> is also very friendly if you find yourself stuck anywhere along the way.</p>



<p>The Backdrop documentation also offers more detailed information regarding <a href="https://docs.backdropcms.org/converting-modules-from-drupal">module conversion.</a></p>



<h2 class="wp-block-heading">3. Create a Copy of Your Drupal 7 Site</h2>



<p>Once you have made sure your themes and modules are compatible with Backdrop then Backdrop can handle migrating your database over pretty easily. To be as safe with your data as possible we&#8217;ll duplicate your Drupal site and migrate the duplicate over just in case something goes wrong somewhere along the way.</p>



<h3 class="wp-block-heading">Create a New Database and Admin Account</h3>



<p>You&#8217;ll need to create a new empty database, username, and password for Backdrop to use.</p>



<p>Usually this can be also be done in the server&#8217;s settings panel.</p>



<h3 class="wp-block-heading">Clone the Old Database</h3>



<p>Copy your old database into the new one that you just created for Backdrop. Use your new user with admin privileges. </p>



<p>You can accomplish this using a single command in the terminal.</p>



<pre class="wp-block-code"><code>mysqldump orig_drupal_db -u drupal_db_user --password=mYDrupalDBP@ssw0rd | mysql -u new_backdrop_user -p new_backdrop_db</code></pre>



<p>You will be asked to verify the new password and boom &#8212; a duplicated database.</p>



<h3 class="wp-block-heading">Clone the Old Drupal Site</h3>



<p>Copy every file to the new Backdrop location. This ensures that your Drupal 7 site will still work after this update should you need to reference or fall back to it in the future.</p>



<p>Use cp with the <code>-r</code> flag to deep copy the site contents. </p>



<pre class="wp-block-code"><code>cp -r ./old_drupal_location ./new_backdrop_location</code></pre>



<h3 class="wp-block-heading">Update Database Credentials</h3>



<p>In order to get the new copied Drupal site to access the new database you&#8217;ll need to use the new credentials you made. <strong>Do not run update.php</strong>. You&#8217;ll need to add the new database username and password to the settings.php file.</p>



<p>The default location for the site&#8217;s configuration file will be in:</p>



<p><code>new_backdrop_location/sites/default/settings.php</code></p>



<pre class="wp-block-code"><code>247 $databases = array (
248   'default' =&gt;
249   array (
250     'default' =&gt;
251     array (
252       'database' =&gt; 'new_backdrop_db',
253       'username' =&gt; 'new_backdrop_user',
254       'password' =&gt; 'newBackdropDBP@ssw0rd',
255       'host' =&gt; 'localhost',
256       'port' =&gt; '',
257       'driver' =&gt; 'mysql',
258       'prefix' =&gt; '',
259     ),
260   ),
261 );
</code></pre>



<p>Look for the above lines and update them with the new user and database credentials you created earlier.</p>



<h2 class="wp-block-heading">4. Turn It Off</h2>



<p>Login to your now duplicated Drupal 7 site using your old Drupal administration credentials. <code>https://mynewbackdropsite.com/user</code></p>



<p>Make sure any installed modules are compatible with Backdrop and turn off any modules that aren&#8217;t.</p>



<p><strong>Make sure the theme is set to Bartik.</strong></p>



<p>Set site to Maintenance mode and kiss Drupal goodbye.</p>



<h2 class="wp-block-heading">5. Replace Core Files</h2>



<p>Add all files from the Backdrop repository replacing the <code>core</code>, <code>themes</code>, and <code>modules</code> folders with backdrop&#8217;s <code>core</code>, <code>themes</code>, and <code>modules</code> folders etc. <strong>Take care not  to replace the <code>sites</code> folder in the update process.</strong></p>



<p><strong>Do not run update.php until the end of step 8.</strong></p>



<h2 class="wp-block-heading">6. Add Modules, Layouts, and Themes to Their Respective Folders</h2>



<p>Any modules and themes that you want to use should now be moved to the <code>new_backdrop_location/modules</code> and <code>new_backdrop_location/themes</code> folder. </p>



<p>Backdrop changes the location of your contributed modules and themes directories to the site root instead of inside the <code>sites</code> folder. This means that going forward all core files will be located within the <code>core</code> directory.</p>



<h2 class="wp-block-heading">7. Move <code>files</code> Location</h2>



<p>Move any user files from <code>new_backdrop_location/sites/default/files</code> to <code>new_backdrop_location/files</code>  </p>



<p>Create a soft link from <code>new_backdrop_location/sites/default/files</code> to <code>new_backdrop_location/files</code></p>



<pre class="wp-block-code"><code>ln -s new_backdrop_location/sites/default/files new_backdrop_location/files</code></pre>



<h2 class="wp-block-heading">8. Update Backdrop&#8217;s Configuration File</h2>



<p>Backdrop stores its configuration in a different location than Drupal.</p>



<p><code>new_backdrop_location/settings.php</code></p>



<pre class="wp-block-code"><code>  7 /**
  8  * Database configuration:
  9  *
 10  * Most sites can configure their database by entering the connection string
 11  * below. If using master/slave databases or multiple connections, see the
 12  * advanced database documentation at
 13  * https://api.backdropcms.org/database-configuration
 14  */
 15 $database = 'mysql://user:pass@localhost/database_name';
 16 $database_prefix = '';
</code></pre>



<p>Change Line 15 to include the correct database credentials.</p>



<p>While you&#8217;re in this file change <code>update_free_access</code> on Line 59 to <code>TRUE</code>. </p>



<pre class="wp-block-code"><code> 48 /**
 49  * Access control for update.php script.
 50  *
 51  * If you are updating your Backdrop installation using the update.php script
 52  * but are not logged in using either an account with the "Administer software
 53  * updates" permission or the site maintenance account (the account that was
 54  * created during installation), you will need to modify the access check
 55  * statement below. Change the FALSE to a TRUE to disable the access check.
 56  * After finishing the upgrade, be sure to open this file again and change the
 57  * TRUE back to a FALSE!
 58  */
 59 $settings&#91;'update_free_access'] = TRUE;
</code></pre>



<p>This will allow the update to proceed without needing to be logged in.</p>



<p>Save your changes to the configuration file and visit the update page:</p>



<p><code>http://mynewbackdropsite.com/core/update.php</code></p>



<p>Proceed with all the updates and before long you will be purring along with Backdrop.</p>



<h2 class="wp-block-heading">9. Secure Your Site</h2>



<p>After the update script finishes you&#8217;ll need to set <code>update_free_access</code> in the backdrop <code>settings.php</code> file back to FALSE.</p>



<p>Finally, enable your custom themes, layouts, and modules before turning off maintenance mode.</p>



<h2 class="wp-block-heading">10. Fix CRON</h2>



<p>If you have cron set up on your server you&#8217;ll need to update the location the cron job visits. The correct location will be listed at <code>https://mynewbackdropsite.com/admin/config/system/cron</code></p>



<p>Because all of Backdrop&#8217;s core files exist in the <code>core</code> folder, you&#8217;ll need to remember to include <code>/core</code> in the <code>cron.php</code> and <code>update.php</code> paths.</p>



<p>For instance the cron path is <code>https://mynewbackdropsite.com/core/cron.php?cron_key=abc123...</code></p>



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



<p>While Backdrop is very similar to Drupal 7, some key changes have been made to provide for the long term stability of the platform. By removing some of the cruft of Drupal 7 a few pain points in the update process may appear &#8212; particularly when using custom modules and themes. Overall though, the Backdrop foundation seeks to update the system while also maintaining as much compatibility with existing server infrastructure as possible. </p>



<p>The developers of Backdrop continue to add documentation to the site but sometimes you just need to talk to someone knowledgeable about the system. The <a href="https://forum.backdropcms.org/">forums</a> are a great place to ask project specific questions and to get help with things that you may be stuck on.</p>



<p>If you like Backdrop you can also <a href="https://backdropcms.org/news/meetings">attend community meetings</a> to get involved with the development process or contribute to the code base.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://api.jaytria.com/2022/01/21/migrating-drupal-7-to-backdrop-1-x-the-important-parts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 
Content Delivery Network via N/A
Lazy Loading (feed)
Minified using Disk
Database Caching 18/26 queries in 0.002 seconds using Disk

Served from: api.jaytria.com @ 2026-05-08 14:45:25 by W3 Total Cache
-->