About DocUpdate | Interface | Dates format | Variables | Files

About DocUpdate
DocUpdate is an open-source free software program licensed under the GNU GPL. It is wrote by Mathieu Bertin. Your participation will be greatly appreciated.
DocUpdate keeps you informed about the latest documents created and updated by your co-workers. When you work with intensive exchanges multi-partners teams. Your team use a file network to exchange documents. Many co-workers use and update them at any time. You may not have enough time to ask them every time you need to find a document and coordinate your team to know which version of a document is to be used by everyone and your co-workers do not have to time to announce you and whoever could use their work. You do not want to miss a document update, DocUpdate will help you to be more productive and stressless.
Take a look at the website to get the latest release of DocUpdate. A forum is opened if you need support.

Interface
the main window of DocUpdate
This window shows the main window of DocUpdate.
It is composed with a dropdown list wich enable the user to switch to a different context. Then files will be searched for the selected context. You can also press the 'Refresh' button to refresh the search results for the same context.
There is also a 'Search' text box to quickly find a result containing the searched expression. The 'Next' button will search the next occurence from the selected cell. Note that when you hit Enter from the 'Search' text box, the search will start from the beginning.
You can double-click in the cells of the results table to activate proper features. If you double-click on the file name (1st column), it will open the document (file/directory). If you double-click on the directory name (4th column), it will open the parent directory selecting the specific document. If you double-click on the 2nd or the 3rd column, it will display informations on the files and the last user who modified it.
There is also a 'open the next file directly' check box. When it is activated, you will open the file directly from its own support. This will grant you to make modifications to the file but this can also prevent other user from opening it if your application lock it while you opened it. When it is not activated, your document will be temporarily copied locally to avoid modifing the original file and permitting regular writters to make their job.

Dates format
Dates are used in settings files. They can be relative or absolute.
An absolute date refers to a local date with to following ISO format :
yyyy-mm-dd hh:nn:ssZ (the last letter must be a 'Z')
  yyyy : desired year 4-number year (example : 2009)
  mm : desired month number (01=january)
  dd : desired day number in month (01 is the first day of the month)
  hh : desired hour
  nn : desired minute
  ss : desired second
  A relative date refers the current time. Only positive numbers can be used.
yyyy-mm-dd hh:nn:ss (this NOT ended with a 'Z' letter)
  yyyy : number of years from the present back in the time
  mm : number of months (can be greater than 12)
  dd : number of days (can be greater than 31)
  hh : desired hour (can be greater than 24)
  nn : desired minute (can be greater than 60)
  ss : desired second (can be greater than 60)

Variables
Environments variables plus system variables can be used to define directories path. They depend of your system.
You can list all available variables by setting the value 'disableVariablesListing' to 0. They will be logged in the 'global.log' file.

Files
All settings files are Unicode and UTF-8 text formatted easing interoperability. To customise these files I recommend you Notepad++ a very popular GNU GPL program.
Each file are organized as SQL-tables. Each line represents independent datas. At each line, a diffent number of columns can be used. Each column is separated by a semicolumn (;).
Here are the settings files :
File Description
settings.conf This file contains the main settings. This is this first read file.
contexts.conf This file defines all contexts. Contexts appear in the dropdown listbox and allow you to switch to another work context.
This will help when you work in a multiple projects environment.
<contexts files> Those files are located in the 'contexts' directory. They file search patterns, directory and other search criterias.
hidden-files.conf This file gathers ECMAScript regular expressions to hide useless files from your searches.
owners.conf This file can be used to translate files owner into human readable strings.
This will also help if you work in a company which uses codes or IDs instead of real human names.
language.conf Those files are used to make DocUpdate talk your language. They are located in the 'lang' directory.

settings.conf
This file contains the global settings. Here are the values used in this file and what they mean.
Value Default data Acceptable range Description
configFileContexts contexts.conf a file with absolute or relative path Location of the contexts file (1 column is required)
configFileHidden hidden-files.conf a file with absolute or relative path Location of the hidden files description file (1 column is required)
configFileLanguage lang\language.conf;lang\language-${LOCALE}.conf a file list with absolute or relative path Location of the hidden files description file (multiple columns can be used). A description file can contain the "${LOCALE}" variable. ${LOCALE} will be replaced with your local 3-letter language country id. For instance, French systems uses 'fra'. In case your 3-letter language country is not known by DocUpdate, the default English language file will be used. The default value contains 2 columns. The first column is the default language file (in English) and the second one is a generic file automatically detected. All variables can be used.
configFileOwnersNames owners.conf a file with absolute or relative path This file contains optional data used to translate files owners names. This is particularly usefully when owners names are no easyly human readable. For instance, you would prefer to see 'User name' instead of 'DOMAIN\user1234'.
cacheDefaultOpenDirectly 0 0 (open a cached copy) or 1 (directly open the file) When set to 0, the file his locally copy before being opened. This ensures that no modifications will be made to the original file and that the file will not be locked for other people. Users who require to make modifications to a file will have to check the box in the application.
cacheAlwaysRestoreDefault 1 0 (false) or 1 (true) If set to 1 when a file is opened, the check box mark is restored to the original 'cacheDefaultOpenDirectly' value. This is a way to incite people cache file or directly open them. You can also disable this feature.
cacheDirectory %TEMP%\DocUpdate a directory path This is the place where files are cache copied. Please note that all files in this directory can be deleted when the application quits. All variables can be used.
cacheTimeToKeepFiles 0000-00-07 00:00:00 YYYY-MM-DD HH:MM:SS The default setting will keep cached file for 7 days for the time they where last modified on the original support. This data is a relative date. All values (YYYY, MM, DD, HH, MM and SS) are required and must be positive numbers.
disableVariablesListing 0 0 (traces enabled) or 1 (traces disabled) When set to 0, this value will add traces in the 'global.log' file at the program startup. This listing can be usefull to help setting program files.
translateOwnerNames 0 0 (disabled) or 1 (enabled) This value will active the files owners names translation. DocUpdate will search into owners.conf for owners names and replace them with associated value.
requestActiveDirectoryNames 1 0 (ignores AD) or 1 (requests AD) When 'translateOwnerNames' and 'requestActiveDirectoryNames' are enabled, the application will try to replace NT account names with AD'fullnames and descriptions. ActiveDirectory responses are stored in the 'activeDirectory.cache' file (this file can be safelly removed).
disableUnknownOwnerTracing 0 0 (traces enabled) or 1 (traces disabled) When set to 0, this value will add traces in the 'global.log' file when it detects that a file owner translation has not succeeded. This will be usefull if progressively fill the owners.conf file. For better performances, you can set this value to 0.
showHiddenFiles 0 0 (disabled) or 1 (enabled) This will include hidden files in search results.
showSystemFiles 0 0 (disabled) or 1 (enabled) This will include system files in search results.
nbMaxEntries 1000 0 < nbMaxEntries < not a too big number This value limits the search results in order to avoid memory or slowness troubles.
contextsDirectory contexts\ a relative or an absolute directory path. It must be terminated with a slash. This path indicates where all context files are.
disableLogging 0 0 (log enabled) or 1 (disabled) Record all events, errors and debugging information in the file 'global.log'.

contexts.conf
This file gathers the different contexts definition files which DocUpdate can use to find files. Each line represents a different context. You may use as much context as you want.
Here are the column values used in this file and what they mean.
Column number Example Acceptable range Description
1 project A specifications any text string, required Context label which appears in the dropdown listbox
2 contexts\project-A-specifications.conf any text string, required Location of the context file. All variables can be used.
3 2009-05-01 00:00:00Z An absolute or a relative date can be set, optional. This value will restrict results according to the last modification date of documents. For better performances, you can set this value to a date not too far at your convenience
An example is provided in the default installation. This could help you writting your own 'contexts.conf' file.

context files
Column number Example Acceptable range Description
1 file {file|dir}, required This will indicate if you want to see files names or directories names in the results panel.
file = searchs for files, dir = searchs for directories. All variables can be used.
2 *.txt a file search pattern, required This is the search pattern used to find files or directories according to the 1st column value.
3 RECURSIVE {RECURSIVE|}, optional When set to RECURSIVE, the search will be find all documents in all sub-directories. It is advised that you only set the specific directories your are interested in avoiding the use of this setting in order to get better performances.
4 2009-05-01 00:00:00Z An absolute or a relative date can be set, optional. This value will restrict results according to the last modification date of documents. For better performances, you can set this value to a date not too far at your convenience
Some examples are provided in the default installation. This could help you writting your own contexts files.

hidden-files.conf
Column number Example Acceptable range Description
n \.lnk$ an ECMAScript regular expression.
One column is required.
Use regular expression to hide files and directories from results.
You can use multiple columns to cumulate tests and build a complex exclusion.

owners.conf
Column number Example Acceptable range Description
1 BIGCOMPANY\JS0123456 a NT account, required This is the NT account of documents owners. If you do not known this value, you can set the 'disableUnknownOwnerTracing' value to 0. Unknown (untranslated) NT accounts will appear in the 'global.log' file.
2 Smith, John a text string, required This file helps you to recognize the real name of documents owners. If your company only use codes to identify people, you would appreciate to see their real name instead of their code.

language.conf
Column number Example Acceptable range Description
1 formTitleSearching a code, required This tag identify the sentence used in the program. Specific variables like ${1} or ${2} can be used.
2 Please wait, searching... a text string, required This is the translation of the sentence in the specific language.
You can create your own 'language.conf' corresponding to your language to help translating this application. Your participation will be appreciated.
Please note that you have to name your specific language file like 'language-${LOCALE}.conf' where ${LOCALE} will be replaced with your 3-letter country identifier. For instance, France use FRA.