wiki:TracFormsPlugin

Version 52 (modified by Rich Harkins, 16 years ago) (diff)

--

Provides forms anywhere there is a wiki

Notice: This plugin is unmaintained and available for adoption.

[download:tracformsplugin Download] Documentation Source Features & Bugs Report an Issue Guestbook?

Description

This plugin aims to allow for forms anywhere there is a wiki. This is meant to supersede the previously limited-scope ChecklistPlugin.

If you're using TracFormsPlugin, why not stop in and sign the Guestbook? and tell us how you're using it?

Release Status and Download

Stable Version tracformsplugin/tags/tracforms-0.1.2 [download:tracformsplugin/tags/tracforms-0.1.2 download] subversion
Under Development tracformsplugin/branches/tracforms-0.2 [download:tracformsplugin/branches/tracforms-0.2 download] subversion

tracformsplugin/trunk [download:tracformsplugin/trunk download] will always mirror the current stable version.

You can also download the entire project [download:tracformsplugin here], or checkout a copy using subversion.

See installation below for details on how to install and configure the plugin.

Example and Documentation

Also consider viewing the online tutorial or the documentation (docs still under development)

Let's start by looking at a simple laundry list. This list will be automatically bound to whatever page it appears in by default (this can be configured). Once the plugin is installed, simply edit a new wiki resource called Sandbox/LaundryList and chuck this in:

== Laundry list example ==

{{{
#!TracForm
#
# An example of a TracForm.  The first lines can be commentary or #! commands.
#
#! track_fields

|| || '''Who''' || '''When''' || '''What''' ||
|| [tf:wash] || [tf.who:wash] || [tf.when:wash] || Wash Clothes ||
|| [tf:dry] || [tf.who:dry] || [tf.when:dry] || Dry Clothes ||
|| [tf:fold] || [tf.who:fold] || [tf.when:fold] || Fold Clothes ||

}}}

Once saved, you should get something looking like this:

Example of blank laundry list

From here, you can check some things and click "Submit Query" you'll see the fields change. After a few clicks it might look like this:

Example after a few checks.

Now, if you thought that was neat, make sure you have the IncludeMacro installed and fire up a new wiki page Sandbox/LaundryListUser with the following:

[[Include(Sandbox/LaundryList)]]

Note that the form is blank and you can play with the results again. This is because the default context for the form is the page URL itself! That means that as long as a form is included on a different page (and the default context is not overridden), then each page including gets its own version of the form's results. This works particularly well with PageTemplates.

Now, for more fun, do the same thing in a ticket. Once submitted, every ticket including the template will contain it's own checklist. One obvious use for this is when creating a svn commit checklist. Simply put the checklist in the appropriate wiki location, create tickets that include the location, and voila, instant commit step-by-step. Once enough of the form becomes exposed, we should be able to work this into the workflow too (no resolving before at least paying lip service to the checklist).

There is much more planned for this plugin than simply checklists. See TracFormsPlugin/Docs for more information on the various ways to use this tool.

Bugs/Feature Requests

Existing bugs and feature requests for TracFormsPlugin are here.

If you have any issues, create a new ticket.

Installation

Once you have downloaded the source, do the following (your mileage may vary on the actual directory names depending on what you downloaded):

cd tracformsplugin
cd trunk
cd 0.11

For older versions or ones still in development, cd into tags and then into the desired version. For example, to use the 0.1 version:

cd tracformsplugin
cd tags
cd release-0.1
cd 0.11

Method 1: Lay an egg

From here, you can do one of two things. The first is building an egg to drop into your project's plugins directory or your master project's plugins directory (replace or define $TRACENV_DIR with your project's base directory):

python setup.py bdist_egg

cp dist/TracForms-0.1-*.egg $TRACENV_DIR/plugins/

Method 2: Full install

Or, you can build and install and enable the right bit in the configuration file (replace or define $TRACENV_DIR with your project's base directory):

python setup.py install
vi $TRACENV_DIR/conf/trac.ini

Within here, locate (or create) your [components] section and add the following:

 [components]
 tracforms.* = enabled

Upgrading the database

Either of the above methods require a database upgrade...

trac-admin $TRACENV_DIR upgrade

Recent Changes

16960 by rjollos on 2017-11-06 23:38:37
TracForms 0.5dev: Remove debug print statement from r16386

Refs #13319.

16958 by rjollos on 2017-11-04 22:59:37
TracForms 0.5dev: Log exception from macro

Refs #13319.

16954 by rjollos on 2017-11-03 17:41:27
TracForms 0.5dev: Show traceback on exception

Refs #13319.

(more)

Author/Contributors

Author: rharkins
Contributors:

Attachments (2)

Download all attachments as: .zip