History:Migration Guideline: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
m (4 revision(s))
mNo edit summary
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=MusicBrainz Migration Guidelines=

''The [[MusicBrainz]] migration guideline describes the process that is required for a change to get implemented on the server. This are currently (2005-12) under development and not compulsory yet.''
''The [[MusicBrainz]] migration guideline describes the process that is required for a change to get implemented on the server. This are currently (2005-12) under development and not compulsory yet.''


Changes can be divided into two categories: [[Soft Structure|SoftStructure]] changes and [[Hard Structure|HardStructure]] changes. <dl><dt>Hard Structure Changes
Changes can be divided into two categories: [[Soft Structure|SoftStructure]] changes and [[Hard Structure|HardStructure]] changes.
<dd>


;Hard Structure Changes
This means actual changes to the [[Database Schema|DatabaseSchema]]. Those do not need to be big. Changes in [[Advanced Relationship Type|AdvancedRelationshipType]]<code><nowiki></nowiki></code>s and [[Advanced Relationship Attribute|AdvancedRelationshipAttribute]]<code><nowiki></nowiki></code>s are already [[Hard Structure|HardStructure]] changes.
:This means actual changes to the [[Database Schema|DatabaseSchema]]. Those do not need to be big. Changes in [[:Category:Relationship Type|Advanced Relationship Type]]s and [[Advanced Relationship Attribute|AdvancedRelationshipAttribute]]s are already [[Hard Structure|HardStructure]] changes.
<dt>Soft Structure Changes
<dd>


;Soft Structure Changes
This means changes in the ''way'' data is stored in the database. A [[Style Change|StyleChange]] like the [[Featuring Artist Style Alternative|FeaturingArtistStyleAlternative]] can have ''massive'' impacts on the structure of the data. If a client expects the old structure, it could cease working, just because of such a [[Soft Structure|SoftStructure]] change.
:This means changes in the ''way'' data is stored in the database. A style change like the [[Featuring Artist Style Alternative|FeaturingArtistStyleAlternative]] can have ''massive'' impacts on the structure of the data. If a client expects the old structure, it could cease working, just because of such a [[Soft Structure|SoftStructure]] change.
</dl>


Both kinds of change need to be tested extensively before becoming live/official. The difficulty with [[Soft Structure|SoftStructure]] changes is, that the impact might not be readily apparent (e.g. in the way the [[MusicBrainz Tagger|MusicBrainzTagger]] works) which can be difficult to anticipate, yet less imagine.
Both kinds of change need to be tested extensively before becoming live/official. The difficulty with [[Soft Structure|SoftStructure]] changes is, that the impact might not be readily apparent (e.g. in the way the [[MusicBrainz Tagger|MusicBrainzTagger]] works) which can be difficult to anticipate, yet less imagine.
* Big [[Soft Structure|SoftStructure]] changes require [[Beta Editing|BetaEditing]]. This means that people apply a new [[Style Guideline|StyleGuideline]] to data on the [[Test Server|TestServer]], and try to use it. People should try to do controversial changes. This way we can find out about implications of the change before it goes live and does a lot of damage.
* Big [[Soft Structure|SoftStructure]] changes require [[Beta Editing|BetaEditing]]. This means that people apply a new [[Style Guideline|StyleGuideline]] to data on the [[Test Server|TestServer]], and try to use it. People should try to do controversial changes. This way we can find out about implications of the change before it goes live and does a lot of damage.
<ul><li style="list-style-type:none">There are special guidelines for [[Style Change|StyleChange]]<code><nowiki></nowiki></code>s: the [[Checklist For Style Changes|ChecklistForStyleChanges]].
* There are special guidelines for style changes: the [[Checklist For Style Changes|ChecklistForStyleChanges]].
* [[Hard Structure|HardStructure]] changes require beta testing. This means that the new sever software and database schema are loaded on the [[Test Server|TestServer]] and people try to find out whether things work or if there are bugs left. Depending on the specific change, [[Beta Editing|BetaEditing]] might be required, too.
</ul>
* Finally the [[Meta Brainz Customer|MetaBrainzCustomer]]s need a two week migration period for all [[Hard Structure|HardStructure]] changes (actually this might exclude pure ''additions'', so this might be rephrased to "for all Schema ''changes''").
* [[Hard Structure|HardStructure]] changes require [[Beta Testing|BetaTesting]]. This means that the new sever software and database schema are loaded on the [[Test Server|TestServer]] and people try to find out whether things work or if there are bugs left. Depending on the specific change, [[Beta Editing|BetaEditing]] might be required, too.
* Finally the [[Meta Brainz Customer|MetaBrainzCustomer]]<code><nowiki></nowiki></code>s need a two week migration period for all [[Hard Structure|HardStructure]] changes (actually this might exclude pure ''additions'', so this might be rephrased to "for all Schema ''changes''").

[[Category:To Be Reviewed]]

Latest revision as of 16:18, 25 October 2011

The MusicBrainz migration guideline describes the process that is required for a change to get implemented on the server. This are currently (2005-12) under development and not compulsory yet.

Changes can be divided into two categories: SoftStructure changes and HardStructure changes.

Hard Structure Changes
This means actual changes to the DatabaseSchema. Those do not need to be big. Changes in Advanced Relationship Types and AdvancedRelationshipAttributes are already HardStructure changes.
Soft Structure Changes
This means changes in the way data is stored in the database. A style change like the FeaturingArtistStyleAlternative can have massive impacts on the structure of the data. If a client expects the old structure, it could cease working, just because of such a SoftStructure change.

Both kinds of change need to be tested extensively before becoming live/official. The difficulty with SoftStructure changes is, that the impact might not be readily apparent (e.g. in the way the MusicBrainzTagger works) which can be difficult to anticipate, yet less imagine.

  • Big SoftStructure changes require BetaEditing. This means that people apply a new StyleGuideline to data on the TestServer, and try to use it. People should try to do controversial changes. This way we can find out about implications of the change before it goes live and does a lot of damage.
  • There are special guidelines for style changes: the ChecklistForStyleChanges.
  • HardStructure changes require beta testing. This means that the new sever software and database schema are loaded on the TestServer and people try to find out whether things work or if there are bugs left. Depending on the specific change, BetaEditing might be required, too.
  • Finally the MetaBrainzCustomers need a two week migration period for all HardStructure changes (actually this might exclude pure additions, so this might be rephrased to "for all Schema changes").