### Install markdownlint-cli Source: https://docs.superoffice.com/contribute/markdown-guide/markdownlint.html Install the markdownlint-cli globally using npm. This command-line tool allows for bulk linting and integration into build pipelines. ```bash npm install -g markdownlint-cli ``` -------------------------------- ### Install Web Tools MSI Source: https://docs.superoffice.com/integrations/webtools/deploy.html This script installs the SuperOffice Web Extensions MSI, copies the configuration script to the startup menu, and removes the default shortcut. ```batch @echo off msiexec /i SuperOffice.Web.Extensions.msi /qn /norestart xcopy SuperOfficeWebToolConfiguration.cmd "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Startup" /Y del "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Startup\SuperOffice CRM.Web Extensions.lnk" ``` -------------------------------- ### Install SuperOffice Web Tools MSI Packages Source: https://docs.superoffice.com/integrations/webtools/deploy.html Use this batch script to install the necessary MSI packages for SuperOffice Web Tools. It also copies the configuration script to the startup menu and removes a default shortcut. ```batch @echo off msiexec /i SoCrossTableInstaller.msi /qn /norestart msiexec /i SuperOffice.MailLink.Setup.msi /qn /norestart msiexec /i SuperOffice.Web.Extensions.msi /qn /norestart xcopy SuperOfficeWebToolConfiguration.cmd "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Startup" /Y del "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Startup\SuperOffice CRM.Web Extensions.lnk" ``` -------------------------------- ### Example Metadata Block Source: https://docs.superoffice.com/contribute/markdown-guide/metadata.html This example shows a complete set of metadata fields for a document, including uid, title, description, author, date, keywords, topic, environment, and client. ```yaml --- uid: join_video_meeting title: Join a video meeting description: There are several ways in which you can join a video meeting in SuperOffice. Learn how. author: Tony Yates date: 04.19.2021 keywords: video topic: howto envir: cloud client: online --- ``` -------------------------------- ### Extract WebTools Installer Files Source: https://docs.superoffice.com/integrations/webtools/deploy.html Use this command to extract the MSI files from the WebTools installer to a specified directory. This is the first step in manually distributing WebTools components. ```bash SuperOffice.Web.Tools.exe /k /d C:\Temp ``` -------------------------------- ### YAML Properties: Example Source: https://docs.superoffice.com/contribute/crmscript-yaml-files.html Includes a textual example or CRMScript code, wrapped in '
'. Must be enclosed in double quotes and start/end with a newline.
```yaml
example:
- "\nPrints the length of a string: String txt = "Wergelandsveien";
printLine(txt.getLength().toString());Outputs 15.\n"
```
--------------------------------
### Get Latest Updates from GitHub
Source: https://docs.superoffice.com/contribute/git-cheat-sheet.html
Fetches and merges changes from the remote repository. It's recommended to run this before starting work and frequently throughout the day to stay updated and resolve merge conflicts.
```git
git pull
```
--------------------------------
### Update return type example
Source: https://docs.superoffice.com/contribute/crmscript-yaml-files.html
Example demonstrating how to change the return type of a CRMScript method.
```APIDOC
## Update return type example
### Description
This example shows how to update the return type of a CRMScript method by modifying both the `syntax.content` and `syntax.return.type` properties.
### Before Update
```yaml
syntax:
content: Void xmlEncode()
parameters: []
return:
type: CRMScript.Global.Void
```
### After Update
```yaml
syntax:
content: String xmlEncode()
parameters: []
return:
type: CRMScript.Global.String
```
Remember to update references if a new type is introduced.
```
--------------------------------
### Include Markdown Content in Tutorial Steps
Source: https://docs.superoffice.com/contribute/how-to-create-tutorial.html
Demonstrates using the `[!include[...]]` syntax to embed markdown content from separate files within tutorial steps. This is useful for managing larger content blocks.
```yaml
items:
- title: Introduction
durationInMinutes: 1
content: |
This Windows application retrieves a list of activities for the past 6 months of the logged-in user. It also supports filtering the activities based on user input.
Steps 2 and 3 explain how to retrieve activity information using the Activity Archive Provider and convert the retrieved information into a format that can be displayed in a data grid.
The code segments use the **SuperOffice.CRM.ArchiveLists.ActivityArchiveProvider** to retrieve the activities.
- title: Prepare parameters
durationInMinutes: 3
content: |
[!include[Content: prepare parameters](includes/steps/prepare-parameters.md)]
- title: Convert
durationInMinutes: 3
content: |
[!include[Content: convert](includes/steps/convert.md)]
```
--------------------------------
### Type Reference Example
Source: https://docs.superoffice.com/contribute/crmscript-yaml-files.html
Example of how to define a type reference, including arrays, in CRMScript YAML.
```APIDOC
## Type Reference Example
### Description
This section shows how to define type references, including arrays, in CRMScript YAML files.
### Type Definition
```yaml
- uid: CRMScript.Global.String
commentId: T:CRMScript.Global.String
isExternal: true
name: String
nameWithType: String
fullName: CRMScript.Global.String
- uid: CRMScript.Global.String[]
isExternal: true
name: String[]
nameWithType: String[]
fullName: CRMScript.Global.String[]
spec.crmscript:
- uid: CRMScript.Global.String
name: String
nameWithType: String
fullName: CRMScript.Global.String
isExternal: true
- name: '[]'
nameWithType: '[]'
fullName: '[]'
```
```
--------------------------------
### Nested TOC File Example
Source: https://docs.superoffice.com/contribute/toc-files.html
Shows an example of a nested TOC file, which can reference other TOC files or specific markdown documents.
```yaml
### YamlMime:ManagedReference
items:
- name: Admin
href: ../admin/toc.yml
topicHref: ../admin/overview.md
```
--------------------------------
### Sub-Category Page Feedback Card Example
Source: https://docs.superoffice.com/contribute/category-files.html
Example of a feedback card within a sub-category page, linking to an external issue tracker.
```yaml
# Card
- title: Feedback
linkLists:
- linkListType: how-to-guide
links:
- text: Create an issue
url: https://github.com/SuperOfficeDocs/superoffice-docs/issues
```
--------------------------------
### Include API Documentation
Source: https://docs.superoffice.com/contribute/get-superoffice-docs-running-locally.html
These commands are used to download SuperOffice NuGet packages and copy the necessary DLLs and XML documentation files into the 'src' folder to include API documentation. Ensure you are in the tools folder before running.
```powershell
./tools/nuget install SuperOffice.WebApi -Version 1.0.0-preview3 -Source $pwd -OutputDirectory packages
copy D:\superoffice-docs\build-docs\packages\SuperOffice.WebApi.1.0.0-preview3\lib\netstandard2.0\*.* src\SuperOffice.WebApi\
```
--------------------------------
### Run SuperOffice Docs Locally
Source: https://docs.superoffice.com/contribute/get-superoffice-docs-running-locally.html
Execute this command in your shell (preferably as administrator) to serve the documentation locally. The compilation may take time on the first run.
```bash
docfx --serve
```
--------------------------------
### Sub-Category Page Example
Source: https://docs.superoffice.com/contribute/category-files.html
Example of a sub-category page YAML structure, including title, summary, metadata, and landingContent with different link list types.
```yaml
title: CRM Onsite
summary: Welcome to the area where you can find relevant links to all things related to installation, upgrade, and migration.
metadata:
title: Set up SuperOffice successfully
description: SuperOffice Onsite installation, upgrade, and migration.
so.product: onsite
so.topic: hub-page
# ...
landingContent:
# Card
- title: Onsite authentication
linkLists:
- linkListType: learn
links:
- text: Overview
url: overview.md
- linkListType: get-started
links:
- text: NetServer Core
url: onsite/sosession/index.md
- text: NetServer Custom Proxies
url: onsite/custom-proxies/index.md
- text: REST WebApi
url: onsite/webapi/index.md
- text: COM API
url: onsite/com/index.md
```
--------------------------------
### Category Page Highlighted Content Example
Source: https://docs.superoffice.com/contribute/category-files.html
Example of the highlightedContent section in a category page YAML file, showcasing different item types and URLs.
```yaml
highlightedContent:
items:
# Card
- title: "System requirements"
itemType: reference
url: requirements/index.md
# Card
- title: "Customer Service"
itemType: overview
url: ../service/index.yml
# Card
- title: "Installation guide (Web)"
itemType: overview
url: install/index.yml
# Card
- title: "Release notes"
itemType: whats-new
url: ../../release-notes/index.md
```
--------------------------------
### Define Tutorial Page Structure in YAML
Source: https://docs.superoffice.com/contribute/how-to-create-tutorial.html
Represents a tutorial page with properties like type, uid, metadata, and items (steps). Each step includes a title, duration, and content.
```yaml
### YamlMime:Tutorial
uid: tutorial-create-online-crm-application
title: Tutorial - Learn how to create an Online CRM App.
metadata:
title: Tutorial - Learn how to create an Online CRM application.
description: In this tutorial, you'll learn how to create an application that connects to your SuperOffice CRM Online tenant.
audience: Developer # reader audience Developer | Consultant
topic: tutorial # tutorial | how-to-guide | architecture
date: 03/13/2022 # created / updated date
level: Intermediate # intended user level
items:
- title: Prerequisites
durationInMinutes: 3
content: |
You must have:
* a [tenant](../terminology.md) and user with admin privileges for testing sign-in.
# ... removed for brevity
- title: Get example
durationInMinutes: 2
content: |
**Clone** or **download** the [SuperOffice.DevNet.RazorPages](https://github.com/SuperOffice/devnet-oidc-razor-pages-webapi) from GitHub.
`git clone https://github.com/SuperOffice/devnet-oidc-razor-pages-webapi.git`
In Visual Studio, go to the *Source* directory and **open** the *SuperOffice.DevNet.RazorPages.sln* file.

```
--------------------------------
### CRMScript YAML to HTML Link Example
Source: https://docs.superoffice.com/contribute/crmscript-yaml-files.html
An example of an HTML xref link pointing to the `CRMScript.NetServer.TicketSecurityLevel` UID. Ensure the `href` attribute correctly specifies the UID.
```html