Upgrading from SMS to Nova is an easy process that should take anywhere between 5 and 10 minutes to complete depending on your server and Internet connection. In order to upgrade to Nova on your server, you'll need the following information:
In order to upgrade to Nova, you must be using the same database as your SMS tables are in. If you want to do an upgrade in another table, you'll need to export your SMS tables to a file and then import them into the new table to use during the upgrade process.
Before you begin, you'll also need to set the upgrade password and email address (discussed later).
Note: This upgrade guide is long and can seem daunting, but we encourage you to read through the whole thing before beginning the upgrade process.
The first thing we recommend doing is backing up your SMS files to your computer. Once you have downloaded the files, you can store them some place safe in the event you need to access the files. You can also choose to push the files into their own sub directory on the server, but doing so can create complications if someone is posting on the old site.
To begin with the upgrade, delete all the files from the directory where you'll be storing Nova. Once the directory is cleaned out, you can safely upload the Nova files up to your server.
Before you can begin the installation, there are a couple steps you need to do.
The first thing you'll need to do before installing Nova is to set up your database connection parameters. If the connection isn't setup properly, you won't be able to connect to the database to create the tables needed and insert the necessary data. To set your database connection parameters, open
application/config/database.php. Several variables on the page need to be filled out in order to continue.
Simply fill in the variables with your own values, making sure that you don't remove any of the quotation marks in the process.
$db['default']['hostname'] = "localhost"; $db['default']['username'] = "username"; $db['default']['password'] = "password"; $db['default']['database'] = "database_name"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = "nova_";
For users who have hosts with other options, CodeIgniter allows setting whether or not to cache queries, where to cache them to, whether to use a persistent connection and allowing changes to the charcter set and collation of the database. Changing these settings is only recommended for advanced users or if absolutely necessary.
Nova allows users to upload their own images to the server and use them in their bios. In order to allow this feature, you have to configure the FTP library. In order to do that, you'll need to edit
By default, Nova ships with DS9 as the default genre, but you can change that to a wide variety of options. In order to change this information, open
Simply change the genre code to the genre you want. A complete list of available genres can be seen directly above this line of code. Putting in a value that is not in this list and does not have an install file and assets directory will cause the system to break!
$config['genre'] = "DS9";
The Nova config file also gives you other options to change. Besides changing your genre, you can also change the meta data associated with the site and RSS feed information.
You can choose which SMS items you want upgraded to Nova through the SMS config file located at
application/config/sms.php. By default, Nova will upgrade the following items:
Note: Characters and players will be automatically upgraded and the option cannot be turned off.
If you want to change the options for which items are upgraded, simply change the value of the item to FALSE. Unlike other places, the words false should not be in quotation marks. An updated options array would look like this:
$config['sms'] = array( 'awards' => TRUE, 'settings' => FALSE, 'logs' => TRUE, 'missions' => TRUE, 'news' => FALSE, 'posts' => TRUE, 'specs' => TRUE, 'tour' => FALSE );
Because of the difference in encryption hashes being used to store passwords, Nova cannot transfer passwords from the SMS format to the Nova format. Because of this, you can set the password that all members of the sim will have to use in order to login the first time. Once they've logged in, they can change their password through the Accounts page. To change the password, simply change the
sms\_password line in the SMS config file.
$config['sms_password'] = 'password';
Note: We highly recommend you change the password before beginning the upgrade process!
In order to set proper access roles to allow you to login and manage your new Nova site, you will need to set the email address you use for your account in SMS in the SMS config file. This can be set in the SMS config file located at
$config['sms_email'] = 'firstname.lastname@example.org';
Note: If you don't change the email address, you will not have access to the management features when you log in!
Before you do anything with Nova, we recommend that you back up your SMS files and database before beginning.
Note: The first thing Nova attempts to do when upgrading is backup your database and store it as a zip archive on your server. Larger SMS database may not be able to be backed up because of the resources required to do so. You should always manually backup your database before making major changes.
To begin the upgrade process, open your browser and navigate to your site. Nova will automatically try to see if Nova is installed. If it isn't found, you will be redirected to the installation center where you can select the upgrade option. Simply follow the prompts through the process to install Nova and upgrade your data from the SMS format to the Nova format.
Once Nova is installed, the rest of the upgrade process will continue automatically.
Note: The only time Nova touches the SMS tables is to read or copy them and will never make any changes to them. The SMS tables will remain intact throughout the upgrade process.
Due to the vast amount of data being transferred from the SMS tables to the Nova tables, the upgrade process can take several minutes to complete depending on your server and internet connection. Please be patient and don't hit the back button or close the browser. Doing so may require you to wipe out the Nova database tables and start all over again.
The following items will be upgraded during the upgrade process.
Nova stores site settings in a much different way allowing for admins to create new settings they can use in their own controller methods. Because of that and that many of SMS' site globals are obsolete, we only pull a select few items from the SMS database into the Nova settings table.
Note: The first thing Nova does during this step is checks for the existence of a table called sms_settings. This is done because of issues some users have had that have required changing the name of the globals table in SMS. If Nova doesn't find that table, it'll fall back and use sms_globals. You do not need to change anything in your database to continue.
In addition to site globals, Nova will also pull six of the messages out of SMS and put them into the proper places. The messages that will be pulled for the upgrade are:
Nova will copy the data from the SMS awards table to the Nova awards table. In the process, it will rename the fields to use the proper names and add columns as necessary. The reason we copy the data instead of looping through and inserting is to ensure the award IDs remain the same so that users don't lose their awards.
Nova will copy the data from the SMS missions table to the Nova missions table. In the process, it will rename the fields to use the proper names and add columns as necessary. The reason we copy the data instead of looping through and inserting is to ensure the mission IDs remain the same so that mission posts don't lose their association with their missions.
Nova will copy the data from the SMS news categories and new items tables to the respective Nova tables. In the process, it will rename the fields to use the proper names and add or remove columns as necessary. The reason we copy the data instead of looping through and inserting is to ensure the category IDs remain intact for the news items to use.
Nova will copy the data from the SMS personal logs table to the Nova personal logs table. In the process, it will rename the fields to use the proper names and add or remove columns as necessary.
Nova will copy the data from the SMS posts table to the Nova posts table. In the process, it will rename the fields to use the proper names and add or remove columns as necessary. Depending on the number of mission posts you have, this process could take several minutes to run.
Nova's specifications system was built in a very similar way to the way SMS is set up for specifications, so upgrading the data is relatively easy, though you may find some things are slightly off when it comes to defensive systems and weapons systems that you may have to manually update to be more accurate. Besides these minor issues, all your information should be transferred.
Note: If you have made modifications to the specs pages and database table, those changes will not be transferred and you'll have to make those changes after the upgrade process is complete.
Nova's tour items system was built in a very similar way to the way SMS is set up for tour items, so upgrading the data is relatively easy.
Note: If you have made modifications to the tour pages and database table, those changes will not be transferred and you'll have to make those changes after the upgrade process is complete.
Easily the most intensive part of the upgrade process, Nova needs to take data from a single SMS table and disperse it across four different database tables and maintain the relationships between the data.
The first thing that'll be done is pulling player data from SMS and populating the Nova players table. Because people can have multiple accounts, Nova collects the most recent information for inserting into the database into a single entry. (The exception to this is the join date which uses the earliest entry.) Nova will use the real name, email address, join date, leave date, status and moderation flags.
After creating the player records, Nova will pull the character specific information out of SMS and insert basic data into the characters table and the rest of the data into the characters data table. For the basic information, Nova will use first name, middle name, last name, first position, second position, rank and images.
Note: Nova uses a position translation function to try and convert SMS positions to Nova DS9 positions. For this to work perfectly, you need to have not made any changes to your positions table. If you have, you'll just have to update some of the characters' positions after the upgrade process is finished. The same goes for ranks.
SMS uses a 32-bit MD5 hash to store passwords, ensuring that only the account holder knows the password. Nova uses a more secure 40-bit SHA1 hash to store passwords. Because of the fact that MD5 hashes can't easily be decrypted, all users will have the same password until they login to change it. You can set the password in the SMS config file located at
On PHP 5 systems, Nova will attempt to change several permissions in order to ensure all the upload features and backup features work properly. If you are running a server that uses PHP 4 or your server doesn't support allowing scripts to change permissions, you will have to make those changes manually. If you don't know how to change file permissions on your server, contact your host.
You will need to make sure that several directories are writable (777) in order for all the upload features to work:
While we strive to make the upgrade process as seamless and accurate as possible, there's just no way to make it 100% accurate for 100% of the sims using SMS. If you've made any changes to your positions, departments or ranks, you'll have to manually make changes to characters. Because of the need to make these changes, Nova may throw errors (depending on what you've set your error reporting level to). These errors will go away when you've made the necessary updates. Below is a list of the errors you may encounter after an upgrade:
Nova may throw an error about an undefined index in the characters_index.php file. This is caused by Nova looking for a department ID that doesn't exist. Once all your characters have been reassigned to their proper positions, the error will go away.
Nova may throw an error about an undefined index in the characters_npcs.php file. This is caused by Nova looking for a department ID that doesn't exist. Once all your NPCs have been reassigned to their proper positions, the error will go away.
Log in with your AnodyneID to rate this article or submit the article for review.