| 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 v5.6+ |
| 25 | * CiviCRM v5.7+ |
| 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://github.com/totten/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) |