v2.11.0-beta.1
Pre-releaseThis version is beta. You may contribute to improve the plugin before the final release, planned for the last week of January 2021.
How can you help?
- Test the upgrade process of the plugin.
- Test the new features, especially the new questions layout for forms.
- Help to translate the locales in your language. Translations are stored on Transifex.
Important note:
The growing popularity of this plugin makes it used in more complex use cases. Recent issues and feedbacks shows that two important design solutions must evolve:
- entity restrictions in some parts of the plugin;
- consistency checks when showing forms to requesters;
- processing their answers
- consistency checks when designing forms.
These enhancements will impact some complex use cases by changing the available items of dropdowns / assets when a requester fills in a form. Those changes will occur only in minor versions updates.
In other words, we recommend you to check carefully forms containing questions related to dropdowns, assets, users and groups before upgrading to version 2.11.x.
This version contains the following change:
entity of dropdowns is now relative to the form, not the user. see #2023
Major features
- Questions are now positioned on a 4 columns grid and may have variable width
- Service catalog may split forms and KB in 2 distinct menu entries (disabled by default)
- Default sorting of forms (alphabetic, popularity) is now customizable (see entity > forms tab)
- Captcha for anonymous forms (disabled by default)
Deprecated
- SyncIssues automatic action is now disabled by default. Upgrading to 2.11 will disable it as well.
Changelog
Bug Fixes
- bad path for marketplace (e8b38f0c)
- bad path for marketplace, load tinymce in issue (9b75f05f)
- class should not be accessed directly (aeb59ebf)
- class should not be accessed directly (480a8fa7)
- fix ajax calls (02013495)
- keep backward compatibility with GLPI 9.4 (834c73a2)
- keep the user in the service catalog (7f9451a8)
- marketplace compatibility (08dc1a18)
- marketplace compatibility (again) (ef5f0803)
- missing declaration for variable (b765930d)
- missing declaration for variable (071d39d0)
- modal positionning (c94df7c7)
- other bad redirections (3830463b)
- path for marketplace compatibility (1d8bcf60)
- remove code left for debug (81bc7b6b)
- several missing cap in strings (b8a37b6e)
- syntax error in JS file (84a3707e)
- update hooks (1ffb1ca1)
- useless escaping (dca026d2)
- various fix on fields (a01d603c)
- various fixes on duplicate / import (0d7c4dd2)
- actorsfield: compatibility with GLPI 9.5.3 (7e3c6e74)
- build: invert order of versions in changelog (9a8782e3)
- category: entity restriction not applied (fb2a1957)
- category: use short name (ad3d16d1)
- central: list of forms displayed twice (056b419d)
- checkbowesfield: migrate data to JSON (2b431253)
- checkboxfield: avoid unicode escaping (3276b9a7)
- common: better search for ticket validation (e7bbdccb)
- common: getMax fails with PHP 7.4 (51ebc459)
- conditin: export broken (62b1d692)
- condition: broken UI when adding a conditionnable with conditions (006b2860)
- condition: catch comparison exception (4bdaab4b)
- condition: export broken (788d1f17)
- condition: inability to add a rows to conditions (40129a69)
- condition: missing FK when editing conditions (c96f2f53)
- condition: permit update of conditionnable items without specifying conditions agaiin (b95bdae9)
- condition: php warning if a wuestion does not exists (9e6ae32b)
- condition: remove conditions when disabled (b2655e54)
- condition: use of constants (234b4e30)
- confition: hide garbage conditions (4491e7a2)
- datefield: undefined var when creating question (b11bc4e5)
- datefield,datetimefield: avoid PHP warnings (90f82596)
- datefield,datetimefield: not rendered fields (fe70b426)
- description: simple text may render HTML tags (09c0b4bd)
- dropdownfield: SQL error : ambiguous column id (2da15830)
- dropdownfield: SQL error to find curent user's groups (985a8b28)
- dropdownfield: bad entity restriction (3a664f80)
- dropdownfield: compatibility with Document itemtype (bc968b39)
- dropdownfield: compatibility with Tags plugin (7752758a)
- dropdownfield: empty dropdown (2b8b7f12)
- dropdownfield: entity restriction relative to the form, not the user (dc7dda94), closes #2047
- dropdownfield: label for change categories and request categories (b534ad37)
- dropdownfield: not rendered (a2633082)
- dropdownfield: update classname (67aec202)
- dropdownfield,glpiobjectfield: sub type not dosplayed (b4808b22)
- dropdownfield,glpiselectfield: empty value parameter not honored (187daa50)
- dropdownfields: handle empty value for entities dropdown (3a5dab7c)
- emailfield: disable inherited parameters (2ee1bd5a)
- exportable: implement missing method (4e867270)
- exportable: implement missing method (393dfea1)
- exportable: implement missing method (6897cb17)
- exportable: unsolved merge conflict (a868aff7)
- field: normalize class name (a27f82eb)
- fieldinterface: method signature mismatch (076937b5)
- filefield: broken mandatory check (f449acaa)
- filefield: documentt upload with GLPI 9.5 (2b48e824)
- filefield: php warning when editing the question (74800699)
- filefield: show download links when field is read only (3cd77dd2)
- form: add a first section requires refresh to be visible (eef72ab5)
- form: avoid useless HTTP requests and php warning (7ab6fbcd)
- form: bad call to count validators (39822d0a)
- form: bad path to css (a5fcf3c7)
- form: bad session var type when using anonymous form (9a9a07f4)
- form: bad sharing URL (0e8ca72c)
- form: broken link to forms (df0ec215)
- form: css inconsistencies (e9aa87af)
- form: doubling starcauses SQL error (5f26fccb)
- form: duplication exception (#1818) (d057a55c)
- form: entity restrict problem (88da1e7c)
- form: error in displayed form URL (4c4d97e2)
- form: forbid clone massive action in GLPI 9.5 (4c418024)
- form: hidden questions still consume 10 pixels height (e063d0b4)
- form: incorrect font on add target link (e9372051)
- form: list of forms on homepage (841d459b)
- form: make tab name same as title of its content (b60c1249)
- form: missinb closing tag (636d674a)
- form: multiple selection of validators (29d9fe86)
- form: my last form (validator) were not sorted (9ed9e871)
- form: not well restored save answers after invalid submission (9233628d)
- form: prevent SQL errors, remove natural language search (6c733a5b)
- form: purge message if answers exist (38f3094c)
- form: requesttype column no longer used (f8630baa)
- form: restore padding (2eb8c33e)
- form: show error if failure in import of a sub item (387f1f23)
- form: show session messages on anonymous forms (dada741f)
- form: single quotes around a table name (3668fb66), closes #1606
- form: typo in var name (47ed6179)
- form: unused class usage (f2a4b2c1)
- form: unused variable (1e8f417c)
- form: users don't know that the lists are limited (4f7cf5dc)
- form: validators must show when more than 2 available (3ee813f1)
- form: version comparison for export / import (0ad090d1)
- form,question: duplicate fail on form without section (818eab0a)
- form_profile: HTML form name mismatch (93d0ae5b)
- form_profile: broken envelope icon (bc0c9f9e)
- form_profile: not rendered selection of profiles (e70edcff)
- formanswer: display of status shall show a label (250db60d)
- formanswer: do not render section title if invisible (1c696321)
- formanswer: malformed SQL to delete answers (e26a4eb6)
- formanswer: missing validation checks when user updates a refused form (5f5cbbcd)
- formanswer: possible loop bug (25d1abfe)
- formanswer: restore validation status (cc8d981e)
- formanswer: save update on refused form (403d98ff)
- formanswer: use of in static method (fc0038f4)
- formanswer: word wrap on display long lines with long words (cbca8489)
- fotrm: some icons may be not displayed (e94adaa1)
- gitignore: change data folder config (07289ed2)
- glpiobjectfield: show ID of items (b8b8479f)
- glpiselect: empty value is not empty string (af5007d7)
- glpiselectfield: appliance plugin name is plural (304ffafd)
- glpiselectfield: missing caps un classnames (11e3e939)
- glpiselectfield: prevent use of the field with non existing itemtype (4271a503)
- glpiselectfield: restore palceholder DOM elements (b64fc10c)
- glpiselectfield: restrict to items associatable to tickets > > restriction on per item basis, like software (da0aa810)
- import: cannot factorize deleteObsoleteItems (1322fff1)
- import: don't handle immediately conditions on import (f3c8c407)
- import: more explicit error message (17a7f5ef)
- instal: re-add 2.11 version for upgrade process (dd483367)
- install: malformed sql on upgrade (3b1e8970)
- install: missing column reorder on upgrade (faaecf49)
- install: quote escaping when uprgading to 2.9.0 (342fbb02)
- install: sql error in upgrade (9c2bac0a)
- install: typo in SQL request (c6cadb00)
- install: upgrade may fail on single quote (0c4959c3)
- install: upgrade to 2.5.0 fails on categories (7d23b359)
- issue: SQL error (5578b87e)
- issue: adjust ticket status n automatic action (8445363b)
- issue: cancel ticket with simplified service catalog (e718bac2)
- issue: distinguish requester and author (b4af17f7)
- issue: enhance error message when canceling an issue (adabe361)
- issue: fix navigation through items of a list (63be3208)
- issue: handle redirection to satisfaction survey from email (fa17f523)
- issue: handle survey expiration (0662f80f)
- issue: localization problem impacting picture (2b33cd3e)
- issue: might have unwanted results (b7cad38c)
- issue: possible SQL error (e567b53d)
- issue: properly set validation data on ticket restore (050f5388)
- issue: repopulate table on upgrade (93e8a47a)
- issue: restrictu requester expression in service catalog (b576a501)
- issue: self service is able to reopen a closed issue / ticket (f90eafe1)
- issue: show satisfaction for tickets on service catalog (c8ce5e7e)
- issue: simplify counters criterias (7e7bf600)
- issue: status conversion for ticket (f7bd6c3b)
- issue: support of ticket waiting for approval (b5f0212b)
- issue: syncissues drops most requesters (c68628c1)
- issue: take ticket valdiation status and user into account (937a4a5e)
- issue: take ticket valdiation status into account (5d9cb079)
- issue: ticket status when approval request is used (486e0331)
- issue: update issue status on ticket validation update (5db55f6b)
- issue: update issue status on ticket validation update (1a4986e6)
- issue: validated ticket status (912c008a)
- issue: warning with GLPI 9.5 (9ad7a3d3)
- linker: may add several times a postponed item (b37d784f)
- linker: prevent reuse of variable (faf8a9c4)
- locales: bad string for french (bad3c7dd)
- locales: en_US translated into an other language (07806702)
- locales: english US contained korean translation (cd3e91a1)
- multiselectfield: visible JS (57ab7ded)
- question: SQL errors when deleting a question (6edaed6a)
- question: bad pasing of user input (5963666f)
- question: broken JSON when duplicating questions (7707875d)
- question: conditions count (dab9280d)
- question: duplication may make several items having same position (f332fc65)
- question: duplication of condition (f2d04325)
- question: extra slash when requesting questions for the form (b3a250f6)
- question: javascript code was displayed (4766010f)
- question: remove unused var (601f4387)
- question: show / hode specific properties (9dc71ca8)
- question: sql quote escaping (b2443136)
- question: sql quote escaping (68fa87f1)
- question: update parameters broken (6b46b796)
- question,section: improve condition consistency checks (a03e3d64)
- question,section: more resilient order change handling (d0a4c336)
- question,section: style of conditions count (655308d0)
- questionparameter: bad data for add item (fbd772b8)
- radiosfield: bad rendering of buttons when printing (b600e760)
- radiosfield: better handling of long labels (e39016a8)
- radiosfield: broken CSS (68e7e0e3)
- radiosfield: prevent css to apply on plain html radios (e7eb2bd6)
- requesttypefield: typo braking the field edition (f65e91a2)
- requesttypefield: update interface (c7a2537b)
- robo: line formatting for changelog (e57b33f0)
- robo: prevent exception when computong log with commit without body (876a9d0a)
- section: conditions not duplicated (e551e640)
- section: duplication of conditions: bad itemtype (dc1e972d)
- section: no validation button when adding section (a129a003)
- section: order of sections not respected on import (0e27cb3e)
- section: reorder if sections exist (a1bde8b1)
- section: typo, update name of section may update name of an inner question (d6cb0db9)
- section: unsupported use of QueryExpression (ad22dfef)
- section,question: actions on questions and sections misalignment (e85c1c35)
- section,question: don't force ordering on import (fedf621d)
- section,question: move the page to the modal window (0e78cf61)
- selectfield: comparison with empty string (89fb9dd3)
- tagfield: namespacing for HTML tools (6fdeb60c)
- target: load all tag questions (000003cc)
- target_actor: bad label (cbc73165)
- target_actor: better name for actor (287f912e)
- target_actor: duplication exception (1b0523e4)
- target_actor: duplication exception (f7b27270)
- target_actor: tell the ID of missing actor (7b4f5e3d)
- target_actor: unable to add a specific person (e6cbff3a)
- target_actor: update import / export (4d33896e)
- targetchange: bad label (1ecaeb6a)
- targetchange: bad url when delete an actor (265c8baa), closes #1607
- targetchange: do not geenrate HTML for simple text fields (7333df85)
- targetchange: prevent SQL escaping bug (e7da8de9)
- targetchange: value of checklist not rendered (9c3cb6f4)
- targettichet,targetchange: question tags not updated on duplication (63927c78)
- targetticket: change default for ticket type rule (70656754)
- targetticket: determine requester when answer is valdiated (14259f37), closes #50
- targetticket: empty dropdown for target ticket linking" (8dae4e3e)
- targetticket: get category from template (902cf130)
- targetticket: remove fixed width (e215154d)
- targetticket: request type may be unset (5caf1b01)
- targetticket: undefined type after creation (2e09c24c)
- targetticket,targetchange: avoid possible PHP warning (248d5c5d)
- targetticket,targetchange: better title for condition edition (b4b53407)
- targetticket,targetchange: covnert question ID into UUID for export of target settings (5fa4707b)
- targetticket,targetchange: duplicate actors run twice (75ab2dd5)
- targetticket,targetchange: dynamic entity computation may fail (2ee2616e)
- targetticket,targetchange: escape text fields of targets (e80a1cac)
- targetticket,targetchange: export / import entity from question (6ebbbacb)
- targetticket,targetchange: export / import of conditions (65ff5a33)
- targetticket,targetchange: handle import failure on missing question (d2fd6fa4)
- targetticket,targetchange: inverted show / hide for urgenty settings (03b3d95e)
- targetticket,targetchange: loss of the target name when duplicating (8d24bd46)
- targetticket,targetchange: make name mandatory browser side (93ef3496)
- targetticket,targetchange: missing update of question ID in targets (3f998d8b)
- targetticket,targetchange: repair supplier actors edition (34597ed3)
- targetticket,targetchange: specific tags not applicable (062d10e3)
- targetticket,targetchange: too many escaping on target_name (269e4d7c)
- targetticket,targetchange: unsaved question ID for tags from question, restore multiple choice (255d0e7d)
- targetticket,targetchange: update constants for due date resolution in JS code (8f964e71)
- textarea: image paste on multiple pages (5cbab1e2)
- textarea: workaround GLPI bug in 9.4.5 (3d53b181), closes #1613
- textareafield: allow paste images in textareas (8b8b244e)
- textareafield: inline imagein default value converted to document (14e5f4b3)
- textareafield: remove workaround for textarea (f79ed364)
- textareafield: tinymce may be 0px height (aceec1b3)
- textareafield: visual glitches if a textarea is visibles after scrollong and under a condition, triggering on and off teh conditin may lead to a partially visible areal (only the toolbar) (81ed97a6)
- textareafield,filefield: better support for GLPI 9.5 (213ec157)
- textfield,textareafield: escaping problem when editing question (dd585eb0)
- ticket: put new ticket to trash bin (90f6b5c2)
- timefield: assign a default value (d08cc0b8)
- urgencyfield: static call on non-static method (db689c0e)
- wizard: JS lib not loaded (5a4f2e72)
- wizard: JS lib not loaded (0c93dbd4)
- wizard: broken HTML, forms are invisible (aac9c082)
- wizard: main area container overflows behind footer (f25d6054)
- wizard: missing HTML tag breaking footer (15208880)
- wizard: reservation search failure (24ca70c4)
Features
- ad menu icon for GLPI 9.5 (217be26c)
- compatibility with GLPI's marketplace (04374b9b)
- compatibiliy with glpi 9.5 (a0591176)
- drop GLPI 9.4 compatibility (50541652)
- drop GLPI 9.4 compatibility (83442969)
- drop GLPI 9.4 comptability (ed360e26)
- drop comaptibility with GLPI 9.4 (7c48d037)
- drop compatibility with GLPI 9.4 (1170c8b6)
- use font awesome for all icons (0c842f48)
- actorfield: drop compatibility with GLPI 9.4 (d46b8904)
- actorsfield: drop compatibility with GLPI 9.4 (4c968368)
- condition: condition on visibility of a question (76ca5ac6)
- datefield: default value for date (5a83b325)
- datetimefield: default value (120433fe)
- descriptionfield: allow description field in targets (099e9001)
- entityconfig: setting to define sort order (180f6c23)
- form: abort import from JSON without a version tag (1264ac1d)
- form: captcha for anonymous forms (9576f2b5)
- form: case insensitive captcha (b463d3a1)
- form: conditions for submot button (bfeabe54)
- form: disable floating elements (26d2fdb6)
- form: make forms (slightly) more responsive (3857b000)
- form: progressbar for form import (deb1e20e)
- form: setting to enable captcha (f6a93bb5)
- form: version check of file on import (61266614)
- glpioblectfield: support for native appliance object (5592f155)
- glpiselectfield: access to appliances from appliances plugin (3f03e529)
- glpiselectfield: drop compatibility with GLPI 9.4 (63abdff5)
- glpiselectfield: support for new passive DC equipment (74859125)
- issue: deprecate SyncIsssues (1c456ff1)
- issue: group validator in issue (f9183db2)
- knowbaseitem: new UI for KB (f1d34de8)
- question: give more room for value of select question (7b6dd6b1)
- question,section: drag drop accross sections (24d6cc8c)
- question,section: show conditions count (f4625263)
- question,section: tip on conditions count (68f29f9b)
- requesttypefield: allow empty value (30c86ae3)
- section: make section title required (aa0c7dd4)
- targetticket: set type from question (d39a522d)
- targetticket,targetchange: assign a group from the technician group of an objec (55b4318f)
- targetticket,targetchange: conditions backported to 2.10 (a236f5e4)
- targetticket,targetchange: conditions to generate the targets (ae1cdf66)
- targetticket,targetchange: set a group from an object from a question (8d7af9f9)
- urgencyfield: allow empty value (0712662c)
- wizard: always show saved searches menu item (13ee7034)
- wizard: handle GLPI's impersonate feature (20a90249)