JUBELBUILD — DEVELOPER TOOLS

FREE / PRO

Feature Analysis · Define features and assign each to FREE, PRO, or both.

How the feature system works

By default, all code is treated as both FREE and PRO. Only when you define a named feature and assign it functions does JubelBuild know what to separate. Features marked PRO-only are wrapped in [PRO]…[/PRO] tags in the DEV source and physically removed from the FREE ZIP during the build — no stub, no comment, no trace.

Global FREE / PRO defaults

Two checkboxes below the feature form set what happens to code that isn't assigned to any feature:

  • FREE ✓ · PRO ✓ (default): all code goes into both versions — the starting point for most plugins.
  • FREE ✗ · PRO ✓: the entire plugin is PRO-only; no FREE ZIP is built. Use this for addons with no free version.
  • FREE ✓ · PRO ✗: all code goes into FREE only. Rare, but valid for plugins with no PRO version.

Defaults are saved automatically and remembered across sessions. Once you define features, those features override the defaults for the code they cover — the defaults only affect unassigned code.

Defining a feature

Feature Name

A short, human-readable label for the group of functionality. It appears in the Role Matrix to identify what access is being controlled and is for your orientation only — it never appears in the built plugin code. Name features from the user's perspective. Good: User Profile Editor, CSV Export, Online Status Widget. Bad: func1, class_a, misc, todo.

Functions / classes / hooks

A list of PHP function names, class names or hook names (one per line, or comma-separated) that make up the feature. JubelBuild uses it to identify exactly which code blocks belong together; for PRO-only features it wraps all matching symbols in [PRO]…[/PRO]. Open Scanned symbols from this DEV to see everything found in your ZIP and click a symbol chip to insert it. Symbols that don't exist in the current DEV are silently ignored — always verify against the scanned list.

Symbol dropdown (▶)

Each scanned symbol has a ▶ button that reveals details: the signature (blue), concrete parameter values from call sites (green), globals (yellow), $this-> properties (red) and calls to other functions (pink). Use it as a reference to confirm you're assigning the right symbols.

FREE and PRO checkboxes

FREE includes the feature in the FREE ZIP; PRO includes it in the PRO ZIP. PRO checked but FREE unchecked = exclusively for paying customers, removed from FREE entirely. Both checked = present in both versions. At least one box must be active.

Workflow

  1. Open the scanned symbols list to see what exists in your plugin.
  2. Identify a group of related functions that form one user-facing feature.
  3. Enter a descriptive Feature Name.
  4. Add the relevant function/class names to the Functions field (chip clicks or type).
  5. Set FREE and PRO according to your distribution model.
  6. Click + Add Feature to save and immediately start the next one.
  7. When all features are defined, click Transformation → to proceed to Step 4.

The feature map is saved to the active dataset project (stored under bh_feat_map_{slug}) — make sure the correct project is selected before entering Step 3.

One source, two editions

Tag your PRO features once — JubelBuild carves out a clean FREE version automatically.

s2Member®
Nach oben scrollen