====== Brainstorm ======
This page contains a number of suggestions that are //not// on the [[TODO]] list. Maybe they will be on the list for version 2.0, maybe they will be implemented as a plugin - who knows.

* how about a --build-index option for the commandline script ?

* quoted text (">" indenting) ?
* footnotes (dokuwiki style ?)

* Have a look at a plugin to sync with dokuwiki
	* get page
	* check timestamp
	* upload page

* Have a look at a rsync plugin

* Repository::Album
	* prio 1
		* allow ImageView to toggle hide captions
		* save position HPane
		* thumbnail view on directory indexes
			* use _Thumbs for thumbnailing
			* make the home page also an index when toplevel
			* make it work correctly with nested folders
				* folder icon in thumbview
				* thumbview when has_children
		* check resolve links etc works as expected
		* make sure next / prev works correctly
		* copy / move / delete routines
		* multipartfile
			* "per directory" setting
			* setting for the name (default to Notes.txt)
				* header should tell that it is a multipart file
				* header should also include directory setting
			* do some caching etc ?
	* prio 2
		* option for bgcolor for transparent images
		* zoom in/out/1:1/fit (<ctrl>Up/Down/1/0)
		* rotate left/right (<ctrl>Left/Right)
			* all ops save image directly if jpg or png, else ask
		* tie scroll wheel to prev / next
		* what about thumbnails in backlink lists etc ?
			* assign type to page - use meta header


* tickets
	* simple forms - doable
	* backend doesn't matter
	* reports
		* table view - doable
		* hash certain meta propertises - doable
		* link in entry boxes - further studie needed
			* or use list view for things that are linkable
	* attachement - no prob.

* When adding 822 headers prefix meta headers with "Meta-" but allow for multiple blocks of headers when implementing forms etc.
	* headers in subsequent sections that are not in the form template should be displayed in the text and when saving be separated from the form header block.
	* see http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec for inspiration
	* do not copy meta data that the FS or RC provides
	* use Meta-Author (free string) and Meta-CreationDate (ISO 8601 format with timezone IE YYYY-MM-DDThh:mm:ss~~+xx:yy~~) and Meta-ContentType (text/x-wiki-zim-1)
		* or are author and creation date also redundant with FS ?
		* if you want real tracking of modifications need to use RC
	* don't need title - is first header or file name
	* don't need keywords - should be in linking structure or bold
	* don't need comments - should be separate page

* make zim distinguise "profiles"
	* run time switchable sets of settings
	* also give default repository type for init
	* add "profile" submenu in "view" menu
		* list number of profiles + "new profile..." which pops a dialog for a name
	* on new profile the interface remains the same
	* changing profile reloads the settings
		* check "gui_init" for some things that change state
	* maybe split preferences and state now
		* state and plugins list go into profile => {state}
		* everything from prefs (except plugins) goes into prefrences file => {prefs}
	* profile should be saved in repository config

* plugin to show an index in the side pane
    * plugin embeds list widget
    * add "get_headers" or "get_index" to Page.pm
    * hook to "load page"

* tag namespace
	* index shows list of tags
	* consider all pages existing that are referenced - list_pages uses backlinks
	* each tag page shows a list of backlinks (free text above list)
	* ":tag:tag1:tag2" queries subset tag2 from set tag1

* menuitem //tools//->//selection//
	* pops open dialog with treeview
	* add pages with drag / drop
	* "add current page" button
	* "save selection" button
		* saves to page
	* how to re-open the dialog for a certain page ?
	* short cut to open a certain selection would do away with request for bookmark feature
	* should history / recent pages be special selection ?

* for list view inspiration see: http://taskcoach.sourceforge.net
	* in page list view with color coding for page properties
	* each item links to a page

* allow search query for all backlinks to a namespace recursively (tags plugin)
* search query for: files=/some/path/* to create file index using the "saved search" idea to update / include links
* similar it should be possible to use globs in the linking structure. For example if I want to link a birth date to each occance of that day for each year.
	* add linking type or relation "birthday" to the link
	* make date pages __implicit backlink searches__
	* by default namespace dates by year in new installations

* Plugin that can dowload internet pages and images
	* use external (wget) program or libwww ?
	* hook on drag n drop / insert link signals
	* either only download and insert images or also cache complete pages

* saved search
	* read-write pages with results
	* add an update button / search bar somewhere
	* auto-update optional (trigger update on read)
	* caching time-stamped results should make searching quicker
	* also use this for a "list_links" and "list_back_links"
		* e.g. saved back link search for TODO list
		* color 404 links red
		* how to handle these in export ?

* Context menu items for index
	* "split" split page to namespace (each heading its own page)
	* "merge" include namespace content in a single page

* Inserting an anchor with ''<ctrl>M''
	* show a small icon, not unlike a break point in IDEs
	* offer the possibility to attach a footnote to the anchor
		* change the icon if a note was attached
	* give the anchor an ID that can be linked from the outside

* Plugin for escape mode
	* opens up many keys for special editing actions
	* should not conflict with modeless editing
	* option to choose module: simple mode or vi-like mode
		* see opengroup posix spec
		* see http://www.vim.org/htmldoc/quickref.html 
	* export a list of textviews somewhere to which the plugin can bind

* Gnome VFS support
	* use a plugin for this

* printing
	* gtk 2.10 printing support
		* most distros still at 2.8 (?)
	* pango layout with markup language
	* pagination ?
	* http://cvs.gnome.org/viewcvs/libegg/libegg/print-operation/printedit.c?rev=1.8&view=markup
		* one big pango layout
		* calc page breaks in terms of pango lines
		* render per-line on the cairo page
		* how to handle images ?
	* Using the same interface PDF export can also be done

* A plugin that adds a "publish" action to the menu
	* state "published" should be shown per page
	* specify html template and directory for publishing
	* remove links to unpublished pages ??

* Make folding lists, "in page" outlining
	* Combine this with the idea of index pages, all items automaticly link to pages below the outline page (but can be edited to link elsewhere)

* support ccrypt backend, gjots supports this

* make it possible to reorganise the toolbar

* Wiki code for sub-/super-script ?

* Internal references (images, tables, footnotes, ...)
	* anonymous links ?
	* dynamic numbering
	* each referenced item should have a unique id
		* map id to table record
		* map id to new page
		* let formatter number these ids on export
	* footnotes could be displayed in seperate pane below normal text
		* or in seperate window

