Avoid default escaping for blog titles
[civicrm-core.git] / ext / afform / README.md
CommitLineData
d47a62b4 1# Form builder (afform)
a197dea2 2
7df35685 3![Screenshot](docs/sandbox/3-Free-Blocks-Parent.png)
66aa0f5e 4
83291832
TO
5The Affable Administrative Angular Form Framework (`afform`) is a system for administering AngularJS-based forms
6in CiviCRM which:
7
6d404d90 81. Allows developers to declaratively define a canonical, baseline form using AngularJS.
7df35685 92. Allows administrators (or administrative GUI tools) to use the CRUD API to customize the forms.
6d404d90 103. Allows developers (or administrators/tools) to embed these forms in other CiviCRM-AngularJS apps.
b9e5de69 114. Allows developers to apply change-sets via hook. (*WIP; pending upstream support*)
66aa0f5e 12
d47a62b4 13This 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
15if 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 24This extension ships with core and when it matures will eventually
25be enabled by default on new installs and at some point required.
66aa0f5e
TO
26
27## Installation (CLI, Zip)
28
29Sysadmins and developers may download the `.zip` file for this extension and
30install it with the command-line tool [cv](https://github.com/civicrm/cv).
31
32```bash
33cd <extension-dir>
1abc2be1 34cv 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 40Sysadmins and developers may enable afform via the UI extensions page or
66aa0f5e
TO
41install it with the command-line tool [cv](https://github.com/civicrm/cv).
42
43```bash
66aa0f5e
TO
44cv 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)