Mautic fork by https://MauticDevelopers.com
In this fork our team build native integration beetween Mautic and Piperdrive.
If you want to build your custom integration drop us a line at email@example.com
Special thanks to https://www.webmecanik.com/
Keep calm and do Mautic
The GitHub version is recommended for development or testing. Production package ready for install with all the libraries is at https://www.mautic.org/download.
This is a simple 3 step installation process. You'll want to make sure you already have Composer available on your computer as this is a development release and you'll need to use Composer to download the vendor packages.
|Step 1||Step 2||Step 3|
Download the repository zip
Extract this zip to your web root.
Run the following command to install required packages.
||Open your browser and complete the installation through the web installer.|
Installing from source is only recommended if you are comfortable using the command line. You'll be required to use various CLI commands to get Mautic working and to keep it working. If the source and/or database schema gets out of sync with Mautic's releases, the release updater may not work and will require manual updates. For production is recommened the pre-packaged Mautic available at mautic.com/download.
Also note that the source outside a tagged release should be considered "alpha" and may contain bugs, cause unexpected results, data corruption or loss, and is not recommended for use in a production environment. Use at your own risk.
Development / Build process requirements
- Mautic uses Git as a version control system. Download and install git for your OS from https://git-scm.com/.
- Install a server, PHP and MySql to be able to run Mautic locally. Easy option is _AMP package for your OS.
- Install Composer, the dependency manager for PHP.
- Install NPM.
- Install Grunt.
- See Mautic requirements.
- PHP modules:
- recommended for development:
- Recommended memory limit: minimally 256 MB for testing, 512 MB and more for production.
Each time you update Mautic's source after the initial setup/installation via a new checkout, download, git pull, etc; you will need to clear the cache. To do so, run the following command:
$ cd /your/mautic/directory $ php app/console cache:clear
(Note that if you are accessing Mautic through the dev environment (via index_dev.php), you would need to add the
--env=dev from the command).
Before running these commands, please make a backup of your database.
$ php app/console doctrine:migrations:migrate
If you are updating to the latest source (remember this is alpha), first run
$ php app/console doctrine:schema:update --dump-sql
This will list out the queries Doctrine wants to execute in order to get the schema up-to-date (no queries are actually executed). Review the queries to ensure there is nothing detrimental to your data. If you have doubts about a query, submit an issue here and we'll verify it.
If you're satisfied with the queries, execute them with
$ php app/console doctrine:schema:update --force
Your schema should now be up-to-date with the source.
Learning how to use marketing automation can be challenging. The first step is to understand what marketing automation is and how it can help your business be more successful. This quick usage outline is not meant to be comprehensive but will outline a few key areas of Mautic and how to use each of them.
You can find more detailed information at https://docs.mautic.org
The act of monitoring website traffic and visitors is often the first step in a marketing automation system. This step involves collecting details and information about each visitor to your website.
There are two types of visitor, anonymous and known.
Anonymous visitors are all visitors which browse to your website. These visitors are monitored and certain key pieces of information are collected. This information includes:
- The visitor's IP address
- Pages visited
- Length of visit
- Any actions taken on site
Known visitors are visitors which have provided an email address or some other identifying characteristic (e.g. social network handle). Much more information can be gathered from known visitors. Any information desired can be manually or automatically collected, here are just a few common ideas to get you started:
- Email address
- Physical address
- Social network handles
- Social media posts
These fields may be automatically discovered and added by the Mautic system or they may be manually added by you or the visitor.
You will probably want to know how to move a visitor from anonymous to known status. This is critical as the amount of information collected from known visitors is much more in-depth and valuable to your business. You will learn more about this transition process a bit later on.
The next step in the marketing automation process is connecting with your known visitors. These known visitors are your leads (You may call your potential clients something different, for simplicity they are called leads in these docs). Connecting with your leads is important in establishing a relationship and nurturing them along the sales cycle.
This nurturing can be for any purpose you desire. You may wish to demonstrate your knowledge of a subject, encourage your leads to become involved, or generate a sale and become a customer.
Methods for Connecting
There are several ways to connect with your leads. The three most common are emails, social media, and landing pages.
Emails are by far the most common way to connect with leads. These are tracked and monitored by Mautic for who opens the email, what links are clicked within that email, and what emails bounce (never reach the recipient).
Social media is quickly becoming a more popular way for connecting with leads. Mautic helps you monitor the social profiles of your leads and can be used to interact with them through their preferred network.
Landing pages are usually the first step in the connection process as these are used to make initial contact with leads and collect the information to move them from an anonymous visitor to a known visitor. These pages are used to funnel visitors to a specific call to action. This call to action is usually a form to collect the visitor's information.
One of Mautic's main purposes is to enable automation of specific tasks. The task of connecting with leads is one such area where automation becomes increasingly valuable. Mautic allows you to define specific times, events, or actions when a connection should be triggered. Here is an example of an automation process.
Example A visitor fills out a call-to-action form on your landing page. This form collects their email address and automatically moves them from an anonymous to a known visitor. As a known visitor they are now added as a new lead to a specific campaign. This campaign will send the new lead an email you have pre-defined. You can then define additional actions to be taken based on the lead's response to your email.
This example demonstrates several uses of automation. First, the visitor is automatically moved from anonymous to known status. Second, the visitor is automatically added to a particular campaign. Lastly the visitor is sent an email automatically as a new lead.
There are many more ways in which automation can be used throughout Mautic to improve efficiency and reduce the time you spend connecting with your leads. As mentioned earlier, refer to https://docs.mautic.org for more details.
Customizing - Plugins, Themes
There are many benefits to using Mautic as your marketing automation tool. As the first and only community-driven, open source marketing automation platform there are many distinct advantages. You can choose whether you want to submit your feature as to the community as a pull request or wheter to build it as a plugin or theme.
Read more about plugins and themes in the Mautic Developer Docummentation.
Connecting - API, Webhooks
Mautic have a REST API which you can use to connect it with another app. Of you can use the webhooks to send the updates which happens in Mautic to another app.
Read more about API and webhooks in the Mautic Developer Docummentation.
One benefit of using Mautic is the ability to modify and customize the solution to fit your needs. Mautic allows you to quickly change to your preferred language, or modify any string through the language files. These language files are available for the translation by the community at Transifex and if you are interested you can add more languages, or help to translate the current ones.
How to test a pull request
Everyone can test submitted features and bug fixes. No programming skills are required. All you have to do is to follow the steps below.
Install the latest GitHub version
- Open a Terminal/Console window.
- Change directory to the server root (i.e.
cd /var/wwwif your local server root is at /var/www).
- Clone the repository (
git clone https://github.com/mautic/mautic.git)
- The mautic directory should appear in the server root. Change directory to mautic directory (
- Install dependencies (
- Visit Mautic in a browser (probably at http://localhost/mautic) and follow installation steps.
Mautic downloaded from GitHub have the development environment. You can access it by adding
index_dev.php after the Mautic URL. Eg.
http://localhost/mautic/index_dev.php/s/. Or in case of CLI commands, add
--env=dev attribute to it.
This development environment will display the PHP errors, warnigns and notices directly as the output so you don't have to open the log to see them. It will also load for example translations without cache, so every change you make will be visible without clearing it. The only changes which requires clearing the cache are in the
In case of assets like JS, CSS, the source files are loaded instead of concatinated, minified file. This way the changes in those files will be directly visible on refresh. If you'd want to see the change in production environment, you'd have to run the
app/console mautic:assets:generate command.
In many cases, the CSS files are built from LESS files. To compile the changes in the LESS files, run
grunt compile-less command.
Test a pull request (PR)
Every change to Mautic core happens via PRs. Every PR must have 2 successful tests to be merged to the core and released in the next version. Testing a PR is a great way how to move Mautic forward and personally improve its quality and stability.
- Select a PR to test.
- Read the description and steps to test. If it's a bug fix, follow the steps if you'll be able to recreate the issue.
- Use the development environment (above) for testing.
- Apply the PR
- Clear cache for development environment (
rm -rf app/cache/*or
app/console cache:clear -e dev).
- Follow the steps from the PR description again to see if the result is as described.
- Write a comment how the test went. If there is a problem, provide as many information as possible including error log messages.
The unit tests can be executed in the Mautic root directory with
composer test command.
Mautic uses PHPSTAN for some of its parts during continuous integration tests. If you want to test your specific contribution locally, install PHPSTAN globally with
composer global require phpstan/phpstan-shim. Mautic cannot have PHPSTAN as its dev dependency, because it requires PHP7+. To run analysis on a specific bundle, run
~/.composer/vendor/phpstan/phpstan-shim/phpstan.phar analyse app/bundles/*Bundle
FAQ and Contact Information
Marketing automation has historically been a difficult tool to implement in a business. The Mautic community is a rich environment for you to learn from others and share your knowledge as well. Open source means more than open code. Open source is providing equality for all and a chance to improve. If you have questions then the Mautic community can help provide the answers.