Groveller is configured using the following entries.

This will require editing some of the ClickHome System Settings.

  1. Groveller is turned ON using the ClickHome Setting ClickHome.Groveller.Monitoring = TRUE

  2. The user account which ClickHome Service runs under must have read/list/execute permissions to the path that it monitors, or paths that it scans.

  3. The Main Paths must be configured using the ClickHome Setting ClickHome.Groveller.MonitorPath - mlargetext example C:\Clientfiles;\\IMGAPP01\Estimating if you are monitoring two different sites

  4. The list of known extensions must be configured using the ClickHome.Groveller.Extensions in Text 1 - separated by ; eg .doc;.txt;.xls;.jpg;.dwg;.jpeg;.pdf;.docx;.xlsx;.xls

  5. ClickHome.Groveller.BufferSize this is an increment of 4096 bytes. and allows you to set the memory usage of your groveller system, allowing more items to be monitored at the same time. The higher the memory setting the more changes Groveller can capture.

  6. A list of all Path Searches must be configured also under Groveller Paths

    1. Display must contain the Document Category examples (see Document Categories in Intro to Documents)

      1. Variations

      2. Specifications

      3. Contracts

    2. Text 1 must be a suitable Regular expression please see examples of regex wiki [TEST REGEX]

    3. Order is the sequence in which to process the paths - it will only use the first matching expression.

    4. SgValue must contain the JobType that you want it linked to.

Match using Doc Template Matches

Create a new record in tblDocTemplateMatches with fkidTemplate = your Contract Template id, fkidTemplateItem = your Template Task id, and sgDocFileMatch = [\\]Reports[\\](?<FileName>.+)\.pdf$ this is your Regex to match any certain files in a certain folder.

PO Matching of Documents

If you have PO Matching enabled and your accounting system generates a PDF or other electronic document copy of the PO that you want to keep and transmit to your suppliers, you can have the accounting system save the PO documents onto a network share, and then ClickHome Groveller can scan and monitor that folder, and using the PO reference number from the POs that have been integrated into ClickHome, match this to the files. These are then linked directly to the PO record, and can be shared via JobFile, or via Callups.

We want to add a new matching section called PONumber

A company will save PO's into a directory such as


We would extract the 12345 as the ContractNo
We would extract everything after the POs and before the .pdf as the PONumber
We would have something in the regex that expected the \POs\ and this determines the correct document category.

We examine tblPOWorkItemLinks where cdMatched on is equal to R and the PO Matching template rule says Distribute and the link points to a POHeader with the matching PO Number... and the other end of the link points to a workitem..

Then like normal groveller stuff - we import the document to the tblDocuments and create whatever notifications.. the way we normally do, but we populate the fkidWorkItem (we may have to do multiple records since the PO may be matched to multiple tasks).

When we get a document event firing... and we do the normal groveller match we must also look at the contract we match to, find the fkidTemplate from it, and then find all of these matching DocTemplateMatches where fkidTemplate = contract.fkidtemplate

Then - for each one in this list, we run a regex over the document name and match it to the sgDocFileMatch field. If we match, then we get the fkidtemplateitem and from the contract list of work items, find the task(s) where the fkidtemplateitem of the task equals fkidtemplateitem of the doctemplatematch

If we find a task, then if the bContractLevel field is true (1), then import the document as normal at the contract level (fkidworkitem = null), and then add another tbldocuments record with the same fields, except the fkidDocCategory = 0 and the fkidworkitem is the idworkitem of the task.

If we find a task and the bcontractlevle field is false (0), then import the document only at the task level ie both fkidcontract and fkidworkitem as specified, and the fkidDoc Cateogyr is set from the tbldoctemplatematches if it is not null.