We’ve developed some resources to help you work effectively from home during COVID-19 Click to learn more

SOProtocol

In this article

    Controlling the User Interface Without Scripting

    Gives you the possibility to send a link to another user that will open a specific panel with the information you want. With this protocol you may send a link/url to e.g. a specific appointment on a specific company to another user. You can also use the SO Protocol in your own scripts to avoid instanciating the SOApplication object.

    The url is built up like this: superoffice:where.where...?what=id&what=id&...

    To change to contact with contact_id=2, you use this url: superoffice:contact.main?contact_id=2

    Works for the main panels:

      • Contact
      • Project
      • Selection
      • Diary
      • Mail

    And dialogs:

      • Person
      • Sale
      • Appointment
      • Document
      • Invitations

    Sub-modes:

    Contact sub-modes:

      • Main
      • Udef
      • Interest
      • WWW
      • Info
      • PersonArchive
      • RelationArchive
      • ProjectArchive
      • ActivityArchive

    Project sub-modes:

      • Main
      • Udef
      • WWW
      • Info
      • MemberArchive
      • ActivityArchive

    Selection sub-modes:

      • Main
      • Task

    Diary sub-modes:

      • Day
      • Week
      • Month
      • ReferenceView

    Person sub-modes:

      • Main
      • Udef
      • Interest
      • Info

    Force Application window to top

      • Activate

    Force refresh of all caches, or reload of some caches

      • Refresh
      • Reload
      • Flush

     

    The Window name from SOAdmin / Lists / Application dialog may also be used in an URL to open the webpanel.

     

    You may use the primary keys to specify what to open through the query string:

    • contact_id
    • person_id
    • project_id
    • selection_id
    • appointment_id
    • document_id
    • sale_id

     

    To refresh the client (Shift+F5 or just F5)

    • flush
    • refresh

     

    To prevent a link from leading people astray when used against a different database, the serial number of the database id can be used in the URL

    • db_id

     

    You can use the COPY SHORTCUT task in most dialogs or from the main window Task Center button to get a SOProtocol link that reflects the current state of the application.

     

    Examples:

    Show the contact with contact id 10:

    superoffice:contact.main?contact_id=10

    This example switches to a specific company card, sets the active archive to the activity archive and opens an appointment:

    superoffice:contact.main.activityarchive.appointment?contact_id=2&appointment_id=1

    If you have added a web contact panel with the window name "erpinfo" , it can be referenced like this:

    superoffice:contact.www.erpinfo?contact_id=2

    If the same web panel is not located on the main card, but in the archive, the SOProtocol looks like

    superoffice:contact.erpinfo?contact_id=2

    If refresh the client

    superoffice:refresh?db_id=1010000006

    superoffice:flush?db_id=1010000006

    To make a link that forces the SuperOffice window to the front of the screen, add Activate to the end of the modes:

    superoffice:contact.main.activityarchive.activate?contact_id=2