readme.txt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. iTop - version 2.3.3 - 22-Dec-2016
  2. Readme file
  3. 1. ABOUT THIS RELEASE
  4. 2. INSTALLATION
  5. 2.1. Requirements
  6. 2.2. Install procedure
  7. 2.3. CRON
  8. 2.4. Upgrading from 2.x.x
  9. 2.5. Migration from 1.x versions
  10. 3. FEATURES
  11. 3.1. Known limitations
  12. 3.2. Known issues
  13. 1. ABOUT THIS RELEASE
  14. ==================
  15. Thank you for downloading the 27th packaged release of iTop.
  16. This maintenance release fixes regressions and functions which were supposed to be part of the 2.3.x feature set.
  17. Most of the regressions are related to the introduction of HTML formatted Case Logs and the Enhanced Portal.
  18. The documentation about iTop is available as a Wiki at: https://wiki.openitop.org/
  19. iTop is released under the AGPL (v3) license. (Check license.txt in this directory).
  20. The source code of iTop can be found on SourceForge: https://sourceforge.net/p/itop/code/
  21. 1.1 What's new?
  22. -----------
  23. Changes since iTop 2.3.1:
  24. Enhanced Portal
  25. ---------------
  26. - Align behavior to legacy Portal: the enhanced portal now works fine for users having "Allowed Organizations" defined in their user account.
  27. - #1299 "Oops, could not load data" when creating request in Full ITIL instance when running PHP7, has been fixed.
  28. - Added possibility to specify a controller action for a brick tile. This allows to use some logic in order to make a specific render relying for example on DB dataobjects.
  29. - Activate multi-objects sorting based on DataModel default ordering in BrowseBrick. For example the Services catalog which is made of 3 objects: ServiceFamily/Service/ServiceSubcategory, used to be ordered only on Service Family is now sorted on Service Family, then on Service and last on Service Sub-category.
  30. - Fix bug in edition form with multiple LinkedSets.
  31. - Templates not working with OQL "list" fields (requires the Request Templates extension). This only happened when the field had too many items and was trying to render them as an autocomplete.
  32. - Support display of HTML fields in lists in the new portal.
  33. - Fix Deadline attributes which were not displayed properly in ManageBrick.
  34. - Optimized column load in ManageBrick and BrowseBrick to improve performance.
  35. - Fixed a regression which caused some characters (like < >) to be displayed as their corresponding HTML entities (&gt;)
  36. - Fixed the quick search on enumerated values and finalclass field. The search was performed against the "code" instead of the displayed (localized) value.
  37. - Fixed the display of enums and html images in lists.
  38. - Fixed the display of friendlyname in lists, which was not behaving well on abstract class when the name was composed of several fields in the child classes.
  39. - Fixed the list of resolved tickets for power users: the list was restricted to their own tickets.
  40. - A read-only AttributeDuration in the portal ticket edit form was preventing attachment on that form. It’s been fixed. AttributeDuration field are still read-only in the portal.
  41. - AttributeBlob was not working in the portal. It is now available but in read-only mode only.
  42. - #1281: Fixed a few hardcoded strings to dictionary: Service catalog brick had 2 hardcoded headers ("Service" and "Sous-Service")
  43. - The Spanish translation of the new Portal has been added.
  44. - The German translation has been improved.
  45. - When a Ticket is opened in a new tab, the caselog entry was not emptied after submission, leading to frequent duplicate entries in the Public log, if user was submitting again. This is fixed.
  46. - Fix display of Wiki text which was pointing to the console object, instead of the portal one.
  47. - #1284: Fixed issue when trying to re-open a ticket as a portal user. Cause was that the destination state had "must prompt" attributes that were all "read only" for the current user, making the entire form "read only" and therefore removing "submit" button. The user was the not able to complete the transition. Fix consists of skipping the form when all attributes are "read only" for the user.
  48. - Refactored a portion of TWIG (Loader is now in an helper TWIG)
  49. - Placed transition buttons to the right with the 'submit' one as it was confusing.
  50. - Fixed a bug on the default configuration that was displaying only UserRequest in the Closed requests brick instead of both UserRequest and Incident objects.
  51. - Fixed a bug with external key as radio button in forms
  52. Support of Internet Explorer 9 in the new portal
  53. ------------------------------------------------
  54. - Removed console.log to prevent a javascript error on IE9 which was stopiing the processing
  55. - Cosmetic adjustments for IE 9: zoom-in/zoom-out cursors do not exist in IE9: use the hand cursor instead
  56. - Fix Autocomplete bug with IE9 in forms.
  57. - Remove in IE9 the placeholder "Type your text here" in the Public log of a Ticket as it was wrongly logged as a real user entry
  58. - Fix for the upload of attachments with IE9.
  59. Legacy Portal
  60. -------------
  61. - Uploading an inline image in the Case Log was not working, image was loaded but not permanently stored, it’s been fixed.
  62. - Uploading an inline image in an HTML text has been enabled.
  63. Embedded HTML editor
  64. --------------------
  65. - #1321 Table formatting (border, cellpadding, width) was lost when editing a table inside the HTML editor
  66. - Fix regression introduced by HTML sanitizer, which was preventing 'ftp' and 'file' protocols in <a href= > tag, thanks to configuration parameter: 'url_validation_pattern'
  67. - Fixed CKEditor which was missing in the Console: Text justification, Fonts and Size selection.
  68. - The maximize icon for the rich text editor was not showing when iTop was installed at a location which path contained a space.
  69. Console
  70. -------
  71. - Cosmetics: Enlarge DateTime fields which were too narrow (the end of the time was not visible when editing).
  72. - Creation of a Ticket in a status different than the default initial value was not working very well.
  73. - Case log copy from a Parent ticket to its child tickets was not handling properly the HTML formatting.
  74. - The creation of an object B from an object A edition form (using the + icon), was failing if object B was having a mandatory HTML field, as the data in the HTML field was ignored/dropped.
  75. - Massive modification of objects having an HTML field, followed by at least one required field was failing.
  76. - #1305 Issue with date/time inputs on Chrome: losing focus as soon as the date has been correctly typed, preventing the user from typing the time.
  77. Core
  78. ----
  79. - CSV import failing with final class (localized value not taken into account)
  80. - #1279: CSV export of audit results: pass the parameters as a POST since they may be too long to fit in the query string of the URL.
  81. - #1297: timezone configuration setting was inoperant (regression from iTop 2.2.x).
  82. - Resize on AttributeImage used to crash when "gd" extension was not installed. Now it just does not resize.
  83. - Added protection against time differences between the MySQL server and the PHP server, when running 'synchro_import.php'
  84. - Optimization of database queries which was impacting Portal performance. We found one case where the query execution was never ending and takes now less than a second.
  85. - Fix corner case situation where UNIONS and INTERSECTIONS were not handled correctly.
  86. - Fix: a character "à" in a case log was causing the REST/JSON API to fail if mbstring was not enabled.
  87. - Fix the pollution of "error.log" with the contents of each email sent (transport = PHPMail)
  88. - Within some customized DataModel where users could create Ticket directly in Resolved state, if the date format was not the default, it was displaying a Fatal Error.
  89. - Backup on Sundays was not working due to wrong query.
  90. - Properly integrate .htaccess files (in /data and in /log) into the iTop zip package (those files were ignored by the build process)
  91. - Fix one OQL query in DataModel which could become ambiguous after tricky Datamodel customization.
  92. - Setup enhancement: protect the method RenameValueInDB() from non-existent attributes.
  93. - When editing an object in the console, external fields (i.e. fields depending on an external key) were not automatically refreshed when changing the value of the external key (regression from iTop 2.2.x)
  94. - Security fixes to prevent XSS injections in the page setup/email.test.php
  95. 1.2 Should I upgrade to 2.3.3?
  96. --------------------------
  97. Yes, if you are running iTop 2.3.1 we recommend you to upgrade. This version fixes quite a number of bugs from the previous version and is suitable for running in production.
  98. 1.3 Special Thanks To
  99. -----------------
  100. Bruno Bonfils for his guidance about LDAP and authentication.
  101. Randall Badilla Castro and Miguel Turrubiates for the Spanish translation.
  102. Jonathan Lucas, Stephan Rosenke and David Gümbel from ITOMIG GmbH, for the German translation.
  103. Christian Lempereur and Olivier Fouquet for their feedbacks.
  104. Everaldo Coelho and the Oxygen Team for their wonderful icons.
  105. The JQuery team and all the jQuery plugins authors for developing such a powerful library.
  106. Phil Eddies for the numerous feedbacks provided, and the first implementation of CKEdit
  107. Marco Tulio and Bruno Cassaro for the Portuguese (Brazilian) translation
  108. Vladimir Kunin, Vladimir Shilov and Shamil Khamit for the Russian translation
  109. Izzet Sirin for the Turkish translation
  110. Deng Lixin for the Chinese translation
  111. Marialaura Colantoni for the Italian translation
  112. Schlobinux for the fix of the setup temporary file verification.
  113. Gabor Kiss for the Hungarian translation
  114. Tadashi Kaneda, Shoji Seki and Hirofumi Kosaka for the Japanese translation
  115. Antoine Coetsier for the CAS support and tests
  116. Vincenzo Todisco for his contribution to the enhancement of the webservices
  117. Stephan Rickauer, Tobias Glemser and Sabri Saleh for their consulting about iTop security
  118. Claudio Cesar Sanchez Tejeda for his contribution to bug fixes on the export and data synchronization
  119. Bruno Cornec for his support and contribution to the Linux packaging of iTop
  120. Jean-François Bilger for providing a fix for an unsuspected SQL bug
  121. Remie Malik from Linprofs for the Dutch translation
  122. Erik Bøg for the Danish translation
  123. Lukáš Dvořák and Daniel Rokos for the Czech translation
  124. 2. INSTALLATION
  125. ============
  126. 2.1. Requirements
  127. ------------
  128. Server configuration:
  129. iTop is based on the AMP (Apache / MySQL / PHP) platform and requires PHP 5.3.6 and
  130. MySQL 5. The installation of iTop does not require any command line access to the
  131. server. The only operations required to install iTop are: copying the files to the
  132. server and browsing web pages. iTop can be installed on any web server supporting
  133. PHP 5.3.6: Apache, IIS, nginx...
  134. End-user configuration:
  135. Although iTop should work with most modern web browsers, the application has been
  136. tested mostly with Firefox 36+, IE9+, Safari 5 and Chrome. iTop was designed for
  137. at least a 1024x768 screen resolution.
  138. 2.2. Install procedure
  139. -----------------
  140. 1) Make sure that you have a properly configured instance of Apache/PHP/MySQL running
  141. 2) Unpack the files contained in the zipped package, and copy the content of the "web"
  142. directory in a directory served by your web server.
  143. 3) Check the access rights on the files/folders: the setup needs to have write access
  144. either to the directory where iTop is installed or to the following subdirectories
  145. (create them if needed)
  146. - conf
  147. - data
  148. - env-production
  149. - log
  150. 4) Point your web browser to the URL corresponding to the directory where the files
  151. have been unzipped and follow the indications on the screen.
  152. If you wish to re-launch the installation process (for example in order to install
  153. more modules), just make sure that the configuration file (located at <itop>/conf/production/config-itop.php)
  154. is writable by the web server (on Windows: remove the "read-only" flag, on Linux
  155. adjust the rights of the file) and point your browser to <itop>/setup/.
  156. 2.3. cron.php
  157. --------
  158. The following features will require the activation of CRON.PHP:
  159. - asynchronous emails. By default, this option is disabled. To enable it, set 'email_asynchronous' to 1 in the configuration file.
  160. - check ticket SLA. Tickets reaching the limits will be passed into Escalation TTO/TTR states.
  161. More information into the Wiki: https://wiki.openitop.org/doku.php?id=latest:admin:cron
  162. You can get a status of the cron "tasks" with the command:
  163. php cron.php --auth_user=admin_login --auth_pwd=admin_pwd --status_only=1
  164. The output will look as shown below:
  165. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  166. | Task Class | Status | Last Run | Next Run | Nb Run | Avg. Dur. |
  167. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  168. | CheckStopWatchThresholds | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:37 | 51 | 0.317 s |
  169. | EmailBackgroundProcess | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:57 | 12 | 7.089 s |
  170. | ExecAsyncTask | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:29 | 51 | 0.032 s |
  171. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  172. 2.4. Upgrading from 2.x.x
  173. --------------------
  174. The version 2.3.3 if fully compatible with 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0, 2.2.0, 2.2.1 and 2.3.1.
  175. Due to few database changes and new modules/files that have to be installed, you
  176. MUST run the setup when upgrading (whatever the original version).
  177. If the location of mysql binaries is in the "path", the setup proposes to perform a full backup
  178. of iTop (database + configuration file) using mysqldump.
  179. Here is how to upgrade, step by step, a 2.x.x instance of iTop:
  180. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  181. the new package into a new directory on the web server.
  182. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  183. whole directory where iTop is installed or to the following subdirectories (create them if needed)
  184. - conf
  185. - data
  186. - env-production
  187. - log
  188. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  189. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  190. 5) Either enter the path (on the disk) to the previous instance, or supply the needed credentials.
  191. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  192. 7) To replace the old instance of iTop with the newly installed one:
  193. Rename the directories to switch the locations
  194. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  195. value of the "application_url" parameter.
  196. 2.5. Migrating from 1.x versions
  197. ---------------------------
  198. The setup is designed to upgrade existing 1.x instances of iTop automatically. In case the instance was
  199. customized (for example by altering its data model), the installation process will detect the modifications
  200. (by scanning the source files and comparing them with the manifest) and will prompt either to keep the
  201. modifications or to discard them.
  202. If the location of mysql binaries is in the "path", the installation proposes to perform a full backup
  203. of iTop (database + configuration file) using mysqldump.
  204. Here is how to upgrade, step by step, a 1.x instance of iTop.
  205. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  206. the new package into a new directory on the web server.
  207. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  208. directory where iTop is installed or to the following subdirectories (create them if needed)
  209. - conf
  210. - data
  211. - env-production
  212. - log
  213. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  214. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  215. 5) Enter the needed credentials. It is not mandatory to supply the location (on the disk of the server)
  216. where the previous instance was installed but, by doing so, you let the installation find the credentials
  217. (by looking at the previous configuration file) and also perform additional checks, for instance, to
  218. detect any customization that you may have made to iTop.
  219. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  220. 7) To replace the old instance of iTop with the newly installed one:
  221. Rename the directories to switch the locations
  222. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  223. value of the "application_url" parameter.
  224. That's it.
  225. 3.1. Known limitations (https://sourceforge.net/apps/trac/itop/report/3)
  226. -----------------
  227. #71 The same MySQL credentials are used during the setup and for running the application.
  228. Some types of attributes (AttributeDuration, AttributeBlob) are always displayed as read-only in the Enhanced Portal.
  229. Suhosin can interfere with iTop. More information can be found here: http://www.combodo.com/wiki/doku.php?id=admin:suhosin
  230. Internet Explorer 6 is not supported (neither IE7 nor IE8 in compatibility mode)
  231. Tested with IE9, Firefox 3.6 up to Firefox 50 and Chrome.
  232. 3.2. Known issues (https://sourceforge.net/apps/trac/itop/report/3)
  233. ------------
  234. #259 Not instantaneously logged off when the administrator deletes a user account
  235. #273 The administrator can delete his/her own user account
  236. #372 APC Cache not efficient (multi org usage, global search)
  237. #382 Search form / base class lost after a search
  238. #377 Case log: exclude the index from the views
  239. #388 IE9: edition fields not resizable
  240. #443 Objects remain in the database after de-installing some modules
  241. #442 Useless profiles installed (1.x legacy data model only)
  242. #436 Cannot type "All Organizations"
  243. #381 Deletion of dependencies could fail in a multi-org environment
  244. #241 "status" is a free-text field when configuring a Trigger
  245. #358 Multi-column queries sometimes returning an empty set
  246. #350 Object edition form: validation does not tell which field has a problem
  247. #730 Leaving temporary files when performing a backup of the data during installation
  248. #1145 Two connections between a connectable CI and a network device must have different ports
  249. #1146 History not reflecting a modification of the connection between a connectable CI and a network device
  250. #1147 Identical links not always modified as expected