[Intum Help](https://intum.com/help.md) / [Drive](https://intum.com/help/drive.md)

# [Publishing Modules — How Versioning Works](https://intum.com/help/drive/publishing-modules-how-versioning-works.md)

## How to Publish a Module

When your module is ready (based on a CMS page, Noe application, or knowledge base), you can submit it for publication. The module will be cloned to the system account and placed in a queue awaiting administrator approval.

In the publication form, provide:
- **Code** — a unique module identifier (no slashes)
- **URL path** — the address under which the module will be available on other accounts

After approval, the module will appear in the Modules section (`/account/modules`) on all accounts. The account administrator can then enable it and the module will appear in the menu.

## URL Path — Exact Match and Wildcard

The module URL determines what address it will be available at. There are two modes:

**Exact match** — the module responds only to the exact address:
- `reports` — works only at `/reports`
- `organize/panel` — works only at `/organize/panel`

**Wildcard** — a URL ending with `/*` catches both the base address and all sub-paths:
- `myapp/*` — works at `/myapp`, `/myapp/dashboard`, `/myapp/settings/profile`, etc.
- The sub-path (if any) is passed to the module as navigation context

Wildcard is useful when the module has its own internal routing (e.g., a Noe application with multiple views). Use exact match when the module is a single page or knowledge base.

If there is a module with an exact URL and another with a wildcard at the same time — the exact one takes priority.

## What Happens to Your Local Copy

Publication clones your module — it creates a separate copy on the system account. Your local version still exists and you can continue developing it.

If the published module uses the same URL as your local one, then after activating the public version on your account, the local one will no longer be accessible at that address (the public version takes priority). This is normal — your module still exists, you can change its URL or disable it.

## Updating a Published Module

Changes to your local module do not affect the published version. If you edit page content, change application code, or add new subpages — users on other accounts will not see this. They will only see changes after you republish and the update is approved.

To update the public version:
1. Make changes to your local module
2. Click "Publish" again — the system will automatically suggest the code and URL from the previous publication
3. Wait for administrator approval
4. After approval, the old public version is archived and the new one replaces it

The system remembers which code and URL the module was published under, so even if you change the local code or URL, the next publication will suggest the same values as before by default.

## Protection Against Module Takeover

A published module is tied to the account that created it. Nobody from another account can submit a module with the same code for publication — the system will block it. Only the account that published the original can send an update.

This protection works automatically and requires no configuration.

## Process Summary

| Step | What happens |
|------|---|
| You publish | A copy of the module goes to the system account with "pending" status |
| Admin approves | The old version is archived, the new one becomes active |
| Account activates | The account administrator enables the module in /account/modules and it appears in the menu |
| You change locally | Nothing — the public version does not change |
| You republish | A new copy goes for approval, after acceptance it replaces the old one |