Introducing, the most powerful editing tool for Rock RMS on the planet. Super-charge your Rock workflow using this free VS Code extension.

Get Started

Rock Code Editing
Re-Imagined

Magnus allows you to edit Rock managed content inside of Microsoft's Visual Studio Code. This provides you with a rich code editing experience with the latest tools like IntelliSense.

Jump start your development workflow today in three easy steps.

  1. Install Magnus VS Code Extension
  2. Install Magnus Azure Data Studio Extension
  3. Install the Magnus Plugin on your server from the Rock Shop

Known Limitations / Upcoming Features

We have a lot of new ideas that are coming (like alot!) Below are some of the ideas we thought we'd mention so you'd know what to expect. There are many more that we're not ready to talk about yet (have to have some surprises...)

  1. The HTML block currently only supports editing the active HTML. We'll be adding support for editing historical and contexted items soon.
  2. We'll be adding support for many more mobile blocks soon.
  3. Rock v14 added support for categories on Lava shortcodes. We'll show those categories in a future update of the plugin (which will require v14).

What Is Magnus?

Magnus allows you to edit remote content stored in Rock from inside of Visual Studio Code. You can do things like: edit the content on a webpage, update a Lava Shortcode and much much more! Best of all, we're just getting started. Magnus v1.0 will allow for editing:

  • Websites
    • Site Headers
    • Page Headers
    • Block Content
    • Themes (including remote recompile of the theme)
  • Mobile Apps
    • Flyout XML
    • Navigation Bar Action XAML
    • Homepage Routing Logic
    • Remote Rebuilding of the Mobile Package
    • Layout XAML
    • Page Styles
    • Page Event Handlers
    • Block Content
  • Lava Shortcodes
    • Documentation
    • Lava Template
  • Server Filesystem
    • Edit files on the server's local filesystem
    • Upload Files
    • Upload Directories
    • Create New Files
    • Create New Folders
    • Delete Files and Folders
    • Copy a files path to the clipboard
  • Apple TV Apps
    • Application Styles
    • Page Content

Configuration

The Magnus Editor provides several configuration options to ensure that the highest level of security is provided. The options are discussed below.

The Magnus editor attempts to use Rock security to limit access to resources in Rock. This is a complex affair so please do not rely on this security for access. Assume that every individual with access to Magnus has administrative access to your server.
  1. Security Role - This setting allows you to select a Rock security role to limit who has access to use the remote editor.
  2. Enabled Virtual Filesystems - Determines which filesystems you would like to use within Magnus.
  3. Allowed Physical Directories - When the Server Filesystem is enabled this setting will determine which directories are available for editing.
  4. Allowed IP Subnets - This setting determines which IP address/networks are allowed to access the Magnus editor. You should strong limit the networks available in this setting.
  5. Enable SQL Access - This determines if access via the Azure Data Studio plugin will be allowed.
  6. SQL Security Role - This setting allows you to select a Rock security role to limit who has access to run SQL queries.

Frequently Asked Questions

  1. What authentication providers are supported?
    When you configure the server in VS Code the username and password you provide must be a database login.
  2. Will other authentication providers be supported in the future?
    Most likely not. We're a bit limited in what we can support from inside of VS Code.