History:Migration Guideline: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(intertwingle (Imported from MoinMoin))
mNo edit summary
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
''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.''
=MusicBrainz Migration Guidelines=


Changes can be divided into two categories: [[Soft Structure|SoftStructure]] changes and [[Hard Structure|HardStructure]] changes.
''The [[MusicBrainz]] Migration Guidelines describe the process that is required for a change to get implemented on the server. These are currently (2005-12) under development and not compulsory yet''


;Hard Structure Changes
Changes can be devided into two categories: [[Soft Structure|SoftStructure]] changes and [[Hard Structure|HardStructure]] changes. <dl><dt>Hard Structure 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.
<dd>


;Soft Structure Changes
Means actual changes to the [[Database Schema|DatabaseSchema]]. This does 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]].
: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.
<dt>Soft Structure Changes
<dd>


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.
Mean 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 fail working, just because of such a [[Soft Structure|SoftStructure]] change.
* 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.
</dl>
* 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.
Both kinds of change need to be tested extensively before becoming live/official. The difficulty with [[Soft Structure|SoftStructure]] changes, is that the consequences might lie far away (e.g. in the way the [[MusicBrainz Tagger|MusicBrainzTagger]] works) and are difficult to anticipate, let even to imagine.
* 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''").
* 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 dammage.
<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]]
</ul>
* [[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 thigs 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|TwoWeekMigrationPeriod]] 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").