<> ||<>|| This is a draft! == Import queue cleaning == Since the auto-approval script does not catch all files in the import queue, we need to manually scan through the list and investigate why those entries have not been approved automatically. This wiki page should help us to improve the auto-approval script, so that it catches more corner cases. In the end, we will have less work to do with reviewing those entries in the queue which got stuck. Therefor, when you do the investigation, please document it here in this wiki. === Import queue === * [[https://translations.edge.launchpad.net/ubuntu/lucid/+imports?field.filter_status=NEEDS_REVIEW|Lucid]] === How the import queue works === 1. When a package gets uploaded into the archive and the package is in 'main', the translations in that package (.pot, .po and .mo files) get stripped at build time and put into a separate tarball, which then gets uploaded to launchpadlibrarian and forwarded to Rosetta. 1. Rosetta takes this tarball apart and puts the .pot and .po files into the import queue with the status set to 'Needs Review'. .MO files get ignored for now. 1. Then a cronjob starts the auto-approval script every ten minutes, which goes through the items in the import queue and looks for patterns in the path of the files in order to match them to an existing template in the database. 1. If a match has been found, the status for that file is set to 'Approved'. 1. Finally another cronjob runs every 10 minutes, picks up the entries with the status set to 'Approved' and imports them into the database. Finally the status is set to 'Imported'. If the import failed because of a bug in the file, the status is set to 'Failed'. '''Some details on the importer script (by Jeroen Vermeulen):''' When the importer starts up, it sees which "targets" need importing. IIRC a target can be a project, or a distro release such as Karmic. Then it goes through that list round-robin. This means that if there are 1000 Karmic imports waiting, 250 Jaunty ones, 3 Intrepid ones, and 50 uploads for non-distro projects, it'll do 1 Karmic import, 1 Jaunty one, 1 Intrepid one, 1 for each of the projects, and then repeats. The approval script is now called the Import Queue Gardener. One of its new features is that on every run, it deletes up to 100 queue entries for obsolete distro releases. Template imports from bzr will be approved synchronously. "Imported" entries get deleted when their last recorded status change is more than 3 days old. "Failed" entries get deleted after one month in the queue. === What can the UTC team do to help === UTC team members should go through the import queue (filter for 'Needs Review') periodically (best would be once per day) and take manual action where items in the queue have not been approved for more than two days. '''For any item or bunch of related items (e.g. .po files for the same template) stuck in the 'Needs Review' queue, please document them here in the table below.''' The goal is to improve the auto-approval script, so that we have less to check for in the future! === Resources === * [[https://wiki.ubuntu.com/UbuntuTranslationsCoordinators/Actions/ImportQueueManagement|Import queue management HowTo]] * [[https://wiki.ubuntu.com/UbuntuDevelopment/Internationalisation|Translations in Ubuntu (from a developer perspective)]] === Import queue log === '''Explanation of the columns''' * '''Source pkg''': The name of the source package which is affected * '''Template''': if there is already a template in the database, but the auto-approval script didn't approve the entries, mention the template here. Often the reason is a version number in the file path or a file path which has changed, which needs to be updated in the existing template with each upload. * '''What failed?''': i.e. domainname.pot, or de.po or all .po files, or whatever failed to import * '''Reason''': if you know the reason ''why'' the import failed, please state it here. e.g. "file path has changed" * '''Resolution''': what you did to resolve the problem or what still needs to be done. If you filed a bug, please mention the bug number here. * '''Status''': one of "New", "Triaged", "Bug filed", "Fixed", "Postponed", "Won't fix" || '''Source pkg''' || '''Template''' || '''What failed?''' || '''Reason''' || '''Resolution'''|| '''Status''' || || kdelibs || kde || debian/patches/common/kde.pot || New import || Blocked || It is just an intermediate template merged into kdelibs || || kdelibs || kde || debian/tmp/usr/include/kde/kde.pot || New import || Blocked || It is just an intermediate template merged into kdelibs || || kdelibs || kde || debian/kdelibs4-dev/usr/include/kde/kde.pot || New import || Blocked || It is just an intermediate template merged into kdelibs || || gfxboot-theme-ubuntu || bootloader.pot || debian/gfxboot-theme-ubuntu/usr/share/gfxboot-theme-ubuntu/po/bootloader.pot || New import || Blocked || It is just an intermediate template, according to cjwatson it is intentionally shipped in the package for various reasons, so it will stay like that || Blocked documentation files (2009-12-16): {{{ help/control-center gnome-control-center doc/po/apt-doc.pot in apt build/po/apt.pot in apt build/po/libapt-inst1.1.pot in apt build/po/libapt-pkg4.8.pot in apt doc/network/network-admin.pot in gnome-system-tools doc/time/time-admin.pot in gnome-system-tools doc/users/users-admin.pot in gnome-system-tools help/rhythmbox.pot in rhythmbox man/po4a/po/debhelper.pot in debhelper }}} Approved KDE files (2009-12-16): {{{ # source package, translation domain freespacenotifier freespacenotifier freespacenotifier desktop_freespacenotifier kde4libs libkunitconversion kde4libs solid_qt kdeedu cantor kdeedu plasma_applet_concentrationCalculator kdeedu plasma_applet_gasCalculator kdeedu plasma_applet_nuclearCalculator kdebase-runtime kglobalaccel kdebase-runtime kio_nepomuk kdebase-runtime kio_timeline kdebase-runtime kcm_device_automounter kdebase-workspace kcmremotewidgets kdebase-workspace kcmworkspaceoptions kdebase-workspace kcm_kwintabbox kdebase-workspace plasma-netbook kdebase-workspace plasma_applet_sal kdebase-workspace plasma_applet_currentappcontrol kdebase-workspace plasma_applet_searchbox kdebase-workspace plasma_applet_netpanel kdebase-workspace plasma_applet_newspaper kdebase-workspace plasma_runner_windows kdebase-workspace plasma_runner_kill kdebase-workspace plasma_containmentactions_zoom kdebase-workspace plasma_containmentactions_switchwindow kdebase-workspace plasma_containmentactions_switchdesktop kdebase-workspace plasma_containmentactions_switchactivity kdebase-workspace plasma_containmentactions_contextmenu kdebase-workspace plasma_plasma-desktop_shell kdebase-workspace plasma_applet_windowlist kdebase-workspace plasmagenericshell kdegames palapeli kdegames kigo kdegames granatier kdegraphics libkexiv2 kdelibs qt-messages kdelibs kde kdelibs kioexec kdelibs kabc_ldapkio kdelibs kabc_file kdelibs kabc_dir kdelibs kabc_net kdelibs kabcformat_binary kdelibs libkscreensaver kdelibs kcmshell kdenetwork plasma_runner_kget kdepimlibs akonadicontact kdepimlibs kcm_akonadicontact_actions kdepimlibs kontactinterfaces kdepim blogilo kdepim mailreader kdepim plasma_applet_kpapplet kdepim libmessagecore kdepim libmessagelist kdepim libmessageviewer kdepim-runtime kmail-migrator kdepim-runtime akonadi_contacts_resource kdepim-runtime akonadi_mailtransport_resource kdepim-runtime akonadi_mbox_resource kdepim-runtime akonadi_pop3_resource kdeplasma-addons plasma_applet_kdeobservatory kdeplasma-addons kimpanel kdeplasma-addons plasma_applet_knowledgebase kdeplasma-addons plasma_applet_opendesktop_activities kdeplasma-addons plasma_applet_plasmaboard kdeplasma-addons plasma_applet_qalculate kdeplasma-addons plasma_applet_spellcheck kdeplasma-addons plasma_applet_webslice kdeplasma-addons plasma_engine_pastebin kdeplasma-addons plasma_runner_audioplayercontrol kdeplasma-addons plasma_runner_kopete kdeplasma-addons plasma_runner_mediawiki kdeplasma-addons akonadi_maildispatcher_agent kdetoys amor kdetoys kteatime kdetoys kweather kdetoys ktux kdetoys desktop_kdetoys kdeutils libkasten kdeutils liboktetakasten kdesdk katesnippetstng_editor kdesdk ktexteditor_codesnippets_core kdewebdev kfilereplace kdewebdev kimagemapeditor kdewebdev klinkstatus kdewebdev kommander kdewebdev kxsldbg kdewebdev desktop_kdewebdev kipi-plugins kipiplugin_kioexportimport kipi-plugins kipiplugin_shwup ktorrent desktop_ktorrent phonon-backends desktop_phonon-backends phonon-backends libphonon phonon-backends phonon-xine phonon-backends phonon_gstreamer qt4-x11 kdeqt }}} ---- CategoryTranslations