[[PageOutline(2-5,Contents,pullout)]] = Some miscellaneous functions to ticket view (CKEditor, navigation table, descriptions, sorting versions, etc.) = == Description == === Component `TextAreaDescription` === Shows next to a text area (like description itself or any custom description) an description for what the field is for. Default values for options: {{{ [ticket] description_descr = descr_template =
%s
}}} === Component `CssTemplate` === Add links to style sheets located in templates folder. [http://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS] files started with `"all_templates"` are added for all Trac sites. CSS files starting with template name (without `.html`-suffix) are added for specific template. To apply changes you need to restart the server. Examples for files which resides in projects `templates` folder: || `all_templates_general.css` || added to all Trac sites || || `ticket_additional.css` || only added for `ticket.html` pages || For discussion in Trac about this topic, see [http://trac.edgewall.org/ticket/9683 Trac ticket #9683]. === Component `CustomizedTicketView` === Small changes of ticket view. Concretely: * disables field `field-reporter`, so it cannot be changed anymore * disables button `Reply`, so no comment could be made to any description This plugin might interested you as well: SimpleTicketPlugin === Component `SortMilestoneVersion` === Sorts drop-down lists of version and milestone regardless of the case and make milestone a must field, when a default milestone is set. Default behavior of Trac for sorting milestones is: {{{ inbox, v1, v2, Inbox, V1, V2 }}} This plugin sorts it as following: {{{ inbox, Inbox, v1, V1, v2, V2 }}} === Component `TicketNavigation` === Implements an extra Navigation menu by dividing the main ticket information in an several div areas an providing a "jump-to" to the anker with are represented in the navigation box. === __OLD__ ~~Component~~ `HtmlContent` === '''Deprecated - use CkEditorPlugin instead! ''' '''See also''' CkEditorPlugin-Tickets #8586 for discussion of implementation. The scope of CkEditorPlugin is changing output of CKEditor to trac wiki syntax, which would be better tha saving in HTML (as this Component is doing). Enables HTML content in description, adding Javascript editor and adding additional CSS file for manipulation CSS declarations. Options: || '''option name''' || '''values''' || '''description''' || || description_format || `wiki` | `html` || format for ticket description (default: '''wiki''') || || editor_source || valid path || Usually it should stored in project or common js folder. For ckeditor for example it could be site/js/ckeditor/ckeditor.js. || || editor_replace || valid path || Javascript, which should replace textareas. || || additional_css || valid path || Path to additional css file, which overrides css-declarations. || Sample configuration: {{{ [ticket] description_format = html editor_source = site/js/ckeditor/ckeditor.js editor_replace = additional_css = site/css/add_ticket.css }}} In above sample configuration [http://ckeditor.com/ CKEditor] is used as online editor and the editor source is located in projects-folder `htdocs/js/ckeditor`, after each `textarea` with HTML-Option content of `editor_replace` will be added. The file in option `additional_css` will be added and therefore will override these declarations. '''Attention:''' To have a correct preview, file `ticket_box.html` has to be edited: {{{ 1 2 3 ${wiki_to_html(context, '{{{ \n#!html \n' + ticket[field.name] + '\n}}}', escape_newlines=preserve_newlines)} 4 ${field.rendered} 5 ${ticket[field.name]} 6 7 }}} Line 3 has to be inserted into `py:choose` block in above template-snippet. {{{
${wiki_to_html(context, '{{{ \n#!html \n' + ticket.description + '\n}}}', escape_newlines=preserve_newlines)} ${wiki_to_html(context, ticket.description, escape_newlines=preserve_newlines)}
}}} Also `py:choose` block has to be added into div-block near the end of file (see above template-snippet). === __OLD__ ~~Component~~ `DisplayDate` === '''This Component is removed in version 0.5, since it is fixed in Trac itself with revision 10629''' (see Trac-Ticket [http://trac.edgewall.org/ticket/9777 #9777]). === Screenshots === [[Image(TextAreaDescription.png)]] ''Screenshot of `TextAreaDescription` (red box under Beschreibung aka description) and `HtmlContent` (Editor)'' [[Image(CustomizedTicketView.png)]] ''Screenshot of `CustomizedTicketView` -- creator "Ersteller" is disabled, so it cannot be changed'' [[Image(TicketNavigation.png)]] ''Screenshot of `TicketNavigation` -- list of headers are as toolbox under mainnav'' [[Image(SortMilestones.png)]] ''Screenshot of `SortMilestoneVersion` -- milestones are sorted by name regardless of their case (upper case "TBD" is next to lower case "tbd")'' [[Image(Sortversions.png)]] ''Screenshot of `SortMilestoneVersion` -- versions are sorted in alphabetical order instead of their due / completion date'' == Bugs/Feature Requests == Existing bugs and feature requests for TicketNavPlugin are [report:9?COMPONENT=TicketNavPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=TicketNavPlugin&owner=framay new ticket]. == Download == Download the zipped source from [download:ticketnavplugin here]. Or download precompiled [https://trac-hacks.org/attachment/wiki/TicketNavPlugin/TicketDisplay-0.4.0-py2.6.egg?format=raw python egg] == Source == You can check out TicketNavPlugin from [http://trac-hacks.org/svn/ticketnavplugin here] using Subversion, or [source:ticketnavplugin browse the source] with Trac. == Example == === Sample configuration of `TextAreaDescription` === {{{ descr_template =
%s
description_descr =
Folgende Fragen sollen beantworten werden:
  • Was wurde gemacht?
}}} === Sample configuration of `HtmlContent` === {{{ [ticket] description_format = html editor_source = site/js/ckeditor/ckeditor.js editor_replace = additional_css = site/css/add_ticket.css }}} == Recent Changes == [[ChangeLog(ticketnavplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:framay] [[BR]] '''Maintainer:''' [wiki:framay] [[BR]] '''Contributors:'''