Instructions

Extension Submission/Administration Guide

A - How this Module Works ?

  • Extension Author submits his extension on corresponding module/theme/widget submission page.
  • ExtensionManger module uses composer which gets all the information about extension from composer.json available on submitted repository.
  • ExtensionManager module then writes these information on corresponding tables (Author info, versions, downloading snapshots, keywords etc).
  • After successfull submission, the module sends mail to extension moderators about new extension which is submitted by author.
  • Extension moderator uses admin section of site which assigns them one predefined category of extension and gives approval (admin can access unapproved extension detail pages but others can't).
  • After approval, the module sends mail to each author of submitted extension that the same has been approved by silverstripe.org and they can check their extension details page at "example.com/extension/show/extension-id".
  • After the approval, everyone can access the detail pages of submitted extension.
  • Normally, update script runs after every 24 hours but, if the author wants to update something immediately then, he can submit the url of their repository in same extension submission form and the module can detect that it's an update task rather than new submission. After the update, moderators will again notify about the update of extension but, the update is not necessarily needed to be approved by moderators.

B - How to Submit New Extension(Module/Widget/Theme) ?

      Follow these steps for submitting new module : 
  • Create new test Svn/Git/Hg repository containing one composer.json file (place it in root folder of your extension) with following mandatory information.

 {
    "name": "vendorName/extensionName",
    "type": "silverstripe-extensionType",
    "description": "Description about your extension",
    "keywords": ["keyword1", "keyword2", "keyword-N"],
    "license": "license name",
    "authors":[
        {
            "name": "Author1-Name",
            "homepage": "http://example.com",
            "email" : "author@example.com",                 
            "role" : "role of author1"
        }
    ],
    "require":
        {
            "php": ">=5.3.2",
            "silverstripe/framework": "3.*"
        },
    "extra":
        {
            "snapshot" : "http://example.com/example.jpg"
        }
}     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • For complete list of composer format,  please check Documentation and Format of Composer Schema. You can fill any information in your composer.json file according to format defined in these composer documentations.
  • After creating repository, submit "http" url of your repository at module/theme/widget submission page according to type of Extension (Login with Admin credentials).
  • For updating your module submit "http" url of your repository in same Extension submission module/theme/widget submission page.
  • Once submitted Extension is approved by moderators (see below for approving your module on this demo site) you will get notify on email address provided by you in authors-email field of composer.json file.

C - How to Approve new Extensions ?

  • Extension moderators will get notification about new submission. They will get link of edit page and detail page (unapproved) of submitted Extension in mail send by this module.
  • Login as admin.
  • Assign one of the category (created during site setup or admin can create new category) to submitted Extension.
  • Click on "Accepted" checkbox field.
  • If you are approving your own module on this demo site, check your email-box for notification of approval sent by this demo site.
  • Now, detailed pages of Extension is available to world, check listing on module/widget/theme search pages.


NOTE : If you have any question or problem with above steps please feel free to mail me or ping me on.

  • IRC NickName : openbees
  • Skype : viky2130