User Tools


  1. Switch to PHP 7.1
  2. copy httpdocs/cmts folder from standard
  3. move admin menu from /common/admin/html/cmts.usermenu.html to /cmts/2.4/html
  4. delete /common/admin/ (or rename to _admin to exclude from commit)
  5. move all .less files from /common/css/modules to their module folder /modules/<modulename>/css/ (create if not exists) and rename to .css
  6. delete /common/css/modules
  7. backup /session.php, /admin.php, /index.php, /cache.php (rename to _*) and replace with new version
  8. replace /translate with current version
  9. check standard directives in .htaccess (expires on, pagespeed off), RewriteRule for “redirects.csv” and new RewriteRule for “^translate$” at the bottom
  10. remove from .htaccess: ^video, ^playvideo, all “TinyMCE Integration”, “htc”-Rule
  11. backup and delete all folders in /common/img except the users img folder
  12. move images in the users img folder to /upload/img/
  13. backup and delete /common/img
  14. backup and delete all /common/html/cmts.*html and /common/html/section.html
  15. backup and delete all /common/css/cmts*.css and jquery*.css and any other module related css
  16. rename /common/css/css3.less to cmts.less
  17. create /common/css/config.less and move all variables / mixin definition from the top of layout.less until headings() to this file
  18. remove @imgdir-variable from /common/css/config.less
  19. search and replace in less and css files: replace @{imgdir} with /img/
  20. remove /common/css/reset.css : reset() must be a mixin in /common/css/cmts.less, check this first
  21. remove /common/css/fonts.css : fonts() must be a mixin in /common/css/config.less, check they match
  22. optimal now in folder /common/css : cmts.less, config.less, layout.css, layout.less - no other files, fonts remain in subfolder /common/css/fonts
  23. create folder /common/lib
  24. 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)
  25. backup/remove /common/php/includes: folder is not in use anymore
  26. copy /common/php/tools/redirects.php, /cache/clear.php
  27. remove /common/php/tools/* except download.php, gradient.php, pixel.php, redirects.php, sitemap.php
  28. 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
  29. backup and replace /config/cfg.cache.php, /config/cfg.system.php
  30. edit /config/cfg.cache.php: add $libVersion for all the plugins previously copied and remove unused ones
  31. 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/<version>/jquery-<version>.js), fix $libVersion['jquery']
  32. check $pluginFiles array in cfg.cache.php: remove unused, add your own plugin files, respect $libVersion for all version numbers when adding paths
  33. edit cfg.project.php: remove constants for backend, add/edit CMTS_VERSION = 2.4 at the top, remove JQUERY_*-constants
  34. backup and remove /config/cfg.common.php
  35. 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
  36. backup/replace /common/php/functions/*, /common/php/tools/*, /common/html/layout.html
  37. remove from /common/php/classes: benchmark, translate, video
  38. 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
  39. 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.
  40. check the correct include paths for classes in /session.php
  41. copy /config/cfg.editor.php
  42. Test the page in the browser. Probably some smaller fixes to .less and php
  43. copy /upload/lang from standard
  44. in Terminal: navigate to httpdocs folder, execute:
chmod a+x translate
./translate convert writehtml
./translate convert writehtml admin
  1. check network tab in Developer Tools for missing files
  2. Login to the backend, expect errors
  3. Execute seo-update.sql on the dev database from the standard in /database folder: attention - this will delete GTM and the global seo Information!
  4. Reinsert GTM and standard title in the seo / seotext table.
  5. search for occurences of $GLOBALS['resources'] and replace this logic with JS::addFile([url,options])
  6. 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