3 Replies Latest reply on Aug 18, 2015 6:22 PM by philmodjunk

    I'm designing a support ticketing system. In order to expedite the single most common user action, I...

    noamb

      Post

      I'm designing a support ticketing system. In order to expedite the single most common user action, I want to put a big NEW TIME ENTRY popover in the button bar on every layout of the database. The popover will ask for the start and end times, client name, and other details. However, it should create a new Time Entry record regardless of the context of the layout from which it's triggered. How do I accomplish this?

        • 1. Re: I'm designing a support ticketing system. In order to expedite the single most common user action, I...
          philmodjunk

          Three options:

          a) put in place different occurrences of the same Time Entry table linked to each table occurrence that serves as the basis for one of your layouts. The relationship can have "allow creation..." enabled for the Time Entry tables occurrences and can link a global field in the layout's table to a Primary Key field with an auto-entered serial number or UUID in the Time Entry table. Your script can clear the global field and then use set field or set field by name to set values to different fields in the Time Entry table. With the global field empty and "allow creation.." enabled, this will create a new related record in the Time Entry table.

          b) using the Selector Connector approach, the method in a) can be modified to work from a single table occurrence of the Time Entry table.

          c) Without any relationships to any occurrences of the Time Entry table, your script  can capture data in variables, change to a layout based on the Time Entry table, create a new record and use set field to transfer data from variable to fields in the Time Entry log before returning to the original layout. This has two draw backs: The layout changes can trip script triggers and cause scripts to be performed that interfere. And the layout changes will cause the popover to close. The first can be prevented by setting a global variable to a value before changing layouts. The trigger performed scripts are then written with if steps that check the value of the variable and exit if the variable is set. The second may not be an issue for your application of this method, but if you want the popover to remain open, you can give the popover an object name and use go to object to re-open the popover after returning to the original layout. The user does not see the popover close and re-open.

          • 2. Re: I'm designing a support ticketing system. In order to expedite the single most common user action, I...
            noamb

            PhilModJunk, thanks!

             

            Of your three suggestions, I'm inclined NOT to go with option A, because I suspect this database will become wild and wooly and the Relationships graph will probably become unmanageable.

            When deciding between your suggested options B and C, what are the pros and cons of the choice? 

            :) noamb