Skip to content

Update SoProtocol documentation — missing screens, incorrect targets, and undocumented features #2894

@MargretheR

Description

@MargretheR

Is there an existing issue for this?

  • I have searched the existing issues

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.

──────────

  1. 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

──────────

  1. 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.

──────────

  1. 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().

──────────

  1. 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

──────────

  1. 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
──────────

  1. 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

Metadata

Metadata

Assignees

Labels

doc-bugFeedback about omissions, errors, or confusing or conflicting text in an article.doc-enhancementSuggested addition or improvement to the article.

Type

No type
No fields configured for issues without a type.

Projects

Status

✔ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions