- Switch to PHP 7.1 - copy httpdocs/cmts folder from standard - move admin menu from /common/admin/html/cmts.usermenu.html to /cmts/2.4/html - delete /common/admin/ (or rename to _admin to exclude from commit) - move all .less files from /common/css/modules to their module folder /modules//css/ (create if not exists) and rename to .css - delete /common/css/modules - backup /session.php, /admin.php, /index.php, /cache.php (rename to _*) and replace with new version - replace /translate with current version - check standard directives in .htaccess (expires on, pagespeed off), RewriteRule for "redirects.csv" and new RewriteRule for "^translate$" at the bottom - remove from .htaccess: ^video, ^playvideo, all "TinyMCE Integration", "htc"-Rule - backup and delete all folders in /common/img except the users img folder - move images in the users img folder to /upload/img/ - backup and delete /common/img - backup and delete all /common/html/cmts.*html and /common/html/section.html - backup and delete all /common/css/cmts*.css and jquery*.css and any other module related css - rename /common/css/css3.less to cmts.less - create /common/css/config.less and move all variables / mixin definition from the top of layout.less until headings() to this file - remove @imgdir-variable from /common/css/config.less - search and replace in less and css files: replace @{imgdir} with /img/ - remove /common/css/reset.css : reset() must be a mixin in /common/css/cmts.less, check this first - remove /common/css/fonts.css : fonts() must be a mixin in /common/css/config.less, check they match - optimal now in folder /common/css : cmts.less, config.less, layout.css, layout.less - no other files, fonts remain in subfolder /common/css/fonts - create folder /common/lib - clean up /common/js/cmts.js: only customizations in this file (like cookie bar initialize), remove all the rest of the code (is now in standard) - backup/remove /common/php/includes: folder is not in use anymore - copy /common/php/tools/redirects.php, /cache/clear.php - remove /common/php/tools/* except download.php, gradient.php, pixel.php, redirects.php, sitemap.php - inspect /config/cfg.common.php common_frontend_css, (common_frontend_module_css), common_frontend_js and move files one by one from /common/js to new /common/lib, create folders for plugins and versions subfolders if not already there, move the files to new location - backup and replace /config/cfg.cache.php, /config/cfg.system.php - edit /config/cfg.cache.php: add $libVersion for all the plugins previously copied and remove unused ones - see $commonFiles: make sure jquery.js is in LIB_ROOT in the correct version (see /config/cfg.project.js JQUERY_VERSION, download corresponding or update to new one (if compatible): https://code.jquery.com/jquery-1.11.3.js (replace version number with your version and copy the file to /common/lib/jquery//jquery-.js), fix $libVersion['jquery'] - check $pluginFiles array in cfg.cache.php: remove unused, add your own plugin files, respect $libVersion for all version numbers when adding paths - edit cfg.project.php: remove constants for backend, add/edit CMTS_VERSION = 2.4 at the top, remove JQUERY_*-constants - backup and remove /config/cfg.common.php - backup/replace in /common/php/classes (entire folders!): cache, cmts, db, error, editor, http, idna, less, mailer, mem, pgp, pictures, seo (module will be updated later), smtswidget (grab new one from smts-code page: http://smts.i-mts.net/u0658/de/widget/code?key=72da#smts-tab-api), tbs - backup/replace /common/php/functions/*, /common/php/tools/*, /common/html/layout.html - remove from /common/php/classes: benchmark, translate, video - backup/replace in /common/php/modules: common, /editor/admin/, /editor/css/tinymce.css (remove editor.css), languages, layouts, login, menu/admin, modules, page, sections, seo, sitemap, translate, users, module.php, modules.php - Attention now only GTM id is supported and it is not a constant anymore (relace /common/html/gtm.html with new version and remove CLIENT_GTM_ID from /config/cfg.project.php), check the seo-settings in the backend and enter the GTM_ID there if any. - check the correct include paths for classes in /session.php - copy /config/cfg.editor.php - Test the page in the browser. Probably some smaller fixes to .less and php - copy /upload/lang from standard - in Terminal: navigate to httpdocs folder, execute: chmod a+x translate ./translate convert writehtml ./translate convert writehtml admin - check network tab in Developer Tools for missing files - Login to the backend, expect errors - Execute seo-update.sql on the dev database from the standard in /database folder: **attention** - this will delete GTM and the global seo Information! - Reinsert GTM and standard title in the seo / seotext table. - search for occurences of $GLOBALS['resources'] and replace this logic with JS::addFile([url,options]) - empty /common/js: only cmts.js remains in this folder, only the used files will be moved to new /common/lib **ADD TO THIS LIST IF YOU FOUND PROBLEMS WORTH NOTING FOR NEXT TIME**