You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
5.1 KiB

11 years ago
  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # Copyright (C) 2013 Daniel Reis
  5. #
  6. # This program is free software: you can redistribute it and/or modify
  7. # it under the terms of the GNU Affero General Public License as
  8. # published by the Free Software Foundation, either version 3 of the
  9. # License, or (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU Affero General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU Affero General Public License
  17. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. #
  19. ##############################################################################
  20. {
  21. 'name': 'Service Level Agreements',
  22. 'summary': 'Define SLAs for your Contracts',
  23. 'version': '1.0',
  24. "category": "Project Management",
  25. 'description': """\
  26. Contract SLAs
  27. ===============
  28. SLAs are assigned to Contracts, on the Analytic Account form, SLA Definition
  29. separator. This is also where new SLA Definitions are created.
  30. One Contract can have several SLA Definitions attached, allowing for
  31. "composite SLAs". For example, a contract could have a Response Time SLA (time
  32. to start resolution) and a Resolution Time SLA (time to close request).
  33. SLA Controlled Documents
  34. ========================
  35. Only Project Issue documents are made SLA controllable.
  36. However, a framework is made available to easily build extensions to make
  37. other documents models SLA controlled.
  38. SLA controlled documents have attached information on the list of SLA rules
  39. they should meet (more than one in the case for composite SLAs) and a summary
  40. SLA status:
  41. * "watching" the service level (it has SLA requirements to meet)
  42. * under "warning" (limit dates are close, special attention is needed)
  43. * "failed" (one on the SLA limits has not been met)
  44. * "achieved" (all SLA limits have been met)
  45. Transient states, such as "watching" and "warning", are regularly updated by
  46. a hourly scheduled job, that reevaluates the warning and limit dates against
  47. the current time and changes the state when find dates that have been exceeded.
  48. To decide what SLA Definitions apply for a specific document, first a lookup
  49. is made for a ``analytic_account_id`` field. If not found, then it will
  50. look up for the ``project_id`` and it's corresponding ``analytic_account_id``.
  51. Specifically, the Service Desk module introduces a Analytic Account field for
  52. Project Issues. This makes it possible for a Service Team (a "Project") to
  53. have a generic SLA, but at the same time allow for some Contracts to have
  54. specific SLAs (such as the case for "premium" service conditions).
  55. SLA Definitions and Rules
  56. =========================
  57. New SLA Definitions are created from the Analytic Account form, SLA Definition
  58. field.
  59. Each definition can have one or more Rules.
  60. The particular rule to use is decided by conditions, so that you can set
  61. different service levels based on request attributes, such as Priority or
  62. Category.
  63. Each rule condition is evaluated in "sequence" order, and the first onea to met
  64. is the one to be used.
  65. In the simplest case, a single rule with no condition is just what is needed.
  66. Each rule sets a number of hours until the "limit date", and the number of
  67. hours until a "warning date". The former will be used to decide if the SLA
  68. was achieved, and the later can be used for automatic alarms or escalation
  69. procedures.
  70. Time will be counted from creation date, until the "Control Date" specified for
  71. the SLA Definition. That would usually be the "Close" (time until resolution)
  72. or the "Open" (time until response) dates.
  73. The working calendar set in the related Project definitions will be used (see
  74. the "Other Info" tab). If none is defined, a builtin "all days, 8-12 13-17"
  75. default calendar is used.
  76. A timezone and leave calendars will also used, based on either the assigned
  77. user (document's `user_id`) or on the current user.
  78. Setup checklist
  79. ===============
  80. The basic steps to configure SLAs for a Project are:
  81. * Set Project's Working Calendar, at Project definitions, "Other Info" tab
  82. * Go to the Project's Analytic Account form; create and set SLA Definitions
  83. * Use the "Reapply SLAs" button on the Analytic Account form
  84. * See Project Issue's calculated SLAs in the new "Service Levels" tab
  85. Credits and Contributors
  86. ========================
  87. * Daniel Reis (https://launchpad.net/~dreis-pt)
  88. * David Vignoni, author of the icon from the KDE 3.x Nuvola icon theme
  89. """,
  90. 'author': 'Daniel Reis',
  91. 'website': '',
  92. 'depends': [
  93. 'project_issue',
  94. ],
  95. 'data': [
  96. 'project_sla_view.xml',
  97. 'project_sla_control_view.xml',
  98. 'project_sla_control_data.xml',
  99. 'analytic_account_view.xml',
  100. 'project_view.xml',
  101. 'project_issue_view.xml',
  102. 'security/ir.model.access.csv',
  103. ],
  104. 'demo': ['project_sla_demo.xml'],
  105. 'test': ['test/project_sla.yml'],
  106. 'installable': True,
  107. }