This page has not been reviewed by our documentation team (more info).

Products > Server > ServerDevelopment > ServerCodebase

MusicBrainz Server Codebase

This document aims to give a brief overview how the mb_server codebase is structured. You can [WWW] browse the codebase directly using the Subversion browser.

  • [WWW] admin
    Various scripts relating to such tasks as database import and export, regular database maintenance, and so on.

    • [WWW] ar
      ???

    • [WWW] aws
      ???

    • [WWW] cleanup
      Ad-hoc scripts for cleaning, tidying and fixing the database.

    • [WWW] cron
      Scripts to be run via cron.

    • [WWW] jsdeploy
      ???

    • [WWW] replication
      ???

    • [WWW] reports
      The editing suggestion reports.

    • [WWW] sql
      SQL scripts used to create a new MusicBrainz database (and destroy it again).

      • [WWW] updates
        SQL scripts (and a few programs to run from the shell) for upgrading between specific releases. These are only necessary if you have got a database at one release and you want to upgrade it to the next release.

    • [WWW] statistics
      Used to produce the statistics page.

  • [WWW] bin
    ???

  • [WWW] cgi-bin
    Perl modules (".pm" files) which implement most of the server's functionality. Also some ".pl" scripts which are the interface to the web services.

  • [WWW] htdocs
    The web "document root". New pages should go in subdirectories; however many miscellaneous older pages are placed directly in this one.

    • [WWW] bare
      ???

    • [WWW] cdi
      ("cdi" stands for "CDIndex", MusicBrainz' previous incarnation). Pages relating to the adding of new releases.

    • [WWW] comp
      Many miscellaneous Mason components which are called from other pages. The web server refuses direct requests for these files. New components should be implemented as ".inc" files elsewhere, in a nice structured way if you can think of one (the web server also refuses direct requests for any ".inc" files).

    • [WWW] css
      Style sheets

    • [WWW] dev
      ???

    • [WWW] docs
      Generated documentation (e.g. APIs). All other documentations should be added to the wiki and, if needed, transcluded using WikiDocs for showing on the main server.

    • [WWW] edit
      All the editing functionality (e.g. edit artist, edit release name, edit track, move disc ID etc.), grouped by entity types.

    • [WWW] freedb
      Pages relating to manually importing from FreeDB.

    • [WWW] generated
      Generated content, such as the graphs on the stats page.

    • [WWW] google
      ???

    • [WWW] images
      Static images, grouped by functionality.

    • [WWW] misc
      ???

    • [WWW] MM
      ???

    • [WWW] mod
      Functionality (mostly voting-related) of the editing sub-system.

    • [WWW] news
      News articles and server change logs.

    • [WWW] products
      Download and information pages for the main parts of MusicBrainz: the client and the server. Logically the tagger belongs here too, but actually it's got its own section (htdocs/tagger). Superseded by the WikiDocs page Products

    • [WWW] reports
      The editing suggestion reports. The "source" of the reports is in admin/reports, the generated reports are in htdocs/reports/generated. This directory itself only contains a few shared files.

      • [WWW] generated
        Pages and data generated by the scripts at admin/reports.

    • [WWW] scripts
      Compressed Javascript edit suite, other JS utilities.

      • [WWW] MochiKit
        [WWW] MochiKit - a Javascript library

      • [WWW] src
        Uncompressed Javascript source code (edit suite, guess case, ...).

    • [WWW] search
      ???

      • [WWW] plugins
        Firefox search engine plugins.

    • [WWW] show
      View information about the entities (e.g. Artists, Releases, Tracks etc.)

    • [WWW] store
      ???

    • [WWW] tagger
      Things relating to the Tagger - downloads, help, FAQs, etc.

    • [WWW] user
      Things relating to MusicBrainz users - view user information, edit it, change your password and so on.


CategoryServer CategoryDevelopment

 
Creative Commons EFF GPL LGPL This material is Open Knowledge Valid XHTML 1.1 Valid CSS 2.0
Original Design|vacubomb.com Contact details Server version: RELEASE-20071014