Updating KP Learner Manager Enterprise Edition X on Your Server Third Party Software KP Learner Manager Enterprise provides links to some third party products, like Skype (www.skype.com) and PayPal (www.paypal.com). This third party software is not provided with KP Learner Manager, nor are any accounts created for you. If you wish to use these products, you are responsible for account creation, installation and any costs associated with the use of this third party software. We do not provide support for third party products if you have any support issues with either PayPal or Skype, you must contact the publishers of this software. Before You Go Live Before you take any courses you have deployed in KP Learner Manager Enterprise live, it is important to ensure that you have installed in a test environment, tested your installation, and that it operates as expected. Any issues that arise during testing or deployment can be sent directly to us at support@knowledgepresenter.com, or logged in the support forum at http://support.knowledgepresenter.com. Important Upgrade Information KP Learner Manager Enterprise edition is always upgraded with an important fixes and new features. You can upgrade at any time to same major version as you have a license for. To upgrade, if you are eligible, visit http://www.knowledgepresenter.com/support/downloadrelease.html. Updating KP Learner Manager Enterprise Edition X On Your Server This paper discusses how to update your copy of KP Learner Manager Enterprise Edition on your server. By this we mean you are using a version of KP Learner Manager Enterprise lower than the current version, and you just want to make sure that the server has all the latest control files and features. To determine what version of KP Learner Manager Enterprise you are currently running on the server, run the Administrator Panel on your server. At the bottom of the screen, it will display what version you are currently running. The current version of KP Learner Manager Enterprise is visible at http://www.knowledgepresenter.com/assets/updatekplme7.htm. So you can compare the version on this page with your version to determine whether your version requires updating. This page will also display the new features in each incremental version. This page also lets you download the very latest version if you are entitled to do so. Once Downloaded Once you ve downloaded the latest version onto your local machine, or directly to your server, run the installation program to install it. This will not update any existing courses, just installs it as a program on your computer. Backup Existing Installation This update will affect the kplms folder, found in the root of the course. Ensure that you take a complete backup of this folder before attempting this update. If something goes wrong, you ll be able to get the old installation back. Also, now is a GREAT time to back up your database once again, if anything goes wrong, you ll be able to restore your old installation. Page 1
The Simple Update To update your existing courses on your server, or local machine, the Simple Update method is like it sounds. Simple. It will not affect your current courses or lessons, custom styles, custom strings, connection strings, or anything else just update the KP Learner Manager control files. To use this method, first locate the install folder where you installed KP Learner Manager Enterprise Edition. This would normally be c:\program files\kp Learner Manager Enterprise v7 folder. In this folder, there is a program called KPLearnerManagerUpdater.exe. You can run this program directly to update courses on your local machine, or copy this folder to your server and run it there to update courses on the server. To use this technique directly on the server, you need Terminal Server, or some other direct access to the server you cannot run this updater using only FTP. If you only have FTP access to your server, then you can obviously only run this on your local machine. So you should update your local copy of the course using this method. When you run this program (either locally to update local courses, or directly on the server to update server based courses), you ll see this screen. This tells you what is about to happen, and recommends you make a backup of the current KPLMS folder where your courses are set up. If you click on Yes, you ll then see this screen: Page 2
When the above screen appears, you need to select the folder where a current course is installed. This is the folder, something like seen below. The folder where the index.html, and the kplms folder is found (by the way, this is the kplms folder that you should take a copy of before starting this procedure). Your folder will of course look a little different to the one below. Once you select the Folder, and click on OK, the update takes place, and you ll see this screen: Page 3
Once this is done, the course is then updated with the very latest version of KP Learner Manager Enterprise, and you are ready to go! Note that you often have to close and restart your browser to ensure that you are not looking at older versions of the course. Sometimes you need to refresh the current screen to ensure the latest files are being used. In extreme cases, where you have a proxy server in use, the updates may not even be visible for a day or so. This is a function of HTML and IIS nothing to do essentially with KP Learner Manager Enterprise. Now see the Updating the Database section, below. Updating When you Only Have FTP Access If you only have FTP access to your server, then you cannot run the KPLearnerManagerUpdater program on the server. In this case, you will normally have a copy of your server courses on your local machine or local network. If you do not, you should it not only ensures you have a backup of your courses, but makes updating much easier. So you can run KPLearnerManagerUpdater as described above, and your local courses will be updated. To update the course on the server, you don t need to upload everything you only need to upload the files in the kplms/pages folder to reflect the new ones in the kplms/pages folder locally. Note that when updating a course, do not copy the database files (found in the kplms/pages/database folder) to the server again doing so may overwrite the existing database (if you are using Access), and you may lose data you have already stored. You will also need to copy the following files from the root folder of the local courses the folder where the courseidxxx.js files are found: index.html, indexadmin.html, default.asp, createtrialaccount.html, and purchase.html. Finally, copy the kplms/styles, and kplms/images folder to the server. Before updating or reuploading a course, ensure you backup the existing database first to prevent accidental overwrite. The Other Method of Updating Once you have downloaded and installed KP Learner Manager Enterprise Edition locally, you can then use the KP Learner Manager Enterprise Course Creator to open any existing courses. Once you save the course again, the course you save will have all the latest KP Learner Manager Enterprise files by default. Diagnose.asp The latest version of KP Learner Manager Updater now renames the diagnose.asp script for added security. You should also ensure this is removed before going live, if doing a manual update. This file is found in the kplms/pages folder where the course is installed on the server. Updating the Database Backup First Before updating the database, we recommend highly backing up the database as it stands. With Access format database, this normally just means taking a copy of the files in the kplms/pages/database folder (you may have located the database elsewhere ), and with SQL Server, the backup procedure may vary, depending on the version of age of the SQL Server you are running. Page 4
With SQL Server Enterprise, you can right click on a database name, and choose the Tasks/Backup command. Highly recommended you do this before updating the database. You can use the Tasks/Restore command to restore a database to the previously backed up version. Updating Once you ve run the update above, log in as administrator. You should see a screen like this, if you have an older database (for minor updates after you ve first upgraded to KPLMEX, you won t see the next screen): This means you need to select the Update Database button to update the database, otherwise courses may not run correctly. Page 5
Access If you are using an Access format database, the database should already be set with the correct permissions that allow the database to be updated. SQL Server If you are using Microsoft SQL Server, there may be a temporary step you need to take to increase the permissions of the IUSR_account to ensure the database can be updated correctly. See Permissions on SQL Server Databases, below, and return here. After you ve selected the Update Database button, you ll see a screen something like this: This tells you the status of the update. Above is how it will look when it is successful. Below, you ll see an example of what it might look like if it fails Page 6
The database update will fail if the appropriate permissions are not set on the database. The Update Database procedure adds and alters tables. When using Access, just providing the ISUR_machinename with write access to the database will allow this to happen. This should already be set, if you have been using the LMS. Permissions on SQL Server Databases Normally, permissions for the IUSR_machinename user, or the IUSRS group in SQL server do not allow that user to add and alter tables in a database. So, we need to temporarily change the permissions of the appropriate user group to allow this to occur Putting the Site Under Maintenance. Depending on the version of KPLME you are currently running, you may be able to put the site Under Maintenance. This means any one logging in will see a message something like this: To do this, edit the line in LMSDATA.JS that reads: ld_um= false To read: ld_um= true Page 7
If this line does not exist in your version of LMSDATA.JS, then you do not have a version capable of putting the site under maintenance. Setting User Permissions To set permissions in the SQL database, you ll first need to open SQL Server Management Server on the server. It looks something like this, after you ve logged in. Now, expand the Security node, and then expand the Logins node. Select the BUILTIN\Users node (it may be different for your implementation, but this is the default, and the user we ve described in our guide to installed the LMS for use with SQL Server). Right-click on this node, and select Properties from the submenu that appears. Page 8
When the next dialog box appears, select the User Mapping node, top left. On the right, you ll see the databases this user has access to. In our example, and by default, the ones we are interested in are called KPCOURSES, and KPLMS. Click on the first database, KPCOURSES. Page 9
Note the permissions we have set for this user on this database. Fairly simple, they allow this user role to read and write to the database but not the ability to create and alter table structure. We need to add to the permissions, temporarily. Above, we ve selected the role db_owner. This essentially gives this user role the ability to do almost anything to the database. Page 10
We then repeat the process for the KPLMS database. Once this is done, and we click on OK, you should be able to update the database as normal. After your database has been updated, it is highly important to essentially reverse the steps we just took to increase the web user permissions on these databases, by removing the db_owner role. It will no longer be required. Page 11