readme.txt 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. iTop - version 2.0.2-beta - 29-Oct-2013
  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.1
  12. 3.2. Known limitations
  13. 3.3. Known issues
  14. 1. ABOUT THIS RELEASE
  15. ==================
  16. Thank you for downloading the 17th 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: http://www.combodo.com/wiki
  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.1 and a few enhancements, namely:
  24. - Modelization of VLANs on Subnet and Physical Interfaces
  25. - Brand new User Portal look and feel (no change in the behavior)
  26. - Forgot your password? Regain access to iTop without bothering an administrator
  27. - Automatic refresh of the lists in the dashboards, and for the shortcuts
  28. - Scalability: better support of large volumes of tickets, and in general with large volumes of data
  29. ... and about 50 bug fixes!
  30. 1.2 Should I upgrade to 2.0.2?
  31. -------------------------------
  32. Considering that iTop 2.0.1 is fully compatible with iTop 2.0.0 and the number of bugs fixed, we recommend you to upgrade.
  33. Be aware that the User Portal appearance has significantly been changed.
  34. 1.3 Special Thanks To:
  35. -----------------
  36. Bruno Bonfils for his guidance about LDAP and authentication.
  37. Randall Badilla Castro and Miguel Turrubiates for the Spanish translation.
  38. Jonathan Lucas, Stephan Rosenke and David Gümbel from ITOMIG GmbH, for the German translation.
  39. Christian Lempereur and Olivier Fouquet for their feedbacks.
  40. Everaldo Coelho and the Oxygen Team for their wonderful icons.
  41. The JQuery team and all the jQuery plugins authors for developing such a powerful library.
  42. Phil Eddies for the numerous feedbacks provided, and the first implementation of CKEdit
  43. Marco Tulio and Bruno Cassaro for the Portuguese (Brazilian) translation
  44. Vladimir Shilov and Shamil Khamit for the Russian translation
  45. Izzet Sirin for the Turkish translation
  46. Deng Lixin for the Chinese translation
  47. Marialaura Colantoni for the Italian translation
  48. Schlobinux for the fix of the setup temporary file verification.
  49. Gabor Kiss for the Hungarian translation
  50. Tadashi Kaneda, Shoji Seki and Hirofumi Kosaka for the Japanese translation
  51. Antoine Coetsier for the CAS support and tests
  52. Vincenzo Todisco for his contribution to the enhancement of the webservices
  53. Stephan Rickauer, Tobias Glemser and Sabri Saleh for their consulting about iTop security
  54. Claudio Cesar Sanchez Tejeda for his contribution to bug fixes on the export and data synchronization
  55. 2. INSTALLATION
  56. ============
  57. 2.1. Requirements
  58. ------------
  59. Server configuration:
  60. iTop is based on the AMP (Apache / MySQL / PHP) platform and requires PHP 5.2 and
  61. MySQL 5. The installation of iTop does not require any command line access to the
  62. server. The only operations required to install iTop are: copying the files to the
  63. server and browsing web pages. iTop can be installed on any web server supporting
  64. PHP 5.2: Apache, IIS, nginx...
  65. End-user configuration:
  66. Although iTop should work with most modern web browsers, the application has been
  67. tested mostly with Firefox 3+, IE8, IE9, Safari 5 and Chrome. iTop was designed for
  68. at least a 1024x768 screen resolution. For the graphical view of the impact analysis,
  69. Flash version 8 or higher is required.
  70. 2.2. Install procedure
  71. -----------------
  72. 1) Make sure that you have a properly configured instance of Apache/PHP/MySQL running
  73. 2) Unpack the files contained in the zipped package, and copy the content of the "web"
  74. directory in a directory served by your web server.
  75. 3) Check the access rights on the files/folders: the setup needs to have write access
  76. either to the directory where iTop is installed or to the following subdirectories
  77. (create them if needed)
  78. - conf
  79. - data
  80. - env-production
  81. - log
  82. 4) Point your web browser to the URL corresponding to the directory where the files
  83. have been unzipped and follow the indications on the screen.
  84. If you wish to re-launch the installation process (for example in order to install
  85. more modules), just make sure that the configuration file (located at <itop>/conf/production/config-itop.php)
  86. is writable by the web server (on Windows: remove the "read-only" flag, on Linux
  87. adjust the rights of the file) and point your browser to <itop>/setup/.
  88. 2.3. cron.php
  89. --------
  90. The following features will require the activation of CRON.PHP:
  91. - asynchronous emails. By default, this option is disabled. To enable it, set 'email_asynchronous' to 1 in the configuration file.
  92. - check ticket SLA. Tickets reaching the limits will be passed into Escalation TTO/TTR states.
  93. More information into the Wiki: https://sourceforge.net/apps/mediawiki/itop/index.php?title=Cron.php
  94. New in 2.0.1: you can get a status of the cron "tasks" with the command:
  95. php cron.php --auth_user=admin_login --auth_pwd=admin_pwd --status_only=1
  96. The output will look as shown below:
  97. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  98. | Task Class | Status | Last Run | Next Run | Nb Run | Avg. Dur. |
  99. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  100. | CheckStopWatchThresholds | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:37 | 51 | 0.317 s |
  101. | EmailBackgroundProcess | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:57 | 12 | 7.089 s |
  102. | ExecAsyncTask | active | 2013-03-28 10:32:27 | 2013-03-28 10:32:29 | 51 | 0.032 s |
  103. +---------------------------+---------+---------------------+---------------------+--------+-----------+
  104. 2.4. Upgrading from 2.0.x
  105. --------------------
  106. The version 2.0.2 if fully compatible with 2.0.0 and 2.0.1. Due to few database changes,
  107. you must run the setup when upgrading (whatever the original version).
  108. If the location of mysql binaries is in the "path", the setup proposes to perform a full backup
  109. of iTop (database + configuration file) using mysqldump.
  110. Here is how to upgrade, step by step, a 2.0.x instance of iTop:
  111. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  112. the new package into a new directory on the web server.
  113. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  114. whole directory where iTop is installed or to the following subdirectories (create them if needed)
  115. - conf
  116. - data
  117. - env-production
  118. - log
  119. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  120. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  121. 5) Either enter the path (on the disk) to the previous instance, or supply the needed credentials.
  122. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  123. 7) To replace the old instance of iTop with the newly installed one:
  124. Rename the directories to switch the locations
  125. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  126. value of the "application_url" parameter.
  127. 2.5. Migrating from 1.x versions
  128. ---------------------------
  129. The setup is designed to upgrade existing 1.x instances of iTop automatically. In case the instance was
  130. customized (for example by altering its data model), the installation process will detect the modifications
  131. (by scanning the source files and comparing them with the manifest) and will prompt either to keep the
  132. modifications or to discard them.
  133. If the location of mysql binaries is in the "path", the installation proposes to perform a full backup
  134. of iTop (database + configuration file) using mysqldump.
  135. Here is how to upgrade, step by step, a 1.x instance of iTop.
  136. 1) Do NOT overwrite the files from the previous version. Expand the content of the "web" directory of
  137. the new package into a new directory on the web server.
  138. 2) Check the access rights on the files/folders: the setup needs to have write access either to the
  139. directory where iTop is installed or to the following subdirectories (create them if needed)
  140. - conf
  141. - data
  142. - env-production
  143. - log
  144. 3) Point your web browser to the URL corresponding to the new location. You should see the setup screen.
  145. 4) When prompted (At step 2 of the installation), choose "Upgrade an existing instance"
  146. 5) Enter the needed credentials. It is not mandatory to supply the location (on the disk of the server)
  147. where the previous instance was installed but, by doing so, you let the installation find the credentials
  148. (by looking at the previous configuration file) and also perform additional checks, for instance, to
  149. detect any customization that you may have made to iTop.
  150. 6) Run the setup to completion. Once this is done you can connect to your upgraded iTop.
  151. 7) To replace the old instance of iTop with the newly installed one:
  152. Rename the directories to switch the locations
  153. Edit the new configuration file (now located at <itop>/conf/production/config-itop.php) and change the
  154. value of the "application_url" parameter.
  155. That's it.
  156. 3. FEATURES
  157. ========
  158. 3.1. Changes since 2.0.1
  159. -------------------
  160. This maintenance version consists in a mix of bug fixes and enhancements.
  161. Enhancements
  162. --------------------
  163. - Modelization of VLANs on Subnet and Physical Interfaces
  164. - User Portal:
  165. * Brand new look and feel (no change in the behavior)
  166. * Capability to manage both User Request and Incidents by setting portal_tickets to 'UserRequest,Incident' -see Portal/readme.txt
  167. - Forgot your password? Regain access to iTop without bothering an administrator
  168. - Automatic refresh of the lists in the dashboards, and for the shortcuts
  169. Usability
  170. --------------------
  171. Added buttons to check/uncheck all options at once in multi selects inside search forms.
  172. Better UI to manage direct linksets: added the ability to provide the "reverse query" by specifying a '<filter>' tag on AttributeLinkedSet.
  173. Scalability
  174. --------------------
  175. No time limit for long operations like: Bulk delete, CSV import (interactive) and Bulk modify
  176. Speedup the display of lists of tickets (large volumes)
  177. Speedup the display of object details (long history track)
  178. For technical details: see tickets #783, #233 and #466
  179. JSON/REST API (new version: 1.1)
  180. --------------------------------
  181. #767 Reconciliations must be made on strict criteria
  182. #758 Key given in clear in the returned objects (incremented the API verion to 1.1)
  183. + core/create and core/update, allow to reset an external key (0)
  184. Data model fixes/changes
  185. ------------------------
  186. Added VLANs on Subnet and Physical Interfaces
  187. Added a version for Documents
  188. #800 No need to track that last update has changed each time the ticket gets updated (common to all types of tickets)
  189. Prevent Support agent to create ticket for obsolete Services and Service sub categories
  190. Remove duplicate display of attribute service provider
  191. #792 Duplicate entries in the parent/child tickets when updating the case log and applying a stimulus (e.g. Close the WO) at the same time.
  192. #805 Make sure tickets are named on their id (concurrent access was not taken into account)
  193. #804 tickets' highlighting is now based on the computation performed by the stopwatch, in order to support non 24x7 working hours
  194. #754 Prevent UserRequests to have themselves set as Parent Request (and same for Incidents)
  195. Modify Sample data for Service categories to set them to status "production" by default
  196. #768 Avoid to select obsolete service and service sub categories in the portal
  197. #789 Add up to 12 Digit for a IPInterface
  198. #755 Prevent modification of CIs and Contacts list for UserRequest and Incidents
  199. #742 Allow portal user to modify a ticket when it is pending
  200. #739 Prevent Support Agents from settings a UserRequest to status "Pending"
  201. #751 Check that class Logical Volume exists when checking dependencies of a Server + Add attribute Subnet name on Subnet element
  202. Moved definition of the delivery model of an organization from itop-config-mgmt to itop-service-mgmt module.
  203. New pattern accepting the new global Top Level Domains (gTLD)
  204. Allow "Support Agents" to put an Incident in "Pending" state.
  205. #747: protects against the non-existence of the UserRequest class (which is not always installed).
  206. Miscellaneous fixes
  207. -------------------
  208. Localization: French and german (#562 and #760) have been reviewed.
  209. Compiler
  210. - added "constants"
  211. - added brand management
  212. - safe compilation (works in a temporary directory, on success then move it into env-production)
  213. - possibility to introduce a delta (not in a module) at compile time
  214. - allow to set the flags enable_class/enable_action etc. for a TemplateMenuNode (already taken into account at runtime)
  215. - added indexes
  216. Added a demo mode (config: demo_mode = true). In that mode, logins get read-only (even for admins)
  217. #785 Share the results of a query phrase (preview of the results in the query details page -iif it has NO parameter)
  218. #783 Added the placeholder $this->xxx_list$ for emailing (names separated by a new line, truncated to 100 items)
  219. Reviewed the instrumentation to help in tuning the performance (added a message in the admin banner when logging is active + measure the impact of object reloads)
  220. #771: better display for "edit in place".
  221. #795 Issue when using the actual (id) value of an external key as a reconciliation field
  222. #741 Complete localization of the CSV import confirmation dialog
  223. #790 Only report as installed the modules from the previous installation, not all previous installations.
  224. #738 Adding a space at the end of the mailto: URL to make it better recognized by mail clients (namely Outlook)
  225. #791 Protect against single quotes in localized strings...
  226. #777 mandatory fields that are external keys are now displayed with a star before the arrow: ExtkeyName*->ReconciliationField. In import the old syntax is supported as well.
  227. #769 Title of pies and charts are not consistent with the title of other dashlets
  228. #794 Could not export the field friendlyname in format 'spreadsheet'
  229. #793 provide the default '=' and '!=' operators for all types of Computed Fields.
  230. #773 Display boolean values from the stop watches as yes/no (localized, like enums) + took the opportunity to enable the export in spreadsheet format
  231. #762 Remove wrong fields approval_date approval_comments for a Routine change
  232. Retrofit the useful DoPostRequest function which was used (and defined) in several extensions.
  233. Added support of different (sub)classes of notifications in the "Notifications" tab on an object.
  234. Fix for properly computing the default choices in case of upgrade...
  235. #745 Default menu is not computed correctly (depends on the customizations made to the menu -> order of declaration)
  236. The login web page must NOT be cached by the web browsers
  237. #774 Sort the enums in the selection drop-down box (search forms) -initially based on the declaration order
  238. #782: preview (as a tooltip) for image attachments.
  239. #784 Data sync: display the attribute code (as well as its label in the user language)
  240. #781 Plain text dashlet shown on one single line
  241. #779 It is possible to record a wrong OQL in the phrase book, but then it cannot be edited anymore!
  242. Internal: failed authentication to return error 401 instead of prompting the end-user (to be exploited by the ajax calls)
  243. Logoff: display the message in the user language (used to be 100% english)
  244. Generalized the option tracking_level to any kind of attributes. Defaults to 'all', can be set to 'none' to disable the change tracking on a single attribute (LinkSets still have the same allowed values: none, list, details and all).
  245. Protect the deletion of objects with very long friendly names
  246. Cosmetics on the login web page
  247. Allow for comparisons of the module's versions in the expression of dependencies. For example one can now say "itop-config-mgmt/>=2.0.2" for a dependency.
  248. Internal- ModelFactory: needed / define_if_not_exists were not equivalent
  249. #763 Could not use "configure this list" once a stop watch has been added to the list, which is a pitty because such attributes are not aimed at being displayed in lists!
  250. Fixed bug (wrong DB charset after invoking AnalyzeInstallation!)
  251. Load structural data for all selected modules indepently of:
  252. - the load of sample data
  253. - first install or upgrade
  254. Management of environments: the banner must be injected by the mean of iPageUIExtension
  255. Module installation information always loaded within the meta model
  256. Make the logo transparent (background removal)
  257. CRON:
  258. - report that CRON is already running BEFORE saying that the DB is read-only (re-entrance during an operation done in the background)
  259. - protection against re-entrance now relies on a bullet-proof mutex. Also added the option 'debug=1' to output the call stack in case an exception occurs (not always because of passwords being shown in the call stack)
  260. - reschedule at startup IIF the task is inactive or it is planned in the future
  261. - exit gracefully if iTop not yet installed
  262. - handle tasks scheduled at given date/time (as opposed to a task being executed more or less continuously).
  263. New mechanism: a module page can be accessed by the mean of a canonical URL (utils::GetAbsoluteUrlModulePage to build the proper URL)
  264. #752 Notifications sent several times (or too late) when MySQL is hosted on another server
  265. Setup: Source dir recorded with a trailing backslash under windows
  266. Restored the original behavior of itop-sla-computation (if present, then it becomes the default working hour computer)
  267. Improved the error reporting for the backup (in case mysqldump fails with a single error, then the error is displayed directly)
  268. New verb "AfterDatabaseSetup" for performing installation tasks after the completion of the DB creation (+predefined objects & admin account)
  269. #746 allow adding an AttributeBlob with is_null_allowed = true to an existing Data Model. (same issue fixed also for AttributeOneWayPassword).
  270. Properly handle nested forms in "PropertySheet" and "read-only" mode
  271. Bug fix: validation was broken when the first fields were not Ok.
  272. Export the content of the CaseLogs in "spreadsheet" format, with some tricks to preserve the formatting in Excel.
  273. Forms enhancements:
  274. - The current value of a field is automatically excluded from the forbidden values
  275. - Several levels of subforms can be nested, even when displaying as a property sheet
  276. - Sortables fields re-implemented based on a widget.
  277. - Specify forbidden values + message to explain the issue(toolip) (fiwed a bug on the previous implementation, causing a javascript error, hence a stopper regression due to missing event binds)
  278. - Dialog: specify an introduction message
  279. Protect against non existing reconciliation keys...
  280. Completed the move of dashboards from separate definition files (e.g. overview.xml) into data model files (8 dashboards were concerned on the model 2.x, 6 for the model 1.x)
  281. Re-position the popup menu each time the button is clicked, in case the button was moved...
  282. Make sure that tabs (and tab panels) are properly identified
  283. Removed the use of the obsolete $.browser property, since we don't care about IE 7 anyway.
  284. Upgrade to jQuery 1.10 and jQuery UI 1.10
  285. OQL normalization and dashlets have been made independent from the class MetaModel (adjusted the API)
  286. Added OQL normalization unit tests (to be run on a standard installation)
  287. #736 Could not delete objects unless you are authorized to bulk delete
  288. #734 Fixed a regression on reconciliation keys during CSV import.
  289. 3.2. Known limitations (https://sourceforge.net/apps/trac/itop/report/3)
  290. -----------------
  291. #71 The same MySQL credentials are used during the setup and for running the application.
  292. Suhosin can interfere with iTop. More information can be found here: http://www.combodo.com/wiki/doku.php?id=admin:suhosin
  293. Internet Explorer 6 is not supported (neither IE7 nor IE8 in compatibility mode)
  294. 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)
  295. 3.3. Known issues (https://sourceforge.net/apps/trac/itop/report/3)
  296. ------------
  297. #259 Not instantaneously logged off when the administrator deletes a user account
  298. #273 The administrator can delete his/her own user account
  299. #372 APC Cache not efficient (multi org usage, global search)
  300. #382 Search form / base class lost after a search
  301. #377 Case log: exclude the index from the views
  302. #388 IE9: edition fields not resizable
  303. #443 Objects remain in the database after de-installing some modules
  304. #442 Useless profiles installed (1.x legacy data model only)
  305. #438 The selection of Organizations using the hierarchy does not work on IE8 in security mode
  306. #436 Cannot type "All Organizations"
  307. #381 Deletion of dependencies could fail in a multi-org environment
  308. #241 "status" is a free-text field when configuring a Trigger
  309. #358 Multi-column queries sometimes returning an empty set
  310. #399 Copy/paste from iTop's CaseLog looses tabs
  311. #343 CKEditor (HTML Editor) not compatible with direct object creation on ExtKeys
  312. #350 Object edition form: validation does not tell which field has a problem
  313. #730 Leaving temporary files when performing a backup of the data during installation