AutomatingArtwork

Differences between revisions 12 and 13
Revision 12 as of 2006-06-22 17:03:21
Size: 5249
Editor: ALagny-109-1-2-101
Comment: English fixes, and a suggested change to design overview.
Revision 13 as of 2006-06-22 17:27:36
Size: 4809
Editor: ALagny-109-1-9-136
Comment:
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
|| '''Step''' || '''Necessary''' || '''May be deferred''' ||
|| run gimp on .psd files, remove informational layer, save as .png file || || YES ||
|| run strip-icons on iconprio.csv || YES || ||
|| run strip-icons on whitelist.csv as well and automatically uuencode, uudecode where needed || || YES ||
|| generate symlinks as specified in the CSV files || YES || ||
|| run icon-spec-rename on them || YES || ||
|| get last human-icon-theme package || YES || ||
|| replace old icons with spec-renamed icons || YES || ||
|| run update-Makefile.am on the icon directory || YES || ||
|| (sanity check: this only updates Makefile.am's, doesn't generate them - while it sounds easy, there are other things to take into consideration as well: configure.in needs adding of that Makefile, index.theme must get a new stanza for that change) || || ||
|| some sheets were missing icons they had before (remove all of them? and just replace with what we have to date?) || || YES ||
|| some icons had to be edited manually (could be done via blacklist - but that has to be checked as well) || YES || ||
|| we had chosen a wrong name (ok, needs to be fixed in the .csv files, but I noted it mostly during this stage) || || YES ||
|| pbuild it || YES || ||
|| check the debdiff of the two packages to see missing files etc || YES || ||
|| go through iterations of the above || || YES ||
|| '''Step''' || '''Necessary''' || '''MUST goals''' ||
|| run gimp on .psd files, remove informational layer, save as .png file || NO ||
|| run strip-icons on iconprio.csv || YES ||
|| run strip-icons on whitelist.csv as well and automatically uuencode, uudecode where needed || NO ||
|| generate symlinks as specified in the CSV files || YES ||
|| run icon-spec-rename on them || YES ||
|| get last human-icon-theme package || YES ||
|| replace old icons with spec-renamed icons || YES ||
|| run update-Makefile.am on the icon directory || YES ||
|| some icons had to be edited manually (could be done via blacklist - but that has to be checked as well) || YES ||
|| we had chosen a wrong name (ok, needs to be fixed in the .csv files, but I noted it mostly during this stage) || NO ||
|| pbuild it || YES ||
|| check the debdiff of the two packages to see missing files etc || YES ||
|| go through iterations of the above || NO ||

Summary

A set of scripts will be written and/or changed to automate the artwork process, from cutting out the icons to building a test package and showing an overview of the changes that went in.

Please note: this spec can only be implemented by a Canonical employee. If you want to help out somewhere, it'd be better to pick another spec.

Rationale

Doing ubuntu-artwork updates is currently highly manual work and requires time and concentration. Most parts of it could be automated.

Use cases

  • Icon designer Dave worked hard to improve a batch of icons and sends the master sheets to his Ubuntu contact. It only takes a little while until he can see all the icons in action.
  • Package maintainer Daniel is close to a deadline and needs to update the artwork package. He does not need to do somersaults to get all the changes in.

Scope

The changes will involve

  • splitting of the ubuntu-artwork package,

  • changes in the existing scripts for processing icons.
  • some new scripts will have to be written to do additional tasks in updating the build system, for creating symlinks and visualizing changes from the old to the new artwork package.

Design

The first step will be to split human-icon-theme from ubuntu-artwork.

The implementation of the update functionality will run through two phases. The following table depicts which steps are to be automated and which may be done later.

Step

Necessary

MUST goals

run gimp on .psd files, remove informational layer, save as .png file

NO

run strip-icons on iconprio.csv

YES

run strip-icons on whitelist.csv as well and automatically uuencode, uudecode where needed

NO

generate symlinks as specified in the CSV files

YES

run icon-spec-rename on them

YES

get last human-icon-theme package

YES

replace old icons with spec-renamed icons

YES

run update-Makefile.am on the icon directory

YES

some icons had to be edited manually (could be done via blacklist - but that has to be checked as well)

YES

we had chosen a wrong name (ok, needs to be fixed in the .csv files, but I noted it mostly during this stage)

NO

pbuild it

YES

check the debdiff of the two packages to see missing files etc

YES

go through iterations of the above

NO

{{{MalcolmCleaton: I suggest merging the last two columns into one, as there's really only one bit of information for each entry. I also wasn't quite able to work out what the meaning of these columns was. Is it which steps *must* be automated to get any useful result, and which on the other hand could be automated later but aren't vital for the first implementation?

I'd also suggest merging the line which is actually just a comment on the line before into it, so the table really has one line per step. And I didn't understand the line about choosing a wrong name - all the others are clearly describing an action, but I couldn't work out what this line would do.

Good design overview though! }}}

Implementation

  1. Split ubuntu-artwork into:

    • human-icon-theme

    • human-wallpapers

    • human-splashscreens

    • human-theme

    • human-gdm-theme

    This will make updates smaller and easier (as the individual build systems will be less complex as a whole). ubuntu-artwork will be merely a meta package and ship default files.

  2. Write a script which will
    • make use of the existing scripts and call them in succession,
    • pay attention to a blacklist to not overwrite icon which where specifically changed (smaller sizes, etc.),
    • run the build process of the package in pbuilder,
    • show the changes between the new and old package.
  3. Write a script, which reads the information contained in the iconprio CSV files and generate symlinks where specified.
  4. Enhance the update-Makefile.am script to be able to add new Makefiles where needed and change configure.ac and index.theme appropriately (this might justify renaming the script).

BoF agenda and discussion

  • Is modularization of icons also considered? I mean many icons are based on or variations of say folders or disks. So when the folder icon gets changed, do all the variations (folder-new, folder-home, ...) also have to be changed?
    • DanielHolbach: No, the spec concerns only the process of producing the ubuntu-artwork package from said icon master sheets.


CategorySpec

Spec/AutomatingArtwork (last edited 2008-08-06 16:31:38 by localhost)