readme.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. iTop - version 2.1.0 - 18-Dec-2014
  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.0.x
  9. 2.5. Migration from 1.x versions
  10. 3. FEATURES
  11. 3.1. Changes since 2.0.3
  12. 3.2. Known limitations
  13. 3.3. Known issues
  14. 1. ABOUT THIS RELEASE
  15. ==================
  16. Thank you for downloading the 20th packaged release of iTop.
  17. This version is a maintenance release, with quite a few bug fixes and a few enhancements.
  18. The documentation about iTop is available as a Wiki: 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. This version brings a number of bug fixes since 2.0.3 and a few enhancements, namely:
  24. - A rudimentary configuration file editor (for administrators)
  25. - Automated data backups, and manual backup/restore
  26. - Excel exports
  27. - Dutch localization contributed by Remie Malik from Linprofs (www.linprofs.com)
  28. - Danish localization contributed by Erik Bøg
  29. ... and about 80 bug fixes!
  30. 1.2 Should I upgrade to 2.1.0?
  31. -------------------------------
  32. Considering that iTop 2.1.0 is fully compatible with iTop 2.0.x and the number of bugs fixed, we recommend you to upgrade.
  33. Anyhow, prior to taking that decision, we encourage you to have a look at the migration notes:
  34. https://wiki.openitop.org/doku.php?id=2_1_0:admin:203_to_210_migration_notes
  35. 1.3 Special Thanks To:
  36. -----------------
  37. Bruno Bonfils for his guidance about LDAP and authentication.
  38. Randall Badilla Castro and Miguel Turrubiates for the Spanish translation.
  39. Jonathan Lucas, Stephan Rosenke and David Gümbel from ITOMIG GmbH, for the German translation.
  40. Christian Lempereur and Olivier Fouquet for their feedbacks.
  41. Everaldo Coelho and the Oxygen Team for their wonderful icons.
  42. The JQuery team and all the jQuery plugins authors for developing such a powerful library.
  43. Phil Eddies for the numerous feedbacks provided, and the first implementation of CKEdit
  44. Marco Tulio and Bruno Cassaro for the Portuguese (Brazilian) translation
  45. Vladimir Kunin, Vladimir Shilov and Shamil Khamit for the Russian translation
  46. Izzet Sirin for the Turkish translation
  47. Deng Lixin for the Chinese translation
  48. Marialaura Colantoni for the Italian translation
  49. Schlobinux for the fix of the setup temporary file verification.
  50. Gabor Kiss for the Hungarian translation
  51. Tadashi Kaneda, Shoji Seki and Hirofumi Kosaka for the Japanese translation
  52. Antoine Coetsier for the CAS support and tests
  53. Vincenzo Todisco for his contribution to the enhancement of the webservices
  54. Stephan Rickauer, Tobias Glemser and Sabri Saleh for their consulting about iTop security
  55. Claudio Cesar Sanchez Tejeda for his contribution to bug fixes on the export and data synchronization
  56. Bruno Cornec for his support and contribution to the Linux packaging of iTop
  57. Jean-François Bilger for providing a fix for an unsuspected SQL bug
  58. Remie Malik from Linprofs for the Dutch translation
  59. Erik Bøg for the Danish translation
  60. 2. INSTALLATION
  61. ============
  62. 2.1. Requirements
  63. ------------
  64. Server configuration:
  65. iTop is based on the AMP (Apache / MySQL / PHP) platform and requires PHP 5.2 and
  66. MySQL 5. The installation of iTop does not require any command line access to the
  67. server. The only operations required to install iTop are: copying the files to the
  68. server and browsing web pages. iTop can be installed on any web server supporting
  69. PHP 5.2: Apache, IIS, nginx...
  70. End-user configuration:
  71. Although iTop should work with most modern web browsers, the application has been
  72. tested mostly with Firefox 3+, IE8, IE9, Safari 5 and Chrome. iTop was designed for
  73. at least a 1024x768 screen resolution. For the graphical view of the impact analysis,
  74. Flash version 8 or higher is required.
  75. 2.2. Install procedure
  76. -----------------
  77. 1) Make sure that you have a properly configured instance of Apache/PHP/MySQL running
  78. 2) Unpack the files contained in the zipped package, and copy the content of the "web"
  79. directory in a directory served by your web server.
  80. 3) Check the access rights on the files/folders: the setup needs to have write access
  81. either to the directory where iTop is installed or to the following subdirectories
  82. (create them if needed)
  83. - conf
  84. - data
  85. - env-production
  86. - log
  87. 4) Point your web browser to the URL corresponding to the directory where the files
  88. have been unzipped and follow the indications on the screen.
  89. If you wish to re-launch the installation process (for example in order to install
  90. more modules), just make sure that the configuration file (located at <itop>/conf/production/config-itop.php)
  91. is writable by the web server (on Windows: remove the "read-only" flag, on Linux
  92. adjust the rights of the file) and point your browser to <itop>/setup/.
  93. 2.3. cron.php
  94. --------
  95. The following features will require the activation of CRON.PHP:
  96. - asynchronous emails. By default, this option is disabled. To enable it, set 'email_asynchronous' to 1 in the configuration file.
  97. - check ticket SLA. Tickets reaching the limits will be passed into Escalation TTO/TTR states.
  98. More information into the Wiki: https://wiki.openitop.org/doku.php?id=2_0_3:admin:cron
  99. You can get a status of the cron "tasks" with the command:
  100. php cron.php --auth_user=admin_login --auth_pwd=admin_pwd --status_only=1
  101. The output will look as shown below:
  102. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  103. | Task Class | Status | Last Run | Next Run | Nb Run | Avg. Dur. |
  104. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  105. | CheckStopWatchThresholds | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:37 | 51 | 0.317 s |
  106. | EmailBackgroundProcess | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:57 | 12 | 7.089 s |
  107. | ExecAsyncTask | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:29 | 51 | 0.032 s |
  108. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  109. 2.4. Upgrading from 2.0.x
  110. --------------------
  111. The version 2.1.0 if fully compatible with 2.0.0, 2.0.1, 2.0.2 and 2.0.3. Due to few database changes,
  112. and new modules that have to be installed, you must run the setup when upgrading (whatever the original
  113. version).
  114. If the location of mysql binaries is in the "path", the setup proposes to perform a full backup
  115. of iTop (database + configuration file) using mysqldump.
  116. Here is how to upgrade, step by step, a 2.0.x instance of iTop:
  117. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  118. the new package into a new directory on the web server.
  119. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  120. whole directory where iTop is installed or to the following subdirectories (create them if needed)
  121. - conf
  122. - data
  123. - env-production
  124. - log
  125. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  126. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  127. 5) Either enter the path (on the disk) to the previous instance, or supply the needed credentials.
  128. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  129. 7) To replace the old instance of iTop with the newly installed one:
  130. Rename the directories to switch the locations
  131. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  132. value of the "application_url" parameter.
  133. 2.5. Migrating from 1.x versions
  134. ---------------------------
  135. The setup is designed to upgrade existing 1.x instances of iTop automatically. In case the instance was
  136. customized (for example by altering its data model), the installation process will detect the modifications
  137. (by scanning the source files and comparing them with the manifest) and will prompt either to keep the
  138. modifications or to discard them.
  139. If the location of mysql binaries is in the "path", the installation proposes to perform a full backup
  140. of iTop (database + configuration file) using mysqldump.
  141. Here is how to upgrade, step by step, a 1.x instance of iTop.
  142. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  143. the new package into a new directory on the web server.
  144. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  145. directory where iTop is installed or to the following subdirectories (create them if needed)
  146. - conf
  147. - data
  148. - env-production
  149. - log
  150. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  151. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  152. 5) Enter the needed credentials. It is not mandatory to supply the location (on the disk of the server)
  153. where the previous instance was installed but, by doing so, you let the installation find the credentials
  154. (by looking at the previous configuration file) and also perform additional checks, for instance, to
  155. detect any customization that you may have made to iTop.
  156. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  157. 7) To replace the old instance of iTop with the newly installed one:
  158. Rename the directories to switch the locations
  159. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  160. value of the "application_url" parameter.
  161. That's it.
  162. 3. FEATURES
  163. ========
  164. 3.1. Changes since 2.0.3
  165. -------------------
  166. This version consists in three new features and bug fixes.
  167. Configuration editor
  168. --------------------
  169. This is a way for administrators to edit the configuration file from the iTop UI, with their iTop credentials.
  170. Automated backups
  171. -----------------
  172. Performs automated backups. The scheduling can be configured, and it handles a rotation.
  173. A dedicated page provide administrators with a status report and allows for performing manual backups
  174. and restores.
  175. Excel exports
  176. -------------
  177. In addition to the existing CSV export features, it is now possible to generate an Excel file directly,
  178. from any list of objects.
  179. Usability
  180. --------------------
  181. #1011 Proper resizing of the dialog box for managing 1:n links.
  182. #974 Prevent multiple javascript refresh when reloading the "initial state" of a ticket.
  183. #985 Preserve the displayed sort order when refreshing a table.
  184. #1016 Record the displayed value of the database_table_name field in the database. This happens:
  185. - when creating a new Synchro Data Source
  186. - when modifying an "old" Synchro Data Source for which the field was empty.
  187. Scalability / Performance
  188. -------------------------
  189. #965 Since 2.0.3, for each synchronized object, around 100 queries are performed (2 are required), and this is multiplied by the number of duplicate replicas (then resulting in a significant slowdown).
  190. #1020 Restrict dashboard/shortcut refresh interval (new parameter: min_reload_interval)
  191. #1028 Speed up the display of history and object creation (regression since 2.0.3). Beware, conversion time at setup can be long if the history table is big.
  192. Notifications
  193. -------------
  194. #998 Accurately check the configured mail transport and report information accordingly in the email.test page.
  195. Add two "debug" transports for Swift mailer: Null and LogFile which are useful for staging environments where one does not want to send real emails.
  196. #978 Email test utility always reporting "default SMTP port"
  197. Miscellaneous fixes
  198. -------------------
  199. Portal: handle mandatory attributes in Reopen/Close dialogs
  200. #1000 Implemented the behavior for the flag OPT_ATT_MUSTCHANGE, and took the opportunity to add a feedback when a field is mandatory OR when the format is wrong
  201. #1012 Losing half of the connection when changing a port (connections between network devices). I took the opportunity to simplify the connection management as it was initiated in change [3388].
  202. #1008 Error when deleting a Network Device connected to another Network Device (does not happen if the other end is another type of "ConnectedDevice")
  203. #1007 Unexpected change of the case log when doing massive update of a User Request (+ hide the checkbox for the status because it makes no sense)
  204. #979 Data synchro: recover the DB triggers (backup/restore)
  205. Fixed regression introduced in iTop 2.0.3, in the data model view: could not see the OQL constraints on external keys
  206. #995 Make sure that tto/ttr passed gets set even if the CRON has not been run (and as soon as some overrun has been counted)
  207. #983 Sortering not possible on multi-column queries
  208. #969 XML: the menu option enable_admin_only hides the menu for everyone
  209. #970 and #650 Corrupted attachements. Reworked the cleanup of undesired output, to protect it against the case when the output buffer is unfortunately closed. On the other hand, I found out that several output buffer can be stacked. Thus the protection could be further improved (difficulty: that can be web server dependent).
  210. #993 The about box does not show up when the directory extensions is missing
  211. Fixed the support of a non-default port for MySQL, thanks to theBigOne!
  212. #968 Interactive CSV Export truncated or missing characters (since 2.0.3)
  213. #991 CSV export truncated (system dependent, since 2.0) due to a bug in iconv, the workaround is to do little by little
  214. Dehardcoded the size of the attachments preview
  215. #988 Could not change the case of a login
  216. #778 Issue on list sort order when editing an element (N-N link tabs)
  217. #986 Search form: handle indirect external keys
  218. #987 Usage login prevents from user deletion
  219. #932 Search form should be prefilled when running a search "shortcut" - very little progress: fixed the case when several criteria are given
  220. #985 Shortcut auto refresh degrading table cosmetics
  221. #984 Dashboard auto refresh degrading table functionalities like sorting
  222. #976: make sure that we do not bypass the method that computes the reference for newly created tickets.
  223. Protect dashboards against invalid queries in "grouped by" dashlets.
  224. Legacy user rights management: allow the deletion of a profile in one step (it was nearly impossible because of the numerous related records, mainly of type URP_ActionGrant, for which iTop was requesting a manual deletion)
  225. #1026 CSV import of tickets with impact = '', issuing a Notice
  226. #1021 Better alignment of multiple header dashlets in the same cell.
  227. #1027 CSV import failing abruptely in case of ambiguous reconciliation on an external key. Regression introduced in 2.0.3.
  228. #1030 Missing values in the history tab (TTO/TTR) (since 2.0.2) There is no data loss: changes were correctly made and all the changes already recorded will be correctly displayed with the current fix.
  229. #975 Modified the enumerated list for model type in order to manage Phone CIs
  230. Allow linkage of organization to a Delivery model, directly from the tab "Customers"
  231. More meta information about the interfaces.
  232. Replaced provider_name by provider_id in the search form of service-subcategories
  233. Reviewed the french translation
  234. Added a tab to link a problem to incidents
  235. Missing translation for the tab "related requests"
  236. #1022 Do cascade the resolution of an incident to its child requests
  237. Prevent the JS validation (on focus) to create multiple entries for the same field, since it breaks the validation.
  238. #1039 Prevent concurrent executions of either synchro_import.php or synchro_exec.php for a given data source, since it would lead to unpredictable results.
  239. #1037 Refresh "priority" when either "impact" or "urgency" changes.
  240. #1038 Duplicate column name (service name) when importing service subcategories
  241. #1040 The graphical display of "impact/depends on" is not consistent with the "list" tab
  242. #1041 Protect against XSS injections
  243. Extending the data model
  244. ------------------------
  245. #972 Incomprehensible error message during setup, with a sample extension provided by Combodo! (empty user rights tag)
  246. #971 XML: could not specify an icon as a path to a file
  247. User rights: deny on a parent class must give DENY even if the class is explicitely ALLOW on the same profile (that was already working if the rules are given on several profiles). Added a config flag to force the legacy algorithm (user_rights_legacy, defaulting to false)
  248. #1029 Got rid of tags <format> that were not used at all and that were really misleading extension developers
  249. #1032 When adding a case log, existing objects could not be displayed anymore!
  250. Advanced customization: a stop watch can be started in the past (incident ticket created from an alarm)
  251. Improved the XML format, changing from 1.0 to 1.1
  252. - The change is ascendant compatible (automatically converted into 1.1 by ModelFactory) and thus sould be transparent: could may leave your extensions unchanged if you do not need to benefit from the new format
  253. - Added <inherit_flags_from> to inherit the flags from another state
  254. - Added an id on the user rights profile/actions to allow a finer granularity for the deltas.
  255. - New concept: HighlightScale to avoid overloading methods GetIcon and GetHilightClass...
  256. - Added an id on the transitions to allow a finer granularity for the deltas.
  257. - Rework of the lifecycle/actions to ease the extensibility (Generic handlers replacing the specific ones: Rest, Copy, SetCurrentDate, SetCurrentUser, SetElapsedTime)
  258. Internals
  259. ----------------------
  260. Protected the property fields against the collision of ids within the same page (even if that is a bug, make it work not too bad!)
  261. Forms: drop-down box default value label could be changed (or this entry could be entirely removed)
  262. Form fields: added callbacks ('equals' and 'get_field_value') to allow the implementation of enhanced form fields
  263. The FormSelectorField now has its own widget to properly cope with its "subfields" in "property sheet" mode.
  264. Support of more sophisticated forms layout...
  265. Proper handling of the validation of subforms...
  266. Read-only mode for icon selector widget: display at least the icon.
  267. lnkVirtualDeviceToVolume and lnkTriggerAction are link classes and should be declared as such
  268. Transmission of user rights along N-N links: must work both with DEL_AUTO and DEL_SILENT external keys (found with a code review, DEL_SILENT is still rarely used)
  269. Rework of the ModelFactory API to make it simpler and safer.
  270. Instrumented Model Factory with means to keep track of touched nodes
  271. #989 Developper issue: query arguments having a null value are dismissed
  272. Bug fix: FetchAssoc was broken when dealing with in-memory sets.
  273. Improved the processing of background task to enable more advanced functionalities like queuing
  274. Declaration of generic methods which can be run on tickets.
  275. Enhanced reporting during the setup: all the queries (create table / alter table) are now logged into "setup.log" along with their execution time.
  276. Instrumented the code to ease the troubleshooting of the computing of working hours
  277. New function: ormStopWatch::GetElapsedTime to compute the cumulated elapsed time on a stop watch still running -not used yet (but tested!)
  278. Predefined objects are now handled by RuntimeEnvironment
  279. Support for some (optional) feedback during submit.
  280. Support for some (optional) feedback during uploads.
  281. Rework of the user rights data model, while strictly preserving the current functionality (checked using the tool dump_profiles.php, with simple to full ITIL configurations). Class groups have been renamed/merged/removed. This is documented in the migration notes (wiki).
  282. Rework of the dictionaries: moved menu related entries to the module itop-welcome-itil (which does create most of those menus), while preserving the original copy of the entries so as to be compatible with customizations made with a copy of an older version of itop-welcome-itil
  283. Cosmetics on the module names (consistency)
  284. Demo mode: prevent the deletion of Users...
  285. Packaging
  286. -----------------------
  287. #960 [RPM Packaging] Adjust line endings in READ and LICENSE files
  288. #962 [RPM Packaging] Added the use of logrotate for cron.log and error.log
  289. #959 Fixing licensing mismatches for compatibility with the Fedora licensing policy (the modification only affects comments) .
  290. 3.2. Known limitations (https://sourceforge.net/apps/trac/itop/report/3)
  291. -----------------
  292. #71 The same MySQL credentials are used during the setup and for running the application.
  293. Suhosin can interfere with iTop. More information can be found here: http://www.combodo.com/wiki/doku.php?id=admin:suhosin
  294. Internet Explorer 6 is not supported (neither IE7 nor IE8 in compatibility mode)
  295. Tested with IE8 and IE9, Firefox 3.6 up to Firefox 24 and Chrome. Be aware that there are certain limitations when using IE8 in "security mode" (when running IE on a Windows 2008 Server for example)
  296. 3.3. Known issues (https://sourceforge.net/apps/trac/itop/report/3)
  297. ------------
  298. #259 Not instantaneously logged off when the administrator deletes a user account
  299. #273 The administrator can delete his/her own user account
  300. #372 APC Cache not efficient (multi org usage, global search)
  301. #382 Search form / base class lost after a search
  302. #377 Case log: exclude the index from the views
  303. #388 IE9: edition fields not resizable
  304. #443 Objects remain in the database after de-installing some modules
  305. #442 Useless profiles installed (1.x legacy data model only)
  306. #438 The selection of Organizations using the hierarchy does not work on IE8 in security mode
  307. #436 Cannot type "All Organizations"
  308. #381 Deletion of dependencies could fail in a multi-org environment
  309. #241 "status" is a free-text field when configuring a Trigger
  310. #358 Multi-column queries sometimes returning an empty set
  311. #399 Copy/paste from iTop's CaseLog looses tabs
  312. #343 CKEditor (HTML Editor) not compatible with direct object creation on ExtKeys
  313. #350 Object edition form: validation does not tell which field has a problem
  314. #730 Leaving temporary files when performing a backup of the data during installation
  315. #1034 Excel export on the command-line ignoring the list of fields