====== Installation Update ====== Each SoSci Survey installation package is also an update package at the same time. If this is yet to be done, download the latest installation package in the [[https://www.soscisurvey.de/download/|Download-Portal]]. You need your license data (password) in order to download this. For the provision of interim versions and important security updates we provide a direct download link (via ''%%https://www.soscisurvey.de/owc/%%''). After the update is complete, SoSci Survey can be accessed as usual. The new version number will be displayed on the left in the navigation. ===== 1. Write Cache ===== If you have enabled write cache (**Server Management** -> **Server Settings** -> //Write cache//, transfer the contents of the cache into the database before carrying out the update. This will reduce the downtime for the update. **Server Management** -> **Server Maintenance** -> **Write cache**. ===== 2. Lock Server Down ===== Programs, databases and caching is temporarily inconsistent during the update. This means that SoSci Survey cannot be used for project management or to fill out questionnaires during the update, or users may receive error messages that are also listed in the log files (system/logfiles). In worst case, using SoSci Survey during an update can cause loss of data. The server should be locked down when carrying out the update in order to avoid problems such as these. **Server Management** -> **Server Maintenance** -> **Locking Server** ===== 3. Create a Backup ===== In principle, it always makes sense to create a backup of the file system __and__ the database before carrying out an update. If there are any unforeseen problems, the files can then be returned to their original state. If you are using Linux and a MySQL database, you can use the following Bash script to create backups. The file paths, along with the database name and password obviously have to be customized to your installation. In order for the file to be executed, the //execute// flag for the script has to be used with ''chmod'' after saving. #!/bin/sh #Backup Settings pathSOSCI=/var/www/html/sosci pathBACKUP=/var/www/backup dbDatabase=sosci dbUser=survey dbPass=PASSWORD # Timestamp for the File Name datetime=`date +%Y-%m-%d_%H-%M-%S` #File System Backup tar --exclude=$pathSOSCI/system/session --exclude=$pathSOSCI/system/cache -czf $pathBACKUP/sosci-html-$datetime.tar.gz $pathSOSCI #MySQL Database Backup mysqldump -u$dbUser -p$dbPass -q --databases $dbDatabase | gzip -9 > $pathBACKUP/sosci-database-$datetime.sql.gz ===== 4. Updating Files ===== Unzip the installation packet in a directory on the local computer (not in the SoSci Survey installation directory directly). Unless you have manually changed the ''index.html'', you can copy all files from the installation package into the installation directory. The folders are as follows: * ''/admin'' * ''/help'' * ''/images'' * ''/inc'' * ''/layout'' (deleted as of version 3.3.10) * ''/lib'' (deleted as of version 3.4.12) * ''/modules'' * ''/plugins'' * ''/s2components'' * ''/s2survey'' * ''/script'' * ''/templates'' * ''/spellcheck.php'' (file) Do not copy or delete __any__ files from/to the following directories: * ''/system'' -- This directory contains the installation configuration and must not be changed during the update. * All other directories: The (sometimes numerous) project directories must not be changed or deleted, otherwise ongoing projects may not longer be available after the update. You can check in **Server Management** -> **Server Maintenance** -> **Directories** whether there are potentially deserted directories on the server. The files in the root directory are optional: they control what is displayed in the browser (index.html) when the directories are accessed, how search engines deal with installation (robots.txt), and which symbol is displayed in the browser's tab bar (favicon.ico). These files can be customized or replaced if needed. If you have not made any modifications to these files, then you can update them during the update. **Note:** To upload the new files you require, like with the installation, a FTP program (e.g. [[http://filezilla-project.org/|FileZilla]]), or another way to copy files onto the webserver. At the moment, an update cannot be triggered directly from SoSci Survey is not possible. ===== 5. Update the Database ===== After the files have been updated, the installation routine (admin/install.php) should always be called up. This ensures the database will be updated and points to any potential problems at the same time. **Tip:** If you have blocked the server, calling up the //Server Installation Routine// will be offered directly on the corresponding page (version 2.4.00 onwards). Call the **%%http://www.domain.tld/sosci/admin/install.php%%** URL in the internet browser. Please adjust the domain and the SoSci Survey directory in the URL according to your installation. Use the Internet browser to open ''**/admin/install.php**'' to perfom the database updates. If you have installed SoSci Survey to ''%%https://survey.example.com/%%'', for example, the full URL would be ''%%https://survey.example.com%%**/admin/install.php**''. After the installation is complete, the server will automatically be unlocked. ===== Troubleshooting ===== The updates for SoSci Survey are thoroughly tested. Nevertheless, it can never be completely ruled out that the update will not work. If something goes wrong, and you want the system to be available as quickly as possible, make a copy of the installation directory (or at least the ''/system/'' directory) and copy the original files from you backup back. The update routine normally makes the necessary adjustments to the database. If no changes have been made to the database, SoSci Survey will run correctly again with the old files. If changes have been made, SoSci Survey will complain that an update is required. In this case, also restore the database backup. In any case, the file ''/system/logfiles/errorlog.txt'' is essential for subsequent troubleshooting. There you will not only see whether database updates have already been carried out (successfully). It also contains information about the problem. If there are problems with the update, please send us the latest entries in the error log (as indicated by the time stamp) by email to info@socisurvey.de. In addition, you may want to call our emergency phone number ([[https://www.soscisurvey.de/en/contact|Contact]]).