Universal Language Selector/Design/Interlanguage links/Compact interlanguage links as a beta feature/Project progress report

From mediawiki.org

Things to do[edit]

  • Use jQuery instead of JavaScript
  • Access mw.uls functions in ext.uls.compactlinks
  • Position ULS correctly
  • Configure ULS to show only the languages supported by the article
  • Fetch the links to the interlanguage wiki and feed them to the addLanguage function.
  • Fetch the Common Languages in an array
  • Display Common Languages using Autonym
  • Remove i18n for 'More Languages' ULS trigger( Link 1 and Link 2 ) Not needed anymore, using icon instead of text
  • Clicking link in ULS should take to required destination
  • If number of languages too short, display all, remove ULS
  • If number of common languages too short, display some randomly(to be made more intelligent later)
  • Change ULS trigger to a box with ellipsis
  • Add label stating number of more languages beneath the trigger
  • Make ULS compact
  • Add triangle to ULS to connect it to trigger
  • Internationalize 'more languages' in label
  • Do not affect the Personal bar instance of the ULS
  • Add as a Beta Feature
  • Rectify ULS menu positioning, relative to the trigger
  • Check if ULS is in Interlanguage position and load the BF files only then
  • Add a global to turn on/off the feature in the wiki
  • Load the languages in the exact position where the previous languages were to avoid links like "Complete List" and "Edit Links" from coming above the language list

For a more updated list, you could check [[1]]

Progress Report[edit]

December 2013[edit]

Week 1: 10th December to 16th December[edit]
  1. Added ULS link in sidebar.
  2. Randomly hid a few languages in the sidebar.
  3. Moved the code to a new file, ext.uls.compactlinks.js.
Week 2: 17th December to 23rd December[edit]
  1. Setup Gerrit for review, fixed some errors, and basically learnt the workflow on Gerrit.
  2. Installed JSHint
Week 3: 24th December to 30th December[edit]
  1. Fixed Line-ending errors in ext.uls.compactlinks
  2. Submitted 2 patches: Link 1 and Link 2
  3. Registered ext.uls.compactlinks as a Resource Loader module.

January 2014[edit]

Week 4: 31st December to 6th January[edit]

Had a Hangout with Santhosh Thottingal and Amir Aharoni.

  1. Fixed code indentation, whitespaces etc. Switched most of the code to jQuery instead of JavaScript.
  2. The code now hides all language links being shown by default and displays them from the displayLanguages function in ext.uls.compactlinks.(Next up, I'll configure it to display the languages I need.)
  3. Fixed the issue with ULS not appearing. --Added it as a dependency on the ext.uls.init file.(Could achieve the same effect by adding it in the addModules function in Hooks.)
  4. Configured ULS to show only those languages which are supported by the article.
  5. Link to patch: https://gerrit.wikimedia.org/r/#/c/104793
Week 5: 7th January to 13th January[edit]
  1. Fixed the Common Languages section of the ULS to display only those languages which the article supports
  2. Displaying only those languages in the Sidebar which the appear in the Common Languages section of the ULS, for now: These are a compilation of : user's current selected language, browser language, previous choices, the wiki's content language and the languages taken from the countryCode.
  3. Submitted Patchset 8 & 9
Week 6: 14th January to 20th January[edit]
  1. Submitted patches 10, 11, 12, 13, 14 & 15
  2. Had a discussion with Pau. We are maintaining the reviews here. I will spend the next week on fixing the things he mentioned.
Week 7: 21st January to 27th January[edit]
  1. Changed trigger to a button
  2. Fixed ULS positioning
  3. Added label for number of languages
  4. Made language links in the ULS redirect user to correct destination
  5. Submitted patch set 16 through 19. (17 and 18 failed due to EOL errors, so that's really just two patchsets.)

February 2014[edit]

Week 8: 28th January to 3rd February[edit]
  1. Did a complicated rebase.
  2. Made the Personal bar instance of ULS and sidebar instance independent of each other
  3. Sorted the languages and configured them such as to show 3 or more in the collapsed list atleast.
  4. Addressed comments on patch. Patch count up to 28 now.
Week 9: 4th February to 10th February[edit]
  1. This week was spent trying to upload my feature as a Beta Feature on my local wiki-
    • Installed BetaFeatures extension and configured it
    • Added the required code, but facing errors with it. It is broken on my system, will continue fixing it next week.
Week 10: 11th February to 17th February[edit]
  1. Added my project files as a Beta Feature
  2. Did another rebase and solved problems on local wiki
  3. Uploaded patch sets 34 through 36

Note: Project at nearly-completed stage. Work remaining only on trivial enhancements and proper ULS positioning

Week 11: 18th February to 24th February[edit]
  1. Added the triangle pointer to the uls-menu to connect it to the ULS
  2. Resolved issues pointed out by Pau
Week 12: 25th February to 3rd March[edit]
  1. Resolved more issues pointed out on the patch by reviewers
  2. Compressed the svg and png images
  3. Fixed the ULS positioning
  4. Working on swapping the Beta Feature image for RTL & LTR languages--but turns out it's a bug


Keeping this only for future reference.

  1. Introducing the interlanguages links in sidebar
  2. Launching ULS
  3. Geo service not working, getCountryCode() returns undefined.----only my system, no idea why. :(
  4. Making changes in the ULS for sidebar reflects the changes in the ULS from Personal bar--is that okay? No, not okay.
  5. What about pages with interlanguage links as a box somewhere and not in sidebar, such as https://www.mediawiki.org/wiki/MediaWiki
  6. BetaFeatures broken on my installation only :\