Commit | Line | Data |
---|---|---|
d47a62b4 | 1 | # Form builder (afform) |
a197dea2 | 2 | |
7df35685 | 3 | ![Screenshot](docs/sandbox/3-Free-Blocks-Parent.png) |
66aa0f5e | 4 | |
83291832 TO |
5 | The Affable Administrative Angular Form Framework (`afform`) is a system for administering AngularJS-based forms |
6 | in CiviCRM which: | |
7 | ||
6d404d90 | 8 | 1. Allows developers to declaratively define a canonical, baseline form using AngularJS. |
7df35685 | 9 | 2. Allows administrators (or administrative GUI tools) to use the CRUD API to customize the forms. |
6d404d90 | 10 | 3. Allows developers (or administrators/tools) to embed these forms in other CiviCRM-AngularJS apps. |
b9e5de69 | 11 | 4. Allows developers to apply change-sets via hook. (*WIP; pending upstream support*) |
66aa0f5e | 12 | |
d47a62b4 | 13 | This extension is a proof-of-concept. It aims to demonstrate the core model/concept -- however, there are |
8a0ffdf9 TO |
14 | [known issues and additional components](docs/roadmap.md) to address, and some documentation will be easier to approach |
15 | if you already have a basic understanding of CiviCRM API and AngularJS. It is licensed under [AGPL-3.0](LICENSE.txt). | |
66aa0f5e TO |
16 | |
17 | ## Requirements | |
18 | ||
d47a62b4 | 19 | * PHP v7.2+ |
66aa0f5e | 20 | |
c4236ce9 | 21 | <!-- |
66aa0f5e TO |
22 | ## Installation (Web UI) |
23 | ||
d47a62b4 | 24 | This extension ships with core and when it matures will eventually |
25 | be enabled by default on new installs and at some point required. | |
66aa0f5e TO |
26 | |
27 | ## Installation (CLI, Zip) | |
28 | ||
29 | Sysadmins and developers may download the `.zip` file for this extension and | |
30 | install it with the command-line tool [cv](https://github.com/civicrm/cv). | |
31 | ||
32 | ```bash | |
33 | cd <extension-dir> | |
1abc2be1 | 34 | cv dl org.civicrm.afform@https://github.com/totten/afform/archive/master.zip |
66aa0f5e | 35 | ``` |
c4236ce9 | 36 | --> |
66aa0f5e TO |
37 | |
38 | ## Installation (CLI, Git) | |
39 | ||
d47a62b4 | 40 | Sysadmins and developers may enable afform via the UI extensions page or |
66aa0f5e TO |
41 | install it with the command-line tool [cv](https://github.com/civicrm/cv). |
42 | ||
43 | ```bash | |
66aa0f5e TO |
44 | cv en afform |
45 | ``` | |
46 | ||
7d7b13d7 | 47 | ## Developer Documentation |
66aa0f5e | 48 | |
8a0ffdf9 | 49 | * [Quick Start: Creating the canonical definition of a basic form](docs/quickstart.md) |
64423b13 TO |
50 | * [Writing Forms: Afform as basic AngularJS templates](docs/writing.md) (With example: *Contact Record*) |
51 | * [Embedding Forms: Afform as reusable building-block](docs/embed.md) (With example: *Contact Record*) | |
8a0ffdf9 | 52 | * [Form CRUD: Updating forms via programmatic API](docs/crud.md) |
b9e5de69 | 53 | * [Form Hooks: Updating forms via declarative selector](docs/alter.md) (*WIP; pending upstream support*) |
8a0ffdf9 TO |
54 | * [Full AngularJS: Integrating between Afform and vanilla AngularJS](docs/angular.md) |
55 | * [Roadmap and Known Issues](docs/roadmap.md) | |
b9e5de69 | 56 | * [Philosophy, Beliefs, Assumptions](docs/philosophy.md) |