org.civicrm.afform (Early Proof of Concept)
You are looking at the
master
branch of a proof-of-concept module. It may change radically (without full curation of docs, etc). For previous iterations with more stable/cogent materials, check other branches (e.g.0.1
).
The Affable Administrative Angular Form Framework (afform
) is a system for administering AngularJS-based forms
in CiviCRM which:
- Allows developers to declaratively define a canonical, baseline form using AngularJS.
- Allows administrators (or administrative GUI tools) to use the CRUD API to customize the forms.
- Allows developers (or administrators/tools) to embed these forms in other CiviCRM-AngularJS apps.
- Allows developers to apply change-sets via hook. (WIP; pending upstream support)
This extension is a proof-of-concept. It aims to demonstrate the core model/concept -- however, there are known issues and additional components to address, and some documentation will be easier to approach if you already have a basic understanding of CiviCRM API and AngularJS. It is licensed under AGPL-3.0.
Requirements
- PHP v7.0+
- CiviCRM v5.7+
Installation (CLI, Git)
Sysadmins and developers may clone the Git repo for this extension and install it with the command-line tool cv.
git clone https://github.com/totten/afform.git
cv en afform
Developer Documentation
- Quick Start: Creating the canonical definition of a basic form
- Writing Forms: Afform as basic AngularJS templates (With example: Contact Record)
- Embedding Forms: Afform as reusable building-block (With example: Contact Record)
- Form CRUD: Updating forms via programmatic API
- Form Hooks: Updating forms via declarative selector (WIP; pending upstream support)
- Full AngularJS: Integrating between Afform and vanilla AngularJS
- Roadmap and Known Issues
- Philosophy, Beliefs, Assumptions