LinguaLibre

Weekly updates

Revision as of 20:45, 19 January 2018 by 0x010C (talk | contribs) (→‎Week 3)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Week 3

  • Setup the server with a fresh primary MediaWiki installation to use as a development environment, accessible at https://v2.lingualibre.fr.
  • Install the OAuthAuthentication extension to delegate the login to an other wiki. Here are the settings currently in use inside the LocalSettings.php file:
    # Remove the default TemporaryPassword and LocalPassword authentication provider
    # to let OAuth as the only authentication provider usable.
    $wgAuthManagerAutoConfig['primaryauth'] = [];
    
    # Activate the OAuthAuthentication extension
    wfLoadExtension( 'OAuthAuthentication' );
    
    $wgOAuthAuthenticationUrl = 'https://oauth.0x010c.fr/index.php?title=Special:OAuth';
    $wgOAuthAuthenticationConsumerKey = '<consumer_key>';
    $wgOAuthAuthenticationConsumerSecret = '<consumer_secret>';
    $wgOAuthAuthenticationCanonicalUrl = 'https://oauth.0x010c.fr';
    $wgOAuthAuthenticationRemoteName = 'OauthWiki';
    $wgOAuthAuthenticationAllowLocalUsers = false;
    $wgOAuthAuthenticationReplaceLoginLink = true;
    
  • Setup a secondary MediaWiki installation to be used by the first one as a remote authentication provider (to replace Wikimedia Commons during the development phase), accessible at https://oauth.0x010c.fr.
  • Install the Wikibase extension. Here is it's LocalSettings.php configuration:
    # Activate the Wikibase Repository extension
    $wgEnableWikibaseRepo = true;
    $wgEnableWikibaseClient = false;
    require_once "$IP/extensions/Wikibase/repo/Wikibase.php";
    require_once "$IP/extensions/Wikibase/repo/ExampleSettings.php";
    
    # Create a new namespace to host properties
    define( 'WB_NS_PROPERTY', 102 );
    define( 'WB_NS_PROPERTY_TALK', 103 );
    
    $wgExtraNamespaces[WB_NS_PROPERTY] = 'Property';
    $wgExtraNamespaces[WB_NS_PROPERTY_TALK] = 'Property_talk';
    
    # Store the items in the main namespace, the properties in their newly created one
    $wgWBRepoSettings['entityNamespaces']['item'] = NS_MAIN;
    $wgWBRepoSettings['entityNamespaces']['property'] = WB_NS_PROPERTY;
    
    # We don't need sitelinks
    $wgWBRepoSettings['siteLinkGroups'] = array();
    
    # see https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/docs/options.wiki
    $wgWBRepoSettings['formatterUrlProperty'] = 'P20';
    
  • Draft the datastructure and create the first property/items needed.
  • Install the timeless skin.
  • First commit to initialize the new RecordWizard extension.
  • Split the recording studio out of the LinguaLibre repository, to it's own new repo, LinguaRecorder.