LinguaLibre
Difference between revisions of "Weekly updates"
(Week 7 and start of week 8) |
(→Week 8) |
||
Line 1: | Line 1: | ||
== Week 8 == | == Week 8 == | ||
* Implement a controller and a ui to the studio step; | * Implement a controller and a ui to the studio step; | ||
− | * . | + | * Plug the UploadManager class and the new Upload2Commons extension to the studio; |
+ | * Improve the UX in particular through a better step managment; | ||
+ | * Add a full warning and error handling; | ||
+ | * See the [https://github.com/lingua-libre/RecordWizard/commits/496f200792f72e5e0293547278df907ef0f96817 last 24 commits] on the RecordWizard repository. | ||
== Week 7 == | == Week 7 == |
Revision as of 21:57, 25 February 2018
Week 8
- Implement a controller and a ui to the studio step;
- Plug the UploadManager class and the new Upload2Commons extension to the studio;
- Improve the UX in particular through a better step managment;
- Add a full warning and error handling;
- See the last 24 commits on the RecordWizard repository.
Week 7
- Start to develop the core of the RecordWizard:
- Create an UploadManager;
- Setup a step controller and a step ui parent class (inspired from what the UploadWizard does);
- Initialize 6 empty steps: tutorial, details, license, studio, confirm, thanks.
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:
- source code available on it's git repository;
- test it on the ApiSandbox;
- all remote uploads leave an entry in a dedicated log: Special:Log/remoteupload;
- see module documentation:
Doc from Special:ApiHelp/upload-to-commons |
---|
action=upload-to-commons(main | upload-to-commons)
Upload a local wiki file to a remote wiki using OAuth. The file must already be uploaded on the local wiki. Several methods are available:
Note that the filename, comment, tags, text and ignorewarnings parameters are the same than in action=upload. Parameters:
|
- 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
- Create a npm package for LinguaRecorder: https://www.npmjs.com/package/lingua-recorder
- Add debugging tools to Mediawiki.
- Add TimedMedia ans translation-related extensions.
- Manage permissions: allow only the users with the upload right to use the RecordWizard.
- Setup a basic recording studio.
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.