Skip to content
Snippets Groups Projects
  1. Feb 25, 2014
  2. Jan 20, 2014
  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 17, 2013
  5. Nov 26, 2013
  6. Nov 25, 2013
  7. Nov 24, 2013
  8. Oct 25, 2013
  9. Oct 14, 2013
  10. Oct 10, 2013
  11. 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
      Better implementation of joins in ORM · 1ce20852
      Jared Hancock authored
      Use an internal hash table of join information to prevent multiple joins
      over the same path. Also use table aliases in order to support self joins or
      otherwise multiple joins to the same table using different paths.
      1ce20852
    • 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
Loading