PHPackages                             rah/rah\_blobin - 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. [Caching](/categories/caching)
4. /
5. rah/rah\_blobin

Abandoned → [textpattern/installer](/?search=textpattern%2Finstaller)ArchivedTextpattern-plugin[Caching](/categories/caching)

rah/rah\_blobin
===============

Textpattern plugin cache extender

2133PHP

Since Apr 24Pushed 4y ago1 watchersCompare

[ Source](https://github.com/gocom/rah_blobin)[ Packagist](https://packagist.org/packages/rah/rah_blobin)[ RSS](/packages/rah-rah-blobin/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

rah\_blobin
===========

[](#rah_blobin)

[Packagist](https://packagist.org/packages/rah/rah_blobin)

**This has been deprecated and replaced by [textpattern/installer](https://github.com/gocom/textpattern-installer/).** While this did never have any stable releases, the source repository is kept around to avoid breaking projects that could be using this.

Loads [Textpattern](http://textpattern.com) plugins from project and [Composer’s](http://getcomposer.org/) vendor directories. Unlike the default plugin cache feature, rah\_blobin supports all the features expected from a plugin that was normally installed from a compiled package; Plugin-lifecycle callbacks, installers, uninstallers, updaters, activators, option panels, load order configuration, translation files, load types, and require and include statements.

Rah\_blobin works by creating stub loader plugins for each plugin in the project or the PSR-0 compliant vendor directory. These loaders then reference the source files, loading the assets from static source files as a normal plugin. What Textpattern sees is just a normal plugin, a plugin that is fully supported and can use any of the features plugins have in their arsenal. These plugins can also be managed and disabled from the native Plugins panel.

Installing
----------

[](#installing)

Using [Composer](http://getcomposer.org):

```
$ composer.phar require rah/rah_blobin
```

Possibilities
-------------

[](#possibilities)

Rah\_blobin allows you to enjoy both the advantages of plugin cache directory and the power, easiness and compatibility of normally installed plugin package. It allows you to directly edit and modify source files, put the plugins under a version control system, like git or SVN, or handle installation through package and dependency managers, like [Composer](http://getcomposer.org/).

Basics
------

[](#basics)

Rah\_blobin uses and supports the [manifest.json](https://github.com/gocom/abc_plugin) plugin source structure. The manifest.json is a structure used and compiled by [MassPlugCompiler](https://github.com/gocom/MassPlugCompiler). The essential part of how rah\_blobin works is the manifest file, manifest.json. This meta file describes what the plugin is and how it’s structured, the stub loader is then build upon that, reflecting all the attributes defined in the manifest files.

Internals
---------

[](#internals)

### Finding plugins from the project directory

[](#finding-plugins-from-the-project-directory)

Rah\_blobin picks up plugins from the project directory recursively. This means it supports nested and deep file structures, which also allows it to support Composer’s vendor directory and PSR-0 structures. It finds plugins by searching for manifest.json files. Any directory where it finds one is considered as a plugin.

### Processing files and creating a loader

[](#processing-files-and-creating-a-loader)

After it has found the manifest.json files, it processes and parses the contents. It constructs the plugin using the manifest file and collects the source and translation file references it needs. It then writes a loader plugin to the database based on that information. Each plugin will get its own loader, containing all the meta information the plugin would contain after it was installed normally from a package. The difference compared to a normal plugin, is that instead of it copying source code to the database, it references the source files. This means that you can edit the source files themselves and changes will reflect instantly.

### Plugin-lifecycle, updaters and installers

[](#plugin-lifecycle-updaters-and-installers)

Updaters and installers are run when the version number in the manifest.json file is changed. This may change in the future to every import run task.

### Disabling and uninstalling plugins

[](#disabling-and-uninstalling-plugins)

Plugins can be disabled from Textpattern’s own Plugins panel. Uninstalling can be done by adding `uninstall` property to the manifest file, or by uninstalling the plugin normally from the Plugins panel and then deleting its source directory from your projects directory.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity26

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3a34b4e1b662cd2c926e8e89a76f93df266b199fe61508d38026cb952f28e59e?d=identicon)[rah](/maintainers/rah)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/rah-rah-blobin/health.svg)

```
[![Health](https://phpackages.com/badges/rah-rah-blobin/health.svg)](https://phpackages.com/packages/rah-rah-blobin)
```

###  Alternatives

[beryllium/cachebundle

Provides an interface to Memcache for Symfony2 applications

32136.0k](/packages/beryllium-cachebundle)

PHPackages © 2026

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