Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf•...

24
Drupal 6 to 7 Migration Adelle Frank Georgia Tech Rock Eagle 2017 http://adellefrank.com

Transcript of Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf•...

Page 1: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Drupal6to7Migration

AdelleFrankGeorgiaTech

RockEagle2017

http://adellefrank.com

Page 2: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

MeetWebbie theZombie

Webbie outlinesmaintopics:

1. Undead(cartoonzombiewithtools)

2. *Audit(magnifyingglass)3. Clean(broom)4. Practice(targeton

forehead)

Page 3: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Whohereuses…?Drupal(6,7,8,other)?

AnotherCMS?

Planning/Implementingamigration?

Page 4: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Undead:DoNOTdoitlive!• Frequent,

timestampedbackupsofyourfilesanddatabase

• Alwaysusedevelopment,notlivesite

• Duringmigration,planacontentfreezeforlivesite

Page 5: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

UndeadBestPractices• Tip:Separatebackupsfor:• Corefiles versusthesitesfolder,and• Database’sstructure versusthedata

• Tip:Changenameofdevelopment’sdatabase• Tool:StaticSitearchivehttp://www.httrack.com• Tool:Staticonlinearchive(forsmallsites)

http://web.archive.org• Moreinformationonbackingup&migrating:• https://www.drupal.org/node/22281• https://www.drupal.org/node/333675

Page 6: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

YourNon-LiveBestPractices…orGotchas…orTools

?

Page 7: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

AuditalltheThings…andKeepnotes

Page 8: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

AuditingRulesofThumb• Non-custom:Checkversion andcompare files

toout-of-the-boxfilesforthatversion• Tool:diff-qr

https://www.unixtutorial.org/2008/06/how-to-compare-directories-in-unix/

• Takenotesoneachaudityoudo(soyoudon’trepeat,andsoyouwillhaveaplanforchangesduringmigration)• Tool:Spreadsheets

Page 9: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:Non-CustomPackages• Library =3rd partypackages(CKEditor)• Module =Plug-in.• Isitenabled? Tool:drush

drush pm-list--format=csv--status=enabledhttps://drushcommands.com/drush-7x/pm/pm-list/

• Notecustommodules.• Theme =DesignorAppearance.• Notecustomtemplates=hintsofspecial

contenttypesordisplays

Page 10: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

WhatElseWouldYouAudit?

?

Page 11: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:Users• Users:Accounts,Roles,Permissions• Tool: NativeinterfaceforAdministration

/admin/user/user• Tool:ViewsDataExport

https://www.drupal.org/project/views_data_export• Tool:SQL

https://webdev.iac.gatech.edu/drupal-8-migrationSELECTu.name,count(*)FROM`node_revisions`nrLEFTJOIN`users`uON(u.uid=nr.uid)GROUPBYnr.uid;

• Tool:drush role-list

Page 12: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:URLs• MapnodeidstoURLaliasesandredirects• Absolutevs.relativelinks(inmenus&content)• Checkforbrokenlinks&generatesiteinventory• Tool:Xenu(Windows)

http://home.snafu.de/tilman/xenulink.html• Tool:LinkLint (*nix)

http://www.linklint.org• Tool:SQL(thoughmaybeincomplete)

SELECTsrc,dstFROMurl_alias;

Page 13: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:Contenttypes• Tool:SQL

SELECTtype,COUNT(*)FROM`node`GROUPBYtype;

• Tool:drush evaldrush eval "print_r(array_keys(node_get_types()));"

Page 14: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:Contentinventory• GatherVisitordatafromanalyticssoftware:

Lastvisitdateandnumberoversemester/year• Tool:ExportbelowdatatoCSVwithViewsData

Exportmodule:

• NodeID• Title• Published?• UpdatedDate

• Createddate• URLalias• Author

Page 15: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Audit:Files• Files canbedifficulttoinventoryifnot

managedasaseparateattachmentstoanode(suchaswhenimagesplaceviaatexteditor).

• Tool:SQLSELECT*FROMfilesWHEREstatus =1;

• Tool:Xenuorlinklint (findactuallyusedfiles)• Tool:Commandline(filemodifiedandaccess

dates)

Page 16: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Cleanliness=aSacredBroom

CleanBEFOREyoumigrate.

Page 17: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

CleanyourR.O.T.&Prioritize

• Redundant• Outdated• Trivial(Analyticshelpfuldata)

Page 18: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

What/Howwouldyouclean?

Page 19: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Clean:Modules,Libraries&Themes

• RemoveDisabled• RemoveUnused• Notecustomizations&theirimportance

Page 20: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Clean:Users&Content• Tool:AdminViews

https://www.drupal.org/project/admin_views• Useearliercontentinventoriestoevaluatefor

R.O.T.• Prioritize(usingAnalyticsandInventory)which

contenttoperformmoredetailedqualityassuranceupon.

Page 21: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Clean:LinksandFiles• Tool:UseSQLtoreplace updatedfilepaths

withincontenthttp://adellefrank.com/blog/how-to-replace-html-drupal-database-phpmyadmin-sql

• Tool:XenuandLinklink (fixbrokenlinks)• Removenon-usedfilesfoundinyourearlier

inventory

Page 22: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

PracticeandPlan• BatchimportingXMLfilesfrom

ViewsDataExportsavesmemory(forFeeds).

• Advertiseyourcontentfreezegreatlyinadvance.

• Youshouldnotneedtodoitlive,2zombiesiteswillbesafer.

• Testmigrationmultipletimes.• Migratedependentcontentfirst

(authorsbeforepages).

Page 23: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

PlanandPracticeIdeas?

Page 24: Drupal 6 to 7 Migration - Adelle Frankadellefrank.com/sites/default/files/rockeagle2017.pdf• Advertise your content freeze greatly in advance. • You should not need to do it live,

Comments,Questions,ZombieJokes?