📓 add documentation

This commit is contained in:
Marc Michalsky forumZFD 2021-04-11 19:55:59 +02:00
parent 88fb74bd6f
commit 0ba0674412
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
19 changed files with 172 additions and 24 deletions

15
docs/API_Wrapper.md Normal file
View file

@ -0,0 +1,15 @@
# API Wrapper
The **Twingle API** extension uses profiles to process every incoming donation. When Twingle calls the
*TwingleDonation.submit* API, provided by the **Twingle API** extension, the API assigns the donation to the
corresponding profile by looking up the project id which comes with the call. The profile settings then specifies how
the donation should be treated.
![TwingleDonation.submit](../images/TwingleDonation.submit.png)
The **Twingle Campaign** extension puts an API wrapper around the *TwingleDonation.submit* API. This first it searches
the call for either a project id, an event id or a campaign id and depending on the result, it searches CiviCRM for the
![API Wrapper](../images/API_Wrapper.png)
Furthermore, the API wrapper enables you to create soft credits for peer-to-peer event initiators.

View file

@ -0,0 +1,13 @@
# XCM example settings
The contact information that Twingle provides about the peer-to-peer event initiators are:
- First Name
- Last Name
- Email
So make sure you set only these fields as rules for matching.
![XCM Settings](../../images/XCM_settings.png)

15
docs/Twingle_Campaign.md Normal file
View file

@ -0,0 +1,15 @@
# Twingle Campaign
The *Twingle Campaign* campaign type does, unlike the other campaign types (*Twingle Project* & *Twingle Event*), not
represent an entity on the Twingle side.
The *Twingle Campaign* is can be used to track the origin of a donation. In order to achieve this, it takes the URL of
it's *Twingle Project* parent campaign and adds a `cid` parameter to its end that will be sent to Twingle and back. With
the `cid` coming back from Twingle via API call to *TwingleDonation.submit* (provided by the **Twingle API** extension)
the donation can get assigned to the originally *Twingle Campaign*.
**Attention:** The *Twingle Campaign* must always be the child (or grandchild) of a *Twingle Project*.
You can use the *Twingle Campaign* url for example for newsletters or social media posts. The url will lead the users to
the Twingle donation form of the parent *Twingle Project* but thanks to the `cid`, the donation will be assigned to
the *Twingle Campaign*.

9
docs/Twingle_Event.md Normal file
View file

@ -0,0 +1,9 @@
# Twingle Event
The *Twingle Event* campaign type represents peer-to-peer events created by users. The campaigns get synchronized
between Twingle and CiviCRM in only one direction: from Twingle to CiviCRM. There is no need to synchronize them through
the other direction, because usually it is not necessary to change their values. *Twingle Events* are created by users
through a *Twingle Project* of type event.
You can activate the creation of soft credits for event initiators. In this case a donation by person A will be linked
as soft credit to person B which is the event initiator.

BIN
docs/UML/Campaigns.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

36
docs/UML/Campaigns.uml Normal file
View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
<ID>PHP</ID>
<OriginalElement>\CRM_TwingleCampaign_BAO_Campaign</OriginalElement>
<nodes>
<node x="1052.5454545454545" y="675.0">\CRM_TwingleCampaign_BAO_TwingleCampaign</node>
<node x="512.2727272727273" y="675.0">\CRM_TwingleCampaign_BAO_TwingleEvent</node>
<node x="-40.0" y="675.0">\CRM_TwingleCampaign_BAO_TwingleProject</node>
<node x="241.0" y="-47.27272727272725">\CRM_TwingleCampaign_BAO_Campaign</node>
</nodes>
<notes />
<edges>
<edge source="\CRM_TwingleCampaign_BAO_TwingleEvent" target="\CRM_TwingleCampaign_BAO_Campaign" relationship="GENERALIZATION">
<point x="0.0" y="-138.5" />
<point x="718.7727272727273" y="614.0" />
<point x="432.0" y="614.0" />
<point x="0.0" y="294.5" />
</edge>
<edge source="\CRM_TwingleCampaign_BAO_TwingleProject" target="\CRM_TwingleCampaign_BAO_Campaign" relationship="GENERALIZATION">
<point x="0.0" y="-174.5" />
<point x="172.5" y="614.0" />
<point x="432.0" y="614.0" />
<point x="0.0" y="294.5" />
</edge>
</edges>
<settings layout="Hierarchic" zoom="0.55" showDependencies="false" x="821.0" y="542.9999999999999" />
<SelectedNodes>
<node>\CRM_TwingleCampaign_BAO_Campaign</node>
</SelectedNodes>
<Categories>
<Category>Fields</Category>
<Category>Methods</Category>
</Categories>
<VISIBILITY>private</VISIBILITY>
</Diagram>

BIN
docs/UML/Custom_Data.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

20
docs/UML/Custom_Data.uml Normal file
View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<Diagram>
<ID>PHP</ID>
<OriginalElement>\CRM_TwingleCampaign_BAO_CampaignType</OriginalElement>
<nodes>
<node x="448.0" y="0.0">\CRM_TwingleCampaign_BAO_CampaignType</node>
<node x="0.0" y="0.0">\CRM_TwingleCampaign_BAO_CustomField</node>
<node x="916.0" y="0.0">\CRM_TwingleCampaign_BAO_OptionValue</node>
</nodes>
<notes />
<edges />
<settings layout="Hierarchic" zoom="0.7" showDependencies="false" x="853.12987012987" y="165.0" />
<SelectedNodes />
<Categories>
<Category>Fields</Category>
<Category>Methods</Category>
</Categories>
<VISIBILITY>private</VISIBILITY>
</Diagram>