Skip to content
Snippets Groups Projects
  1. Jan 13, 2014
  2. Jan 02, 2014
    • Jared Hancock's avatar
      Improve advanced search performance · 4d281128
      Jared Hancock authored
      Use a union query to avoid using DISTINCT and lots and lots of joins in the
      from clause.
      
      Initial tests seem to indicate about a 80% faster (~500ms down from ~800ms)
      on querying about 9k tickets).
      4d281128
  3. Dec 31, 2013
    • Jared Hancock's avatar
      perf: Use a materialized view to speed queue views · 1bc05945
      Jared Hancock authored
      This patch introduces an automatic materialized view to speed database
      performance when querying and displaying the ticket views. This can
      eventually be extended to the search and advanced search features to speed
      them as well.
      
      The data from the dynamic form entries related to ticket details is copied
      to a %ticket__cdata table. The %ticket__cdata table is then joined directly
      to the other tables in the query for the ticket view. MySQL is magically
      and dramatically faster using this method.
      
      The downside is that the disk usage for the custom data is doubled, and the
      time needed to update the dynamic data is at least doubled as the form
      entries and the materialized view must both be updated.
      
      This method should also extend well to other database platforms in the
      future. It will be likely that most other database query optimizers will
      have difficulty joining, scanning, and sorting the table models we have for
      custom data fields.
      1bc05945
  4. Dec 13, 2013
  5. Dec 11, 2013
  6. Nov 24, 2013
  7. Nov 18, 2013
  8. Nov 17, 2013
  9. Nov 16, 2013
  10. Nov 12, 2013
  11. Oct 23, 2013
  12. Oct 17, 2013
  13. Oct 10, 2013
  14. Oct 09, 2013
    • Jared Hancock's avatar
      Completion of dynamic forms concept · 43b74f4a
      Jared Hancock authored
      Moved to an initial form which specifies the ticket's priority and issue and
      changed the rendering to render things properly. Now the user can decide
      where priority shows on the client side, and the priority privacy setting is
      placed in the dynamic form wizard.
      
      The standard form is added to every ticket without option. Extra forms can
      be defined and associated with help topics which can additionally be added
      to tickets upon creation. This allows for standardization of the dynamic
      data location for searches and filtering.
      
      Implemented advanced search for dynamic data. Along with reinstating the
      basic ticket search on keywords
      
      Implemented ticket filtering on dynamic data for both keyword searches as
      well as searches for special fields (drop-down lists, etc.)
      
      Phone number for users is now completely optional
      43b74f4a
    • Jared Hancock's avatar
      Move client information to separate formset · 53666db6
      Jared Hancock authored
      This moves client information like name and email address out of the general
      dynamic forms data for a ticket. It really paves the way for the first-class
      user of the future.
      53666db6
    • Jared Hancock's avatar
      Dynamic data for osTicket · 9e75169e
      Jared Hancock authored
      *This is a major redesign / rework of the osTicket base*
      
      This patch drops the concept of static ticket metadata and allows for an
      admin-configurable arbitrary data that is attachable to tickets
      
      The system is architected such that the base osTicket install now comes with
      a "default" form that has fields for subject, name, email, and phone number.
      This form is editable to allow for the addition of arbitrary other fields;
      however, the basic fields must remain in order to be associated with a
      help-topic and attached to a ticket.
      
      This concept can be expanded to allow for arbitrary data associated with
      registered clients or ticket thread items.
      
      Forms are comprised of sections. Sections have a title and instructions
      properties and a list of fields. Fields have various implementations to
      represent different data such as text, long answer, phone number, datetime,
      yes/no, and selections, and are configurable to define the look and feel and
      interpretation of the respective form field.
      
      Dropdown lists are represented as "Dynamic Lists", which are
      admin-configurable lists of items. Dropdowns can be optionally represented
      as Bootstrap typeahead fields.
      
      This also adds the start of a simple ORM which will hopefully be expanded in
      the future to support multiple database platforms. Currently, only MySQL is
      implemented.
      9e75169e
  15. May 23, 2013
    • Jared Hancock's avatar
      Use database default storage engine · 55e1c8ec
      Jared Hancock authored
      Drop required usage of MyISAM tables, and drop fulltext indexes as they
      are not used in the code currently anyway. Also, use a blob to store
      session data so as not to waste space with UTF-8 encoding. Lastly, fix
      session_id storage to use VARCHAR(255) which is required for versions
      of MySQL < 5.0.3, and use ascii for the storage model for the
      session_id as it will contain simple characters only.
      55e1c8ec
  16. Feb 22, 2013
  17. Feb 15, 2013
  18. Feb 13, 2013
  19. Jan 03, 2013
  20. Dec 14, 2012
  21. Dec 13, 2012
  22. Nov 25, 2012
  23. Oct 29, 2012
  24. Oct 28, 2012
  25. Oct 08, 2012
  26. Aug 08, 2012
  27. Jul 20, 2012
  28. Jul 16, 2012
  29. Jun 28, 2012
  30. Jun 18, 2012
  31. Apr 29, 2012
  32. Apr 22, 2012
Loading