Difference between revisions of "NewFromTemplateSpec"
(add attributes, etc) |
|||
Line 1: | Line 1: | ||
='New from template' dialog's specification= | = 'New from template' dialog's specification = | ||
==Synopsis== | == Synopsis == | ||
Long-time users tend to keep a great deal of templates around. Inkscape allows to pick templates from a simple submenu which isn't flexible enough. | Long-time users tend to keep a great deal of templates around. Inkscape allows to pick templates from a simple submenu which isn't flexible enough. | ||
Implementing a Scribus-like New From Template (''further as NFT'') dialog with additional search capability would help keeping templates organized and easili accessible. | Implementing a Scribus-like New From Template (''further as NFT'') dialog with additional search capability would help keeping templates organized and easili accessible. | ||
==Templates== | == Templates == | ||
=== Definition === | === Definition === | ||
Definition of template : [[ClipTemplates]]. | Definition of template : [[ClipTemplates]]. | ||
Line 11: | Line 11: | ||
Abstract : templates are svg files included in « ''/usr/.../inkscape/templates/'' ». Others templates can be easily addes in « ''~/.inkscape/templates'' ». | Abstract : templates are svg files included in « ''/usr/.../inkscape/templates/'' ». Others templates can be easily addes in « ''~/.inkscape/templates'' ». | ||
=== | === Attributes === | ||
Listing of attributes for each templates: | |||
;must be set: | |||
* a default '''english name''' (en: desktop 1024x768) | |||
* a '''category''' | |||
;if necessary: | |||
* some '''translations of the name''' (fr: fond d'écran 1024x768) | |||
* a '''description in english''' | |||
* some '''translations of the description''' | |||
* a '''date''' | |||
* '''name(s) of author(s)''' | |||
* an '''email''' address | |||
* a '''website link''' | |||
=== Template name === | |||
Every template must have an default english name. If name is not set, the filename will be displayed. | |||
Default english name: | |||
<sodipodi:namedview | |||
inkscape:templateName="desktop 1024x768" | |||
/> | |||
French translation: | |||
<sodipodi:namedview | |||
inkscape:templateNameFr="fond d'écran 1024x768" | |||
/> | |||
=== Template category === | |||
Templates must be categorized. That's why we must add a new attribute named « category » into every templates svg files. This attribute will allow the NFT dialog to only display categories with at least one template. | Templates must be categorized. That's why we must add a new attribute named « category » into every templates svg files. This attribute will allow the NFT dialog to only display categories with at least one template. | ||
Line 18: | Line 47: | ||
* if you make a new CD cover template, you have to put: | * if you make a new CD cover template, you have to put: | ||
<sodipodi:namedview | <sodipodi:namedview | ||
inkscape: | inkscape:templateCategory="Covers/CD" | ||
/> | /> | ||
'''Use / for subcategories. You can put more than one /. Example : Covers/CD/Front ; Covers/CD/Back ; ...''' | '''Use / for subcategories. You can put more than one /. Example : Covers/CD/Front ; Covers/CD/Back ; ...''' | ||
Line 24: | Line 53: | ||
* if you make a new desktop template: | * if you make a new desktop template: | ||
<sodipodi:namedview | <sodipodi:namedview | ||
inkscape: | inkscape:templateCategory="Desktop" | ||
/> | /> | ||
* if you make a new paper sizes template: | * if you make a new paper sizes template: | ||
<sodipodi:namedview | <sodipodi:namedview | ||
inkscape: | inkscape:templateCategory="Paper sizes" | ||
/> | /> | ||
'''Q: Should we use underscore between words ? like "Paper_sizes"''' | '''Q: Should we use underscore between words ? like "Paper_sizes"''' | ||
Line 49: | Line 78: | ||
**# no file | **# no file | ||
* | * Desktops | ||
*# desktop_1024x768.svg | *# desktop_1024x768.svg | ||
*# desktop_1600x1200.svg | *# desktop_1600x1200.svg | ||
Line 58: | Line 87: | ||
*# no file | *# no file | ||
* | * Backgrounds '''(Q: Is this the same category as Desktop ?)''' | ||
*# no file | *# no file | ||
Line 82: | Line 111: | ||
*# video_NTSC_720x486.svg | *# video_NTSC_720x486.svg | ||
*# video_PAL_720x576.svg | *# video_PAL_720x576.svg | ||
* Slideshows | |||
*# LaTeX_Beamer.svg | |||
* Web | * Web | ||
Line 89: | Line 121: | ||
**# web_banner_468x60.svg | **# web_banner_468x60.svg | ||
**# web_banner_728x90.svg | **# web_banner_728x90.svg | ||
* Fonts | |||
*# fontforge_glyph.svg | |||
* Template themes | * Template themes | ||
*# no file | *# no file | ||
* | * Others (and uncategorized) | ||
*# | *# black_opaque.svg | ||
*# white_opaque.svg | |||
*# no_borders.svg | |||
*# no_layers.svg | |||
* Default '''(Files in this category will not appear in NFT dialog. Only the good language will appear)''' | * Default '''(Files in this category will not appear in NFT dialog. Only the good language will appear)''' | ||
Line 118: | Line 156: | ||
*# default.svg '''(in English)''' | *# default.svg '''(in English)''' | ||
== Functionality == | |||
=== Types of templates === | |||
==Functionality== | |||
===Types of templates=== | |||
NFT dialog provides access to both static and dynamically created (procedural) templates. Static templates are simple SVG files. Dynamically created templates are scripts like Perfect-Bound Cover. See GUI mockup section below for GUI considerations. | NFT dialog provides access to both static and dynamically created (procedural) templates. Static templates are simple SVG files. Dynamically created templates are scripts like Perfect-Bound Cover. See GUI mockup section below for GUI considerations. | ||
==GUI== | == GUI == | ||
=== Scribus === | === Scribus === | ||
Scribus NFT dialog is really good ! We have to reproduce this dialog. Uses tabs: tab 1 for custom and tab 2 for templates. | Scribus NFT dialog is really good ! We have to reproduce this dialog. Uses tabs: tab 1 for custom and tab 2 for templates. | ||
Line 144: | Line 172: | ||
[[Image:Nft-dialog-procedural-mockup.png]] | [[Image:Nft-dialog-procedural-mockup.png]] | ||
==Behind the curtains== | == Behind the curtains == | ||
===Metadata=== | === Metadata === | ||
===Integration with ccHost=== | === Integration with ccHost === | ||
===NFT as menu item=== | === NFT as menu item === | ||
==Future improvements== | == Future improvements == | ||
In case someone comes up with a decent web service to host updatable templates, the dialog should notificate on updates and allow grabbing updated versions. | In case someone comes up with a decent web service to host updatable templates, the dialog should notificate on updates and allow grabbing updated versions. |
Revision as of 18:47, 17 March 2010
'New from template' dialog's specification
Synopsis
Long-time users tend to keep a great deal of templates around. Inkscape allows to pick templates from a simple submenu which isn't flexible enough.
Implementing a Scribus-like New From Template (further as NFT) dialog with additional search capability would help keeping templates organized and easili accessible.
Templates
Definition
Definition of template : ClipTemplates.
Abstract : templates are svg files included in « /usr/.../inkscape/templates/ ». Others templates can be easily addes in « ~/.inkscape/templates ».
Attributes
Listing of attributes for each templates:
- must be set
- a default english name (en: desktop 1024x768)
- a category
- if necessary
- some translations of the name (fr: fond d'écran 1024x768)
- a description in english
- some translations of the description
- a date
- name(s) of author(s)
- an email address
- a website link
Template name
Every template must have an default english name. If name is not set, the filename will be displayed.
Default english name:
<sodipodi:namedview inkscape:templateName="desktop 1024x768" />
French translation:
<sodipodi:namedview inkscape:templateNameFr="fond d'écran 1024x768" />
Template category
Templates must be categorized. That's why we must add a new attribute named « category » into every templates svg files. This attribute will allow the NFT dialog to only display categories with at least one template.
Examples:
- if you make a new CD cover template, you have to put:
<sodipodi:namedview inkscape:templateCategory="Covers/CD" />
Use / for subcategories. You can put more than one /. Example : Covers/CD/Front ; Covers/CD/Back ; ...
- if you make a new desktop template:
<sodipodi:namedview inkscape:templateCategory="Desktop" />
- if you make a new paper sizes template:
<sodipodi:namedview inkscape:templateCategory="Paper sizes" />
Q: Should we use underscore between words ? like "Paper_sizes"
Current categories
From ClipTemplates.
- Covers
- CD
- CD_cover_300dpi.svg
- DVD
- DVD_cover_regular_300dpi.svg
- DVD_cover_slim_300dpi.svg
- DVD_cover_superslim_300dpi.svg
- DVD_cover_ultraslim_300dpi.svg
- TAPE
- no file
- VHS
- no file
- CD
- Desktops
- desktop_1024x768.svg
- desktop_1600x1200.svg
- desktop_640x480.svg
- desktop_800x600.svg
- Labels
- no file
- Backgrounds (Q: Is this the same category as Desktop ?)
- no file
- Banners
- no file
- Icons
- icon_16x16.svg
- icon_32x32.svg
- icon_48x48.svg
- icon_64x64.svg
- Paper sizes
- A4_landscape.svg
- A4.svg
- business_card_85x54mm.svg
- business_card_90x50mm.svg
- Letter_landscape.svg
- Letter.svg
- Videos
- video_HDTV_1920x1080.svg
- video_NTSC_720x486.svg
- video_PAL_720x576.svg
- Slideshows
- LaTeX_Beamer.svg
- Web
- Buttons
- no file
- Banners
- web_banner_468x60.svg
- web_banner_728x90.svg
- Buttons
- Fonts
- fontforge_glyph.svg
- Template themes
- no file
- Others (and uncategorized)
- black_opaque.svg
- white_opaque.svg
- no_borders.svg
- no_layers.svg
- Default (Files in this category will not appear in NFT dialog. Only the good language will appear)
- default.be.svg
- default.ca.svg
- default.cs.svg
- default.de.svg
- default.eo.svg
- default.es.svg
- default.eu.svg
- default.fi.svg
- default.fr.svg
- default.hu.svg
- default.it.svg
- default.ja.svg
- default.lt.svg
- default_mm.svg (don't respect spec ! must be renamed default.mm.svg)
- default.nl.svg
- default.pl.svg
- default.pt_BR.svg (Q: what's pt_BR ?)
- default_pt.svg (don't respect spec ! must be renamed default.pt.svg)
- default.sk.svg
- default.svg (in English)
Functionality
Types of templates
NFT dialog provides access to both static and dynamically created (procedural) templates. Static templates are simple SVG files. Dynamically created templates are scripts like Perfect-Bound Cover. See GUI mockup section below for GUI considerations.
GUI
Scribus
Scribus NFT dialog is really good ! We have to reproduce this dialog. Uses tabs: tab 1 for custom and tab 2 for templates.
Mockup
Mockup of NFT dialog for static templates:
Mockup of NFT dialog for procedural templates:
Behind the curtains
Metadata
Integration with ccHost
Future improvements
In case someone comes up with a decent web service to host updatable templates, the dialog should notificate on updates and allow grabbing updated versions.