Developer Upload Instructions

These instructions are for uploading a new module to the Community Media Advanced Git Hub Project. Please make sure the module is not already uploaded, you can search here: https://github.com/cm-advanced

  1. From the command line, change directories to a directory OUTSIDE of your web root.
  2. Copy your module into this directory, make sure there are no .git files or .svn files in your module directory.
  3. In your preferred text editor, make the following changes to the modules .info file:
    • If your module is a generic module that could possibly be shared by other CMA organizations:
      • Add CMA to the module name, i.e. name = CMA Project Helper
      • Change Package Name, i.e. package = Community Media Advanced
    • If your module is a module that is highly specific to a single organization but could be used as a blueprint for others:
      • Make sure your organization name is in the module name, i.e. name = MNN Inventory Import
      • Make sure your organization name is in the package name, i.e. name = MNN Community Media Advanced
    • Set version number
      • If this module has never been published before, version = 7.x-1.0
      • If this module was published on Drupal before, set it to one version greater.
        i.e. if it was 7.x-3.6 on Drupal, version = 7.x-4.0
    • set project equal to the machine name of module, i.e. project = cm_project
    • set project url using the machine name of module which will/should be the same as the git hub repo name, i.e. project_status_url = https://github.com/cm-advanced/cma_project_helper
    • If this module was hosted on Drupal.org, delete all the drupal related, i.e. delete all this stuff
      ; Information added by packaging script on 2013-11-05
      version = “7.x-4.3”
      core = “7.x”
      project = “autologout”
      datestamp = “1383644006”
  4. Go to https://github.com/organizations/cm-advanced/repositories/new and add a new repo
    • the repo name should be the same as the machine name of your module, i.e. the actual name of the directory and the prefix used in all drupal hooks.
    • For description use what’s in the module .info file
    • The repo should be public
    • DON’T initialize the repo with a README
  5. Go back to the command line and CD into the module directory you are publishing and do the following. Note: in the examples below I am using an example of the module cma_project_helper and the version 7.x-4.0
  6. Go back to your repo’s home page, i.e. https://github.com/cm-advanced/cma_project_helper and do the following
    • Click on the releases Tab
    • Click on the “Draft New Release” button near the top right of the page
    • In the “Tag Version” drop down, select the tag number from the tag command in the previous command line steps i.e. 7.x-4.0
    • Give it a release title, use the tag with a ‘v’ prefix, i.e. v7.x-4.0
    • Give a release description, can be something as simple as “initial CMA release”
    • Click the “Publish release” button
  7. Go back to your repo’s home page, i.e. https://github.com/cm-advanced/cma_project_helper and do the following
    • Click on the Branches tab, if you see one branch and its the same as what you set above, i.e. 7.x-4.x, then you are good to go.
    • if you see more than one branch, i.e. 7.x-4.x and Master, and the Master branch is marked as the default branch then:
      • Click “Change Default Branch”
      • Select the branch we created from the command line, i.e. 7.x-4.0
      • Confirm that you want to change
      • Go back to command line
      • push origin –delete master
      • git remote prune origin