Is there an existing issue for this?
Which content section have you found a bug in?
None
What kind of bug is it?
None
What happened?
I asked Theo to generate a list of what we're missing here: https://docs.superoffice.com/en/customization/soprotocol/index.html:
The SoProtocol documentation at /en/customization/soprotocol/ is outdated and missing several navigation targets, special commands, and current values. This issue tracks the needed updates based on a code audit of SoApplicationConfiguration.config, SoProtocolParser.cs, SoProtocolModule.cs, and SCIL Router navigation.
──────────
- Navigation targets reference — complete list of main screens
The docs currently list only: contact, person, project, sale, selection, appointment, document, diary, mailbox, chat, dashboards.
The correct and complete list of main page targets is:
SoProtocol target | Screen | Notes
contact | Company card |
person | Person card |
diary | Calendar/Diary |
project | Project card |
sale | Sale card |
ticket | Requests/Service | Requires NewServiceRequest feature toggle
selection | Selection | Auto-rewrites (see below)
selectionsearch | Selection — search view | For existing selections
selectionfind | Selection — find view | For new selections (id=0)
selectionbrowse | Selection — browse view |
selectionboard | Selection — board/kanban | Requires BoardView feature toggle
dashboard2 | Dashboards | ⚠️ NOT dashboards or dashboard
chat | Chat |
emarketing | Marketing/Mailings |
newinbox | Email inbox | ⚠️ NOT mailbox
flows | Flows (email flows/workflows) |
customobjectoverview | Custom objects overview |
freetextresult | Free-text search results |
browser | Web panel browser |
simpleiframe | Simple iframe embed |
Corrections needed:
• dashboards → should be dashboard2
• mailbox → should be newinbox
• email → does not exist as a main screen target
──────────
- Selection auto-rewriting
Add a section explaining the selection rewrite logic (from SoProtocolParser.cs):
When using selection as a target, the protocol parser automatically rewrites it:
- selection with selection_id=0 → selectionfind (create new selection)
- selection with an existing selection_id → selectionsearch (open existing selection)
You can also navigate directly to selectionbrowse or selectionboard for alternative views.
──────────
- Dialog targets
Add a section documenting key dialog targets partners can open:
SoProtocol target | Dialog | Notes
appointment | Follow-up/appointment | SCIL dialog
document | Document | SCIL dialog
relation | Relation | SCIL dialog
find | Find dialog |
preferences | User preferences | SCIL dialog
appsettings | Application settings | SCIL dialog
maildialog | Email compose |recyclebin | Recycle bin | SCIL dialog
statusmonitor | Saint status monitor | SCIL dialog
consentperson | Consent for person | SCIL dialog
groupview | Group view / diary view | SCIL dialog
Dialogs are opened via the soprotocol with dialog=stop parameter added automatically. In SCIL pages, navigation uses SCIL.Router.navigateTo().
──────────
- Special commands
Add documentation for these special soprotocol values:
Command | Description
flush | Flushes the client cache
refresh | Refreshes the current page
service.{program}?action={action} | Redirects to Customer Service (CS) screens. Example: service.ticket?action=listTickets&ticket_id=123
The flush parameter can also be used inline: contact[flush=true].main
──────────
- Current values (the ?what query parameters)
Update the parameters reference to include the full set of supported entity IDs:
Parameter | Description
contact_id | Company/contact
person_id | Person
project_id | Project
sale_id | Sale
appointment_id | Follow-up/appointment
document_id | Document
selection_id | Selection
ticket_id | Request/ticket
dashboard_id | Dashboard
email_flow_id | Email flow
associate_id | Associate/user
diaryowner_id | Diary owner
day_id / week_id / month_id | Calendar date navigation
──────────
- Admin targets (for completeness / admin docs)
The following admin screens are accessible via soprotocol when the user has admin rights. These may not be relevant for partner docs but should be documented somewhere:
adminlicense, adminusers, adminroles, adminprivacy, adminsaint, adminhugoai, adminlists, adminquote, adminworkflow, adminconfigscreens, adminpreferences, adminchat, adminmarketing, adminsystem, adminimportwizard, adminfields, crmscript, adminrequests, admincustcenter, adminsystemdesign
──────────
Source files referenced:
• Clients/SM.web/Webs/CRM.web/App_Data/WebClient/Web/SystemFiles/SoApplicationConfiguration.config
• Modules/DCF/Source/SuperOffice.DCFWeb/Protocol/SoProtocolParser.cs
• Modules/DCF/Source/SuperOffice.DCFWeb/Protocol/SoProtocolModule.cs
• Modules/SCIL/modules/scil-crm/src/Modules/Navigator/NavigatorButtons.ts
Anything else?
No response
Is there an existing issue for this?
Which content section have you found a bug in?
None
What kind of bug is it?
None
What happened?
I asked Theo to generate a list of what we're missing here: https://docs.superoffice.com/en/customization/soprotocol/index.html:
The SoProtocol documentation at /en/customization/soprotocol/ is outdated and missing several navigation targets, special commands, and current values. This issue tracks the needed updates based on a code audit of SoApplicationConfiguration.config, SoProtocolParser.cs, SoProtocolModule.cs, and SCIL Router navigation.
──────────
The docs currently list only: contact, person, project, sale, selection, appointment, document, diary, mailbox, chat, dashboards.
The correct and complete list of main page targets is:
SoProtocol target | Screen | Notes⚠️ NOT dashboards or dashboard⚠️ NOT mailbox
contact | Company card |
person | Person card |
diary | Calendar/Diary |
project | Project card |
sale | Sale card |
ticket | Requests/Service | Requires NewServiceRequest feature toggle
selection | Selection | Auto-rewrites (see below)
selectionsearch | Selection — search view | For existing selections
selectionfind | Selection — find view | For new selections (id=0)
selectionbrowse | Selection — browse view |
selectionboard | Selection — board/kanban | Requires BoardView feature toggle
dashboard2 | Dashboards |
chat | Chat |
emarketing | Marketing/Mailings |
newinbox | Email inbox |
flows | Flows (email flows/workflows) |
customobjectoverview | Custom objects overview |
freetextresult | Free-text search results |
browser | Web panel browser |
simpleiframe | Simple iframe embed |
Corrections needed:
• dashboards → should be dashboard2
• mailbox → should be newinbox
• email → does not exist as a main screen target
──────────
Add a section explaining the selection rewrite logic (from SoProtocolParser.cs):
When using selection as a target, the protocol parser automatically rewrites it:
You can also navigate directly to selectionbrowse or selectionboard for alternative views.
──────────
Add a section documenting key dialog targets partners can open:
SoProtocol target | Dialog | Notes
appointment | Follow-up/appointment | SCIL dialog
document | Document | SCIL dialog
relation | Relation | SCIL dialog
find | Find dialog |
preferences | User preferences | SCIL dialog
appsettings | Application settings | SCIL dialog
maildialog | Email compose |recyclebin | Recycle bin | SCIL dialog
statusmonitor | Saint status monitor | SCIL dialog
consentperson | Consent for person | SCIL dialog
groupview | Group view / diary view | SCIL dialog
Dialogs are opened via the soprotocol with dialog=stop parameter added automatically. In SCIL pages, navigation uses SCIL.Router.navigateTo().
──────────
Add documentation for these special soprotocol values:
Command | Description
flush | Flushes the client cache
refresh | Refreshes the current page
service.{program}?action={action} | Redirects to Customer Service (CS) screens. Example: service.ticket?action=listTickets&ticket_id=123
The flush parameter can also be used inline: contact[flush=true].main
──────────
Update the parameters reference to include the full set of supported entity IDs:
Parameter | Description
contact_id | Company/contact
person_id | Person
project_id | Project
sale_id | Sale
appointment_id | Follow-up/appointment
document_id | Document
selection_id | Selection
ticket_id | Request/ticket
dashboard_id | Dashboard
email_flow_id | Email flow
associate_id | Associate/user
diaryowner_id | Diary owner
day_id / week_id / month_id | Calendar date navigation
──────────
The following admin screens are accessible via soprotocol when the user has admin rights. These may not be relevant for partner docs but should be documented somewhere:
adminlicense, adminusers, adminroles, adminprivacy, adminsaint, adminhugoai, adminlists, adminquote, adminworkflow, adminconfigscreens, adminpreferences, adminchat, adminmarketing, adminsystem, adminimportwizard, adminfields, crmscript, adminrequests, admincustcenter, adminsystemdesign
──────────
Source files referenced:
• Clients/SM.web/Webs/CRM.web/App_Data/WebClient/Web/SystemFiles/SoApplicationConfiguration.config
• Modules/DCF/Source/SuperOffice.DCFWeb/Protocol/SoProtocolParser.cs
• Modules/DCF/Source/SuperOffice.DCFWeb/Protocol/SoProtocolModule.cs
• Modules/SCIL/modules/scil-crm/src/Modules/Navigator/NavigatorButtons.ts
Anything else?
No response