wiki:UserGuide/WikiStyleGuide

Version 15 (modified by jkol, 6 years ago) ( diff )

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Contributing to the Wiki

For consistent wiki formatting, please adhere to the following style guidelines.

General Guidelines

  • Page Naming
    • Use a short and descriptive name using Camel Case (e.g. MyPageName)
  • Headings
    • Start page titles at depth corresponding to the page depth:
      • /wiki/PageName uses = My Page Title
      • /wiki/SectionName/PageName uses == My Page Title
    • The number of = equals the depth (e.g. === is depth 3)
  • Links
    • DO NOT use full URLs (i.e. http://wiki.cosmos-lab.org/…) when linking to pages within the wiki. Use the WikiPageNames link syntax instead.
    • When linking to pages that are children of the current page, use relative paths [wiki:./page/to/link/to text to display] instead of the absolute wiki path.
  • Instructions containing shell commands
    • For commands that will be copy pasted, ensure no prompt is present.
    • For bash scripts, start the code block with {{{#!shell
    • For terminal sessions, start the code block with {{{#!shell-session
    • If the command is to be run on a console: make sure the prompt starts with user@console:path$
    • If the command is to be run on a compute machine: make sure the prompt starts with root@node-name:path$

Page Specific Formatting

Section Pages

Pages that are introductory to larger sections that contain many sub-pages (e.g. the Tutorials page) should use the following as a starting point:

[[Include(WikiToC)]]

= Section Title
Brief description of the section...

[[TOC(SectionPageName/*,inline,nonumbering,notitle,noheading,depth=2)]]

The TOC macro will auto-generate an alphabetical inline list of links to sub-pages of the section. If the sub-pages need to have a specific order, feel free to edit the TOC macro or create the list by hand, but try to keep the style as similar as possible.

Individual Pages

Individual wiki pages should use the following as a starting point:

[[Include(WikiToC)]]

== Page Title
Brief description of the page...
[[PageOutline(3-6,,inline,unnumbered)]]

=== Sub Section Title
Sub section content...

For pages nested deeper, please increase the number of equal signs in the headings to account for the page depth accordingly (though max heading depth is 6). Otherwise, the auto-generated table of contents on parent pages may not generate correctly.

Tutorial Pages

Please us the following document skeleton when writing a tutorial.

{{{
[[Include(WikiToC)]]

== Tutorial Title

=== Description
Description and goal of the tutorial described here...
[[PageOutline(3-6,,inline,unnumbered)]]

=== Prerequisites
In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on [wiki:cosmos_workflow the COSMOS work flow page] to get started. 

=== Resource Requirements
List of specific resources or requirements, including OMF image name if applicable.

=== Setup
Steps to setup the tutorial...

=== Execution

==== The first thing you do
First step of the tutorial...

==== The second thing you do
Second step of the tutorial...
}}}

Code Blocks and Syntax Highlighting

When including raw source code blocks, try to use the appropriate syntax highlighting for the language used. Trac uses pygments to do syntax highlighting in code blocks.

Example 1

{{{#!shell
echo "foo"
}}}

will be rendered as

echo "foo"

Example 2

{{{#!ruby
defTopology('rxnode') { |t|
  # Load the topology of imaged nodes
  # These nodes are from most recent omf load command
  baseTopo = Topology['system:topo:imaged']

  # Draw a random node from the pool of active ones
  aNode = baseTopo.getUniqueRandomNode

  # Add this random node to this 'senderTopo' topology
  t.addNode(aNode)
  puts "RX: #{t.getNodeByIndex(0).to_s}"
}
}}}

will be rendered as

defTopology('rxnode') { |t|
  # Load the topology of imaged nodes
  # These nodes are from most recent omf load command
  baseTopo = Topology['system:topo:imaged']

  # Draw a random node from the pool of active ones
  aNode = baseTopo.getUniqueRandomNode

  # Add this random node to this 'senderTopo' topology
  t.addNode(aNode)
  puts "RX: #{t.getNodeByIndex(0).to_s}"
}

Common formats

Language Shortname to Use in Code Block
C code c
C++ code cpp
Python code python
Java java
Java Script js
Ruby code ruby
Ruby session irb
JSON json
JSON with no braces json-object
XML xml
YAML yaml
Docker docker, dockerfile
shell script bash, sh, shell
shell session console, shell-session
powershell powershell

more formats

Using Markdown or RestructuredText

To use Markdown instead of Tracs' own language, simply enclose the Markdown text in a code block starting with #!Markdown like this:

{{{#!Markdown
# Some Title
Sample text.

## A Sub Section
More sample text.

### Yet another sub section
Even more sample text.
}}}

or if you want to use RestructuredText instead, start the code block with #!rst like this:

{{{#!rst
**********
Some Title
**********
Sample text.

A Sub Section
#############
More sample text.

Yet another sub section
***********************
Even more sample text.
}}}
Note: See TracWiki for help on using the wiki.