E.1 | rivtRemote#

[1] Overview#

There are several ways to collaborate on writing and improving rivt docs, and to contribute to improvements of rivtlib and rivt frameworks.

1. Upload public rivt files to GitHub and Google Drive

Public rivt files may be collaboratively improved by:

  • forking to create different or improved versions of rivt files.

  • providing pull requests.

  • submitting issues and bugs.

Public rivt files are generated by rivtlib through a setting on each rivt file section. The files are stored in the _rivt-public folder which may be uploaded to a public GitHub repository. rivt also publishes the formatted text form of the rivt doc or report to a README.txt file. When the _rivt-public folder is uploaded to a repository, the README is displayed on the landing page and can be searched across all GitHub using a search interface.

rivt public folder structure

[rivt-]folder-label/          report folder
    ├── .vscode/                    optional VSCode settings
    ├── README.txt                  rivt-generated report
    ├── [_rivt-public]/                 public subset of rivt files
        ├── rvsrc/
        ├── README.txt
        ├── rv-101-filename1.py
        ├── rv-102-filename2.py
        ├── rv-201-filename3.py
        ...

Packages and extensions are summarized here and here.

3. Contribute to rivt frameworks

As a Python file, rivt can work efficiently with a large variety of programs using scripts and shell commands. Frameworks are collections of programs and scripts that facilitate the use of rivt with other programs. The basic and extended frameworks are described here.

The generality of rivt allows for the developement of domain-specific frameworks that include programs and scripts for that domain. For example, a rivt structural engineering framework could include scripts for running, pre- and post-processing:

4. Real-time Collaboration

Within an IDE or cloud environment, rivt files can be collaboratively developed and edited.

Examples include:

Visual Studio Live Share.

and

CodeSpaces


[2] Public Google Drive files#

For each rivt file that is published a corresponding public rivt file is written to the public folder. The default contents of the file are the API rivt string headers. If the header parameter public is included in the header, the rivt string content is also written to the public rivt file.

The public folder can be uploaded to a public repository and updated with Git as the project develops.

The web site OpenModels.info is a Google Drive repository of open source engineernig model files, including rivt files and reports.

[3] rivt Collaboration#

Collaboration is facilitated by the Visual Studio Live Share. You can start a Live Share session either within CodeSpaces in your browser, or within the VS Code desktop application.

The Live Share extension enables:

  • Real-time Co-editing: Multiple participants can work on the same file simultaneously, seeing each other’s cursors, selections, and edits instantly, much like in Google Docs..

  • Shared Terminals and Servers: The host can share their terminal and localhost servers with guests, eliminating the need for guests to set up their own environments or dependencies.

  • Navigation and Following: Participants can independently navigate the project or choose to “follow” another collaborator, keeping their editor synchronized with the leader’s actions.

  • File Access Control: Hosts can use a .vsls.json file to control which files and folders are visible or editable by guests, ensuring security and focus


[4] git#

Git is a free, open-source distributed version control system designed to track changes in source code during software development. It allows multiple programmers to collaborate on the same project simultaneously without overwriting each other’s work.

Key Functions

  • Track changes: Records every modification made to a project’s files over time.

  • Revert history: Restores previous file versions easily if errors or bugs are introduced.

  • Enable collaboration: Merges independent updates from multiple team members into a single codebase.

  • Work offline: Provides each developer with a complete local copy of the full project history.

Essential Concepts

  • Repository (Repo): The tracking folder where your project files and their revision histories live.

  • Commit: A permanent saved snapshot of your staged files at a specific point in time.Branch: An isolated environment used to develop new features without altering the stable main code.

  • Merge: The automated process of combining changes from one branch back into another.

Core Workflow

The core workflow in a local or remote Git project transitions through four distinct environments before saving:

  • Working Directory: The actual files you are modifying on your computer.

  • Staging Area: A temporary holding zone where you select and prepare changes for the next snapshot.

  • Local Database: The final destination where commits are permanently saved to your project history.

  • Push: Copy local database to remote repository e.g. GitHub