### 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. ![image8z7wl.png -screenshot](../media/image8z7wl.png) ``` -------------------------------- ### 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 ``` -------------------------------- ### Navigate to Repository Folder Source: https://docs.superoffice.com/contribute/git-workflows.html After cloning, use this command to change your current directory to the newly created repository folder. ```bash cd contribute ``` -------------------------------- ### Install Microsoft Graph PowerShell Module Source: https://docs.superoffice.com/integrations/sharepoint-documents/troubleshooting.html Installs the Microsoft Graph PowerShell module in your Azure Cloud Shell session. This is a prerequisite for managing application permissions. ```powershell Install-Module -Name Microsoft.Graph ``` -------------------------------- ### Include C# Source File Source: https://docs.superoffice.com/contribute/markdown-guide/code-in-docs.html Includes a C# source file named 'hello-world.cs' for display in the documentation. This is useful for larger code samples or code that needs to be reused across multiple files. ```csharp [!code-csharp[CS](includes/hello-world.cs)] ``` -------------------------------- ### Basic Markdown Formatting Example Source: https://docs.superoffice.com/contribute/markdown-guide/index.html Demonstrates basic Markdown for lists, bold, and italics. Use this for simple text formatting. ```markdown 1. Ordered list items 2. **bold list item** 3. *italic list item* * Unordered list items * [link example](https://community.superoffice.com/) ```