Upgrade guide

Follow step by step instructions to upgrade Appskull from one version to another version. before performing an update you should take your Appskull based site/app offline by replacing the index.php file in the root of Appskull with a static one and make sure to take a full backup of your site/app before perform the upgrade.

You can take more information about how to take a full backup of Appskull from this chapter: Backup and restoration.

Upgrading to v7.0 from v6.0

Database changes

Execute bellow SQL queries one by one against your Appskull v6.0 database. you can do this very easily by using a software like PHPMyAdmin or sequel pro.

Not sure about how to execute these SQL queries? check this example image: How to run SQL queries in PHPMyAdmin.

  1. ALTER TABLE `as__auth_password_reset_tokens` ADD INDEX( `userID`);

  2. ALTER TABLE `as__auth_remember_me_tokens` ADD INDEX( `userID`);

  3. ALTER TABLE `as__users_email_verification_tokens` ADD INDEX( `userID`);

  4. ALTER TABLE `as__users_usermeta` CHANGE `data` `data` LONGBLOB NULL DEFAULT NULL;

Files and directories changes

Replace/override bellow files/directories in Appskull v6.0 from v7.0

IMPORTANT: When replacing/overriding files/directories can lose your custom modifications that you have done to the Appskull. To avoid it, you have to compare those modified files with it's corresponding files in the latest Appskull release before do the replace/override.

Codeigniter upgrade
  • Replace [app root]/sys directory in v6.0 from [app root]/sys directory in Appskull v7.0.
  • Replace app/config/mimes.php file in v6.0 from corresponding file in v7.0.
Asset files
  • assets/themes/nuda/common/common/libs/bootstrap/bootstrap-4.3.1
  • Copy assets/themes/nuda/common/common/libs/tinymce_5.0.16 directory from v7.0 and paste it into assets/themes/nuda/common/common/libs directory in v6.0.
  • assets/themes/nuda/common/common/scss/_custom.scss
Config files
  • app/config/modules/app/appskull.php
Controller files
  • app/controllers/modules/auth/adminend/system/Settings.php
  • app/controllers/modules/auth/userend/Signup.php
  • app/controllers/modules/users/adminend/user_groups/User_groups.php
  • app/controllers/modules/users/adminend/user_permissions/User_permissions.php
  • app/controllers/modules/users/adminend/user_roles/User_roles.php
  • app/controllers/modules/users/adminend/user_statuses/User_statuses.php
  • app/controllers/modules/users/adminend/user_tags/User_tags.php
  • app/controllers/modules/users/adminend/users/Add_user.php
  • app/controllers/modules/users/adminend/users/Edit_user.php
  • app/controllers/modules/users/adminend/users/Users.php
Model files
  • app/models/modules/auth/userend/Signup_model.php
  • app/models/modules/users/adminend/user_groups/User_groups_model.php
  • app/models/modules/users/adminend/user_permissions/User_permissions_model.php
  • app/models/modules/users/adminend/user_roles/User_roles_model.php
  • app/models/modules/users/adminend/user_statuses/User_statuses_model.php
  • app/models/modules/users/adminend/user_tags/User_tags_model.php
  • app/models/modules/users/adminend/users/Add_user_model.php
  • app/models/modules/users/adminend/users/Users_model.php
View files
  • app/views/themes/nuda/common/adminend/header.php
  • app/views/themes/nuda/modules/pages/adminend/pages/add_page/add_page.php
  • app/views/themes/nuda/modules/users/adminend/users/add_user/add_user.php
Third-party packages/libraries
  • Copy app/third_party/htmlpurifier-4.11.0-lite directory in Appskull v7.0 and paste it into app/third_party directory in v6.0.

Upgrading to v6.0 from v5.0

Database changes

There is no any database changes in this update.

Files and directories changes

Replace/override bellow files/directories in Appskull v5.0 from v6.0

IMPORTANT: When replacing/overriding files/directories can lose your custom modifications that you have done to the Appskull. To avoid it, you have to compare those modified files with it's corresponding files in the latest Appskull release before do the replace/override.

Development specific files

NOTE: Don't upload these files into your production server. these files only for development work.

  • [app root]/gulpfile.js
Asset files
  • assets/themes/nuda/common/adminend/css/adminend.min.css
  • assets/themes/nuda/common/adminend/js/adminend.min.js
  • assets/themes/nuda/common/common/libs/bootstrap/bootstrap-4.3.1
  • assets/themes/nuda/common/common/libs/nudasoft/table_fixed_header_v1.0
  • Copy assets/themes/nuda/common/common/libs/nudasoft/table_stretcher_v1.0 directory from v6.0 and place it into assets/themes/nuda/common/common/libs/nudasoft directory in v5.0.
  • assets/themes/nuda/common/common/scss/_custom.scss
  • assets/themes/nuda/common/userend/css/userend.min.css
Config files
  • app/config/modules/app/appskull.php
Controller files
  • app/controllers/modules/users/adminend/user_groups/User_groups.php
  • app/controllers/modules/users/adminend/user_roles/User_roles.php
  • app/controllers/modules/users/adminend/user_statuses/User_statuses.php
  • app/controllers/modules/users/adminend/user_tags/User_tags.php
  • app/controllers/modules/users/adminend/users/Users.php
Model files
  • app/models/modules/users/adminend/user_groups/User_groups_model.php
  • app/models/modules/users/adminend/user_permissions/User_permissions_model.php
  • app/models/modules/users/adminend/user_roles/User_roles_model.php
  • app/models/modules/users/adminend/user_statuses/User_statuses_model.php
  • app/models/modules/users/adminend/user_tags/User_tags_model.php
  • app/models/modules/users/adminend/users/Users_model.php
View files
  • app/views/themes/nuda/modules/users/adminend/user_groups/user_groups/user_groups.php
  • app/views/themes/nuda/modules/users/adminend/user_roles/user_roles/user_roles.php
  • app/views/themes/nuda/modules/users/adminend/user_statuses/user_statuses/user_statuses.php
  • app/views/themes/nuda/modules/users/adminend/user_tags/user_tags/user_tags.php
  • app/views/themes/nuda/modules/users/adminend/users/users/users.php

Upgrading to v5.0 from v4.0

Database changes

Execute bellow SQL queries one by one against your Appskull v4.0 database. you can do this very easily by using a software like PHPMyAdmin or sequel pro.

Not sure about how to execute these SQL queries? check this example image: How to run SQL queries in PHPMyAdmin.

NOTE: There is no any database schema changes in this update. just only a database entry that needed to handle a specific user permission.

  1. INSERT INTO `as__users_permissions` (`ID`, `permissionKey`, `moduleSlug`, `permissionName`, `permissionDescription`, `permissionType`, `state`, `datetimeCreated`, `datetimeUpdated`) VALUES (NULL, 'app_viewAdminHome', 'app', 'View admin home', 'View app admin home/index.', 'origin', 'active', '', '');

Files and directories changes

Replace/override bellow files/directories in Appskull v4.0 from v5.0

IMPORTANT: When replacing/overriding files/directories can lose your custom modifications that you have done to the Appskull. To avoid it, you have to compare those modified files with it's corresponding files in the latest Appskull release before do the replace/override.

Asset files
  • assets/themes/nuda/common/adminend/css/adminend.min.css
  • assets/themes/nuda/common/common/libs
  • assets/themes/nuda/common/common/scss
  • assets/themes/nuda/common/userend/css/userend.min.css
Config files
  • app/config/autoload.php
  • Copy app/config/modules/app/appskull.php file from v5.0 and paste it into app/config/modules/app directory in v4.0.
  • app/config/modules/auth/config.php
  • app/config/routes.php
Controller files
  • app/controllers/Home.php
  • Copy app/controllers/modules/app/adminend/admin directory from v5.0 and paste it into app/controllers/modules/app/adminend directory in v4.0.
  • app/controllers/modules/app
  • app/controllers/modules/auth
  • app/controllers/modules/users
Model files
  • app/models/modules/users
View files
  • app/views/themes/nuda/common/adminend
  • app/views/themes/nuda/common/userend
  • Copy app/views/themes/nuda/home.php file from v5.0 and paste it into app/views/themes/nuda directory in v4.0.
  • app/views/themes/nuda/modules/app
  • app/views/themes/nuda/modules/auth
  • app/views/themes/nuda/modules/users

Upgrading to v4.0 from v3.0

Database changes

Execute bellow SQL queries one by one against your Appskull v3.0 database. you can do this very easily by using a software like PHPMyAdmin or sequel pro.

Not sure about how to execute these SQL queries? check this example image: How to run SQL queries in PHPMyAdmin.

  1. ALTER TABLE `as__users_users` ADD `datetimeLastActivity` DATETIME NOT NULL AFTER `datetimeUpdated`;

  2. INSERT INTO `as__users_permissions` (`ID`, `permissionKey`, `moduleSlug`, `permissionName`, `permissionDescription`, `permissionType`, `state`, `datetimeCreated`, `datetimeUpdated`) VALUES (NULL, 'users_viewUserOverview', 'users', 'View user overview', 'View user overview.', 'origin', 'active', '', '');

Files and directories changes

Replace/override bellow files/directories in Appskull v3.0 from v4.0

IMPORTANT: When replacing/overriding files/directories can lose your custom modifications that you have done to the Appskull. To avoid it, you have to compare those modified files with it's corresponding files in the latest Appskull release before do the replace/override.

Asset files
  • assets/themes/nuda/common/adminend/css/adminend.min.css
  • assets/themes/nuda/common/adminend/js/adminend.min.js
  • assets/themes/nuda/common/userend/css/userend.min.css
  • assets/themes/nuda/common/userend/js/userend.min.js
  • assets/themes/nuda/common/common/libs
Config files
  • app/config/modules/app/author.php
  • app/config/modules/auth/config.php
  • app/config/routes.php
Controller files
  • app/controllers/modules/auth
  • app/controllers/modules/users
  • app/core/MY_Controller.php
Library files
  • app/libraries/common/User.php
Model files
  • app/models/modules/auth
  • app/models/modules/users
View files
  • app/views/themes/nuda/common/adminend/header.php
  • app/views/themes/nuda/modules/app
  • app/views/themes/nuda/modules/auth
  • app/views/themes/nuda/modules/users

Upgrading to v3.0 from v2.0

This update is quite big update. you will have to follow many steps to do the upgrade. and we guarantee you that, upcoming updates will be smaller and easy upgrade.

Database changes

Execute bellow SQL queries one by one against your Appskull v2.0 database. you can do this very easily by using a software like PHPMyAdmin or sequel pro.

Not sure about how to execute these SQL queries? check this example image: How to run SQL queries in PHPMyAdmin.

  1. ALTER TABLE `as__users_user_tag_relations` ADD INDEX( `tagID`, `userID`);

  2. ALTER TABLE `as__users_user_role_relations` ADD INDEX( `roleID`, `userID`);

  3. ALTER TABLE `as__users_user_group_relations` ADD INDEX( `groupID`, `userID`);

  4. ALTER TABLE `as__users_users` ADD INDEX( `statusID`);

  5. ALTER TABLE `as__users_users` ADD `emailVerification` TINYINT(1) NOT NULL DEFAULT '0' AFTER `email`;

  6. CREATE TABLE `as__users_usermeta` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `userID` bigint(20) unsigned NOT NULL, `metaKey` varchar(180) COLLATE utf8mb4_unicode_520_ci NOT NULL, `metaValue` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL, `data` longblob NOT NULL, `datetimeCreated` datetime NOT NULL, `datetimeUpdated` datetime NOT NULL, PRIMARY KEY (`ID`), KEY `userID` (`userID`), KEY `metaKey` (`metaKey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

  7. CREATE TABLE `as__users_email_verification_tokens` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `userID` bigint(20) unsigned NOT NULL, `token` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL COMMENT 'Two way hash', `data` longblob, `datetimeCreated` datetime NOT NULL, `datetimeUpdated` datetime NOT NULL, `datetimeExpiration` datetime NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

  8. ALTER TABLE `as__auth_remember_me_tokens` CHANGE `token` `token` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL COMMENT 'One way hash';

  9. ALTER TABLE `as__auth_password_reset_tokens` CHANGE `token` `token` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL COMMENT 'Two way hash';

  10. ALTER TABLE `as__auth_password_reset_tokens` ADD `data` LONGBLOB NULL DEFAULT NULL AFTER `token`;

  11. ALTER TABLE `as__auth_password_reset_tokens` ADD `datetimeUpdated` DATETIME NOT NULL AFTER `datetimeCreated`;

  12. ALTER TABLE `as__auth_password_reset_tokens` ADD `datetimeExpiration` DATETIME NOT NULL AFTER `datetimeUpdated`;

Files and directories changes

"assets" directory

Delete "assets" directory from Appskull v2.0 and replace it with Appskull v3.0's "assets" directory. after that add/override your custom files or edited files from Appskull v2.0 to Appskull 3.0.

"config" files and directories

Delete app, auth and users directories in app\config\modules directory in Appskull v2.0 and replace them with same directories in Appskull v3.0 app\config\modules directory. after that add or override your custom or edited config files from Appskull v2.0 to v3.0.

"controllers", "core", "libraries", "models" and "views" files and directories

Delete those directories in app directory in Appskull v2.0 and replace with corresponding directories from Appskull v3.0. then add/override changed or newly added files and directories from Appskull v2.0 to Appskull v3.0.


Upgrading to v2.0 from v1.0

Database changes

There is no any database changes.

Files and directories changes

  1. Delete all the files and directories in the app/controllers directory of Appskull v1.0 and copy paste all the files and directories in the app/controllers directory of Appskull v2.0 into Appskull v1.0 app/controllers directory.

  2. Delete all the files and directories in the app/models directory of Appskull v1.0 and copy paste all the files and directories in the app/models directory of Appskull v2.0 into Appskull v1.0 app/models directory.

  3. Delete all the files and directories in the app/views directory of Appskull v1.0 and copy paste all the files and directories in the app/views directory of Appskull v2.0 into Appskull v1.0 app/views directory.

Copyright © Nudasoft.