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:
Diary sub-modes:
- Day
- Week
- Month
- ReferenceView
Person sub-modes:
Force Application window to top
Force refresh of all caches, or reload of some caches
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)
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
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