[[PageOutline(2-5,Contents,pullout)]] = External clients support for Trac tickets == Description Many people and organizations use Trac internally or privately to manage tasks they perform for different clients. This plugin adds capabilities to Trac to help manage different clients. Key features: * Add, edit and remove clients via the Trac Admin interface. * Define a default "Hourly Rate" for each client, useful when used in conjunction with WorkLogPlugin and TimingAndEstimationPlugin. * Adds "Client Work Summary" report for use with TimingAndEstimationPlugin. * Flexible Event structure to keep clients selectively informed by: * Defining custom events which tie together ''Summaries'' and ''Actions''. * Defining special blocks (via a [WikiProcessors WikiProcessor]) in which you can embed content that you want to share with a client in ticket descriptions and comments which can be incorporated into Summaries. === Screenshots The client overview screen is as follows: [[Image(clients.jpg, border=2)]] Other screenshots: * [attachment:clients.jpg Clients Admin] * [attachment:client_detail.jpg Client Detail] * [attachment:events.jpg Events Admin] * [attachment:event_detail.jpg Event Detail] * [attachment:ticket_fields.jpg Ticket Fields] === Events The events system is very flexible and allows you to customise the way you interact with your clients. As it is often convenient to use a single Trac instance for internal management purposes, it is typically inappropriate to give direct access to Trac to your clients. However, using Trac to keep your clients informed is still very desirable. To do this, the ClientsPlugin contains several ''Summaries'' which summarise the current status, or the changes in status over time, for each client into an XML object. This object is then passed on to an ''Action'' which can process this summary accordingly and actually do something useful with it. The current ''Summaries'' available are: * '''Milestone Summary''': ([wiki:ClientsPlugin/Summaries/MilestoneSummary XML info]) Creates a summary of all tickets grouped by milestone (for future milestones with a delivery date attached). * '''Ticket Changes''': Ticket changes/comments since the last time the event was triggered. The current ''Actions'' available are: * '''Send Email''': ([wiki:ClientsPlugin/Actions/SendEmail XSLT info]) Send an email to the client. * '''Post to Zendesk''': Post to a [http://www.zendesk.com/ Zendesk] forum. The system allows some key setup parameters to be defined in the event itself (eg an XSLT to reformat the XML object into an HTML email, or a username/password for interacting with Zendesk), and also certain parameters for each event on a per-client basis (eg a list of client specific email addresses to send the summary). === Event Recipes Here are some detailed examples to help you get started. Please feel free to post your own! * [wiki:ClientsPlugin/EventRecipes/WeeklySummary Weekly Milestone Summary sent by Email] === Triggering Events So how do you trigger an event? This can currently be achieved via a simple script that can be run via a crontab entry or scheduled task. This script is [source:clientsplugin/trunk/cron/run-client-event]. === Custom Fields ClientsPlugin will automatically add some custom fields to your `trac.ini` file when it is installed. == Bugs/Feature Requests Existing bugs and feature requests for ClientsPlugin are [report:9?COMPONENT=ClientsPlugin here]. If you have any issues, create a [/newticket?component=ClientsPlugin new ticket]. [[TicketQuery(component=ClientsPlugin,group=type,format=progress)]] == Download Download the zipped source from [export:clientsplugin here]. == Source Check out ClientsPlugin using Subversion from [/svn/clientsplugin here], or [source:clientsplugin browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == Recent Changes [[ChangeLog(clientsplugin, 3)]] == Author/Contributors '''Author:''' [wiki:coling] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:''' [wiki:rjollos] [[BR]]