Skip to content

ERPNext Project Access v0.1.0-alpha.2

Pre-release
Pre-release

Choose a tag to compare

@dntrply dntrply released this 06 Sep 14:51
· 14 commits to main since this release
022df2b

Second alpha release of ERPNext Project Access.

The main change in alpha.2 is safer activation behavior: installing the app no longer automatically activates its Project/Task access policy on a fresh site.

What changed

  • Added ERPNext Project Access Settings.
  • Fresh installations start disabled.
  • A System Manager must explicitly enable the access policy.
  • While disabled:
    • Project and Task permission hooks remain neutral.
    • Native ERPNext/Frappe permissions determine visibility and access.
    • Controlled Task workflow actions are not exposed.
    • Direct calls to controlled Task mutation endpoints are rejected.
  • Existing alpha.1 installations remain enabled when upgraded to alpha.2, avoiding an upgrade that unexpectedly broadens access.
  • Settings warnings describe the consequences of saving either the enabled or disabled state.

Access model when enabled

  • Project access is additionally restricted to:
    • document owner, or
    • an explicit user-specific share.
  • Task access is independently restricted using the same owner/share model.
  • An explicitly shared Task can remain accessible even when its parent Project is private.

Controlled Task workflow

Worker actions:

  • Open -> Working
  • Working -> Pending Review

Task-owner/reviewer actions:

  • Pending Review -> Working
  • Pending Review -> Completed

These actions allow a restricted worker to participate in the workflow without granting broad general Task Write permission.

Alpha.2 validation

Validated on the JSS reference deployment:

  • Existing alpha.1 installation upgraded to alpha.2 and remained enabled.
  • Activation setting could be disabled and re-enabled without uninstalling the app.
  • Permission-query hooks were neutral while disabled.
  • Controlled mutation endpoint rejected calls while disabled.
  • Worker UI lost the custom action while disabled.
  • Re-enabling restored the custom worker action.
  • Full worker/reviewer workflow succeeded after re-enabling:
    • Open -> Working
    • Working -> Pending Review
    • Pending Review -> Working
    • Working -> Pending Review
    • Pending Review -> Completed
  • A separate fresh test site confirmed:
    • Settings DocType exists after installation.
    • Stored Enabled = 0.
    • Runtime is_enabled() = False.
    • Historical upgrade patch is recorded without changing the fresh-install default.

Compatibility

Validated with:

  • Frappe Framework 16.29.0
  • ERPNext 17.0.0-dev
  • HRMS 17.0.0-dev on the reference deployment

The reference deployment is an intentionally mixed development stack and should not be interpreted as a broad compatibility guarantee.

Frappe 16.29 or newer is recommended because earlier Frappe 16 versions contain a linked-table permission-query issue that can cause an otherwise readable Task to disappear from Task List when its linked Project is inaccessible.

Upgrade note

For existing alpha.1 installations:

  1. Update the app.
  2. Run bench migrate.
  3. Alpha.2 preserves the enabled state.
  4. Review ERPNext Project Access Settings before changing activation.

For fresh alpha.2 installations, the app remains passive until explicitly enabled.

Documentation

See:

  • docs/HOWTO.md
  • docs/ROLE_SETUP.md
  • docs/ACTIVATION.md
  • docs/INSTALL.md
  • docs/INSTALLATION_EFFECTS.md
  • docs/UNINSTALLATION_EFFECTS.md

Status

Alpha-quality software. APIs, configuration, permissions behavior, and workflow behavior may still change before a stable release.