﻿ticket	summary	component	version	milestone	type	owner	status	created	_changetime	_description	_reporter
83	New reorder search view should limit back order to a month	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	defect		closed	2010-09-24T05:32:21+10:00	2010-09-24T20:18:53+10:00	The reorder search ignores items on back order which is great but anything that has been on back order for more than a month needs looking at again.	Gavin
85	Null pointer bug on inventory report	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	defect	Gavin	closed	2010-10-09T13:59:57+10:00	2010-10-11T13:05:12+10:00	"Which report is it, Total Value (Overview) and Detailed Value.
"	Gavin
98	"Annotation based security is easy to bypass by adding "".html' to the URL"	gnuMims - application security	trunk	0.8 - Purchasing and Inventory Improvements	defect	Gavin	closed	2011-04-16T01:14:55+10:00	2011-04-16T01:23:32+10:00	"Upstream security issue, see: http://jira.grails.org/browse/GPACEGI-41

Recommended fix is to set Config.groovy:
grails.mime.file.extensions = false

This did not leave gnuMims completely open to the world since gnuMims was configured with pessimistic security. However a logged in user may access urls that they are not authorised to."	Gavin
105	InventoryItemPurchase's can't be deleted when order quantity = 0	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	defect		closed	2011-06-30T17:31:14+10:00	2012-07-19T13:38:26+10:00	"The rollback deletion is failing.
This is working perfectly when ordered quantity > 0 but fails (and allows the order to be deleted) when order quantity = 0.

{{{
java.lang.NullPointerException: Cannot get property 'id' on null object

	at InventoryMovementService$_reverseMove_closure1.doCall(InventoryMovementService.groovy:20)

	at $Proxy16.doInTransaction(Unknown Source)

	at InventoryMovementService.reverseMove(InventoryMovementService.groovy:9)

	at InventoryMovementService$reverseMove.call(Unknown Source)

	at InventoryPurchaseService$_delete_closure5.doCall(InventoryPurchaseService.groovy:196)

	at $Proxy16.doInTransaction(Unknown Source)

	at InventoryPurchaseService.delete(InventoryPurchaseService.groovy:125)

	at InventoryPurchaseService$delete.call(Unknown Source)

	at InventoryItemPurchaseDetailedController$_closure5.doCall(InventoryItemPurchaseDetailedController.groovy:198)
}}}
"	Gavin
24	Implement inventory movement.	gnuMims - application general	trunk	0.4 - Functionality and integration	enhancement	Gavin	closed	2009-10-27T14:22:16+10:00	2009-12-09T17:11:17+10:00	"So that Inventory Items may be easily checked out via the task inventory tab.

Movement logic is now possible but user interface still needs to be improved possibly using a webflow.
Turns out a webflow was not suitable due to the way search pane works.
Easy to create our own flow though.
Done in r223, r224, r225, r226.

A task is required for movement type ""Used"" but not for other movement types such as ""Correction"" and ""Purchase Received"".

Movement ""by current user"" should also be recorded.
Done in r217."	Gavin
44	Check for and correct to ${X.encodeAsHtml()} where required.	gnuMims - application security	trunk	0.5 - Functionality and Stability	defect		closed	2009-11-28T12:33:05+10:00	2009-12-28T01:43:18+10:00	"Anywhere that user input is displayed in a page there is the opportunity for html (or worse javascript?) injection. Using ${X} directly renders the text so a user input of ""<td>nice</td>"" would change the layout of the page.

Find and correct all cases to ${X.encodeAsHtml()}."	Gavin
68	Feature request: Improve inventory searching	gnuMims - application general	trunk	0.7.1 - Feature Requests	enhancement		closed	2010-05-28T17:20:43+10:00	2010-06-07T11:18:43+10:00	"The current advanced inventory search is good for getting very specific but is too complicated for general searching. A quick search with one or two input fields is badly needed. 

The input text should be used to search:
 * Part name
 * Description
 * Comment
 * Location
 * Asset
 * !AssetSubItem"	Gavin
84	Implement inital purchase order pdf's of inventory reorder and purchases search views.	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		new	2010-09-24T20:35:55+10:00	2010-10-27T15:01:09+10:00	"The purchases pdf is essentially a purchase order since the supplier, this company (address etc) and items to be purchased are known.

The reorder view can be used to generate a ""Quote Request"" pdf.

These pdf's can be reused later when ticket #30 is implemented."	Gavin
96	Remove unused fields from InventoryItem	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-11-24T15:39:23+10:00	2010-11-25T09:11:52+10:00	"All the manufacturer*, averageDeliveryTime and alternateItems fields are hardly used and can be removed.
The alternateItems may be removed as the inventory text search is now very good. 

Data and fields can simply be dropped.

The spareFor will be retained for now."	Gavin
59	MaintenanceAction and TaskProcedure need more thought and polish	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		closed	2010-01-15T12:13:06+10:00	2011-04-15T22:38:16+10:00	Maintenance action should not have a step number since this is a procedure step number and can't be set when creating the action from the asset perspective.	Gavin
88	Implement Regulatory Task Completion on Equipmet Register Report OH&S	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		reopened	2010-10-27T15:45:39+10:00	2010-11-24T15:41:35+10:00	"Regulatory Task Completion needs to be reported for assets that have regulatory requirements.

 * This may require a new flag on the asset, also see ticket #22.
 * There is a text extended attribute that should be retained.
 * Result example: 50% (5/10)
 * A date range will now also be required for this report."	Gavin
93	Upgrade to Grails-1.3.7 framework	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		closed	2010-11-16T10:25:27+10:00	2011-05-01T15:22:53+10:00	"Test thoroughly and upgrade.

Grails-1.3.5 has a bug where the dev war is not generated correctly, this is a blocker for us and we must wait for Grails-1.3.6 to be released.

Grails-1.3.7 now available so going to that.

Checking versions and bug reports in plugins:
 * http://jira.grails.org/browse/GPFILTERPANE-5 confirmed as mostly solved in gnuMims (between 2nd date still not).
 * http://jira.grails.org/browse/GPACEGI-41 work around applied r887. A Geb regression test might be smart.

Functionality:
 * List paginate, sort and max results per page working.
 * Reports all working in grails runApp.
 * All tests passing.

Issues:
 * Reports !JasperController class not found exception for commons-digester (deployed war), fixed in r903
 * Need to check all dependencies, fixed in r902 - r906.
 * Export plugin is having some issues, fixed in r911.

Schema upgrade:
 * alter table image add constraint UN_pictureid_size unique (picture_id, size);"	Gavin
15	Implement the Inventory domain	gnuMims - application general	trunk		enhancement	Gavin	closed	2009-04-10T18:12:06+10:00	2009-05-04T01:07:56+10:00	Improve the ERD design and implement the Inventory domain.	Gavin
16	Implement the Asset domain	gnuMims - application general	trunk		enhancement	Gavin	closed	2009-04-16T17:13:35+10:00	2009-05-04T01:08:35+10:00	Improve the ERD design and implement the Asset domain. 	Gavin
1	TaskRewrite	gnuMims - application general			task	Gavin	closed	2009-03-21T07:24:44+10:00	2009-03-26T23:02:53+10:00	Rewrite the Task domain under /branches/TaskRewrite.	Gavin
2	Setup Trac, Http access to svn and multiuser ssh access to svn.	Tserver - server admin			task	Gavin	closed	2009-03-21T16:54:28+10:00	2009-03-21T16:55:07+10:00	Done, see wiki for usage.	Gavin
3	Install tserver, apache, subversion, grails, tomcat5.5, java sdk, 22Jan2009.	Tserver - server admin			task	Gavin + Steven	closed	2009-03-22T21:22:21+10:00	2009-03-22T21:45:39+10:00		Gavin
4	Create home page for website with CSS layout, 23Jan2009.	Tserver - server admin			task	Gavin + Steven	closed	2009-03-22T21:37:41+10:00	2009-03-22T21:46:00+10:00		Gavin
5	Setup tomcat5.5 with index.html and deployed app, 25Jan2009.	Tserver - server admin			task	Steven	closed	2009-03-22T21:38:45+10:00	2009-03-22T21:42:28+10:00		Gavin
6	Deploy gnuMims latest checkout to tomcat. Adjust index.html. Add contact.html, 26Jan2009	Tserver - server admin			task	Gavin	closed	2009-03-22T21:40:03+10:00	2009-03-22T21:48:43+10:00		Gavin
7	Update gnumims.org to include Services and Community links.	gnuMimsOrg - website			task	Gavin	closed	2009-03-22T22:59:02+10:00	2009-03-23T01:43:57+10:00	Also update index content.	Gavin
9	Check and set Tserver hardware clock.	Tserver - server admin			task	Gavin	closed	2009-03-23T04:50:30+10:00	2009-03-26T22:59:27+10:00	The command hwclock is not working, so needs to be set via the bios.	Gavin
14	Tserver scripting, post-commit hooks, dist-upgade, groups and democo.gnumims.com	Tserver - server admin			task		closed	2009-04-08T11:13:50+10:00	2009-04-09T16:30:14+10:00	" * Tserver has been upgraded to Lenny and all that goes with that.
 * There are now post-commit hooks on /svnrepos/gnumims and /svnrepos/gnumimswebsite. The www.gnumims.org website is automagically updated on commit and the autobuilder user builds gnuMims.war on commit to that.
 * The appropriate system groups are required for the obviously associated actions 'ssh', 'gnumimscommit', 'gnumimswebcommit'.
 * Super and sudo are used for some scripts in /root/scripto/
  * gnumimsappupdate.sh - do 'super gnumimsappupdate' to update the demo with the auto built war
  * gnumimswebsiteupdate.sh - automatically called by commiting to svnrepo/gnumimswebsite uses super.
  * gnumimsautobuild.sh - automatically called by commiting to svnrepo/gnumims builds the war on commit uses sudo.

 * Common user 'svnuser' has been created for svn+ssh access.
 * Apache setup has been massaged for new domain democo.gnumims.com"	Gavin
17	Https(ssl), phpmyadmin and split apache2 sites-available into seperate files	Tserver - server admin			task		closed	2009-04-29T15:52:12+10:00	2009-04-29T15:52:41+10:00	Sites can now be enabled/disabled individually thanks to split config files. Https is now available on port 7443. All requests to /phpmyadmin are redirected to https.	Gavin
20	Create new SVN repo, touchcodepos-test, to hold application tests.	Tserver - server admin			task		closed	2009-06-22T20:57:56+10:00	2009-06-22T21:05:57+10:00		Gavin
21	"Change ""Assinged to"" in trac tickets into a drop down list"	Tserver - server admin			task	Gavin	closed	2009-06-24T16:11:27+10:00	2009-06-24T16:12:13+10:00	"Change in all running trac instances.[[BR]]
Set ""restrict_owner = true"". [[BR]]
Then remove un-needed users: ""sqlite3 trac.db""[[BR]]
delete from session where sid = 'userName';[[BR]]
"	Gavin
18	Implement item search page for Task, Inventory and Asset menu dropdowns.	gnuMims - application general	trunk	0.3 - Asset management	task		closed	2009-05-27T14:31:14+10:00	2009-10-21T17:30:02+10:00	"Each page will have Quick and Advanced.

Quick will have pre-prepared links (Quick Links), the search criteria is mostly hardcoded and simply returns the results in a table view or has a page/requires minimal input like date range.
Example: Tasks where I am lead person, Tasks entered today.

Advanced will have all possible, applicable fields."	Gavin
12	After an update or save sometimes old/stale data/vaules are shown	gnuMims - application general	trunk	0.4 - Functionality and integration	defect	Gavin	closed	2009-04-01T05:10:05+10:00	2009-11-02T15:32:16+10:00	"A browser refresh causes the new data to be shown, so the data is persisted but just not fetched in time to show updated values after redirect.

This is not due to query caching, as previously believed. (Higher level caching is on in the global config but still needs to be turned on for each case where it is wanted).

The solution is to add flush:true to save(), implemented in r178 as per http://jira.codehaus.org/browse/GRAILS-5111"	Gavin
13	Implement audit/changelog using TaskModifications domain	gnuMims - application general	trunk	0.4 - Functionality and integration	enhancement	Gavin	closed	2009-04-01T05:12:26+10:00	2009-11-19T21:00:08+10:00	" * At least the created modification needs to be implemented and added to the show task view.
 * This link may be some help:
http://hartsock.blogspot.com/2008/04/inside-hibernate-events-and-audit.html

As of r180 the following task modifications are now recorded:
 * Created
 * Started
 * Modified
 * Completed
 * Reopened
 * Trashed
 * Restored
 * Approved
 * Renege approval

Complete as of r190."	Gavin
25	Complete recurring task implementation with quartz	gnuMims - application general	trunk	0.4 - Functionality and integration	enhancement	Gavin	closed	2009-10-27T14:24:42+10:00	2009-12-16T12:23:18+10:00	"The core classes and services have been implemented.
Some logic, refactoring, help and testing required.

Done, see r199 through r213."	Gavin
47	Filterpane bug when selecting an operator but not inputting a value for ID and Integer attributes	gnuMims - application general	trunk	0.5 - Functionality and Stability	defect		closed	2009-12-01T20:43:41+10:00	2010-02-17T16:46:55+10:00	"See bug in grails plugin filterpane: 

http://jira.codehaus.org/browse/GRAILSPLUGINS-1717
This upstream bug report has been closed and is due for inclusion in filterpane-0.6.5 which has not been released yet.

Contributed a further improvement (grails plugin rev 59495) so that user input parsing is done in a type safe way. This is now fixed in grails-filterpane-0.6.6-SNAPSHOT

Fixed at r361 by upgrading plugin to the newly release 0.6.6-SNAPSHOT."	Gavin
64	Task search returns duplicate records during pagination in some circumstances	gnuMims - application general	trunk	0.5 - Functionality and Stability	defect	Gavin	closed	2010-04-28T22:47:16+10:00	2010-05-06T17:24:00+10:00	"This only occurs with the following conditions:
 1. When not using MySQL or HSQL (i.e. using MSSQL)
 1. When hibernate criteria builder is in use.
 1. When sorting by the attentionFlag column.

The filterPane plugin and some of the quick searches were using the criteria builder."	Gavin
26	Implement Pictures for inventory items.	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-10-27T16:21:28+10:00	2009-11-10T17:56:48+10:00	Implemented in at r182	Gavin
35	Adding or removing assigned groups should trigger a modification to be recorded.	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement	Gavin	closed	2009-11-17T09:42:25+10:00	2009-12-28T01:14:00+10:00	"A task modification should be recorded for the above.

Implemented in r247, r248, r249 and r251."	Gavin
36	Store configuration settings in database	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement	Gavin	closed	2009-11-17T09:54:24+10:00	2009-12-22T13:53:38+10:00	"Create a new !AppConfig class. [[BR]]
The system can record events and configuration settings in this class.

e.g:
{{{
Class AppConfig {
    String name
    String value
}
}}}

This will be used for recording:
 * Base data created, then can be tested to disable double creation.
 * Demo data created, then can be tested to disable double creation.
 * Date formats.
 * and other configuration settings."	Gavin
37	Task should have assigned groups along side assigned persons	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement	Gavin	closed	2009-11-17T15:50:31+10:00	2009-12-24T13:45:50+10:00	" * Many assignedGroups may be added to a task.
 * Many assignedPersons may be added to a task.
 * A persons tasks would be every task that they are assigned to and every task that any group that they belong to is assigned to and every task where they are lead person.
 * Record changes to assigned groups as modifications see ticjet #35
 * Allow a targetStartDate for the assigned group? No this would then be better as a sub task.

 * The person groups now have the added benefit of acting as a training/qualification record. Since only persons trained/qualified to be in the group are added to that group.

Implemented in r239, r240, r241, r242, r243, r245."	Gavin
49	Budget status for Tasks	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-12-18T14:33:42+10:00	2009-12-28T05:01:57+10:00	" * Please consider adding budget status to tasks.
 * Currently only 2 states but may be more possible.
 * Budget plannned and budget unplanned."	Gavin
50	New report or view: Inventory Below Reorder	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-12-18T14:40:25+10:00	2010-04-13T13:29:26+10:00	"We need a quick way to find, present and print/output all inventory items below reorder point.

Fields:
 * Item, Location, last movement, last ordered, quantity in stock, buget info (last used budget category)."	Gavin
51	New report or view: Inventory Recently Used	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-12-18T14:43:00+10:00	2010-05-19T14:11:36+10:00	"We need a quick way to find, present and print/output all inventory items that have been recently used.

Fields:
 * Item, Location, last movement, quantity in stock, unit of measure."	Gavin
53	New report or view: Breakdown KPI stats per asset	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-12-22T14:05:00+10:00	2010-05-28T14:14:43+10:00	"A good key performance indicator (KPI) is the Immediate Callout (breakdown) tasks completed and the associated hours per asset.

Fields: 
Asset, !NumberOfBreakdowns(Used to calculate Reliability), !DownTime(Availability)."	Gavin
54	New report or view: Breakdown vs Scheduled task ratio	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-12-22T14:07:53+10:00	2010-05-19T14:15:59+10:00	A good key performance indicator (KPI) is the ratio of completed breakdown vs scheduled tasks.	Gavin
55	Assigned groups and persons should be copied to auto generated sub tasks.	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement	Gavin	closed	2009-12-22T17:50:20+10:00	2009-12-24T10:25:02+10:00	Implemented in r243.	Gavin
62	New report or view: Persons total work done hours	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2010-03-27T03:36:12+10:00	2010-05-19T14:13:47+10:00		Gavin
8	Website css needs updating to match application.	gnuMimsOrg - website		0.5 - Functionality and Stability	task		closed	2009-03-23T01:46:21+10:00	2009-12-18T17:14:32+10:00	Also add a mailto:contact@gnumims.com link to the footer of each page.	Gavin
63	Upgrade to Grails-1.2.2	gnuMims - application general	trunk	0.5 - Functionality and Stability	task	Gavin	closed	2010-03-27T03:39:05+10:00	2010-03-27T03:39:19+10:00	Improved stability, speed, dev options GRAILS_OPTS (JAVA_OPTS) and bug fixes and latest plugins.	Gavin
57	Better determine the use of task scheduled and approved features	gnuMims - application general	trunk	0.7 - Deployment preparation	enhancement		closed	2009-12-24T13:43:12+10:00	2010-06-07T11:14:56+10:00	"Scheduled currently does not do very much but is passed on to sub tasks from recurring parent tasks.

Approved can be set and cleared by the approve and renegeApproval actions. A modification is recored.

The scheduled flag has been removed in r567"	Gavin
65	Feature request: Adjust Task Groups	gnuMims - application general	trunk	0.7.1 - Feature Requests	enhancement		closed	2010-05-28T16:59:00+10:00	2010-06-09T11:44:47+10:00	"To assist filtering during planning.
Instead of simply ""Engineering Activities"", this group could be split up into:

 * Electrical Dayshift
 * Electrical Nightshift
 * Mechanical Dayshift
 * Mechanical Nightshift

Existing databases could be updated by an SQL query searching for assingedGroups. Additional shifts could be easily added (e.g 3 shift pattern).

Also if the Task Group and Asset fit on the current Task Search view, or a new view. A planning view that also displays the assignedGroups would also make planning easier."	Gavin
70	Feature request: Add a 'safetyRequirement' and 'mandatoryRegulatory' and 'positiveFault' flags to Task.	gnuMims - application general	trunk	0.7.1 - Feature Requests	enhancement		closed	2010-05-31T10:22:22+10:00	2010-06-10T12:11:31+10:00		Gavin
76	Inventory text search stops working sometimes with: Failed to rename index	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	defect	Gavin	closed	2010-06-28T19:16:43+10:00	2010-07-11T00:30:50+10:00	"Strace: [[BR]]
{{{
org.compass.core.engine.SearchEngineException: Failed to rename index
}}} 
This appears to be a Compass issue when the quartz scheduled (hourly) reindex job fires shortly after or while the searchable plugin has cause an index, probably after a user updated a searchable domain object.

Sometimes after a few hours the quartz scheduled rebuild completes successfully but not always.

Problem reported on the internet: [[BR]]
http://markmail.org/message/noaskbbknl3wvwkw [[BR]]
http://issues.compass-project.org/browse/CMP-677 [[BR]]
http://forum.compass-project.org/thread.jspa?threadID=215487&start=0&tstart=0 [[BR]]

Reported to upstream by us: [[BR]]
https://cvs.codehaus.org/browse/GRAILSPLUGINS-2274

Simply using index() instead of reindex() seems to prevent this bug,
gnuMims will also shift to using afterUpdate in appropriate domain classes to fire the quartz index job."	Gavin
91	Purchasing - run order price update when invoice is updated.	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	defect		closed	2010-10-27T17:06:36+10:00	2010-11-24T12:58:21+10:00	The order price is updated when the invoice is created, please ensure this logic also runs when an existing invoice is updated.	Gavin
30	Implement purchase orders	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		new	2009-11-11T20:42:44+10:00	2009-12-18T15:13:19+10:00	"Each purchase order can only be made out to a single supplier so this could be linked to from inventory items with a 'puchase from this supplier' link. This would then start a purchase order.

On receipt of items they should be easily credited into inventory with automatic creation of inventory movements and a payment approved action is required.

Purchase order events:
 * Ordered.
 * Received partial.
 * Received complete.
 * Invoice approved (approved for payment, auto on received complete?)
 * Payment made.

Purchase order numbers are supplied in batches eg P10001 - P20000 an interface and logic is required to handle this.

{{{
class PurchaseOrder {
    PurchaseOrderNumber purchaseOrderNumber
    Integer estimatedTotal
    hasMany = [purchaseOrderLineItems: PurchaseOrderLineItem]
}

class PurchaseOrderNumber {
    PurcaseOrder purchaseOrder
    String value
}

class PurchaseOrderLineItem {
    InventoryItem inventoryItem
    CostCentre(Department.costCode+SystemSection.costCode?)
    CostCode from asset type or asset.
}
}}}"	Gavin
39	CostCodes need to have persons authorised to use them	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2009-11-24T15:11:47+10:00	2010-07-25T08:29:12+10:00	Each cost code or person needs a relationship and way to authorise management and purchase on that cost code (budget or ledger account).	Gavin
42	Work flow for sharing task numbers	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2009-11-24T15:33:23+10:00	2011-02-28T21:57:03+10:00	"With the concept of the maintenance technician entering the task and the production person entering the ""fault entry"" against that task there needs to be a clear work flow for sharing these task numbers.

One way to do this would be to reserve a number of tasks (say 5) for a technician and provide a report with the task numbers and space to write down the details. The technician could then print the report and hand the reserved numbers out to production as work comes up. Using the printed report to record the details in the space provided for later entering the ""work done"" into the task number. The production person would then have a task number to enter their ""fault entry"" against at any time they wish.

Another way to do this would be to make it very easy for the production person to list the ""Immediate Callouts"" for period and production reference. As these would be the only tasks to which this applies. They would then enter faults against these tasks. The constraint on this would be that all tasks must be entered (with descriptions) before the production person came around to wanting to enter their ""fault entries"" to produce their production report.

Some CMMS systems require the production person to create the task or work order and provide this number to the technician. This often fails since:
 1. Production personnel don't know the correct asset names, technician or planner then often has to correct or adjust the task details.
 1. The production person's world is often a busy one where taking time to enter a fault before calling a technician is simply not possible.
 1. The technician should be providing a service to the customer.
 * Note: This does not apply to ""Work Requests"" of a low priority where the production person may want to enter the faults or work requests at their leasure, this functionality should still be available.

For production report see ticket #41."	Gavin
71	Remember inventoryItemPurchase search and sort.	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-06-10T16:50:51+10:00	2010-06-11T08:49:25+10:00		Gavin
74	InventoryItemPurchase requires unique constraint on purchaseOrderNumber for an InventoryItem	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-06-18T11:26:47+10:00	2010-06-18T17:01:30+10:00	With the current logic a puchaseOrderNumber may only be used once per inventoryItem. A custom contraint is required to ensure this.	Gavin
75	TODO: rename InventoryItem property 'enableReorder' to 'enableReorderListing'	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-06-22T19:18:05+10:00	2010-06-28T03:00:16+10:00		Gavin
77	Secure cost codes	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-07-11T00:30:05+10:00	2010-07-14T14:25:45+10:00	Only the Business Manager may edit and create !CostCode's.	Gavin
86	View required to show total hours scheduled for a date.	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-10-22T10:35:18+10:00	2010-11-02T09:56:21+10:00	"Using something similar to the work done view.  Add Group selection and total hours between target start and target completion date for tasks ""not started"" and ""in progress"""	Gavin
87	"Implement ""Order on Hold"" feature on reorder search view."	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		new	2010-10-27T15:09:27+10:00	2010-10-27T15:09:27+10:00	This allows a purchaser to mark items on reorder list as orderOnHold=true to indicate that this item should not be reordered at this time. The quote request pdf would also not show these items. The only audit requirement at this stage is a person and date stamp.	Gavin
90	Inventory items - recommended reorder	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-10-27T16:47:54+10:00	2010-11-23T08:18:27+10:00	recommendedReorderPoint is not used and can be renamed to reorderQuantity.	Gavin
97	Drop the entire Manufacturer domain concept	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement		closed	2010-11-25T09:11:22+10:00	2010-11-25T12:08:55+10:00	Following on from ticket #96, the entire Manufacturer domain class is hardly used and can be removed.	Gavin
106	PM Entry time not being counted in Reactive Ratio report	gnuMims - application general	trunk	0.9 - General Improvements	defect	Gavin	new	2014-06-23T18:48:19+10:00	2014-06-23T18:48:19+10:00	On task with a procedure the PM Entry time is not being counted on the Reactive Ration report.	Ross Challinor
66	Feature request: Calendar view to shown assignedGroup totals	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		new	2010-05-28T17:08:43+10:00	2010-10-27T15:26:20+10:00	"Currently the task calendar view is not particularly useful due to the shear number of tasks on each day. Even with filtering showing the tasks on the calendar actually provides less information than the list view.

However displaying the assignedGroup and perhaps assignedPerson hh:mm totals on the calendar may prove very usefull."	Gavin
81	Inventory unit price selection requirments need to include kg	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		closed	2010-07-28T14:01:59+10:00	2010-08-01T20:53:53+10:00		Ray Smith
82	Ability to select task assets from asset tree	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		new	2010-08-01T21:06:40+10:00	2010-08-01T21:06:40+10:00		Gavin
92	Working Shift feature required	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		new	2010-10-28T14:17:18+10:00	2010-10-28T14:23:35+10:00	"Currently the taskGroup is used as ""Electrical Dayshift"", ""Electrical Nightshift"". This should factored out into a WorkingShift table and a task.workingshift field should then be used for this assignment.

When a person logs in they should be able to select their current shift and see only those logs. 

{{{
class WorkingShift {
    @indexed // Is auto indexing available?
    String ref // A constant used for lookup, e.g: dayshift.
    String name // Language free, e.g: Dayshift, Nightshift.
    String description = """"
    Integer startHour = 0 //24hr format, e.g:06
    Integer startMinute = 0 //24hr format
    Integer finishHour = 0 //24hr format, e.g:18
    Integer finishMinute = 0 //24hr format
    Integer startFinishMarginHour = 2 //margin in hours.
}
}}}"	Gavin
95	New yellow pendingResolution flag on Tasks	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		new	2010-11-18T16:32:07+10:00	2010-11-23T08:07:25+10:00	"Currently a red flag is used for attentionFlag, a yellow attention read/noted/hold flag would be nice too. Or another group to put holding flags in.

New modifications will also be required.
New dynamic task search ""New Flag's"" and ""Pending Resolution""

Secondly require a work done entry when clearing flags."	Gavin
102	"Security regression tests for bypass by adding "".html' to the URL"	gnuMims - application security	trunk	0.9 - General Improvements	enhancement		new	2011-05-02T07:19:14+10:00	2011-05-02T07:20:57+10:00	"Add regression functional tests as per ticket #98 and r888.

These include testing GET url's which the logged in user should not have access to, by appending to the url ('index.', 'index.html', 'index.xml', 'index..', 'index.gsp', 'index/index' etc)."	Gavin
79	Reminder: Test CSV import functions and stop/start searchable index	gnuMims - application general	trunk	0.x - Future	defect		new	2010-07-14T15:45:17+10:00	2010-11-25T14:11:10+10:00	"Several changes have happened in the last few milestones that may require small adjustments to the CSV import functions. There is also a new CSV grails plugin that may be of interest. Tests should be written if possible.

Inventory import function improved in r721 - turn off searchable index mirroring during import and manually tested."	Gavin
29	Pictures for online demo and when running in dev mode	gnuMims - application general	trunk	0.x - Future	enhancement		closed	2009-11-11T20:34:42+10:00	2010-07-10T23:10:42+10:00	WebAlbum does this so look for example there.	Gavin
32	Show only the non-detailed controllers in 'admin' view	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-11-11T20:58:31+10:00	2009-12-16T12:12:34+10:00	Should be able to use the grep taglib or a controller regex to do this.	Gavin
33	Fault entries and work requests.	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-11-17T09:07:30+10:00	2010-11-24T15:10:15+10:00	" * Fault entries are basic entries from the customer reporting a fault.
 * This fault or work request would be non-critical otherwise a callout would have occurred instead.

 * One way to do this would be to have a standing task that fault reports can be made against. These could then be moved to an appropriate task or a new task created for the fault.
 * A better way is to create a task when the fault is entered and populate the task description either from an entry field or the fault."	Gavin
34	Task overdue/warning flag	gnuMims - application general		0.x - Future	enhancement		new	2009-11-17T09:30:59+10:00	2010-10-27T15:35:48+10:00	"Concept idea: overdue/warning flag for tasks that are overdue by priority and target start date. This flag should be automatically set by the system.

 * Target dates are targetStart and targetCompletion.
 * !TaskPriority#overdueIn may be 1=24hr, 2=48hr, 3=72hr (3 shifts), 4=none.
 * See also ticket #22 for priority sourced from the primaryAsset.

"	Gavin
38	A way to assess and record the condition severity of an asset when performing a preventative maintenance task	gnuMims - application general	trunk	0.x - Future	enhancement		closed	2009-11-23T16:39:49+10:00	2011-04-16T04:44:25+10:00	"When performing a preventative maintenance task that has a procedure, it would be nice to be able to record the assessed condition of the asset/assembly/component specified in each maintenance action.

In the current configuration a task is the smallest unit that can hold this information.

{{{
class ConditionSeverity {
    String code
    String recommendation
}
}}}

Base data:
{{{
Code-Recommendation
A  - Normal Monitoring
B  - Increase Monitoring
C  - Replace 2-6 weeks
D  - Replace 1-2 weeks
}}}

Possibly a 'recorded condition' domain class could be created and used:
{{{
class ConditionRecord {
    MaintenanceAction maintenanceAction
    Date dateRecorded
    ConditionSeverity conditionSeverity
}
}}}

Recording the condition of each maintenanceAction in the database has been decided against, for now, in favour of recording the worst condition severity against the task. Printing the taskProcedure out and keeping the paper copy will suffice as report and audit trail is supplied by !TaskProcedureRevisions.

'Work Performed', 'Part Changed' and 'Part Repaired' are separate conditions that will be indicated by an inventory item used on the task.
"	Gavin
40	Feature to assemble a 'work order' from task	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-11-24T15:15:22+10:00	2009-12-18T14:52:53+10:00	"Tasks are great but some work flows are based around work orders.
An pdf button that creates a work order from the task, procedure and sub tasks would be nice to have."	Gavin
41	Production report from fault entries	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-11-24T15:33:09+10:00	2011-02-28T21:16:55+10:00	"If a production person entered faults against tasks then these faults could be assembled into a production report simply all tasks with ""Immediate Callout"" and that production reference would be the production report for that production."	Gavin
43	Base type domain classes should have caching enabled	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-11-28T11:07:16+10:00	2009-12-18T14:55:07+10:00	"The '*Type' classes that don't change often should have caching enabled to improve performance.
 * Period
 * !TaskType
 * etc

To turn on hibernate second level caching for these classes do something like:
{{{
static mapping = {
	cache true
}

or limit caching to non-lazy:
cache usage:'read-write', include:'non-lazy'
}}}
"	Gavin
46	Reminder: Check for optimistic locking in edit views	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-12-01T01:17:31+10:00	2010-11-24T15:23:33+10:00	Check and ensure that optimistic locking is in the edit views and that it is working.	Gavin
56	An improved way to assign a parent to an existing task is required	gnuMims - application general	trunk	0.x - Future	enhancement		new	2009-12-24T13:21:35+10:00	2009-12-24T13:58:21+10:00	"Removed/commented out the ability to change the parent task in r246, since this currently just lists all tasks and becomes very slow with larger task numbers.

The ability to assign a parent to an existing task may not be immediately required but certainly would be good to have.

At the very least the !TaskService.possibleParentList needs to be smarter and not return ALL tasks."	Gavin
60	Make the asset tree more flexible by changing Section to self referencing	gnuMims - application general	trunk	0.x - Future	enhancement		new	2010-03-16T22:28:56+10:00	2010-03-17T09:53:15+10:00	"This is a very good idea and would make the asset tree depth that extra bit more flexible. This could be setup similar to the way an Asset can have as many depths of Sub Items as required.

Example:
 * Company
  * Region
   * Site
    * Section

Company and Region are currently not catered for, while Section already has a Department.

This affects:
 * Database schema.
 * Asset tree taglib as accessed from the tree icon on the main nav.
 * The asset tree import and export functions.
 * Cascase deletion and updates.

Hence placing in future milestone for now."	Gavin
89	Contractor management	gnuMims - application general	trunk	0.x - Future	enhancement		new	2010-10-27T15:55:05+10:00	2010-10-27T15:55:54+10:00	There is a Service inventory type and supplier (new service type for supplier?). Service info pack could be added/linked to one of these. The pack would contain audit info on inductions and insurance expiry dates. This info would be used to raise an overdue warning.	Gavin
94	Inventory item audit with expiry	gnuMims - application general	trunk	0.x - Future	enhancement		new	2010-11-16T13:22:45+10:00	2010-11-16T13:22:45+10:00	"To update inventory item data (e.g. recommended reorder levels).

Currently a continuous cycle of review is used for any inventory item that is accessed.

This could be improved by implementing an Inventory audit with expiry feature. This is most valuable when the reordering is done by administration staff."	Gavin
103	Labour Utilisation reports	gnuMims - application general	trunk	0.x - Future	enhancement		new	2011-06-30T16:19:22+10:00	2011-06-30T16:19:22+10:00	"Labour Utilisation is very useful management information.
 * A report similar to the Reactive Ratio report layout with blue in place of the amber wedge for Non Preventative.
 * A report similar to the Reactive Ratio report layout with total Labour Utilisation = Preventative + Scheduled + Unschedulded + Immediate + Project + '''Unused'''"	Gavin
19	Investigate CI and testing frameworks	Tserver - server admin	trunk	0.x - Future	task		new	2009-05-27T15:02:05+10:00	2011-04-06T03:54:44+10:00	"Find, analyse and start to implement a testing framework.

We currently have a script based continuous build on svn commit (this was disabled due to VPS load). The build is now manually triggered using the same scripts.

Try trac-bitten CI as it is now in Debian Squeeze.
http://bitten.edgewall.org/wiki/Documentation/install.html"	Steven
58	Reminder: check for and correct to ${X.encodeAsHtml()} where required.	gnuMims - application general	trunk	0.x - Future	task		new	2009-12-28T01:39:42+10:00	2009-12-28T01:39:42+10:00	"This is a reminder for the original ticket #44.

This reminder is to ensure ongoing vigilance in this area."	Gavin
11	Implement home page view and navigation	gnuMims - application general	trunk	0.3 - Asset management	task	Gavin	closed	2009-03-29T22:17:09+10:00	2009-10-21T17:17:56+10:00	"Implement navigation menus for ""Tasks"", ""Inventory"", ""Assets"" etc
For example ""Tasks"" menu item could have Search, New, Today etc."	Gavin
10	"Beware that unix command names are all lower case ""gnumims"" not ""gnuMims"""	gnuMims - application general	trunk	0.4 - Functionality and integration	defect		closed	2009-03-23T16:02:56+10:00	2009-11-11T20:25:10+10:00	"See here for project names:
http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/naming.html

Fancy ""marketing"" names may be ok in documentation but on the command line the are clumsy.
Discussion and comments?

Well gnuMims being a webapp is unlikely to ever have a command line interface and if it did it would simply be gnumims or gnumims-admin like trac and svn. !GnuMims may be written with a starting capital if it starts a sentence otherwise gnuMims is working just great."	Gavin
27	Task filter does not return any tasks when between is used for dates	gnuMims - application general	trunk	0.5 - Functionality and Stability	defect		closed	2009-11-10T17:54:27+10:00	2010-02-17T16:47:59+10:00	"This is possibly a bug in the upstream filter-pane plugin which is marked as closed but seems to be affecting gnuMims.

http://jira.codehaus.org/browse/GRAILSPLUGINS-1320 (Due for inclusion in filterPane-0.6.5)
http://jira.codehaus.org/browse/GRAILSPLUGINS-985 (old)

Upstream has indeed fixed this, contributed another fix to allow filterpane plugin to work with Grails-1.2.1 and released a snapshot of the plugin.

Fixed at r361 by upgrading plugin to the newly release 0.6.6-SNAPSHOT.
"	Gavin
28	When viewing inventory item pictures with Lightbox resize is not always correct in IE	gnuMims - application general	trunk	0.5 - Functionality and Stability	defect		closed	2009-11-10T18:21:06+10:00	2009-12-03T12:54:16+10:00	"This works 100% in Firefox so is an IE bug and requires a work around.

If the browser is refreshed then Lightbox size is correct.

Possible fix in r189, still requires testing in IE.

Fix tested and works like a charm."	Gavin
31	Remove the auto inserted login credentials and message in production mode.	gnuMims - application general	trunk	0.5 - Functionality and Stability	enhancement		closed	2009-11-11T20:57:11+10:00	2009-11-20T15:15:13+10:00	"Wrap these in a <g:if env=""production""> tag.
"	Gavin
67	Feature request: Indication on Task tabs	gnuMims - application general	trunk	0.7.1 - Feature Requests	enhancement		closed	2010-05-28T17:15:02+10:00	2010-06-07T12:36:51+10:00	"Indicating if a Task tab has something of interest on it would be nice.

The RichUI plugin used for tabs does not have any built-in way of doing this so a patch to upstream or a completely separate way of indicating this is required. The tabs are preloaded so it does not take long to click through them but when doing this on a large number of tasks it can be a little time consuming or details can be missed."	Gavin
69	Feature request: Red banner for obsolete inventory items	gnuMims - application general	trunk	0.7.1 - Feature Requests	enhancement		closed	2010-05-29T12:01:23+10:00	2010-06-08T18:16:34+10:00	The same banner that appears on the show task view when in trash.	Gavin
72	Add resource numbers to assigned group	gnuMims - application general	trunk	0.8 - Purchasing and Inventory Improvements	enhancement	Gavin	closed	2010-06-11T12:58:31+10:00	2010-11-24T15:28:22+10:00		Ray Smith
45	Make dataFormat a global in Config.	gnuMims - application general	trunk	0.9 - General Improvements	enhancement		new	2009-11-28T12:41:43+10:00	2010-08-01T21:01:28+10:00	"In Config.groovy place a global.dateFormat='EEE, dd-MMM-yyyy'.

Then find and replace all cases of the string with the global variable:
 * ${grailsApplication.config.global.dateFormat}
 * or
 * import org.codehaus.groovy.grails.commons.*
 * !ConfigurationHolder.config.global.dateFormat"	Gavin
73	Change primary/associated assets	gnuMims - application general	trunk	0.9 - General Improvements	enhancement	Gavin	new	2010-06-11T13:01:32+10:00	2010-08-01T21:09:37+10:00	Only require multiple assets. Multiple assets may be added to a task, primary/associated differentiation not required.	Ray Smith
80	I'm in! very exciting - right the ticket - add ability to filter by person completing work or a date range	gnuMims - application general	trunk	0.9 - General Improvements	enhancement	Gavin	closed	2010-07-27T12:11:43+10:00	2010-11-24T13:47:09+10:00		Ray Smith
22	Asset priorities and mandatory registration and testing.	gnuMims - application general		0.x - Future	enhancement		closed	2009-10-05T10:18:58+10:00	2010-11-16T09:20:25+10:00	" * Priority 1 is regulatory compliance.
 * Priority 2 – Hidden functions ( critical assets), etc......   

For priority 1 assets having a drop down field or a check box where mandatory registration and testing required, registration renewal date can be selected is a feature that we should have.   For example, High pressure vessels, cranes, etc would be asset that require distinction.  You might wonder why this may be needed?  A few reasons, 1 there is a prompt to personnel for regulatory requirements and 2 often audits want a list of assets that require registration.

Also see ticket #34."	Gavin
52	Production reference	gnuMims - application general	trunk	0.x - Future	enhancement		closed	2009-12-18T15:15:21+10:00	2010-07-14T14:38:58+10:00	 * Please consider adding a production reference to tasks or faults.	Gavin
61	Rotable equipment management	gnuMims - application general	trunk	0.x - Future	enhancement		new	2010-03-27T00:12:28+10:00	2010-11-24T15:20:31+10:00	"Most of the 'big' CMMS systems have rotable equipment/inventory management. This could be as simple as location tracking or include full overhaul reports, repair specs/procedures, history of cost, quote, repair details, failure intervals. ID Tags, stamps, barcodes, data dot and even RF ID chips may be used to id equipment.

This is a wish list item as rotable management is an advanced maintenance practise and even large companies struggle with it, since gnuMims is aimed at mid-size sites, there may be minimal call for this feature.

The most basic implementation is to have a text field where the item it may be entered on breakdown/repair tasks. A more complete implementation would have inventory items of type rotable and the locations tracked in the asset tree.

The current implementation is to place the equipment id in the task description and assign the task to an asset while using a separate inventory item for repaired. This means the task(s) can be found with minimal effort(2 search fields: asset and description) and repaired inventory item failure rates vs new items can be tracked."	Gavin
78	Reminder: Update import functions to stop/start searchable index	gnuMims - application general	trunk	0.x - Future	enhancement		closed	2010-07-14T15:41:55+10:00	2010-11-25T14:15:07+10:00	Searchable index was added after the import functions were written and importing while searchable index is mirroring is slower than with it off. There are start and stop methods in !CreateDataService.	Gavin
99	Upgrade filterpane plugin to version 2	gnuMims - application general	trunk	0.x - Future	enhancement		new	2011-04-29T06:30:38+10:00	2011-04-29T06:30:38+10:00	"Many enhancements, upgrade info:
http://www.grails.org/plugin/filterpane"	Gavin
100	Upgrade acegi plugin to spring-security-core	gnuMims - application general	trunk	0.x - Future	enhancement		new	2011-04-29T06:33:27+10:00	2011-04-29T06:33:27+10:00	"Acegi plugin is obsolete.

Upgrade section in docs:
http://www.grails.org/plugin/spring-security-core"	Gavin
101	Upgrade jasper plugin	gnuMims - application general	trunk	0.x - Future	enhancement		new	2011-04-29T06:39:20+10:00	2011-04-29T06:39:20+10:00	"Jasper-1.2.1 plugin uses Grails-1.3.0 > * and Jasper-4.0.0

http://www.grails.org/plugin/jasper

Jasper 4 is a big improvement in the jasperserver but apparently not a major api change for the jasper lib report engine. 

Therefore upgrading reports should not be too hard. In the past I have had success with simply opening the report with iReport of the correct version and saving.
"	Gavin
104	Best Practise figures should appear next to actuals on reports.	gnuMims - application general	trunk	0.x - Future	enhancement		new	2011-06-30T16:38:26+10:00	2011-06-30T16:38:26+10:00	"Best Practise figures are well known for many reports.

These can easily be included in reports, along side the actuals.
 * Reactive Ratio: 85% Preventative to 15% Reactive(Immediate Callout)
 * Utilisation: 20% Unused etc
 * Completion Rate."	Gavin
48	The new gnuMims logo has a poor gradient or jaggered appearance in IE	gnuMims - application general	trunk	0.5 - Functionality and Stability	defect		closed	2009-12-01T22:10:34+10:00	2009-12-01T22:15:50+10:00	"Found that this is due to an IE bug when the PC's dpi is set to 120 instead of 96 or color is 16 bit instead of 32bit. Note that other image programs in windows handle this ok. For more info see:

http://www.wpdfd.com/forums/wpdfd/browsers/poor_quality_images_in_ie/"	Gavin
