Merge pull request #19448 from mattwire/countryactive
[civicrm-core.git] / ext / afform / README.md
1 # org.civicrm.afform (Early Proof of Concept)
2
3 > You are looking at the `master` branch of a proof-of-concept module. It
4 > may change radically (without full curation of docs, etc). For previous
5 > iterations with more stable/cogent materials, check other branches (e.g.
6 > `0.1`).
7
8 ![Screenshot](docs/sandbox/3-Free-Blocks-Parent.png)
9
10 The Affable Administrative Angular Form Framework (`afform`) is a system for administering AngularJS-based forms
11 in CiviCRM which:
12
13 1. Allows developers to declaratively define a canonical, baseline form using AngularJS.
14 2. Allows administrators (or administrative GUI tools) to use the CRUD API to customize the forms.
15 3. Allows developers (or administrators/tools) to embed these forms in other CiviCRM-AngularJS apps.
16 4. Allows developers to apply change-sets via hook. (*WIP; pending upstream support*)
17
18 This extension is a proof-of-concept. It aims to demonstrate the core model/concept -- however, there are
19 [known issues and additional components](docs/roadmap.md) to address, and some documentation will be easier to approach
20 if you already have a basic understanding of CiviCRM API and AngularJS. It is licensed under [AGPL-3.0](LICENSE.txt).
21
22 ## Requirements
23
24 * PHP v7.0+
25 * CiviCRM v5.22+
26
27 <!--
28 ## Installation (Web UI)
29
30 This extension has not yet been published for installation via the web UI.
31
32 ## Installation (CLI, Zip)
33
34 Sysadmins and developers may download the `.zip` file for this extension and
35 install it with the command-line tool [cv](https://github.com/civicrm/cv).
36
37 ```bash
38 cd <extension-dir>
39 cv dl org.civicrm.afform@https://github.com/totten/afform/archive/master.zip
40 ```
41 -->
42
43 ## Installation (CLI, Git)
44
45 Sysadmins and developers may clone the [Git](https://en.wikipedia.org/wiki/Git) repo for this extension and
46 install it with the command-line tool [cv](https://github.com/civicrm/cv).
47
48 ```bash
49 git clone https://lab.civicrm.org/extensions/afform.git
50 cv en afform
51 ```
52
53 ## Developer Documentation
54
55 * [Quick Start: Creating the canonical definition of a basic form](docs/quickstart.md)
56 * [Writing Forms: Afform as basic AngularJS templates](docs/writing.md) (With example: *Contact Record*)
57 * [Embedding Forms: Afform as reusable building-block](docs/embed.md) (With example: *Contact Record*)
58 * [Form CRUD: Updating forms via programmatic API](docs/crud.md)
59 * [Form Hooks: Updating forms via declarative selector](docs/alter.md) (*WIP; pending upstream support*)
60 * [Full AngularJS: Integrating between Afform and vanilla AngularJS](docs/angular.md)
61 * [Roadmap and Known Issues](docs/roadmap.md)
62 * [Philosophy, Beliefs, Assumptions](docs/philosophy.md)