Skip to content

Modularize extensions using symlinks. Voted #1 Magento tool by @webshopapps!

Notifications You must be signed in to change notification settings

pmathbliss/modman

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

modman (Module Manager)

Developing extensions for software that doesn't allow you to separate your files from core files, and keeping that extension under version control and making it easy to deploy is now much, much easier. Development of this script was inspired by Magento which forces you to mix your extension files all throughout the core code directories. With modman, you can specify in a text file where you want your directories and files to be mapped to, and it will maintain symlinks for you so that your code is easy to hack and deploy.

All of your cloned/checked-out modules will be kept in a directory named .modman in the location where you run modman init.

Requirements

  • Linux/Unix or OSX (not cygwin, see Windows Users below)
  • bash
  • Common utilities available in your PATH: grep (POSIX), find, ln, cp, basename, dirname
  • Web server must follow symlinks
  • git and/or subversion are optional (not required for "deploy" command)
  • For Magento, if using template files in a modman module, you must enable "Allow Symlinks" (found under System > Configuration > Advanced > Developer)

Allow Symlinks

NOTE: There is no additional security risk to allowing symlinks, despite the warning which says otherwise...

Windows Users

Windows (including cygwin) is not supported by this script, but there is a PHP-port of modman which works on Windows. I am not affiliated with the authors and do not provide support for the PHP port, only a link here for reference.

Installation

bash < <(wget -q --no-check-certificate -O - https://raw.github.com/colinmollenhour/modman/master/modman-installer)

or

bash < <(curl -s -L https://raw.github.com/colinmollenhour/modman/master/modman-installer)
source ~/.profile

Note: modman is simply a bash script, so to use it you just need to place it in your $PATH and change its mode to executable.

Getting Started

Run modman --help to get the basic usage summary or modman --tutorial to see a brief tutorial. For more in-depth information please see the Modman Wiki

Version Control Systems

Modman currently supports subversion and git. Other VCSs could be used by manually checking out the source code into the proper directory and using the "deploy" command.

Author

License

Copyright 2009 Colin Mollenhour

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Modularize extensions using symlinks. Voted #1 Magento tool by @webshopapps!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%