1. Introduction
  2. Location
  3. Tip
  4. XML File

Introduction

GlobalsDoc specifies configuration settings for DevGuy's tools.

The name of the GlobalsDoc file is globals.xml. It is used by PCTK, CvsNotify, CvsWebSync, FileTools, Packager, and IrcBot.

An example file appears at the end of this document. It is also installed via the setup programs and tar files to pm/cfgmgmt/globals.xml

Location

The path of this file is specified in the devguy_globals environment variable. On Windows, the location can optionally be stored in the registry.

On non-Windows platforms, this environment variable must exist for every user that runs DevGuy-related programs that use globals.xml. Unfortunately, this can be tricky. Many UNIX administrators know how to do this via shared shell .rc scripts. If you're not familiar with this technique, you can either try to Google for it or check out the following links as "hints."

On Windows, if this environment variable doesn't exist, the location is specified in the registry at

which is created by the ProgrammersCanvasToolkit, FileTools, CvsNotify, CvsWebSync, and IrcBot installation programs.

If the registry setting and environment variable are missing, the path defaults to the current directory, followed by c:\program files\perl\lib\cfgmgmt, and finally d:\program files\perl\lib\cfgmgmt.

Run dgversion, dgfiletoolsversion, dgcvsnotifyversion, dgirclogversion, or dgcvswebsyncversion to view the resolved location of the globals file. There are .pl and .exe variations of these programs.

Tip

Unfortunately, all of the PCTK related setup programs write their own globals.xml file to their installation directories and point the same registry setting (see above) to it regardless of whether the registry setting already exists (I don't know how to get vanilla MSI to check first -- DevGuy).

If you put globals.xml in its own folder (e.g., c:\program files\devguy) and point the devguy_globals environment variable to it, you won't have upgrade headaches later.

XML File

<!-- See http://devguy.com/moin.cgi/GlobalsDoc -->

<GlobalsDoc>

<!-- Specify the location of a temp directory to use (optional, defaults to TEMP environment variable) -->

<TempDir></TempDir>

<!--

-->

<UsePerl>0</UsePerl>

<!--

DiffProg

Specify the name of an executable to do CVS diffs (optional). This is used by the script "dgdiff" which probably isn't used by anyone anymore.

-->

<DiffProg>windiff.exe</DiffProg>

<!--

-->

<Repository></Repository>

<!--

-->

<CVSNotifyXML></CVSNotifyXML>

<!--

<CVSNotifyPath>c:/dgcvsnotify</CVSNotifyPath>

<!--

<NotifyWaitSeconds></NotifyWaitSeconds>

<!--

<WatchWaitSeconds></WatchWaitSeconds>

<!--

-->

<NotifySubject></NotifySubject>

<!--

-->

<Domain>yourdomain.com</Domain>

<!--

-->

<SMTPServer></SMTPServer>

<SMTPServerPort></SMTPServerPort>

<SMTPDebug></SMTPDebug>

<SMTPUser></SMTPUser>

<SMTPPassword></SMTPPassword>

<!--

CVSEmailGroup

Specify the default email addreses to send CVS commit emails to, as a comma-separated list (optional)

See http://devguy.com/cvsnotify

-->

<CVSEmailGroup></CVSEmailGroup>

<!--

MaxEmailBodySize (optional)

Specify the maximum size for email bodies (optional) Defaults to 1000000 (1 million)

See http://devguy.com/cvsnotify

-->

<MaxEmailBodySize></MaxEmailBodySize>

<!--

CVSWebURL

Specify the entry URL to your CVSWeb or ViewCVS server. This can be overridden in the CvsNotifyDoc file. Must end with a trailing slash! (optional)

See http://devguy.com/cvsnotify

-->

<CVSWebURL></CVSWebURL>

<!--

CVSWebURLQuery

Contains the query portion of the ViewCVS or CVSWeb URL, e.g., root=foo.

see http://devguy.com/cvsnotify

-->

<CVSWebURLQuery></CVSWebURLQuery>

<!--

-->

<NNTPServer></NNTPServer>

<NNTPServerPort></NNTPServerPort>

<NNTPDebug></NNTPDebug>

<!--

MaxNewsgroupPostSize (optional)

Specify the maximum number of bytes to send to a newsgroup. (defaults to 100000)

See http://devguy.com/cvsnotify

<MaxNewsgroupPostSize></MaxNewsgroupPostSize>

<!--

BuildNewsgroup

Specify the newsgroup for Builds (optional) This may consist of a list of newsgroup names depending on the NNTP server. Defaults to engineering.builds

See http://devguy.com/buildrobot

-->

<BuildNewsgroup></BuildNewsgroup>

<!--

-->

<LogInfoSubject></LogInfoSubject>

<!--

<LogInfoNewsgroup></LogInfoNewsgroup>

<!--

-->

<TagInfoSubject></TagInfoSubject>

<!--

-->

<TagInfoEmailGroup></TagInfoEmailGroup>

<!--

-->

<TagInfoNNTPServer></TagInfoNNTPServer>

<TagInfoNNTPServerPort></TagInfoNNTPServerPort>

<!--

-->

<TagInfoNewsgroup></TagInfoNewsgroup>

<!--

IRCBotName (optional)

Specify the name of an IRC bot (used by CVS notification). This can be overridden in the CvsNotifyDoc file. Defaults to CvsNotify. This value is truncated to IRCMaxNameLength characters.

See http://devguy.com/cvsnotify

-->

<IRCBotName></IRCBotName>

<!--

IRCUsername (optional)

Used by CVS notification. The user name to use when logging into IRC server. Defaults to IRCBotName value.

-->

<IRCUsername></IRCUsername>

<!--

IRCPassword (optional)

Used by CVS notification. The password to use when logging into IRC server.

-->

<IRCPassword></IRCPassword>

<!--

IRCMaxNameLength (optional)

Maximum user name length for IRC

Defaults to 8. This leaves an extra character to append a number when the nick is in use.

-->

<IRCMaxNameLength></IRCMaxNameLength>

<!--

IRCBotPrelude (optional)

Used for CVS notification. Specify the text to output before an IRC bot "talks" This can be overridden in the CvsNotifyDoc file.

-->

<IRCBotPrelude></IRCBotPrelude>

<!--

IRCServer (optional)

Used for CVS notification. This can be overridden in the CvsNotifyDoc file.

See http://devguy.com/cvsnotify

-->

<IRCServer></IRCServer>

<!--

IRCPort (optional)

Used for CVS notification. Specify the port number to use to connect to the IRC server. This can be overridden in the CvsNotifyDoc file.

-->

<IRCPort></IRCPort>

<!--

IRCChannel (optional)

Used for CVS notification. Specify the name of the chat room to enter This can be overridden in the CvsNotifyDoc file.

-->

<IRCChannel></IRCChannel>

<!--

Specify the maximum number of bytes to send at one time to IRC (defaults to 100000)

-->

<IRCMaxMessageSize></IRCMaxMessageSize>

<!--

"chop" lines sent to IRC at this number of characters (defaults to 255)

-->

<IRCMaxLineLength></IRCMaxLineLength>

<!--

IRCFloodSeconds (optional) IRCFloodMessages (optional)

If IRCFloodMessages (or more) messages are sent to the same IRC server and channel within this number of seconds (e.g., 500 messages in 5 seconds), the client or server may consider the IRC bot to be "flooding" the channel with an excessive number of messages.

The IRC bot will therefore honor these settings to wait between sending messages so that it is not considered to be flooding the channel.

If either value is 0, the flood protection is disabled.

Both can be overridden in the CvsNotifyDoc.

-->

<IRCFloodSeconds></IRCFloodSeconds>

<IRCFloodMessages></IRCFloodMessages>

<!--

IRCPingTimeoutSeconds (optional)

If this number of seconds passes without receiving a message from the IRC server (ping, privmsg, etc.), a message is sent to the IRC server to see if the connection is still alive.

Defaults to 60. A small number can cause the IRC administrator to ban you.

-->

<IRCPingTimeoutSeconds></IRCPingTimeoutSeconds>

<!--

-->

<FileLockAttempts></FileLockAttempts>

<!--

-->

<FontStyles>

</FontStyles>

<!--

-->

<DayName>Sunday</DayName>

<DayName>Monday</DayName>

<DayName>Tuesday</DayName>

<DayName>Wednesday</DayName>

<DayName>Thursday</DayName>

<DayName>Friday</DayName>

<DayName>Saturday</DayName>

</GlobalsDoc>>

GlobalsDoc (last edited 2008-02-21 19:48:10 by devguy)