Welcome to the Myddleware community and thank you for joining us!
Myddleware is the customisable free open-source platform that facilitates data migration and synchronisation between applications.
On our documentation website, you’ll find everything you’re looking for to master Myddleware, including step-by-step tutorials. You can also tailor Myddleware to your needs by creating you custom code. Please use our github to share it.
This community is ours : let’s all contribute, make it a friendly, helpful space where we can all find what we’re looking for!
Please don’t hide any precious skills from us, whether it is coding, translation, connectors creation, .... the list goes on! The whole community could then benefit from these!
Find us here : www.myddleware.com
We created it, you own it!
You can download Myddleware in 2 different ways :
If you are familiar with Git, Github & command lines, you can clone our Github repository
At the root of your webserver (for example /var/wwww/html), open a terminal and type the following command:
git clone git@github.com:Myddleware/myddleware.git
or
git clone https://github.com/Myddleware/myddleware.git
Then, navigate to the newly created Myddleware folder with :
cd myddleware
composer install
yarn install
yarn build
Download the Myddleware zip file here
Once you've downloaded our ready-to-use Myddleware archive, you need to unzip it at the root of your webserver directory (for example /var/www/html). You can unzip it manually or using the following command :
unzip myddleware.zip -d <myddleware_dirname>
You can use the Docker config files provided to install Myddleware if you want to reproduce our developer's environment or deploy it using Kubernetes for example.
Make isn't available on Windows systems. If you want to use them on your Windows machine, you will need to set up WSL.
Various useful commands are available on our Makefile. For instance, you can use the following to build & run the Docker container for Myddleware :
## List all your Docker containers
make ps
## Run Myddleware with Docker Compose
make run-with-compose
## Run Myddleware with Docker
make build
make run
Run the following commands in your myddleware directory :
docker-compose up --build
This will build a Myddleware image containing the Myddleware container (PHP with Apache) as well as a Node.js container to handle assets and a MySQL container for your database.
Once the images are up and running, you need to go to the Node.js terminal and type :
yarn install
yarn build
Once your assets are built, you can now go to http://localhost:30080, where you should see the Myddleware homescreen.
To connect to the MySQL database, use the following credentials :
- username : myddleware
- database : myddleware
- password : secret
If you choose to build Myddleware using Docker on its own, you will need to set up your database environment variables and connect Myddleware to it as this image doesn't provide a Myddleware database.
docker build . -t myddleware
docker run -d -p 30080:80 myddleware
You can then access your Myddleware instance by going to http://localhost:30080/index.php
At this stage, to set up Myddleware, you can either follow our installation wizard by going to your Myddleware URL or if you're comfortable with using a terminal, you can execute a series of commands.
You need to go to the URL where Myddleware will be located, for instance : http://<yourdomain>.com/<myddlewarefolder>/myddleware/public/
From there, you need to click on "Install Myddleware" and follow the directions of the Installation Wizard.
Here, Myddleware will check whether your server meets all the requirements for Myddleware to be able to run (are there any missing PHP extensions ? are there any permissions issues ?)
Before proceeding to this step, please ensure you've already created the database you intend to use for Myddleware. Then you can fill in the form. Once you've saved & clicked next, Myddleware will attempt to connect to the database using the information you've provided. If there are any errors, a message will appear to let you know what went wrong. If everything is OK, you can continue to the next step.
Fill in the form to create your Myddleware credentials (email, username & password). Once this is done, you should be redirected to the Myddleware homepage.
At the root of your /myddleware directory, you need to create a .env.local file (it should be at the same level as the .env & .env.example files). If you've followed the installation from GitHub above, all you will need to do here is to fill in the .env.local file with the following information :
DATABASE_URL="mysql://username:password@host:port/dbname"
APP_ENV=prod
APP_DEBUG=false
APP_SECRET=ThisSecretIsNotSoSecretChangeIt
MAILER_URL=gmail://smtp.example.com:465?encryption=ssl&auth_mode=login&username=&password=
The DATABASE_URL variable will contain the values used by Myddleware to connect to your actual database, so you must replace each placeholder value with your credentials.
The MAILER_URL is optional. It is used by Myddleware to send you notification emails on some occasions such as when a task failed or some documents are in error. You need to configure it to match your SMTP server's credentials.
Myddleware relies on the Symfony Framework, a free open-source PHP framework. If you would like to contribute to our source code, you can first familiarise yourself with the Symfony documentation
Myddleware is an Open Source community project. All contributions are welcome, no matter how big or small. There are many ways to contribute to the project. You can of course help us improve and debug our source code, but you can also start by simply reporting issues & bugs or suggesting new features on our GitHub Issues forum, or review and leave comments on Pull Requests.
If you would like to contribute to Myddleware source code, please refer to the developer's guide section of this documentation. We also kindly ask that you follow the Symfony Coding Standards to ensure uniformity and clarity of our source code across Myddleware. We recommend using the PHP CS Fixer tool to ensure these standards are respected across your contributed code.