PHPackages                             netsiteweaver/codeigniter3-versioning - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. netsiteweaver/codeigniter3-versioning

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

netsiteweaver/codeigniter3-versioning
=====================================

Release versioning (history, public release links, email notifications) for CodeIgniter 3

v1.0.0(3w ago)02MITPHPPHP &gt;=7.0

Since May 13Pushed 3w agoCompare

[ Source](https://github.com/netsiteweaver/ci3-versioning)[ Packagist](https://packagist.org/packages/netsiteweaver/codeigniter3-versioning)[ RSS](/packages/netsiteweaver-codeigniter3-versioning/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (2)Used By (0)

codeigniter3-versioning
=======================

[](#codeigniter3-versioning)

Composer package (library type) shipping **installable stubs** for a CodeIgniter 3 release-versioning module: history table, admin UI, public release links with token, and optional email notifications.

**Package name:** `netsiteweaver/codeigniter3-versioning`

This folder is intended to live in its **own Git repository** (publish to GitHub, then `composer require netsiteweaver/codeigniter3-versioning` once you register it on [Packagist](https://packagist.org) or use a VCS repository URL).

Requirements
------------

[](#requirements)

- PHP 7.0+
- CodeIgniter 3
- Existing app pieces this module expects:
    - `MY_Controller` with `$this->data` (including `company` for layouts and release page)
    - `system_model` with `getParam`, `setParam`, `getCompanyInfo`
    - `accesscontrol_model` with `authorised('version', …)` and `isAuthorised()` helper
    - `email_model2` with `save($recipients, $subject, $content, …)` (only if you use email notifications)
    - Helpers: `getPagination`, flash helpers (`flashSuccess`, `flashDanger`, etc.)
    - Admin layout path used in `Version.php`: `/layouts/AdminLTE-3.2.0/default` — **change** in the copied controller if your layout differs
    - Summernote (or adjust `version_form.js`) for the release notes editor on the form page

Install
-------

[](#install)

### 1. Composer

[](#1-composer)

From your CI3 project root:

```
composer require netsiteweaver/codeigniter3-versioning
```

Or add a VCS repository in `composer.json` until the package is on Packagist.

Files to copy live under:

`vendor/netsiteweaver/codeigniter3-versioning/resources/install/`

### 2. Copy application files

[](#2-copy-application-files)

Copy into your `application/` tree:

From packageTo your app`resources/install/application/controllers/Version.php``application/controllers/Version.php``resources/install/application/models/Version_model.php``application/models/Version_model.php``resources/install/application/views/version/``application/views/version/``resources/install/application/views/email/version/``application/views/email/version/`### 3. Assets

[](#3-assets)

Copy JS (and ensure Summernote + `version_form.js` are loaded on the release form page; `version_notifications.js` on the notifications page):

- `resources/install/assets/js/pages/version_form.js` → your public assets folder (e.g. `assets/js/pages/`)
- `resources/install/assets/js/pages/version_notifications.js` → same

The notifications script expects global `base_url` and `setFooterMessage` like the reference app — adapt if your JS conventions differ.

### 4. Migrations

[](#4-migrations)

Copy the two migration files from `resources/migrations/` into `application/migrations/` and **rename only the numeric prefix** so they run after your latest migration (e.g. `094_Versioning_schema.php`, `095_Versioning_menu.php`).
Keep the PHP **class names** unchanged: `Migration_Versioning_schema` and `Migration_Versioning_menu` (CodeIgniter maps them from the part of the filename after the number).

Run migrations as you normally do (CLI or Migrate controller).

- **001 / schema:** creates `version_history` (including `token`), seeds `params` `current_version` and `version_notify_emails`.
- **002 / menu:** inserts Versioning menu tree and `permissions` for all active users. Skips if a `version` / `index` menu row already exists.

If your `menu` table columns differ from a typical lemon-yellow schema, adjust migration `002` before running.

### 5. Auth: public release URL

[](#5-auth-public-release-url)

Allow guests to open `version/release/{id}/{token}` (email links). In your auth hook (example pattern):

```
( ($controller == 'version') && ($method == 'release') )
```

Add that next to your other unauthenticated routes.

### 6. Optional: global current version in layout

[](#6-optional-global-current-version-in-layout)

In `MY_Controller` (or equivalent), load the model once and expose the string:

```
$this->load->model('version_model');
$this->data['current_version'] = $this->version_model->getCurrentVersion();
```

### 7. System\_model helper

[](#7-system_model-helper)

Add this method to your `System_model` (or equivalent) so the notifications screen can save recipients:

```
public function updateVersionNotifyEmails()
{
    $value = $this->input->post('version_notify_emails');
    $this->db->set('value', $value === null ? '' : $value)->where('title', 'version_notify_emails')->update('params');
}
```

Publishing this repo
--------------------

[](#publishing-this-repo)

```
cd netsiteweaver/codeigniter3-versioning
git init
git add .
git commit -m "Initial release: CodeIgniter 3 versioning module"
```

Create an empty repository on GitHub, add `origin`, and push. Then submit to Packagist or reference the Git URL in consuming projects.

License
-------

[](#license)

MIT

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance94

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

27d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/832f408d85cd1653fc10b651e2ceb0dc2bc6a3074ff46ede72f4a9e941b57f02?d=identicon)[netsiteweaver](/maintainers/netsiteweaver)

---

Top Contributors

[![netsiteweaver](https://avatars.githubusercontent.com/u/19675977?v=4)](https://github.com/netsiteweaver "netsiteweaver (1 commits)")

---

Tags

codeigniterversioningrelease notescodeigniter3

### Embed Badge

![Health badge](/badges/netsiteweaver-codeigniter3-versioning/health.svg)

```
[![Health](https://phpackages.com/badges/netsiteweaver-codeigniter3-versioning/health.svg)](https://phpackages.com/packages/netsiteweaver-codeigniter3-versioning)
```

###  Alternatives

[pragmarx/version

Take control over your Laravel app version

5941.2M2](/packages/pragmarx-version)[nikolaposa/version

Value Object that represents a SemVer-compliant version number.

1397.0M21](/packages/nikolaposa-version)[shivas/versioning-bundle

Symfony application versioning, simple console command to manage version (with providers e.g. git tag) of your application using Semantic Versioning 2.0.0 recommendations

1111.2M1](/packages/shivas-versioning-bundle)[kenjis/codeigniter-composer-installer

Package to install CodeIgniter3 via Composer with secure folder structure.

38063.1k](/packages/kenjis-codeigniter-composer-installer)[michalsn/minifier

Assets minification and versioning library for CodeIgniter 4.

5537.5k](/packages/michalsn-minifier)[codeigniter4/settings

Settings library for CodeIgniter 4

95555.3k31](/packages/codeigniter4-settings)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
