PHPackages                             midgard/midcom-project-template - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. midgard/midcom-project-template

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

midgard/midcom-project-template
===============================

6121PHP

Since Apr 21Pushed 12y ago1 watchersCompare

[ Source](https://github.com/midgardproject/midcom-project-template)[ Packagist](https://packagist.org/packages/midgard/midcom-project-template)[ RSS](/packages/midgard-midcom-project-template/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

midcom-project-template
=======================

[](#midcom-project-template)

(Experimental) Template for setting up [MidCOM](http://midgard-project.org/midcom/)-based projects.

Where is everything?
--------------------

[](#where-is-everything)

The MidCOM project template follows a file structure designed for both easy bootstrapping of new projects, and for managing existing projects in a version control system.

- `config`: application configuration files, including [Midgard2](http://midgard-project.org/midgard2/) database setup
- `var`: volatile application data, like logs and cache
- `src`: application's own MidCOM components
- `theme`: application's MidCOM templates
- `web`: document root for the application, to be used with your web server
- `setup`: setup and installation tools, including Vagrant and Puppet configuration
- `vendor`: dependencies including MidCOM and components. Managed by Composer

Creating new MidCOM projects
----------------------------

[](#creating-new-midcom-projects)

This project template is designed to be used together with the [Composer](http://getcomposer.org/) PHP dependency management tool. You can create new MidCOM projects on your current machine with:

```
$ php composer.phar create-project midgard/midcom-project-template myproject

```

This will download the MidCOM project template and set it up together with the dependencies. This new project will be set up in the `myproject` directory.

To set up a new database, use [openpsa/installer](https://github.com/flack/openpsa-installer)'s `midgard2:setup` command:

```
$ ./vendor/bin/openpsa-installer midgard2:setup

```

**Note**: Even though Midgard2 supports multiple relational databases, the current setup scripts only support MySQL and SQLite.

Creating development VMs with Vagrant
-------------------------------------

[](#creating-development-vms-with-vagrant)

[Vagrant](http://vagrantup.com) gives an easy way to manage development virtual machines using MidCOM.

### Dependencies

[](#dependencies)

- [Vagrant](http://vagrantup.com)
- NFS (out-of-the-box in OS X, on Debian-based Linux systems install `nfs-kernel-server`)

### Installation

[](#installation)

To set up a Vagrant project, download this project template, and then:

```
$ cd setup/vagrant
$ vagrant up

```

The `up` command will download a Ubuntu 12.04 base image, start it in [VirtualBox](https://www.virtualbox.org/) and then use the [Puppet](http://puppetlabs.com/) configuration management system to set up Midgard2, PHP, Apache, and your MidCOM project.

This setup can take a long time depending on your internet connection. Once it is done, there should be a MidCOM instance running based on your project setup. You can access it at .

### Usage

[](#usage)

The Vagrant VM will mount your project directory over NFS, and so all of your file changes will apply to the virtual machine instantly. If you need to tweak something on the VM, you can get an SSH connection to it with:

```
$ vagrant ssh

```

Your mounted project directory will be available in `/midcom`.

### Managing the virtual machine

[](#managing-the-virtual-machine)

You can use the `vagrant halt` command to stop your virtual machine, and `vagrant up` to restart it.

If you want to start from scratch, simply run `vagrant destroy`, and rebuild the VM image with another `vagrant up`.

If you want to distribute your VM image with your team, read the [Vagrant packaging documentation](http://vagrantup.com/v1/docs/getting-started/packaging.html).

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 58.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3346?v=4)[Henri Bergius](/maintainers/bergie)[@bergie](https://github.com/bergie)

---

Top Contributors

[![bergie](https://avatars.githubusercontent.com/u/3346?v=4)](https://github.com/bergie "bergie (30 commits)")[![flack](https://avatars.githubusercontent.com/u/425166?v=4)](https://github.com/flack "flack (21 commits)")

### Embed Badge

![Health badge](/badges/midgard-midcom-project-template/health.svg)

```
[![Health](https://phpackages.com/badges/midgard-midcom-project-template/health.svg)](https://phpackages.com/packages/midgard-midcom-project-template)
```

###  Alternatives

[event-engine/discolight

Lightweight PSR-11 DI Container inspired by bitExpert/disco

1028.5k1](/packages/event-engine-discolight)[invato/redirect-to-index

Laravel Nova package to redirect to the index view instead of the detail after creating or editing a resource.

1220.0k](/packages/invato-redirect-to-index)[yii2mod/yii2-bx-slider

Bx-slider widget based on bx-slider extension {@link http://bxslider.com)

1110.8k](/packages/yii2mod-yii2-bx-slider)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
