Lyrics versions

A few words about lyrics searching

        There's title-hashes based solution is realised in the LyricsDB. That means that lyrics are searching basing on some kind of hash, made of the title, instead of exact title matching search. Mainly, hash is the downcased title without non-alphanumeric symbols. For example titles "song 'bout _LIFE_" and "song `bout life" will have same hash ("songboutlife"), and in 99 cases out of 100 it is really helpful. In addition parts of the titles included in braces are removed from the hash, so "hell of a hill" and "hell of a hill (live)" or "hell of a hill (bonus track)" will have same hash, wich may be a bit incorrect but very helpful in many cases too.

Lyrics posting

        Other variant of appearing several versions of the lyrics for the same song it is posting by the foo_lyricsdb plugin. If some user gets lyrics, fixes it, and posts back - there new version of the same lyrics appears. Both versions are saved in the database to protect it from spoiling.

Versions

        So, because of mentioned reasons some lyrics requests can match several lyrics. It could be very similar versions of the same lyrics or original lyrics and corrected version. The foo_lyricsdb plugin has an ability to get four strings of every lyrics version and then request exact lyrics version. By making that some kind of voiting engine is working, because lyrics downloads are counting to lighten administrators life. This feature is disabled for versions under 0.0.4w, and 0.0.4w is not reliased yet

Lyrics management: stuff for the staff

        Lyrics are managed by registred users by means of the web-interface.

Complaints

        Users of 1-3 levels have an access to the complaints page, where they can check complained lyrics, fix 'em, report a bug to the developer or just remove complaint-mark from the lyrics.

Versions

        Users of 1-3 levels have access to the versions page, where they can check all variants of lyrics and solve conflicts by choosing one of three options:
        - delete versions: that's pretty clean, if lyrics just repeat each other and have insignificant differences;
        - leave versions: if lyrics really differ and each version could be demanded by other users; after applying this flag, lyrics dissapears from versions list and will be offered to users.
        - freeze lyrics: if you just really don't know what to do with lyrics, but something must be done; after freezing lyrics dissapears from versions list, and could not be received by the plugin;
        This list is used by users with levels 1-3 to clean the database and it must be kept as clean as possible.