Skip to content

Commit a558874

Browse files
authored
Add wiki documentation (#52)
* Fix issue #49: Add null checks to prevent errors in domain mapping * Add wiki documentation in .wiki folder * Add GitHub Action to sync .wiki directory to GitHub wiki * Add placeholder images and update image references * Restore GitHub Action and update README with image information
1 parent a586a4a commit a558874

80 files changed

Lines changed: 5453 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# GitHub Workflows
2+
3+
This directory contains GitHub Actions workflows for automating various tasks in the repository.
4+
5+
## Sync Wiki Workflow
6+
7+
The `sync-wiki.yml` workflow automatically syncs the content of the `.wiki` directory to the GitHub wiki whenever changes are pushed to the main branch.
8+
9+
### How it works
10+
11+
1. When changes are pushed to the `.wiki` directory on the main branch, the workflow is triggered
12+
2. The workflow clones the GitHub wiki repository
13+
3. It removes all existing files from the wiki repository (except the `.git` directory)
14+
4. It copies all files from the `.wiki` directory to the wiki repository
15+
5. It commits and pushes the changes to the wiki repository
16+
17+
### Benefits
18+
19+
- Documentation is automatically synced to the GitHub wiki
20+
- No manual steps required to update the wiki
21+
- Documentation changes can be reviewed alongside code changes
22+
- Documentation is version-controlled with the code
23+
24+
### Requirements
25+
26+
- The GitHub wiki must be enabled for the repository
27+
- The workflow uses the `GITHUB_TOKEN` secret, which is automatically provided by GitHub Actions

.github/workflows/sync-wiki.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Sync Wiki
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- '.wiki/**'
9+
10+
jobs:
11+
sync-wiki:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout Repository
15+
uses: actions/checkout@v3
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Configure Git
20+
run: |
21+
git config --global user.name "GitHub Action"
22+
git config --global user.email "action@github.com"
23+
24+
- name: Clone Wiki
25+
run: |
26+
git clone "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git" wiki
27+
28+
- name: Sync Wiki Content
29+
run: |
30+
# Remove all files from wiki repository (except .git directory)
31+
find wiki -mindepth 1 -maxdepth 1 -not -name ".git" -exec rm -rf {} \;
32+
33+
# Copy all files from .wiki directory to wiki repository
34+
cp -r .wiki/* wiki/
35+
36+
# Go to wiki repository
37+
cd wiki
38+
39+
# Add all files
40+
git add .
41+
42+
# Check if there are changes
43+
if git diff --staged --quiet; then
44+
echo "No changes to commit"
45+
exit 0
46+
fi
47+
48+
# Commit changes
49+
git commit -m "Sync wiki from .wiki directory"
50+
51+
# Push changes
52+
git push

.wiki/Home.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# WP Multisite WaaS Documentation
2+
3+
Welcome to the WP Multisite WaaS documentation. This wiki contains all the information you need to get started with WP Multisite WaaS.
4+
5+
## Articles
6+
7+
- [Getting Started with the PayFast Payment Gateway](getting-started-with-the-payfast-payment-gateway)
8+
- [Activating WP Multisite WaaS: Language Selector](activating-wp-ultimo-language-selector)
9+
- [Setting Up The PayPal Gateway (v2)](setting-up-the-paypal-gateway-v2)
10+
- [Setting Up The WooCommerce Integration (v2)](setting-up-the-woocommerce-integration-v2)
11+
- [Basic Concepts](basic-concepts)
12+
- [The WP Multisite WaaS Affiliate Program](the-wp-ultimo-affiliate-program)
13+
- [How to configure domain mapping (v1)](how-to-configure-domain-mapping-v1)
14+
- [WP Multisite WaaS Requirements](wp-ultimo-requirements)
15+
- [Your Client's Account Page (v2)](your-client-s-account-page-v2)
16+
- [Getting Started with the GoCardless Payment Gateway](getting-started-with-the-gocardless-payment-gateway)
17+
- [Integrating WP Multisite WaaS with Zapier](integrating-wp-ultimo-with-zapier)
18+
- [WP Multisite WaaS 101](wp-ultimo-101)
19+
- [Checkout Forms](checkout-forms)
20+
- [How to join WP Multisite WaaS Community](how-to-join-wp-ultimo-community)
21+
- [Why is WP Multisite WaaS no longer sold at CodeCanyon?](why-is-wp-ultimo-no-longer-sold-at-codecanyon)
22+
- [Creating your First Subscription Product (v2)](creating-your-first-subscription-product-v2)
23+
- [Translating WP Multisite WaaS](translating-wp-ultimo)
24+
- [Understanding the WP Multisite WaaS Dashboard](understanding-the-wp-ultimo-dashboard)
25+
- [Customizing your Admin Panel with PRO Theme](customizing-your-admin-panel-with-pro-theme)
26+
- [How to get help](how-to-get-help)
27+
- [Canceling a Membership (v2)](canceling-a-membership-v2)
28+
- [Frequently Asked Questions](frequently-asked-questions)
29+
- [How do I Install WordPress Multisite?](how-do-i-install-wordpress-multisite)
30+
- [A First Look on Webhooks (v2)](a-first-look-on-webhooks-v2)
31+
- [Customizing your Admin Panel with Material WP](customizing-your-admin-panel-with-material-wp)
32+
- [Site Templates (v2)](site-templates-v2)
33+
- [Installing WP Multisite WaaS (v2)](installing-wp-ultimo-v2)
34+
- [Setting the Sunrise constant to true on Closte](setting-the-sunrise-constant-to-true-on-closte)
35+
- [WP Multisite WaaS Hooks and filters](wp-ultimo-hooks-and-filters)
36+
- [Customizing your Registration Form](customizing-your-registration-form)
37+
- [Setting Up The Stripe Gateway (v2)](setting-up-the-stripe-gateway-v2)
38+
- [Downgrading a plan (v2)](downgrading-a-plan-v2)
39+
- [Managing Payments and Invoices](managing-payments-and-invoices)
40+
- [The WP Multisite WaaS Register API endpoint](the-wp-ultimo-register-api-endpoint)
41+
- [How to Export and Import a Site with WP Multisite WaaS Site Exporter](how-to-export-and-import-a-site-with-wp-ultimo-site-exporter)
42+
- [How to use WP Multisite WaaS snippets on our GitHub repository](how-to-use-wp-ultimo-snippets-on-our-github-repository)
43+
- [Editing Plugins and Themes Meta Information with WP Multisite WaaS: Plugin and Theme Manager](editing-plugins-and-themes-meta-information-with-wp-ultimo-plugin-and-theme-manager)
44+
- [Touring the Admin Panel](touring-the-admin-panel)
45+
- [Understanding your Dashboard (v2)](understanding-your-dashboard-v2)
46+
- [Placing Ads on your network with WP Multisite WaaS: Ad Injector](placing-ads-on-your-network-with-wp-ultimo-ad-injector)
47+
- [How can I access my account page for the first time?](how-can-i-access-my-account-page-for-the-first-time)
48+
- [Why WP Multisite WaaS](why-wp-ultimo)
49+
- [Getting Paid (v2)](getting-paid-v2)
50+
- [Error Installing the Sunrise File](error-installing-the-sunrise-file)
51+
- [How to Get Custom Development Help from Codeable?](how-to-get-custom-development-help-from-codeable)
52+
- [Migrating from V1](migrating-from-v1)
53+
- [Creating Custom Admin Pages and Sub-pages using WP Multisite WaaS: Admin Page Creator](creating-custom-admin-pages-and-sub-pages-using-wp-ultimo-admin-page-creator)
54+
- [Managing System Emails](managing-system-emails)
55+
- [How to Configure Domain Mapping (v2)](how-to-configure-domain-mapping-v2)
56+
- [The Registration Flow (v2)](the-registration-flow-v2)
57+
- [Sending Emails and Broadcasts (v2)](sending-emails-and-broadcasts-v2)
58+
- [Event: Register an account via Zapier](event-register-an-account-via-zapier)
59+
- [Using WP Multisite WaaS: AffiliateWP Integration to create your own referral program for WP Multisite WaaS](using-wp-ultimo-affiliatewp-integration-to-create-your-own-referral-program-for-wp-ultimo)
60+
- [Setting Up Manual Payments (v2)](setting-up-manual-payments-v2)
61+
- [Known incompatibilities with other Plugins](known-incompatibilities-with-other-plugins)
62+
- [Tax Handling](tax-handling)
63+
- [Auto Search and Replace in Site Templates (v2)](auto-search-and-replace-in-site-templates-v2)
64+
- [Your Client's Websites (v2)](your-client-s-websites-v2)
65+
- [Creating Discount Codes (v2)](creating-discount-codes-v2)
66+
- [How can I cancel my subscription?](how-can-i-cancel-my-subscription)
67+
- [What is WordPress Multisite?](what-is-wordpress-multisite)
68+
- [Managing Shareable Links for Plans](managing-shareable-links-for-plans)
69+
- [Managing Memberships (v2)](managing-memberships-v2)
70+
- [Re-ordering the WP Multisite WaaS country list](re-ordering-the-wp-ultimo-country-list)
71+
- [Managing Customers](managing-customers)
72+
- [Using WP Multisite WaaS: MailChimp Integration](using-wp-ultimo-mailchimp-integration)
73+
- [Managing Sites](managing-sites)
74+
- [Upgrading a Plan (v2)](upgrading-a-plan-v2)
75+
- [Code Snippets for v2](code-snippets-for-v2)

.wiki/README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# WP Multisite WaaS Documentation
2+
3+
This folder contains the documentation for the WP Multisite WaaS plugin in Markdown format. The documentation is organized as a GitHub Wiki.
4+
5+
## Documentation Structure
6+
7+
The documentation is organized into the following categories:
8+
9+
- **Getting Started**: Basic setup and installation guides
10+
- **Introduction**: Overview of WP Multisite WaaS
11+
- **Managing Your Network**: How to manage your multisite network
12+
- **Payment Gateways**: Setting up payment gateways
13+
- **Integrations**: Integrating with other services
14+
- **Addons**: Additional functionality through addons
15+
- **Developers**: Information for developers
16+
- **Your Customers Panel**: Managing customer accounts
17+
- **FAQ**: Frequently asked questions
18+
19+
## How to Use This Documentation
20+
21+
You can browse the documentation directly on GitHub by visiting the [Wiki](https://github.com/superdav42/wp-multisite-waas/wiki).
22+
23+
### Automatic Sync
24+
25+
This documentation is automatically synced to the GitHub wiki whenever changes are pushed to the main branch. The sync is handled by a GitHub Action workflow that copies the content of this directory to the wiki repository.
26+
27+
## Images
28+
29+
The documentation includes placeholder images for screenshots and diagrams. The original images were hosted on external servers that require authentication to access. See the `assets/images/placeholders/README.md` file for more information.
30+
31+
## Converting HTML to Markdown
32+
33+
This folder includes scripts to convert HTML documentation to Markdown format. To run the conversion:
34+
35+
1. Install the required dependencies:
36+
```
37+
pip install beautifulsoup4 html2text
38+
```
39+
40+
2. Run the conversion script:
41+
```
42+
python convert_simple.py
43+
```
44+
45+
## Contributing
46+
47+
Contributions to improve the documentation are welcome. Please feel free to submit pull requests with corrections or additions.
48+
49+
## License
50+
51+
This documentation is licensed under the same license as the WP Multisite WaaS plugin.

.wiki/_Sidebar.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Documentation
2+
3+
- [Home](Home)
4+
- **Articles**
5+
- [Getting Started with the PayFast Payment Gateway](getting-started-with-the-payfast-payment-gateway)
6+
- [Activating WP Multisite WaaS: Language Selector](activating-wp-ultimo-language-selector)
7+
- [Setting Up The PayPal Gateway (v2)](setting-up-the-paypal-gateway-v2)
8+
- [Setting Up The WooCommerce Integration (v2)](setting-up-the-woocommerce-integration-v2)
9+
- [Basic Concepts](basic-concepts)
10+
- [The WP Multisite WaaS Affiliate Program](the-wp-ultimo-affiliate-program)
11+
- [How to configure domain mapping (v1)](how-to-configure-domain-mapping-v1)
12+
- [WP Multisite WaaS Requirements](wp-ultimo-requirements)
13+
- [Your Client's Account Page (v2)](your-client-s-account-page-v2)
14+
- [Getting Started with the GoCardless Payment Gateway](getting-started-with-the-gocardless-payment-gateway)
15+
- [Integrating WP Multisite WaaS with Zapier](integrating-wp-ultimo-with-zapier)
16+
- [WP Multisite WaaS 101](wp-ultimo-101)
17+
- [Checkout Forms](checkout-forms)
18+
- [How to join WP Multisite WaaS Community](how-to-join-wp-ultimo-community)
19+
- [Why is WP Multisite WaaS no longer sold at CodeCanyon?](why-is-wp-ultimo-no-longer-sold-at-codecanyon)
20+
- [Creating your First Subscription Product (v2)](creating-your-first-subscription-product-v2)
21+
- [Translating WP Multisite WaaS](translating-wp-ultimo)
22+
- [Understanding the WP Multisite WaaS Dashboard](understanding-the-wp-ultimo-dashboard)
23+
- [Customizing your Admin Panel with PRO Theme](customizing-your-admin-panel-with-pro-theme)
24+
- [How to get help](how-to-get-help)
25+
- [Canceling a Membership (v2)](canceling-a-membership-v2)
26+
- [Frequently Asked Questions](frequently-asked-questions)
27+
- [How do I Install WordPress Multisite?](how-do-i-install-wordpress-multisite)
28+
- [A First Look on Webhooks (v2)](a-first-look-on-webhooks-v2)
29+
- [Customizing your Admin Panel with Material WP](customizing-your-admin-panel-with-material-wp)
30+
- [Site Templates (v2)](site-templates-v2)
31+
- [Installing WP Multisite WaaS (v2)](installing-wp-ultimo-v2)
32+
- [Setting the Sunrise constant to true on Closte](setting-the-sunrise-constant-to-true-on-closte)
33+
- [WP Multisite WaaS Hooks and filters](wp-ultimo-hooks-and-filters)
34+
- [Customizing your Registration Form](customizing-your-registration-form)
35+
- [Setting Up The Stripe Gateway (v2)](setting-up-the-stripe-gateway-v2)
36+
- [Downgrading a plan (v2)](downgrading-a-plan-v2)
37+
- [Managing Payments and Invoices](managing-payments-and-invoices)
38+
- [The WP Multisite WaaS Register API endpoint](the-wp-ultimo-register-api-endpoint)
39+
- [How to Export and Import a Site with WP Multisite WaaS Site Exporter](how-to-export-and-import-a-site-with-wp-ultimo-site-exporter)
40+
- [How to use WP Multisite WaaS snippets on our GitHub repository](how-to-use-wp-ultimo-snippets-on-our-github-repository)
41+
- [Editing Plugins and Themes Meta Information with WP Multisite WaaS: Plugin and Theme Manager](editing-plugins-and-themes-meta-information-with-wp-ultimo-plugin-and-theme-manager)
42+
- [Touring the Admin Panel](touring-the-admin-panel)
43+
- [Understanding your Dashboard (v2)](understanding-your-dashboard-v2)
44+
- [Placing Ads on your network with WP Multisite WaaS: Ad Injector](placing-ads-on-your-network-with-wp-ultimo-ad-injector)
45+
- [How can I access my account page for the first time?](how-can-i-access-my-account-page-for-the-first-time)
46+
- [Why WP Multisite WaaS](why-wp-ultimo)
47+
- [Getting Paid (v2)](getting-paid-v2)
48+
- [Error Installing the Sunrise File](error-installing-the-sunrise-file)
49+
- [How to Get Custom Development Help from Codeable?](how-to-get-custom-development-help-from-codeable)
50+
- [Migrating from V1](migrating-from-v1)
51+
- [Creating Custom Admin Pages and Sub-pages using WP Multisite WaaS: Admin Page Creator](creating-custom-admin-pages-and-sub-pages-using-wp-ultimo-admin-page-creator)
52+
- [Managing System Emails](managing-system-emails)
53+
- [How to Configure Domain Mapping (v2)](how-to-configure-domain-mapping-v2)
54+
- [The Registration Flow (v2)](the-registration-flow-v2)
55+
- [Sending Emails and Broadcasts (v2)](sending-emails-and-broadcasts-v2)
56+
- [Event: Register an account via Zapier](event-register-an-account-via-zapier)
57+
- [Using WP Multisite WaaS: AffiliateWP Integration to create your own referral program for WP Multisite WaaS](using-wp-ultimo-affiliatewp-integration-to-create-your-own-referral-program-for-wp-ultimo)
58+
- [Setting Up Manual Payments (v2)](setting-up-manual-payments-v2)
59+
- [Known incompatibilities with other Plugins](known-incompatibilities-with-other-plugins)
60+
- [Tax Handling](tax-handling)
61+
- [Auto Search and Replace in Site Templates (v2)](auto-search-and-replace-in-site-templates-v2)
62+
- [Your Client's Websites (v2)](your-client-s-websites-v2)
63+
- [Creating Discount Codes (v2)](creating-discount-codes-v2)
64+
- [How can I cancel my subscription?](how-can-i-cancel-my-subscription)
65+
- [What is WordPress Multisite?](what-is-wordpress-multisite)
66+
- [Managing Shareable Links for Plans](managing-shareable-links-for-plans)
67+
- [Managing Memberships (v2)](managing-memberships-v2)
68+
- [Re-ordering the WP Multisite WaaS country list](re-ordering-the-wp-ultimo-country-list)
69+
- [Managing Customers](managing-customers)
70+
- [Using WP Multisite WaaS: MailChimp Integration](using-wp-ultimo-mailchimp-integration)
71+
- [Managing Sites](managing-sites)
72+
- [Upgrading a Plan (v2)](upgrading-a-plan-v2)
73+
- [Code Snippets for v2](code-snippets-for-v2)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# A First Look on Webhooks (v2)
2+
3+
_**ATTENTION: Note that this feature or article is for advanced users.**_
4+
5+
A **webhook** is a way for an app or software like WP Multisite WaaS to provide other applications with real-time information. A webhook delivers data or payloads to other applications as it happens, meaning you **get data immediately.**
6+
7+
This is helpful should you need to integrate or pass certain data from WP Multisite WaaS going to another CRM or system each time an event is triggered. For example, you need to send the user's name and email address to a mailing list each time a new user account is created.
8+
9+
## How to create a webhook
10+
11+
To create a webhook, go to your network admin dashboard. Click on **WP Multisite WaaS > Webhooks > Add New Webhook.**
12+
13+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-7cBdC7uhfX.png)
14+
15+
When creating a new webhook you will be asked for information like **Name, URL,** and **Event**. You can use any name you want for your webhook. The most important fields are the URL and Event.
16+
17+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-7MmyV3wafK.png)
18+
19+
URL is the **endpoint or the destination** to which WP Multisite WaaS will send the **payload or data**. This is the application that will receive the data.
20+
21+
Zapier is the most common solution that user uses to make integration with 3rd party application easier. Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use WP Multisite WaaS webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)
22+
23+
In this article, we will be looking at the basic concept of how a webhook works and the events available in WP Multisite WaaS. We will be using a 3rd party site called [requestbin.com](https://requestbin.com/). This site will allow us to create an endpoint and catch the payload without doing any coding. _**Disclaimer: all it will do is show us that the data has been received.**_ There will be no processing or any kind of action done to the payload.
24+
25+
Go to [requestbin.com](https://requestbin.com/) and click Create Request Bin.
26+
27+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-J0e5FzS04g.png)
28+
29+
After clicking that button, it will ask you to log in if you already have an account or sign up. If you already have an account it will lead you right to their dashboard. On their dashboard, you will immediately see the endpoint or URL you can use in creating your WP Multisite WaaS webhook.
30+
31+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-M40kPMGsji.png)
32+
33+
Go ahead and copy the URL and go back to WP Multisite WaaS. Place the endpoint on the URL field and select an event from the dropdown. In this example, we will be selecting **Payment Received**.
34+
35+
This event is triggered whenever a user makes a payment. All the events available, their description, and payloads are listed at the bottom of the page. Click the **Add New Webhook** button to save the webhook.
36+
37+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-1NwqQP4bP0.png)
38+
39+
We can now send a test event to the endpoint for us to see if the webhook we created is working. We can do this by clicking **Send Test Event** under the webhook we created.
40+
41+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-zTDhrG4wlP.png)
42+
43+
This shows a confirmation window saying that the test was successful.
44+
45+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-9jP9r7yRT9.png)
46+
47+
Now if we go back to the _Requestbin_ site we will see that the payload has been received containing some test data.
48+
49+
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-RZke5xnrAg.png)
50+
51+
This is the basic principle of how webhook and endpoints work. If you are to create a custom endpoint, you will need to create a custom function to process the data your receive from WP Multisite WaaS.

0 commit comments

Comments
 (0)