LinguaLibre

Difference between revisions of "Weekly updates"

(update)
Line 1: Line 1:
 +
== Week 6 ==
 +
* Develop another extension, ''Upload2Commons'', to add a new module to the API, which allow a user to upload a local file to a remote wiki through OAuth:
 +
** see module documentation: [[Special:ApiHelp/upload-to-commons]];
 +
** test it on the [[Special:ApiSandbox#action=upload-to-commons|ApiSandbox]];
 +
** source code available on it's [https://github.com/lingua-libre/Upload2Commons git repository].
 +
* add a feature in the oauthclient-php library: [https://phabricator.wikimedia.org/T186739 T186739]
 +
 +
== Week 5 ==
 +
* Many enhancements to LinguaRecorder:
 +
** Add new export methods (Wav-encoded blob, client-download, ''<audio>'' element,...);
 +
** Comment the code and document the whole library;
 +
** Create a sandbox to easily demonstrate all the features;
 +
** Test and add support to old browsers (Firefox 25+, Chrome 22+,... see the complete list [https://github.com/lingua-libre/LinguaRecorder#browser-compatibility here]).
 +
* Present LinguaLibre during the monthly [[:meta:Wikimedia Foundation metrics and activities meetings/2018-01|Wikimedia Foundation metrics and activities meetings]]
 +
 +
== Week 4 ==
 +
* Create a npm package for LinguaRecorder: https://www.npmjs.com/package/lingua-recorder
 +
* Add debugging tools to Mediawiki.
 +
* Add [[:mw:Extension:TimedMedia|TimedMedia]] ans [[:mw:MediaWiki Language Extension Bundle|translation-related]] extensions.
 +
* Manage permissions: allow only the users with the ''upload'' right to use the RecordWizard.
 +
* Setup a basic recording studio.
 +
 
== Week 3 ==
 
== Week 3 ==
 
* Setup the server with a fresh primary MediaWiki installation to use as a development environment, accessible at https://v2.lingualibre.fr.
 
* Setup the server with a fresh primary MediaWiki installation to use as a development environment, accessible at https://v2.lingualibre.fr.

Revision as of 21:06, 12 February 2018

Week 6

  • Develop another extension, Upload2Commons, to add a new module to the API, which allow a user to upload a local file to a remote wiki through OAuth:
  • add a feature in the oauthclient-php library: T186739

Week 5

  • Many enhancements to LinguaRecorder:
    • Add new export methods (Wav-encoded blob, client-download, <audio> element,...);
    • Comment the code and document the whole library;
    • Create a sandbox to easily demonstrate all the features;
    • Test and add support to old browsers (Firefox 25+, Chrome 22+,... see the complete list here).
  • Present LinguaLibre during the monthly Wikimedia Foundation metrics and activities meetings

Week 4

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:
LocalSettings.php configuration
# 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:
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.