IMSLP:Changelog/IMSLP 1.0

Contents

Introduction

In this page I want to outline the main concerns that direct the (almost finished) development of IMSLP v1.0, and the subsequent roadmap post-resurrection. I welcome any and all comments, which you can e-mail or post on my talk page.

Main Concerns

FTE framework

The first main concern in the 1.0 upgrade is the development of the Fast Template Expansion (FTE) framework, which allows for 1) a greater control over the design of the entire page as opposed to only elements in the page (the entire page is one template), and 2) a greater possibility of collaborative site designing by allowing the template itself to be modifiable by certain people (people with 'sitedesign' privileges), without the horrible inefficiencies of traditional Mediawiki templates. In fact, FTE templates are as fast as native code-based templates, but yet are only slightly harder to use than normal Mediawiki templates.

IMDBP creation

The second main concern of the 1.0 upgrade is the creation of IMDBP, the International Music Database Project, which serves the same role as the "Wikicommons" project does in Wikipedia: to have collective information that can be used in several projects, including one project that is well in planning stage (but not announced publicly just yet), and possible other projects in the future. In addition, IMDBP will also allow for a much greater flexibility in the treatment of contentious issues, such as the placement of transcript scans, by removing the need to accommodate actual file entries in any of the info pages, meaning that multiple IMDBP info pages can point to the same IMSLP page and vice versa.

Technical details of this second concern are as follows: IMSLP will itself maintain a database, updated in real time by IMDBP, of the work page information that currently populates the "description" section of IMSLP work pages. This is such that IMSLP will function perfectly fine in the unlikely event that the IMDBP server is down for whatever reason.

CUSP framework

The third main concern of the 1.0 upgrade is the development of the Custom User Special Page (CUSP) framework, which provides the tools necessary for users to create their own special pages, with the aim of being able to replace all current special pages with user-designed special pages, the wiki software providing only the most basic building blocks (and I do mean basic) necessary for such to happen. This framework will then be expanded (after IMSLP resurrection) beyond the functions in current special pages, and be able to accommodate completely new special pages designed by users for users. The CUSP framework is essentially the FTE framework for special pages.

Centralized authentication system

The fourth main concern of the 1.0 upgrade is the development of a centralized authentication system. This has long been a very big concern of Wikipedia, due to its many sub-projects, and the fact that there may be impersonations across the various wikis (which there are). Unfortunately, this issue is very hard for Wikipedia to resolve due to the fact that there is no easy way to merge accounts with the same name across wikis (they could be owned by different people).

However, it is very possible for IMSLP right now to avoid this issue because IMSLP is currently only one wiki. And so I have implemented a cross-wiki registration system where registration on any single wiki in the system will automatically register the user across all wikis. The only personal information shared are: user name, real name as provided by the user, hash of the password (not the password itself, which is unrecoverable), e-mail address and language preference. No other information of any sort is shared, meaning that the user will have to adjust the settings on each wiki individually. At some point in the future it is very possible to migrate to a true centralized authentication system with shared user preferences, but that will involve a significant amount of coding.

Update: Leonard notified me that Wikipedia has very recently started the account merging process, and now support global logins (i.e. centralized authentication system). Unfortunately this feature is not present in the latest (1.12) stable Mediawiki release, and so I will temporarily use my makeshaft solution, which greatly eases account merging when we do upgrade to 1.13 which contains the global login function (among other things).

Implementation

FTE and IMDBP

The first two concerns are implemented by means of a re-processing of every work page on IMSLP, in addition to the normal software upgrades. An example of the new FTE pages for both IMSLP and IMDBP can be found here: IMSLP-12 Easy Pieces (Haydn, Joseph) and IMDBP-12 Easy Pieces (Haydn, Joseph). Only the work information will be moved to IMDBP; all other information will stay on IMSLP, and be under the "Comments" section if there is no file entry within the section.

Despite the remarkable difference in the wikitext of the new FTE pages compared to the older non-FTE pages, there is almost no difference in appearance, and the new page provides exactly as much information as the older page. Of course, the FTE pages are not rendering correctly yet because I have not upgraded the software.

CUSP and the centralized authentication system

The third and fourth concerns are currently implemented purely via software upgrades. CUSP is currently in alpha development, and most of the features planned are not yet implemented. However, a very rudimentary CUSP framework will be present at the resurrection of IMSLP, and play a fairly important role.