Jump to content

WikiProjectMed:Ibrahem Al-Radaei/Reports

From WikiProjectMed

Back

These are the monthly reports of work completed by Ibrahem Al-Radaei. (phabricator)

Paid 2024 Jan, Feb, Mar, Apr, May, June

January

  • Translation Dashboard:
    • New button items added to the leaderboard for additional functionality such as getting texts like:
      • #{{#target:User:Drgulcu|tr.wikipedia.org}}
    • Introduced the ability to edit and add new QIDs (Wikidata IDs) within the web application.
  • NcCommons:
    • https://radiopaedia.org/
      • Wrote code to collect all information about images that had already been uploaded before, as well as for those we planned to upload.
      • Collected case information such as authors and studies.
      • Created a category for each case and an image set for each study.
      • Enhanced image upload support to handle BMP images:
        • Some images were not uploaded because they were with the bmp extension, which is not supported, so I wrote a small code to convert the image to the jpg extension, and the bot now resumes work on the missing one.
      • All images: https://nccommons.org/wiki/Category:Uploads_by_Mr._Ibrahem
      • All sets: https://nccommons.org/wiki/Category:Radiopaedia_sets
      • First phase:
        • Cases to work: 2452, Total uploads : ~392k
        • Fix an issue of images links in 160 sets appears at "Category:Pages with broken file links"
        • Merge ~ 100 duplicate categories example. (update texts, move files, delete old categories.)
      • Second phase:
        • Rewriting some parts of the code, to avoid uploading duplicate images and duplicate categories.
          • Enhanced script capabilities for categorizing Radiopaedia cases and updating system information.
          • Fixed issues related to file path updates and method calls.
          • Adjusted image upload methods to handle URLs and count more efficiently.
        • Cases to work: 45,236 cases
  • ToolForge python files:
    • A temporary solution for problem The object has died (overwritten or deleted) and cannot be mutated. 5j9/wikitextparser#127
    • Implemented new SQL functions for database interactions, including query execution and result formatting.
    • Developed a Python module for Wikimedia database queries.

February

  • Translation Dashboard:
    • New functionalities for editing, managing, and processing translation types have been implemented, streamlining the interaction with and modification of translation type data through a user-friendly web interface. due to the problem of not saving modifications when sending them in the old way, which includes about 2,900 addresses and 3 entries for each address, which causes the transmission to be aborted. #26
    • same thing for Emails tab.
    • Translate Type:
      • Changed default cat parameter to 'All' and updated lengthMenu values in DataTable to [250, 500].
    • Fixed a bug where 2024 views were not counted in the leaderboard.
    • A new Coordinator Tool to modify information of translated articles, such as the title, when the page is moved to another title. #30
    • A new Coordinator Tool has been added to handle articles published on user pages. #35
    • Fix an error that occurs while processing references in the article "Borderline personality disorder" reported by user "Aliya Furrukh". #36
    • Generate articles list after login automatically, without having to hit "do it".
  • NcCommons:
    • https://radiopaedia.org/
      • Introduced new functionalities for efficient handling of files, categories, and sets in the mass editing process. #44
  • ToolForge python files:
    • Developed a Python module for Wikimedia API works for mdwiki.org and nccommons.org and any wikimedia framework site. code
    • Introduced a new script for post-translation processes, enhancing the integration with external databases and wikis. Such as fixing references, adding translated articles to the database.
    • Python code to check moved or deleted translated articles, get the new title and add it to the database. #36
    • Python code to search for pages that are published on users pages. #43
    • New functionality for fixing redirects and updating QIDs. #56

March

  • Translation Dashboard:
    • Improved data handling by removing duplicates from title and missing item lists. (#42)
    • Enhanced file handling by introducing a new function for reading and decoding JSON files. (#44)
    • Added year and language filters to the leaderboard pages, allowing users to refine their search results. (#47)
  • ToolForge Python Files:
    • Radiopaedia:
      • Introduced improved error handling for image saving with automatic renaming on failure. (#59)
      • Introduced a new analysis tool for processing and analyzing radiology cases and studies, including generating summary reports and updating a wiki page (User:Mr. Ibrahem/Radiopaedia) with the results. (#60)
      • Enhanced data handling to automatically add missing information and track additions. (#64)
      • Introduced a feature to retrieve detailed user information, including location and profile URL, through web scraping, and implemented a new bot functionality to update and generate author lists, enhancing the management of author data. (#65)
      • Implemented a script to save and display author information on a wiki page (User:Mr. Ibrahem/Radiopaedia authors). (#70)
      • Added a script for managing Radiopaedia case and author categories. (#78)
      • Enhanced the handling of author information across various parts of the application. Key improvements include loading author details from a JSON file, incorporating author URLs and locations into displayed categories, and filtering for authors with significant contributions. There's also a tweak in how category links are generated, alongside better presentation of author info in image texts. (#82)
      • Added a script for retrieving and processing wanted categories and unused categories from an API related to Radiopaedia cases. (#90)
      • Fixed an issue with incorrect file extensions during uploads, improving the upload success rate. (#93)
      • Introduced a script to process and sort author information by location and associated cases in the United States. (#97)
      • Fixed an issue with the handling of PD medical pages, ensuring accurate data fetching and storage. (#107)
      • Added a script to automatically add a PD-medical template to images in American authors' categories, and to add "Template:PD-medical" to images uploaded by Fæ. (#110)
    • NC Commons Import Bot:
      • Introduced a script to import images from nccommons.org to Wikipedia sites by parsing and extracting the filename from Template:NC and replacing the template text with wiki text to display the file on different pages. (#101)
      • Enhanced file import functionality to support the new API for uploading files from NC Commons to Wikipedia. (#102)
      • Streamlined the file upload process with better error handling, allowing fallback to alternative upload methods if "upload by URL" returns errors. (#105)
      • Added "Category:Files imported from NC Commons" to files, and "Category:Contains images from NC Commons" to the pages.

April

  • Translation Dashboard:
    • Implemented functionality to mark deleted pages, enhancing data clarity and management. #51
    • Added a direct link to editors' talk pages on the target wiki within the recent changes page, facilitating communication and collaboration. #53
    • Developed a feature to mark translations as deleted in the Translation Dashboard database, streamlining content management processes. #126
  • NcCommons:
    • Introduced a script to identify missing files in NcCommons and import them from Wikimedia Commons, enhancing the availability of resources. #124
    • Created a tool to clean translation markup in NcCommons, improving content quality and readability. here.
  • Crop Tool:
    • Developed a New MultiCrop tool with enhanced features and error handling capabilities, including functions for efficient image selection, upload management, and error resolution. #20
      • Introduced functions for creating error forms, displaying card information, and managing image selection and uploading.
      • Implemented features for handling image file information retrieval, error handling, and display manipulation on web pages.
      • Introduced functions for uploading images, counting uploads, moving tabs, and managing bulk uploads efficiently.
      • Refined request parameter handling and JSON data processing to prevent errors.
      • Updated styling for icon lists and introduced color modes for better user interface customization.
      • Updated service configurations for backend and web server improvements.
      • Writing code to reprocess images that contain errors.
    • Improved error handling in file processing and information retrieval functions, ensuring robust performance. #22
  • ToolForge Python Files:
    • Uploading tasks
      • Implemented a method to modify SVG files by removing DTD tags to avoid upload error (Cannot upload SVG files that contain a non-standard DTD declaration).
      • New Python scripts primarily focused on processing and managing data related to radiology studies and images. #127
      • Python code to fix the arrangement of images on study pages. The code includes various functions for collecting data such as file names, image links, and category members. #128
      • Added functions for updating and inserting user data into pages_users table, Introduced new functionalities for processing and filtering page titles. #131
  • NC Commons Import Bot:
    • Implemented a script to retrieve a list of languages from the import bot configuration page, improving automation capabilities. (#117)
    • Enhanced data tracking by storing imported file names in a dedicated database, facilitating dashboard management. #119
    • Established a leaderboard for tracking contributions, promoting transparency and recognition at: https://mdwiki.toolforge.org/ncc2. #80

May

  • Translation Dashboard:
    • Added support for dual categories ("Category1" and "Category2") in Campaigns management. #56
    • Improved input field styling with form-control class across various admin pages.
    • Enhanced DataTable initialization and sorting in tools pages.
    • Updated form handling and campaign selection logic for better user experience.
    • Adjusted SQL queries and variable names for consistency and accuracy.
  • NcCommons:
  • Mass imports:
  • Crop Tool:
    • Improvements to the user interface in tools: CropTool, Multi CropTool, Mass Upload. #24
    • Build Front-end a tool to import images from NCCommons to Commons. #25
  • NCC2Commons:
    • Enhance the integration and functionality of OAuth authentication across various PHP scripts, improve error handling, and refine the user interface. #26
    • Move NCC2Commons tool to New tool. #1
    • Enhanced file upload functionality with improved error and success handling. #2
  • ToolForge python files:
    • EyeRounds:
      • introduce new functionalities in the "eyerounds" project. Key updates include data processing, and image handling, and enhancing existing scripts with additional functions for extracting and processing information.#136
      • Introduced functionality for scraping and processing USAID images from Flickr.#138

June

  • Translation Dashboard
    • References no longer expanded. example.
    • An option has been added to the Settings page to control the “Expand references in ENWIKI” feature.
    • Interwiki links removed from the text. example.
    • Remove Files that do not exist on Commons. example.
  • Mdwiki.org
    • Write Lua code to display Wikipedia links in mdwiki based on wikidata. Module:Sitelinks
  • NcCommons
    • The wrong order of images in sets has been fixed. Category:Sort Studies Fixed.
    • Create a category to classify studies by number of images. Category:Radiopaedia Sets by Number of Images.
    • Delete duplicate study pages #149.
    • Working files related to NcCommons have been moved from the mdwiki tool to a new tool to relieve pressure on the compiler tool. You can find the code here.
    • Radiopaedia:
      • Functionality has been added to process and store study-related data dynamically. #142
      • Command execution and file handling have been improved for more efficient data processing. #143
      • Significant updates have been made to several project files to enhance data handling capabilities, including new and modified functions for processing JSON files, handling databases, updating URLs, and fixing data inconsistencies. #145
      • File processing and data extraction functions have been added for Radiopaedia cases, and these are stored in an SQLite database. #146
      • New functions for filtering study IDs, updating webpage text, and processing study files have been introduced. #147
      • New utility functions have been added to manage database interactions, refine image info caching, update file handling logic, and introduce additional functionality for managing text categories. #148

July

  • Mdwiki.toolforge.org:
    • All WikiProjectMed Tools require login. #87
    • FixwikiRefs tool will use OAuth to publish edits. #73
  • Translation Dashboard:
    • Some fixes to make the tool work after it stops. #156 #59
    • Use User-Agent in php files #63
    • Improved the script used to copy articles from mdwiki to enwiki by adding code to remove references recognized by AbuseLog, and adding WikiParse script. #65
    • Introduced comprehensive namespace declarations across multiple files to improve code organization and modularity. #66 #67
    • Cache login and edit tokens between requests, up to the lifetime of the token. as requested by Ryan Schmidt. #68 #69
  • NcCommons :
  • Mdwiki.org:
  • ToolForge python files:
    • Improve Med updater and Fix references tools. #159
    • Use User-Agent in python files. #160
    • Copy All articles to enwiki. #161
    • Improved error handling in various API interactions to enhance robustness. #164
  • Radiopedia:
    • New utilities for file and image processing. #11
    • Improved code to fix remaining pages #15 #16
    • script to find duplicate studies pages. #18

August

  • Translation Dashboard:
    • New Coordinator Tool "Qids Others" to control Qids not in TD Qids. #74
    • Introduced functions for securely managing user access keys with encryption and database interactions. Implemented a system for publishing Wikipedia articles through OAuth authentication. #78
    • New option in Setting to use “Medwiki.toolforge.org” to translate. #80
  • MdWikiCX
    • Added support for the "mdwiki" language in the Content Translation extension.
    • Introduced new methods for fetching content specific to "mdwiki."
    • Fix an error appears when publishing or saving the translation. #2 , #3
    • Fixed an issue where Infoboxes (like Drugbox) were displayed as a table instead of a template. #5
    • Activate Google Translate by getting user's cxtoken using OAuth.
    • To avoid red links appearing the links will be changed from mdwiki to enwiki.
    • Create a local copy of all articles in medwiki.toolforge.org to use it with cx tool instead of mdwiki to solve slowness.
    • CxServer:
      • Create part of cxserver at https://ncc2c.toolforge.org/ to use some functions like (lineardoc and segmentation) for text processing and make it ready for use in the content translation tool. #4
      • Update cxserver & fix redlinks issue. #7
    • Other scripts:
      • Use mdwiki_api.php as proxy to mdwiki.org/w/api.php to avoid toolforge CORS filter.
      • Improve text processing and prepare for translation. #6
      • Update get_html scripts. #8
  • NCC2Commons:
    • Introduced OAuth configuration improvements to enhance the authentication process. and Improved error handling and feedback for file upload operations. #3
  • ToolForge python files:
    • Implemented a new script to detect and manage duplicate titles across databases. #169
    • Added functionality for creating new Wikidata items for identifiers lacking QIDs. #170
  • Radiopediaa:

September

  • Mdwiki.toolforge.org:
    • Enhanced get_html.php to include a new parameter for returning text. Refactored fixwikirefs.php to streamline the reference fixing process. #93
    • Introduced a new script to process the publishing of translations to the target wiki. #3
    • Introduced a new API endpoint for flexible data retrieval in JSON format. #103
  • Translation Dashboard:
    • Enhance main.php with database insertion on successful edits. #85
    • Adds a new function to check for existing pages before insertion to database, preventing duplicates.
    • Ability to browse, edit and delete pages published in the articles namespace and in the user namespace from the database in Coordinator Tools > Translated pages.
    • Ability to browse, edit and delete pages published in the articles namespace, in the user namespace, from the database, using the Coordinator Tools > Translated Pages. #87
    • Introduced functions for linking to Wikidata with proper error handling. #89
    • Introduced new functions for encoding and decoding values in cookies. #93
    • Introduced a web interface for managing "full article translators", allowing for viewing, adding, and deleting translators. Added functionality for managing entries in the "full translators" database, including deletion and insertion of users. #97
    • Introduced new functionalities for managing and displaying leaderboard user statistics. #101
  • MdWikiCX
    • Link translations to Wikidata when publishing.
    • Fix revid and campaign issues.
    • Include (Template:Traducido ref) automatic when publishing in ES WP
    • Automatically add categories on SW WP based on specific infoboxes.
    • Display OAuth errors. #3
    • Enable the ability to translate the entire article or just the introduction.
    • Add a clickable link to fix references after publishing. #3
    • Update CX to the latest version to solve some problems. #4
    • Fix an issue when using Google Translate on Odia language.#5
    • Improved error handling and promise management in the translation publishing process. #6
  • CxServer:
    • Introduced a configuration for removable sections in MediaWiki pages to enhance loading performance. #2
  • other scripts:
    • Refactored translation fetching logic for better maintainability. Added new functions for HTML content fixing and error handling. #10
  • ToolForge python files:
    • Introduced a new script for managing medwiki translations, enhancing the workflow for page creation and updates. #174

October

  • Mdwiki.toolforge.org:
    • Introduced a new status query feature allowing users to filter page update counts by year, user group, and campaign. #104
    • Refactoring the UI for the “Find and Replace” task. #105
    • Enhanced API functionality with new endpoints for language data, interwiki data, and site matrix information. #107
  • Translation Dashboard:
    • Introduced new functionalities for managing and displaying leaderboard user statistics. #101
    • Autocomplete functionality improved for user and language inputs, now featuring caching for efficiency. Removed unnecessary early return condition in the insert function, ensuring smoother operation. #105
    • Support more languages. #106
    • Updated user authentication process with database access checks for better security, Display error message if no access keys found. #107
  • MdWikiCX
    • Updated logic for publishing success to utilize the new link generation method. #7
    • #8 :
      • Introduced a new method for handling “CxToken” errors, enhancing user experience during OAuth session expiration.
      • Updated error messages for clarity in user feedback during access issues and OAuth session expirations.
      • Fix an issue when translating the entire article and the title contains a slash "/".
  • CxServer:
    • Introduced a configuration for removable sections in MediaWiki pages to enhance loading performance. #2
  • Other scripts:
    • Possibility of translating the entire article. #3
  • ToolForge python files:
    • Enhanced revision tracking by storing revision IDs for processed pages. retrieving and processing Wikipedia article data. Improved error handling. #176
    • Introduced a new script for managing revision IDs. #180
    • New script for “Find and Replace” task. #182
    • Improved copying of articles to medwiki.toolforge.org and copying full articles if title contains the slash "/". #183

November

  • Mdwiki.toolforge.org:
    • Added new TD-API functionalities for constructing SQL queries, enhancing data retrieval capabilities. #108
  • Translation Dashboard:
    • Fix article translation links in emails messages. #108
    • Enhanced error handling and session security measures. Updated user role checks to improve security and functionality. #110
  • MdWikiCX
    • Enhanced token fetching process for better performance.#9
    • Enhanced translation functionality with conditional execution for automatic section translations. #10
  • Mdwiki.org:
  • ToolForge python files:
    • Introduced a new function for enhanced text processing, standardizing "Drugbox" templates to "Infobox drug.". #184
    • Introduced functionality for extracting archive dates and URLs from various archive service URLs. Added a bot for processing and fixing reference parameters in wiki pages related to CS1 errors. #185

December

  • Mdwiki.toolforge.org:
    • Updated login URLs for improved user authentication flow across multiple pages. #PR
    • Introduced modular data retrieval functions for various entities (translators, QIDs, categories, projects, settings) from an API or SQL database. #PR
    • Enhanced flexibility in accessing JSON files by using environment variables for file paths. #PR
  • Translation Dashboard:
    • Move Coordinator Tools into a new repository. #PR
    • Move Auth pages into a new repository. #PR
    • TDC:
      • Improved error handling setup related to user role management. #PR
    • AUTH:
      • Enhanced cookie handling and validation for redirect URLs. #PR
  • ToolForge python files:
    • Corrected import statements for configuration modules to ensure proper access to authentication credentials. #PR
    • Updated file paths for various scripts to streamline access to JSON files and project tables. #PR
  • Medwiki.toolforge.org:
    • Introduced functions for parsing categories, citations, and templates from wikitext. #PR
    • Improved error logging and handling in various functions related to API calls and data processing. #PR
    • Introduced a new function to retrieve wikitext from an external API. #PR
    • MdWikiCX:
      • Enhanced error handling for network issues in data fetching. #PR
      • Don't start auto translations if there are Translated Sections. #PR
    • CxServer:
      • Introduced new API endpoints for enhanced text retrieval, including a new endpoint for domain-specific text. #PR
    • Others:
      • Added a new function to remove duplicate references from text, managing and processing citation references. #PR