diff options
Diffstat (limited to 'rt/etc')
50 files changed, 0 insertions, 5011 deletions
diff --git a/rt/etc/RT_Config.pm b/rt/etc/RT_Config.pm deleted file mode 100644 index 7f7eadcca..000000000 --- a/rt/etc/RT_Config.pm +++ /dev/null @@ -1,587 +0,0 @@ -# -# WARNING: NEVER EDIT RT_Config.pm. Instead, copy any sections you want to change to RT_SiteConfig.pm -# and edit them there. -# - -package RT; - -=head1 NAME - -RT::Config - -=for testing - -use RT::Config; - -=cut - -# {{{ Base Configuration - -# $rtname is the string that RT will look for in mail messages to -# figure out what ticket a new piece of mail belongs to - -# Your domain name is recommended, so as not to pollute the namespace. -# once you start using a given tag, you should probably never change it. -# (otherwise, mail for existing tickets won't get put in the right place - -Set($rtname , "example.com"); - - -# This regexp controls what subject tags RT recognizes as its own. -# If you're not dealing with historical $rtname values, you'll likely -# never have to enable this feature. -# -# Be VERY CAREFUL with it. Note that it overrides $rtname for subject -# token matching and that you should use only "non-capturing" parenthesis -# grouping. For example: -# -# Set($EmailSubjectTagRegex, qr/(?:example.com|example.org)/i ); -# -# and NOT -# -# Set($EmailSubjectTagRegex, qr/(example.com|example.org)/i ); -# -# This setting would make RT behave exactly as it does without the -# setting enabled. -# -# Set($EmailSubjectTagRegex, qr/\Q$rtname\E/i ); - - - -# You should set this to your organization's DNS domain. For example, -# fsck.com or asylum.arkham.ma.us. It's used by the linking interface to -# guarantee that ticket URIs are unique and easy to construct. - -Set($Organization , "example.com"); - -# $user_passwd_min defines the minimum length for user passwords. Setting -# it to 0 disables this check -Set($MinimumPasswordLength , "5"); - -# $Timezone is used to convert times entered by users into GMT and back again -# It should be set to a timezone recognized by your local unix box. -Set($Timezone , 'US/Eastern'); - -# }}} - -# {{{ Database Configuration - -# Database driver beeing used. Case matters -# Valid types are "mysql", "Oracle" and "Pg" - -Set($DatabaseType , 'Pg'); - -# The domain name of your database server -# If you're running mysql and it's on localhost, -# leave it blank for enhanced performance -Set($DatabaseHost , 'localhost'); -Set($DatabaseRTHost , 'localhost'); - -# The port that your database server is running on. Ignored unless it's -# a positive integer. It's usually safe to leave this blank -Set($DatabasePort , ''); - -#The name of the database user (inside the database) -Set($DatabaseUser , 'freeside'); - -# Password the DatabaseUser should use to access the database -Set($DatabasePassword , ''); - -# The name of the RT's database on your database server -Set($DatabaseName , 'freeside'); - -# If you're using Postgres and have compiled in SSL support, -# set DatabaseRequireSSL to 1 to turn on SSL communication -Set($DatabaseRequireSSL , undef); - -# }}} - -# {{{ Incoming mail gateway configuration - -# OwnerEmail is the address of a human who manages RT. RT will send -# errors generated by the mail gateway to this address. This address -# should _not_ be an address that's managed by your RT instance. - -Set($OwnerEmail , 'root'); - -# If $LoopsToRTOwner is defined, RT will send mail that it believes -# might be a loop to $RT::OwnerEmail - -Set($LoopsToRTOwner , 1); - -# If $StoreLoops is defined, RT will record messages that it believes -# to be part of mail loops. -# As it does this, it will try to be careful not to send mail to the -# sender of these messages - -Set($StoreLoops , undef); - -# $MaxAttachmentSize sets the maximum size (in bytes) of attachments stored -# in the database. - -# For mysql and oracle, we set this size at 10 megabytes. -# If you're running a postgres version earlier than 7.1, you will need -# to drop this to 8192. (8k) - -Set($MaxAttachmentSize , 10000000); - -# $TruncateLongAttachments: if this is set to a non-undef value, -# RT will truncate attachments longer than MaxAttachmentSize. - -Set($TruncateLongAttachments , undef); - -# $DropLongAttachments: if this is set to a non-undef value, -# RT will silently drop attachments longer than MaxAttachmentSize. - -Set($DropLongAttachments , undef); - -# If $ParseNewMessageForTicketCcs is true, RT will attempt to divine -# Ticket 'Cc' watchers from the To and Cc lines of incoming messages -# Be forewarned that if you have _any_ addresses which forward mail to -# RT automatically and you enable this option without modifying -# "RTAddressRegexp" below, you will get yourself into a heap of trouble. - -Set($ParseNewMessageForTicketCcs , undef); - -# RTAddressRegexp is used to make sure RT doesn't add itself as a ticket CC if -# the setting above is enabled. - -Set($RTAddressRegexp , '^rt\@example.com$'); - -# RT provides functionality which allows the system to rewrite -# incoming email addresses. In its simplest form, -# you can substitute the value in CanonicalizeEmailAddressReplace -# for the value in CanonicalizeEmailAddressMatch -# (These values are passed to the CanonicalizeEmailAddress subroutine in RT/User.pm) -# By default, that routine performs a s/$Match/$Replace/gi on any address passed to it - -#Set($CanonicalizeEmailAddressMatch , '@subdomain\.example\.com$'); -#Set($CanonicalizeEmailAddressReplace , '@example.com'); - -# set this to true and the create new user page will use the values that you -# enter in the form but use the function CanonicalizeUserInfo in User_Local.pm -Set($CanonicalizeOnCreate , 0); - -# If $SenderMustExistInExternalDatabase is true, RT will refuse to -# create non-privileged accounts for unknown users if you are using -# the "LookupSenderInExternalDatabase" option. -# Instead, an error message will be mailed and RT will forward the -# message to $RTOwner. -# -# If you are not using $LookupSenderInExternalDatabase, this option -# has no effect. -# -# If you define an AutoRejectRequest template, RT will use this -# template for the rejection message. - -Set($SenderMustExistInExternalDatabase , undef); - -# }}} - -# {{{ Outgoing mail configuration - -# RT is designed such that any mail which already has a ticket-id associated -# with it will get to the right place automatically. - -# $CorrespondAddress and $CommentAddress are the default addresses -# that will be listed in From: and Reply-To: headers of correspondence -# and comment mail tracked by RT, unless overridden by a queue-specific -# address. - -Set($CorrespondAddress , 'RT_CorrespondAddressNotSet'); - -Set($CommentAddress , 'RT_CommentAddressNotSet'); - -#Sendmail Configuration - -# $MailCommand defines which method RT will use to try to send mail -# We know that 'sendmailpipe' works fairly well. -# If 'sendmailpipe' doesn't work well for you, try 'sendmail' -# -# Note that you should remove the '-t' from $SendmailArguments -# if you use 'sendmail' rather than 'sendmailpipe' - -Set($MailCommand , 'sendmailpipe'); - -# $SendmailArguments defines what flags to pass to $Sendmail -# assuming you picked 'sendmail' or 'sendmailpipe' as the $MailCommand above. -# If you picked 'sendmailpipe', you MUST add a -t flag to $SendmailArguments - -# These options are good for most sendmail wrappers and workalikes -Set($SendmailArguments , "-oi -t"); - -# $SendmailBounceArguments defines what flags to pass to $Sendmail -# assuming RT needs to send an error (ie. bounce). - -Set($SendmailBounceArguments , '-f "<>"'); - -# These arguments are good for sendmail brand sendmail 8 and newer -#Set($SendmailArguments,"-oi -t -ODeliveryMode=b -OErrorMode=m"); - -# If you selected 'sendmailpipe' above, you MUST specify the path -# to your sendmail binary in $SendmailPath. -# !! If you did not # select 'sendmailpipe' above, this has no effect!! -Set($SendmailPath , "/usr/sbin/sendmail"); - -# By default, RT sets the outgoing mail's "From:" header to -# "SenderName via RT". Setting this option to 0 disables it. - -Set($UseFriendlyFromLine , 1); - -# sprintf() format of the friendly 'From:' header; its arguments -# are SenderName and SenderEmailAddress. -Set($FriendlyFromLineFormat , "\"%s via RT\" <%s>"); - -# RT can optionally set a "Friendly" 'To:' header when sending messages to -# Ccs or AdminCcs (rather than having a blank 'To:' header. - -# This feature DOES NOT WORK WITH SENDMAIL[tm] BRAND SENDMAIL -# If you are using sendmail, rather than postfix, qmail, exim or some other MTA, -# you _must_ disable this option. - -Set($UseFriendlyToLine , 0); - -# sprintf() format of the friendly 'From:' header; its arguments -# are WatcherType and TicketId. -Set($FriendlyToLineFormat, "\"%s of $RT::rtname Ticket #%s\":;"); - -# By default, RT doesn't notify the person who performs an update, as they -# already know what they've done. If you'd like to change this behaviour, -# Set $NotifyActor to 1 - -Set($NotifyActor, 0); - -# By default, RT records each message it sends out to its own internal database.# To change this behaviour, set $RecordOutgoingEmail to 0 - -Set($RecordOutgoingEmail, 1); - -# VERP support (http://cr.yp.to/proto/verp.txt) -# uncomment the following two directives to generate envelope senders -# of the form ${VERPPrefix}${originaladdress}@${VERPDomain} -# (i.e. rt-jesse=fsck.com@rt.example.com ) This currently only works -# with sendmail and sendmailppie. -# Set($VERPPrefix, 'rt-'); -# Set($VERPDomain, $RT::Organization); - -# }}} - -# {{{ Logging - -# Logging. The default is to log anything except debugging -# information to syslog. Check the Log::Dispatch POD for -# information about how to get things by syslog, mail or anything -# else, get debugging info in the log, etc. - -# It might generally make -# sense to send error and higher by email to some administrator. -# If you do this, be careful that this email isn't sent to this RT instance. - -# the minimum level error that will be logged to the specific device. -# levels from lowest to highest: -# debug info notice warning error critical alert emergency - -# Mail loops will generate a critical log message. -Set($LogToSyslog , 'debug'); -Set($LogToScreen , 'error'); -Set($LogToFile , undef); -Set($LogDir, '/opt/rt3/var/log'); -Set($LogToFileNamed , "rt.log"); #log to rt.log - -# If true generates stack traces to file log or screen -# never generates traces to syslog - -Set($LogStackTraces , 0); - -# On Solaris or UnixWare, set to ( socket => 'inet' ). Options here -# override any other options RT passes to Log::Dispatch::Syslog. -# Other interesting flags include facility and logopt. (See the -# Log::Dispatch::Syslog documentation for more information.) (Maybe -# ident too, if you have multiple RT installations.) - -@LogToSyslogConf = () unless (@LogToSyslogConf); - -# RT has rudimentary SQL statement logging support if you have -# DBIx-SearchBuilder 1.31_1 or higher; simply set $StatementLog to be -# the level that you wish SQL statements to be logged at. -Set($StatementLog, undef); - -# }}} - -# {{{ Web interface configuration - -# This determines the default stylesheet the RT web interface will use. -# RT ships with two valid values by default: -# -# 3.5-default The totally new, default layout for RT 3.5 -# 3.4-compat A 3.4 compatibility stylesheet to make RT 3.5 look -# (mostly) like 3.4 -# -# This value actually specifies a directory in share/html/NoAuth/css/ -# from which RT will try to load the file main.css (which should -# @import any other files the stylesheet needs). This allows you to -# easily and cleanly create your own stylesheets to apply to RT. - -Set($WebDefaultStylesheet, '3.5-default'); - -# Define the directory name to be used for images in rt web -# documents. - -# If you're putting the web ui somewhere other than at the root of -# your server, you should set $WebPath to the path you'll be -# serving RT at. -# $WebPath requires a leading / but no trailing /. -# -# In most cases, you should leave $WebPath set to '' (an empty value). - -Set($WebPath , ""); - -# If we're running as a superuser, run on port 80 -# Otherwise, pick a high port for this user. - -Set($WebPort , 80);# + ($< * 7274) % 32766 + ($< && 1024)); - -# This is the Scheme, server and port for constructing urls to webrt -# $WebBaseURL doesn't need a trailing / - -Set($WebBaseURL , "http://localhost:$WebPort"); - -Set($WebURL , $WebBaseURL . $WebPath . "/"); - -# $WebImagesURL points to the base URL where RT can find its images. - -Set($WebImagesURL , $WebPath . "/NoAuth/images/"); - -# $LogoURL points to the URL of the RT logo displayed in the web UI - -Set($LogoURL , $WebImagesURL . "bplogo.gif"); - -# WebNoAuthRegex - What portion of RT's URLspace should not require -# authentication. -Set($WebNoAuthRegex, qr!^/rt(?:/+NoAuth/| - /+REST/\d+\.\d+/NoAuth/)!x ); - -# For message boxes, set the entry box width and what type of wrapping -# to use. -# -# Default width: 72 -Set($MessageBoxWidth , 72); - -# Default wrapping: "HARD" (choices "SOFT", "HARD") -Set($MessageBoxWrap, "HARD"); - -# Support implicit links in WikiText custom fields? A true value -# causes InterCapped or ALLCAPS words in WikiText fields to -# automatically become links to searches for those words. If used on -# RTFM articles, it links to the RTFM article with that name. -Set($WikiImplicitLinks, 0); - -# if TrustHTMLAttachments is not defined, we will display them -# as text. This prevents malicious HTML and javascript from being -# sent in a request (although there is probably more to it than that) -Set($TrustHTMLAttachments , undef); - -# Should RT redistribute correspondence that it identifies as -# machine generated? A true value will do so; setting this to '0' -# will cause no such messages to be redistributed. -# You can also use 'privileged' (the default), which will redistribute -# only to privileged users. This helps to protect against malformed -# bounces and loops caused by autocreated requestors with bogus addresses. -Set($RedistributeAutoGeneratedMessages, 'privileged'); - -# If PreferRichText is set to a true value, RT will show HTML/Rich text -# messages in preference to their plaintext alternatives. RT "scrubs" the -# html to show only a minimal subset of HTML to avoid possible contamination -# by cross-site-scripting attacks. -Set($PreferRichText, undef); - -# If $WebExternalAuth is defined, RT will defer to the environment's -# REMOTE_USER variable. - -Set($WebExternalAuth , undef); - -# If $WebFallbackToInternalAuth is undefined, the user is allowed a chance -# of fallback to the login screen, even if REMOTE_USER failed. - -Set($WebFallbackToInternalAuth , undef); - -# $WebExternalGecos means to match 'gecos' field as the user identity); -# useful with mod_auth_pwcheck and IIS Integrated Windows logon. - -Set($WebExternalGecos , undef); - -# $WebExternalAuto will create users under the same name as REMOTE_USER -# upon login, if it's missing in the Users table. - -Set($WebExternalAuto , undef); - -# $WebSessionClass is the class you wish to use for managing Sessions. -# It defaults to use your SQL database, but if you are using MySQL 3.x and -# plans to use non-ascii Queue names, uncomment and add this line to -# RT_SiteConfig.pm will prevent session corruption. - -# Set($WebSessionClass , 'Apache::Session::File'); - - -# By default, RT's session cookie isn't marked as "secure" Some web browsers -# will treat secure cookies more carefully than non-secure ones, being careful -# not to write them to disk, only send them over an SSL secured connection -# and so on. To enable this behaviour, set # $WebSecureCookies to a true value. -# NOTE: You probably don't want to turn this on _unless_ users are only connecting -# via SSL encrypted HTTP connections. - -Set($WebSecureCookies, 0); - - -# By default, RT clears its database cache after every page view. -# This ensures that you've always got the most current information -# when working in a multi-process (mod_perl or FastCGI) Environment -# Setting $WebFlushDbCacheEveryRequest to '0' will turn this off, -# which will speed RT up a bit, at the expense of a tiny bit of data -# accuracy. - -Set($WebFlushDbCacheEveryRequest, '1'); - - -# $MaxInlineBody is the maximum attachment size that we want to see -# inline when viewing a transaction. 13456 is a random sane-sounding -# default. - -Set($MaxInlineBody, 13456); - -# $DefaultSummaryRows is default number of rows displayed in for search -# results on the frontpage. - -Set($DefaultSummaryRows, 10); - -# By default, RT shows newest transactions at the bottom of the ticket -# history page, if you want see them at the top set this to '0'. - -Set($OldestTransactionsFirst, '1'); - -# By default, RT shows images attached to incoming (and outgoing) ticket updates -# inline. Set this variable to 0 if you'd like to disable that behaviour - -Set($ShowTransactionImages, 1); - - -# $HomepageComponents is an arrayref of allowed components on a user's -# customized homepage ("RT at a glance"). - -Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders RefreshHomepage)]); - -# @MasonParameters is the list of parameters for the constructor of -# HTML::Mason's Apache or CGI Handler. This is normally only useful -# for debugging, eg. profiling individual components with: -# use MasonX::Profiler; # available on CPAN -# @MasonParameters = (preamble => 'my $p = MasonX::Profiler->new($m, $r);'); - -@MasonParameters = () unless (@MasonParameters); - -# $DefaultSearchResultFormat is the default format for RT search results -Set ($DefaultSearchResultFormat, qq{ - '<B><A HREF="$RT::WebPath/Ticket/Display.html?id=__id__">__id__</a></B>/TITLE:#', - '<B><A HREF="$RT::WebPath/Ticket/Display.html?id=__id__">__Subject__</a></B>/TITLE:Subject', - Status, - QueueName, - OwnerName, - Priority, - '__NEWLINE__', - '', - '<small>__Requestors__</small>', - '<small>__CreatedRelative__</small>', - '<small>__ToldRelative__</small>', - '<small>__LastUpdatedRelative__</small>', - '<small>__TimeLeft__</small>'}); - -# If $SuppressInlineTextFiles is set to a true value, then uploaded -# text files (text-type attachments with file names) are prevented -# from being displayed in-line when viewing a ticket's history. - -Set($SuppressInlineTextFiles, undef); - -# If $DontSearchFileAttachments is set to a true value, then uploaded -# files (attachments with file names) are not searched during full-content -# ticket searches. - -Set($DontSearchFileAttachments, undef); - - -# }}} - -# {{{ RT UTF-8 Settings - -# An array that contains languages supported by RT's internationalization -# interface. Defaults to all *.po lexicons; setting it to qw(en ja) will make -# RT bilingual instead of multilingual, but will save some memory. - -@LexiconLanguages = qw(*) unless (@LexiconLanguages); - -# An array that contains default encodings used to guess which charset -# an attachment uses if not specified. Must be recognized by -# Encode::Guess. - -@EmailInputEncodings = qw(utf-8 iso-8859-1 us-ascii) unless (@EmailInputEncodings); - -# The charset for localized email. Must be recognized by Encode. - -Set($EmailOutputEncoding , 'utf-8'); - -# }}} - -# {{{ RT Date Handling Options (for Time::ParseDate) - -# Set this to 1 if your local date convention looks like "dd/mm/yy" -# instead of "mm/dd/yy". - -Set($DateDayBeforeMonth , 1); - -# Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"? -# Set to 0 for "Next" or 1 for "Last". - -Set($AmbiguousDayInPast , 1); - -# }}} - -# {{{ Miscellaneous RT Settings - -# You can define new statuses and even reorder existing statuses here. -# WARNING. DO NOT DELETE ANY OF THE DEFAULT STATUSES. If you do, RT -# will break horribly. The statuses you add must be no longer than -# 10 characters. - -@ActiveStatus = qw(new open stalled) unless @ActiveStatus; -@InactiveStatus = qw(resolved rejected deleted) unless @InactiveStatus; - -# Backward compatability setting. Add/Delete Link used to record one -# transaction and run one scrip. Set this value to 1 if you want -# only one of the link transactions to have scrips run. -Set($LinkTransactionsRun1Scrip , 0); - -# When this feature is enabled an user need ModifyTicket right on both -# tickets to link them together, otherwise he can have right on any of -# two. -Set($StrictLinkACL, 1); - -# }}} - - -# {{{ Development Mode -# -# RT comes with a "Development mode" setting. -# This setting, as a convenience for developers, turns on -# all sorts of development options that you most likely don't want in -# production: -# -# * Turns off Mason's 'static_source' directive. By default, you can't -# edit RT's web ui components on the fly and have RT magically pick up -# your changes. (It's a big performance hit) -# -# * More to come -# - -Set($DevelMode, '0'); - -# }}} - - -1; diff --git a/rt/etc/RT_Config.pm.in b/rt/etc/RT_Config.pm.in deleted file mode 100644 index cf089fb8d..000000000 --- a/rt/etc/RT_Config.pm.in +++ /dev/null @@ -1,594 +0,0 @@ -# -# WARNING: NEVER EDIT RT_Config.pm. Instead, copy any sections you want to change to RT_SiteConfig.pm -# and edit them there. -# - -package RT; - -=head1 NAME - -RT::Config - -=for testing - -use RT::Config; - -=cut - -# {{{ Base Configuration - -# $rtname is the string that RT will look for in mail messages to -# figure out what ticket a new piece of mail belongs to - -# Your domain name is recommended, so as not to pollute the namespace. -# once you start using a given tag, you should probably never change it. -# (otherwise, mail for existing tickets won't get put in the right place - -Set($rtname , "example.com"); - - -# This regexp controls what subject tags RT recognizes as its own. -# If you're not dealing with historical $rtname values, you'll likely -# never have to enable this feature. -# -# Be VERY CAREFUL with it. Note that it overrides $rtname for subject -# token matching and that you should use only "non-capturing" parenthesis -# grouping. For example: -# -# Set($EmailSubjectTagRegex, qr/(?:example.com|example.org)/i ); -# -# and NOT -# -# Set($EmailSubjectTagRegex, qr/(example.com|example.org)/i ); -# -# This setting would make RT behave exactly as it does without the -# setting enabled. -# -# Set($EmailSubjectTagRegex, qr/\Q$rtname\E/i ); - - - -# You should set this to your organization's DNS domain. For example, -# fsck.com or asylum.arkham.ma.us. It's used by the linking interface to -# guarantee that ticket URIs are unique and easy to construct. - -Set($Organization , "example.com"); - -# $user_passwd_min defines the minimum length for user passwords. Setting -# it to 0 disables this check -Set($MinimumPasswordLength , "5"); - -# $Timezone is used to convert times entered by users into GMT and back again -# It should be set to a timezone recognized by your local unix box. -Set($Timezone , 'US/Eastern'); - -# }}} - -# {{{ Database Configuration - -# Database driver beeing used. Case matters -# Valid types are "mysql", "Oracle" and "Pg" - -Set($DatabaseType , '@DB_TYPE@'); - -# The domain name of your database server -# If you're running mysql and it's on localhost, -# leave it blank for enhanced performance -Set($DatabaseHost , '@DB_HOST@'); -Set($DatabaseRTHost , '@DB_RT_HOST@'); - -# The port that your database server is running on. Ignored unless it's -# a positive integer. It's usually safe to leave this blank -Set($DatabasePort , '@DB_PORT@'); - -#The name of the database user (inside the database) -Set($DatabaseUser , '@DB_RT_USER@'); - -# Password the DatabaseUser should use to access the database -Set($DatabasePassword , '@DB_RT_PASS@'); - -# The name of the RT's database on your database server -Set($DatabaseName , '@DB_DATABASE@'); - -# If you're using Postgres and have compiled in SSL support, -# set DatabaseRequireSSL to 1 to turn on SSL communication -Set($DatabaseRequireSSL , undef); - -# }}} - -# {{{ Incoming mail gateway configuration - -# OwnerEmail is the address of a human who manages RT. RT will send -# errors generated by the mail gateway to this address. This address -# should _not_ be an address that's managed by your RT instance. - -Set($OwnerEmail , 'root'); - -# If $LoopsToRTOwner is defined, RT will send mail that it believes -# might be a loop to $RT::OwnerEmail - -Set($LoopsToRTOwner , 1); - -# If $StoreLoops is defined, RT will record messages that it believes -# to be part of mail loops. -# As it does this, it will try to be careful not to send mail to the -# sender of these messages - -Set($StoreLoops , undef); - -# $MaxAttachmentSize sets the maximum size (in bytes) of attachments stored -# in the database. - -# For mysql and oracle, we set this size at 10 megabytes. -# If you're running a postgres version earlier than 7.1, you will need -# to drop this to 8192. (8k) - -Set($MaxAttachmentSize , 10000000); - -# $TruncateLongAttachments: if this is set to a non-undef value, -# RT will truncate attachments longer than MaxAttachmentSize. - -Set($TruncateLongAttachments , undef); - -# $DropLongAttachments: if this is set to a non-undef value, -# RT will silently drop attachments longer than MaxAttachmentSize. - -Set($DropLongAttachments , undef); - -# If $ParseNewMessageForTicketCcs is true, RT will attempt to divine -# Ticket 'Cc' watchers from the To and Cc lines of incoming messages -# Be forewarned that if you have _any_ addresses which forward mail to -# RT automatically and you enable this option without modifying -# "RTAddressRegexp" below, you will get yourself into a heap of trouble. - -Set($ParseNewMessageForTicketCcs , undef); - -# RTAddressRegexp is used to make sure RT doesn't add itself as a ticket CC if -# the setting above is enabled. - -Set($RTAddressRegexp , '^rt\@example.com$'); - -# RT provides functionality which allows the system to rewrite -# incoming email addresses. In its simplest form, -# you can substitute the value in CanonicalizeEmailAddressReplace -# for the value in CanonicalizeEmailAddressMatch -# (These values are passed to the CanonicalizeEmailAddress subroutine in RT/User.pm) -# By default, that routine performs a s/$Match/$Replace/gi on any address passed to it - -#Set($CanonicalizeEmailAddressMatch , '@subdomain\.example\.com$'); -#Set($CanonicalizeEmailAddressReplace , '@example.com'); - -# set this to true and the create new user page will use the values that you -# enter in the form but use the function CanonicalizeUserInfo in User_Local.pm -Set($CanonicalizeOnCreate , 0); - -# If $SenderMustExistInExternalDatabase is true, RT will refuse to -# create non-privileged accounts for unknown users if you are using -# the "LookupSenderInExternalDatabase" option. -# Instead, an error message will be mailed and RT will forward the -# message to $RTOwner. -# -# If you are not using $LookupSenderInExternalDatabase, this option -# has no effect. -# -# If you define an AutoRejectRequest template, RT will use this -# template for the rejection message. - -Set($SenderMustExistInExternalDatabase , undef); - -# }}} - -# {{{ Outgoing mail configuration - -# RT is designed such that any mail which already has a ticket-id associated -# with it will get to the right place automatically. - -# $CorrespondAddress and $CommentAddress are the default addresses -# that will be listed in From: and Reply-To: headers of correspondence -# and comment mail tracked by RT, unless overridden by a queue-specific -# address. - -Set($CorrespondAddress , 'RT_CorrespondAddressNotSet'); - -Set($CommentAddress , 'RT_CommentAddressNotSet'); - -#Sendmail Configuration - -# $MailCommand defines which method RT will use to try to send mail -# We know that 'sendmailpipe' works fairly well. -# If 'sendmailpipe' doesn't work well for you, try 'sendmail' -# -# Note that you should remove the '-t' from $SendmailArguments -# if you use 'sendmail' rather than 'sendmailpipe' - -Set($MailCommand , 'sendmailpipe'); - -# $SendmailArguments defines what flags to pass to $Sendmail -# assuming you picked 'sendmail' or 'sendmailpipe' as the $MailCommand above. -# If you picked 'sendmailpipe', you MUST add a -t flag to $SendmailArguments - -# These options are good for most sendmail wrappers and workalikes -Set($SendmailArguments , "-oi -t"); - -# $SendmailBounceArguments defines what flags to pass to $Sendmail -# assuming RT needs to send an error (ie. bounce). - -Set($SendmailBounceArguments , '-f "<>"'); - -# These arguments are good for sendmail brand sendmail 8 and newer -#Set($SendmailArguments,"-oi -t -ODeliveryMode=b -OErrorMode=m"); - -# If you selected 'sendmailpipe' above, you MUST specify the path -# to your sendmail binary in $SendmailPath. -# !! If you did not # select 'sendmailpipe' above, this has no effect!! -Set($SendmailPath , "/usr/sbin/sendmail"); - -# By default, RT sets the outgoing mail's "From:" header to -# "SenderName via RT". Setting this option to 0 disables it. - -Set($UseFriendlyFromLine , 1); - -# sprintf() format of the friendly 'From:' header; its arguments -# are SenderName and SenderEmailAddress. -Set($FriendlyFromLineFormat , "\"%s via RT\" <%s>"); - -# RT can optionally set a "Friendly" 'To:' header when sending messages to -# Ccs or AdminCcs (rather than having a blank 'To:' header. - -# This feature DOES NOT WORK WITH SENDMAIL[tm] BRAND SENDMAIL -# If you are using sendmail, rather than postfix, qmail, exim or some other MTA, -# you _must_ disable this option. - -Set($UseFriendlyToLine , 0); - -# sprintf() format of the friendly 'From:' header; its arguments -# are WatcherType and TicketId. -Set($FriendlyToLineFormat, "\"%s of $RT::rtname Ticket #%s\":;"); - -# By default, RT doesn't notify the person who performs an update, as they -# already know what they've done. If you'd like to change this behaviour, -# Set $NotifyActor to 1 - -Set($NotifyActor, 0); - -# By default, RT records each message it sends out to its own internal database.# To change this behaviour, set $RecordOutgoingEmail to 0 - -Set($RecordOutgoingEmail, 1); - -# VERP support (http://cr.yp.to/proto/verp.txt) -# uncomment the following two directives to generate envelope senders -# of the form ${VERPPrefix}${originaladdress}@${VERPDomain} -# (i.e. rt-jesse=fsck.com@rt.example.com ) This currently only works -# with sendmail and sendmailppie. -# Set($VERPPrefix, 'rt-'); -# Set($VERPDomain, $RT::Organization); - -# }}} - -# {{{ Logging - -# Logging. The default is to log anything except debugging -# information to syslog. Check the Log::Dispatch POD for -# information about how to get things by syslog, mail or anything -# else, get debugging info in the log, etc. - -# It might generally make -# sense to send error and higher by email to some administrator. -# If you do this, be careful that this email isn't sent to this RT instance. - -# the minimum level error that will be logged to the specific device. -# levels from lowest to highest: -# debug info notice warning error critical alert emergency - -# Mail loops will generate a critical log message. -Set($LogToSyslog , 'debug'); -Set($LogToScreen , 'error'); -Set($LogToFile , undef); -Set($LogDir, '@RT_LOG_PATH@'); -Set($LogToFileNamed , "rt.log"); #log to rt.log - -# If true generates stack traces to file log or screen -# never generates traces to syslog - -Set($LogStackTraces , 0); - -# On Solaris or UnixWare, set to ( socket => 'inet' ). Options here -# override any other options RT passes to Log::Dispatch::Syslog. -# Other interesting flags include facility and logopt. (See the -# Log::Dispatch::Syslog documentation for more information.) (Maybe -# ident too, if you have multiple RT installations.) - -@LogToSyslogConf = () unless (@LogToSyslogConf); - -# RT has rudimentary SQL statement logging support if you have -# DBIx-SearchBuilder 1.31_1 or higher; simply set $StatementLog to be -# the level that you wish SQL statements to be logged at. -Set($StatementLog, undef); - -# }}} - -# {{{ Web interface configuration - -# This determines the default stylesheet the RT web interface will use. -# RT ships with two valid values by default: -# -# 3.5-default The totally new, default layout for RT 3.5 -# 3.4-compat A 3.4 compatibility stylesheet to make RT 3.5 look -# (mostly) like 3.4 -# -# This value actually specifies a directory in share/html/NoAuth/css/ -# from which RT will try to load the file main.css (which should -# @import any other files the stylesheet needs). This allows you to -# easily and cleanly create your own stylesheets to apply to RT. - -Set($WebDefaultStylesheet, '3.5-default'); - -# Define the directory name to be used for images in rt web -# documents. - -# If you're putting the web ui somewhere other than at the root of -# your server, you should set $WebPath to the path you'll be -# serving RT at. -# $WebPath requires a leading / but no trailing /. -# -# In most cases, you should leave $WebPath set to '' (an empty value). - -Set($WebPath , ""); - -# If we're running as a superuser, run on port 80 -# Otherwise, pick a high port for this user. - -Set($WebPort , 80);# + ($< * 7274) % 32766 + ($< && 1024)); - -# This is the Scheme, server and port for constructing urls to webrt -# $WebBaseURL doesn't need a trailing / - -Set($WebBaseURL , "http://localhost:$WebPort"); - -Set($WebURL , $WebBaseURL . $WebPath . "/"); - -# $WebImagesURL points to the base URL where RT can find its images. - -Set($WebImagesURL , $WebPath . "/NoAuth/images/"); - -# $LogoURL points to the URL of the RT logo displayed in the web UI - -Set($LogoURL , $WebImagesURL . "bplogo.gif"); - -# WebNoAuthRegex - What portion of RT's URLspace should not require -# authentication. -Set($WebNoAuthRegex, qr!^/rt(?:/+NoAuth/| - /+REST/\d+\.\d+/NoAuth/)!x ); - -# For message boxes, set the entry box width and what type of wrapping -# to use. -# -# Default width: 72 -Set($MessageBoxWidth , 72); - -# Default wrapping: "HARD" (choices "SOFT", "HARD") -Set($MessageBoxWrap, "HARD"); - -# Support implicit links in WikiText custom fields? A true value -# causes InterCapped or ALLCAPS words in WikiText fields to -# automatically become links to searches for those words. If used on -# RTFM articles, it links to the RTFM article with that name. -Set($WikiImplicitLinks, 0); - -# if TrustHTMLAttachments is not defined, we will display them -# as text. This prevents malicious HTML and javascript from being -# sent in a request (although there is probably more to it than that) -Set($TrustHTMLAttachments , undef); - -# Should RT redistribute correspondence that it identifies as -# machine generated? A true value will do so; setting this to '0' -# will cause no such messages to be redistributed. -# You can also use 'privileged' (the default), which will redistribute -# only to privileged users. This helps to protect against malformed -# bounces and loops caused by autocreated requestors with bogus addresses. -Set($RedistributeAutoGeneratedMessages, 'privileged'); - -# If PreferRichText is set to a true value, RT will show HTML/Rich text -# messages in preference to their plaintext alternatives. RT "scrubs" the -# html to show only a minimal subset of HTML to avoid possible contamination -# by cross-site-scripting attacks. -Set($PreferRichText, undef); - -# If $WebExternalAuth is defined, RT will defer to the environment's -# REMOTE_USER variable. - -Set($WebExternalAuth , undef); - -# If $WebFallbackToInternalAuth is undefined, the user is allowed a chance -# of fallback to the login screen, even if REMOTE_USER failed. - -Set($WebFallbackToInternalAuth , undef); - -# $WebExternalGecos means to match 'gecos' field as the user identity); -# useful with mod_auth_pwcheck and IIS Integrated Windows logon. - -Set($WebExternalGecos , undef); - -# $WebExternalAuto will create users under the same name as REMOTE_USER -# upon login, if it's missing in the Users table. - -Set($WebExternalAuto , undef); - -# $WebSessionClass is the class you wish to use for managing Sessions. -# It defaults to use your SQL database, but if you are using MySQL 3.x and -# plans to use non-ascii Queue names, uncomment and add this line to -# RT_SiteConfig.pm will prevent session corruption. - -# Set($WebSessionClass , 'Apache::Session::File'); - - -# By default, RT's session cookie isn't marked as "secure" Some web browsers -# will treat secure cookies more carefully than non-secure ones, being careful -# not to write them to disk, only send them over an SSL secured connection -# and so on. To enable this behaviour, set # $WebSecureCookies to a true value. -# NOTE: You probably don't want to turn this on _unless_ users are only connecting -# via SSL encrypted HTTP connections. - -Set($WebSecureCookies, 0); - - -# By default, RT clears its database cache after every page view. -# This ensures that you've always got the most current information -# when working in a multi-process (mod_perl or FastCGI) Environment -# Setting $WebFlushDbCacheEveryRequest to '0' will turn this off, -# which will speed RT up a bit, at the expense of a tiny bit of data -# accuracy. - -Set($WebFlushDbCacheEveryRequest, '1'); - - -# $MaxInlineBody is the maximum attachment size that we want to see -# inline when viewing a transaction. 13456 is a random sane-sounding -# default. - -Set($MaxInlineBody, 13456); - -# $DefaultSummaryRows is default number of rows displayed in for search -# results on the frontpage. - -Set($DefaultSummaryRows, 10); - -# By default, RT shows newest transactions at the bottom of the ticket -# history page, if you want see them at the top set this to '0'. - -Set($OldestTransactionsFirst, '1'); - -# By default, RT shows images attached to incoming (and outgoing) ticket updates -# inline. Set this variable to 0 if you'd like to disable that behaviour - -Set($ShowTransactionImages, 1); - - -# $HomepageComponents is an arrayref of allowed components on a user's -# customized homepage ("RT at a glance"). - -Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders RefreshHomepage)]); - -# @MasonParameters is the list of parameters for the constructor of -# HTML::Mason's Apache or CGI Handler. This is normally only useful -# for debugging, eg. profiling individual components with: -# use MasonX::Profiler; # available on CPAN -# @MasonParameters = (preamble => 'my $p = MasonX::Profiler->new($m, $r);'); - -@MasonParameters = () unless (@MasonParameters); - -# $DefaultSearchResultFormat is the default format for RT search results -Set ($DefaultSearchResultFormat, qq{ - '<B><A HREF="$RT::WebPath/Ticket/Display.html?id=__id__">__id__</a></B>/TITLE:#', - '<B><A HREF="$RT::WebPath/Ticket/Display.html?id=__id__">__Subject__</a></B>/TITLE:Subject', - Status, - QueueName, - OwnerName, - Priority, - '__NEWLINE__', - '', - '<small>__Requestors__</small>', - '<small>__CreatedRelative__</small>', - '<small>__ToldRelative__</small>', - '<small>__LastUpdatedRelative__</small>', - '<small>__TimeLeft__</small>'}); - -# If $SuppressInlineTextFiles is set to a true value, then uploaded -# text files (text-type attachments with file names) are prevented -# from being displayed in-line when viewing a ticket's history. - -Set($SuppressInlineTextFiles, undef); - -# If $DontSearchFileAttachments is set to a true value, then uploaded -# files (attachments with file names) are not searched during full-content -# ticket searches. - -Set($DontSearchFileAttachments, undef); - -# The GD module (which RT uses for graphs) uses a builtin font that doesn't -# have full Unicode support. You can use a particular TrueType font by setting -# $ChartFont to the absolute path of that font. Your GD library must have -# support for TrueType fonts to use this option. - -Set($ChartFont, undef); - - -# }}} - -# {{{ RT UTF-8 Settings - -# An array that contains languages supported by RT's internationalization -# interface. Defaults to all *.po lexicons; setting it to qw(en ja) will make -# RT bilingual instead of multilingual, but will save some memory. - -@LexiconLanguages = qw(*) unless (@LexiconLanguages); - -# An array that contains default encodings used to guess which charset -# an attachment uses if not specified. Must be recognized by -# Encode::Guess. - -@EmailInputEncodings = qw(utf-8 iso-8859-1 us-ascii) unless (@EmailInputEncodings); - -# The charset for localized email. Must be recognized by Encode. - -Set($EmailOutputEncoding , 'utf-8'); - -# }}} - -# {{{ RT Date Handling Options (for Time::ParseDate) - -# Set this to 1 if your local date convention looks like "dd/mm/yy" -# instead of "mm/dd/yy". - -Set($DateDayBeforeMonth , 1); - -# Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"? -# Set to 0 for "Next" or 1 for "Last". - -Set($AmbiguousDayInPast , 1); - -# }}} - -# {{{ Miscellaneous RT Settings - -# You can define new statuses and even reorder existing statuses here. -# WARNING. DO NOT DELETE ANY OF THE DEFAULT STATUSES. If you do, RT -# will break horribly. The statuses you add must be no longer than -# 10 characters. - -@ActiveStatus = qw(new open stalled) unless @ActiveStatus; -@InactiveStatus = qw(resolved rejected deleted) unless @InactiveStatus; - -# Backward compatability setting. Add/Delete Link used to record one -# transaction and run one scrip. Set this value to 1 if you want -# only one of the link transactions to have scrips run. -Set($LinkTransactionsRun1Scrip , 0); - -# When this feature is enabled an user need ModifyTicket right on both -# tickets to link them together, otherwise he can have right on any of -# two. -Set($StrictLinkACL, 1); - -# }}} - - -# {{{ Development Mode -# -# RT comes with a "Development mode" setting. -# This setting, as a convenience for developers, turns on -# all sorts of development options that you most likely don't want in -# production: -# -# * Turns off Mason's 'static_source' directive. By default, you can't -# edit RT's web ui components on the fly and have RT magically pick up -# your changes. (It's a big performance hit) -# -# * More to come -# - -Set($DevelMode, '@RT_DEVEL_MODE@'); - -# }}} - - -1; diff --git a/rt/etc/RT_SiteConfig.pm b/rt/etc/RT_SiteConfig.pm deleted file mode 100644 index c3d6a66ce..000000000 --- a/rt/etc/RT_SiteConfig.pm +++ /dev/null @@ -1,52 +0,0 @@ -# Any configuration directives you include here will override -# RT's default configuration file, RT_Config.pm -# -# To include a directive here, just copy the equivalent statement -# from RT_Config.pm and change the value. We've included a single -# sample value below. -# -# This file is actually a perl module, so you can include valid -# perl code, as well. -# -# The converse is also true, if this file isn't valid perl, you're -# going to run into trouble. To check your SiteConfig file, use -# this comamnd: -# -# perl -c /path/to/your/etc/RT_SiteConfig.pm - -#Set( $rtname, 'example.com'); - -# These settings should have been inserted by the initial Freeside install. -# Sometimes you may want to change domain, timezone, or freeside::URL later, -# everything else should probably stay untouched. - -$RT::rtname = '%%%RT_DOMAIN%%%'; -$RT::Organization = '%%%RT_DOMAIN%%%'; - -$RT::Timezone = '%%%RT_TIMEZONE%%%'; - -$RT::WebExternalAuth = 1; -$RT::WebFallbackToInternal = 1; #no -$RT::WebExternalAuto = 1; - -$RT::URI::freeside::IntegrationType = 'Internal'; -$RT::URI::freeside::URL = '%%%FREESIDE_URL%%%'; - -$RT::URI::freeside::URL =~ m(^(https?://[^/]+)(/.*)$)i; -$RT::WebBaseURL = $1; -$RT::WebPath = "$2/rt"; - -Set($DatabaseHost , ''); - -# These settings are user-editable. - -#old, RT 3.4 style (deprecated, useless): -#$RT::MyTicketsLength = 10; -#NEW, RT 3.6 style (uncomment to use): -#Set($DefaultSummaryRows, 10); - -$RT::QuickCreateLong = 0; #set to true to cause quick ticket creation to - #redirect to the "long" ticket creation screen - #instead of just creating a ticket with the subject. - -1; diff --git a/rt/etc/acl.Informix b/rt/etc/acl.Informix deleted file mode 100644 index bca0408dd..000000000 --- a/rt/etc/acl.Informix +++ /dev/null @@ -1,5 +0,0 @@ -sub acl { -return ( -"GRANT RESOURCE TO ${RT::DatabaseUser};"); -} -1; diff --git a/rt/etc/acl.Oracle b/rt/etc/acl.Oracle deleted file mode 100644 index c8667c031..000000000 --- a/rt/etc/acl.Oracle +++ /dev/null @@ -1,10 +0,0 @@ -sub acl { -return ( -"CREATE USER ${RT::DatabaseUser} identified by ${RT::DatabasePassword}". -"temporary tablespace TEMP" . -"default tablespace USERS" . -"quota unlimited on USERS;" , -"grant connect, resource to ${RT::DatabaseUser};", -"exit;"); -} -1; diff --git a/rt/etc/acl.Pg b/rt/etc/acl.Pg deleted file mode 100755 index 16ea71b2d..000000000 --- a/rt/etc/acl.Pg +++ /dev/null @@ -1,63 +0,0 @@ -sub acl { - my $dbh = shift; - - my @acls; - - my @tables = qw ( - - attachments_id_seq - Attachments - queues_id_seq - Queues - links_id_seq - Links - principals_id_seq - Principals - groups_id_seq - Groups - scripconditions_id_seq - ScripConditions - transactions_id_seq - Transactions - scrips_id_seq - Scrips - acl_id_seq - ACL - groupmembers_id_seq - GroupMembers - cachedgroupmembers_id_seq - CachedGroupMembers - users_id_seq - Users - tickets_id_seq - Tickets - scripactions_id_seq - ScripActions - templates_id_seq - Templates - ticketcustomfieldvalues_id_s - TicketCustomFieldValues - customfields_id_seq - CustomFields - customfieldvalues_id_seq - CustomFieldValues - sessions - ); - - # if there's already an rt_user, drop it. - my @row = - $dbh->selectrow_array( "select usename from pg_user where usename = '" . $RT::DatabaseUser."'" ); - if ( $row[0] ) { - push @acls, "drop user ${RT::DatabaseUser};",; - } - - push @acls, "create user ${RT::DatabaseUser} with password '${RT::DatabasePassword}' NOCREATEDB NOCREATEUSER;"; - foreach my $table (@tables) { - push @acls, - "GRANT SELECT, INSERT, UPDATE, DELETE ON $table to " - . $RT::DatabaseUser . ";"; - - } - return (@acls); -} -1; diff --git a/rt/etc/acl.Sybase b/rt/etc/acl.Sybase deleted file mode 100644 index 6192b4ebe..000000000 --- a/rt/etc/acl.Sybase +++ /dev/null @@ -1,6 +0,0 @@ -sub acl { -return ( -"SP_ADDLOGIN ${RT::DatabaseUser}, ${RT::DatabasePassword}, ${RT::DatabaseName} ", -); -} -1; diff --git a/rt/etc/acl.mysql b/rt/etc/acl.mysql deleted file mode 100755 index 0ecaa3b15..000000000 --- a/rt/etc/acl.mysql +++ /dev/null @@ -1,8 +0,0 @@ -sub acl { -return ( -"USE mysql;", -"DELETE FROM user WHERE user = '${RT::DatabaseUser}';", -"DELETE FROM db where db = '${RT::DatabaseName}';", -"GRANT SELECT,INSERT,CREATE,INDEX,UPDATE,DELETE ON ${RT::DatabaseName}.* TO ${RT::DatabaseUser}\@${RT::DatabaseRTHost} IDENTIFIED BY '${RT::DatabasePassword}';"); -} -1; diff --git a/rt/etc/constraints.mysql b/rt/etc/constraints.mysql deleted file mode 100644 index 355d2c5e5..000000000 --- a/rt/etc/constraints.mysql +++ /dev/null @@ -1,85 +0,0 @@ - - ALTER TABLE Links ADD INDEX(LocalBase); - ALTER TABLE Links ADD FOREIGN KEY (LocalBase) REFERENCES Tickets(id); - ALTER TABLE Links ADD INDEX(LocalTarget); - ALTER TABLE Links ADD FOREIGN KEY (LocalTarget) REFERENCES Tickets(id); - ALTER TABLE Tickets ADD INDEX(Queue); - ALTER TABLE Tickets ADD FOREIGN KEY (Queue) REFERENCES Queues(id); - ALTER TABLE Tickets ADD INDEX(EffectiveId); - ALTER TABLE Tickets ADD FOREIGN KEY (EffectiveId) REFERENCES Tickets(id); - ALTER TABLE Tickets ADD INDEX(Owner); - ALTER TABLE Tickets ADD FOREIGN KEY (Owner) REFERENCES Principals(id); - ALTER TABLE Tickets ADD INDEX(Creator); - ALTER TABLE Tickets ADD INDEX(LastUpdatedBy); - ALTER TABLE Tickets ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE Tickets ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE Transactions ADD INDEX(Creator); - ALTER TABLE Transactions ADD INDEX (Ticket) ; - ALTER TABLE Transactions ADD INDEX (EffectiveTicket) ; - ALTER TABLE Transactions ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE Transactions ADD FOREIGN KEY (Ticket) REFERENCES Tickets(id); - ALTER TABLE Transactions ADD FOREIGN KEY (EffectiveTicket) REFERENCES Tickets(id); - ALTER TABLE Attachments ADD INDEX (TransactionId) ; - ALTER TABLE Attachments ADD INDEX (Parent) ; - ALTER TABLE Attachments ADD FOREIGN KEY (TransactionId) REFERENCES Transactions(id); - ALTER TABLE Attachments ADD FOREIGN KEY (Parent) REFERENCES Attachments(id); - ALTER TABLE Scrips ADD INDEX (ScripCondition) ; - ALTER TABLE Scrips ADD INDEX (ScripAction) ; - ALTER TABLE Scrips ADD INDEX (Template) ; - ALTER TABLE Scrips ADD INDEX (Queue) ; - ALTER TABLE Scrips ADD INDEX (Creator) ; - ALTER TABLE Scrips ADD INDEX (LastUpdatedBy) ; - ALTER TABLE Scrips ADD FOREIGN KEY (ScripCondition) REFERENCES ScripConditions(id); - ALTER TABLE Scrips ADD FOREIGN KEY (ScripAction) REFERENCES ScripActions(id); - ALTER TABLE Scrips ADD FOREIGN KEY (Template) REFERENCES Templates(id); - ALTER TABLE Scrips ADD FOREIGN KEY (Queue) REFERENCES Queues(id); - ALTER TABLE Scrips ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE Scrips ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE ACL ADD INDEX (PrincipalId) ; - ALTER TABLE ACL ADD INDEX (DelegatedBy) ; - ALTER TABLE ACL ADD INDEX (DelegatedFrom) ; - ALTER TABLE ACL ADD FOREIGN KEY (PrincipalId) REFERENCES Principals(id); - ALTER TABLE ACL ADD FOREIGN KEY (DelegatedBy) REFERENCES Principals(id); - ALTER TABLE ACL ADD FOREIGN KEY (DelegatedFrom) REFERENCES ACL(id); - ALTER TABLE GroupMembers ADD INDEX (MemberId); - ALTER TABLE GroupMembers ADD INDEX (GroupId); - ALTER TABLE GroupMembers ADD FOREIGN KEY (GroupId) REFERENCES Groups(id); - ALTER TABLE GroupMembers ADD FOREIGN KEY (MemberId) REFERENCES Principals(id); - ALTER TABLE CachedGroupMembers ADD INDEX (ImmediateParentId) ; - ALTER TABLE CachedGroupMembers ADD INDEX (GroupId) ; - ALTER TABLE CachedGroupMembers ADD INDEX (MemberId) ; - ALTER TABLE CachedGroupMembers ADD INDEX (Via) ; - ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (ImmediateParentId) REFERENCES Principals(id); - ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (GroupId) REFERENCES Principals(id); - ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (MemberId) REFERENCES Principals(id); - ALTER TABLE CachedGroupMembers ADD FOREIGN KEY (Via) REFERENCES CachedGroupMembers(id); - ALTER TABLE ScripActions ADD INDEX(Creator); - ALTER TABLE ScripActions ADD INDEX(LastUpdatedBy); - ALTER TABLE ScripActions ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE ScripActions ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE Templates ADD INDEX(Queue); - ALTER TABLE Templates ADD INDEX(Creator); - ALTER TABLE Templates ADD INDEX(LastUpdatedBy); - ALTER TABLE Templates ADD FOREIGN KEY (Queue) REFERENCES Queues(id); - ALTER TABLE Templates ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE Templates ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE CustomFields ADD INDEX(Queue); - ALTER TABLE CustomFields ADD INDEX(Creator); - ALTER TABLE CustomFields ADD INDEX(LastUpdatedBy); - ALTER TABLE CustomFields ADD FOREIGN KEY (Queue) REFERENCES Queues(id); - ALTER TABLE CustomFields ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE CustomFields ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE TicketCustomFieldValues ADD INDEX(Ticket); - ALTER TABLE TicketCustomFieldValues ADD INDEX(CustomField); - ALTER TABLE TicketCustomFieldValues ADD INDEX(Creator); - ALTER TABLE TicketCustomFieldValues ADD INDEX(LastUpdatedBy); - ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (Ticket) REFERENCES Tickets(id); - ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (CustomField) REFERENCES CustomFields(id); - ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE TicketCustomFieldValues ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); - ALTER TABLE CustomFieldValues ADD INDEX(CustomField); - ALTER TABLE CustomFieldValues ADD INDEX(Creator); - ALTER TABLE CustomFieldValues ADD INDEX(LastUpdatedBy); - ALTER TABLE CustomFieldValues ADD FOREIGN KEY (CustomField) REFERENCES CustomFields(id); - ALTER TABLE CustomFieldValues ADD FOREIGN KEY (Creator) REFERENCES Users(id); - ALTER TABLE CustomFieldValues ADD FOREIGN KEY (LastUpdatedBy) REFERENCES Users(id); diff --git a/rt/etc/drop.Informix b/rt/etc/drop.Informix deleted file mode 100644 index ce7cc0181..000000000 --- a/rt/etc/drop.Informix +++ /dev/null @@ -1,19 +0,0 @@ -DROP TABLE ACL; -DROP TABLE ATTACHMENTS; -DROP TABLE CACHEDGROUPMEMBERS; -DROP TABLE CUSTOMFIELDS; -DROP TABLE CUSTOMFIELDVALUES; -DROP TABLE GROUPMEMBERS; -DROP TABLE GROUPS; -DROP TABLE LINKS; -DROP TABLE PRINCIPALS; -DROP TABLE QUEUES; -DROP TABLE SCRIPACTIONS; -DROP TABLE SCRIPCONDITIONS; -DROP TABLE SCRIPS; -DROP TABLE SESSIONS; -DROP TABLE TEMPLATES; -DROP TABLE TICKETCUSTOMFIELDVALUES; -DROP TABLE TICKETS; -DROP TABLE TRANSACTIONS; -DROP TABLE USERS; diff --git a/rt/etc/drop.Oracle b/rt/etc/drop.Oracle deleted file mode 100644 index 475e984e1..000000000 --- a/rt/etc/drop.Oracle +++ /dev/null @@ -1,41 +0,0 @@ -DROP TABLE ACL; -DROP TABLE ATTACHMENTS; -DROP TABLE ATTRIBUTES; -DROP TABLE CACHEDGROUPMEMBERS; -DROP TABLE CUSTOMFIELDS; -DROP TABLE CUSTOMFIELDVALUES; -DROP TABLE GROUPMEMBERS; -DROP TABLE GROUPS; -DROP TABLE LINKS; -DROP TABLE PRINCIPALS; -DROP TABLE QUEUES; -DROP TABLE SCRIPACTIONS; -DROP TABLE SCRIPCONDITIONS; -DROP TABLE SCRIPS; -DROP TABLE SESSIONS; -DROP TABLE TEMPLATES; -DROP TABLE OBJECTCUSTOMFIELDS; -DROP TABLE OBJECTCUSTOMFIELDVALUES; -DROP TABLE TICKETS; -DROP TABLE TRANSACTIONS; -DROP TABLE USERS; -DROP SEQUENCE ACL_seq; -DROP SEQUENCE ATTACHMENTS_seq; -DROP SEQUENCE ATTRIBUTES_seq; -DROP SEQUENCE CACHEDGROUPMEMBERS_seq; -DROP SEQUENCE CUSTOMFIELDS_seq; -DROP SEQUENCE CUSTOMFIELDVALUES_seq; -DROP SEQUENCE GROUPMEMBERS_seq; -DROP SEQUENCE GROUPS_seq; -DROP SEQUENCE LINKS_seq; -DROP SEQUENCE PRINCIPALS_seq; -DROP SEQUENCE QUEUES_seq; -DROP SEQUENCE SCRIPACTIONS_seq; -DROP SEQUENCE SCRIPCONDITIONS_seq; -DROP SEQUENCE SCRIPS_seq; -DROP SEQUENCE TEMPLATES_seq; -DROP SEQUENCE OBJECTCUSTOMFIELDVALUES_seq; -DROP SEQUENCE OBJECTCUSTOMFIELDS_seq; -DROP SEQUENCE TICKETS_seq; -DROP SEQUENCE TRANSACTIONS_seq; -DROP SEQUENCE USERS_seq; diff --git a/rt/etc/initialdata b/rt/etc/initialdata deleted file mode 100644 index 54fa9d195..000000000 --- a/rt/etc/initialdata +++ /dev/null @@ -1,625 +0,0 @@ -# Initial data for a fresh RT3 Installation. - -@Users = ( - { Name => 'Nobody', - RealName => 'Nobody in particular', - Comments => 'Do not delete or modify this user. It is integral ' - . 'to RT\'s internal data structures', - Privileged => '0', }, - - { Name => 'root', - Gecos => 'root', - RealName => 'Enoch Root', - Password => 'password', - EmailAddress => "root\@localhost", - Comments => 'SuperUser', - Privileged => '1', } ); - -@Groups = ( - { Name => '', - Type => 'Everyone', # loc - Domain => 'SystemInternal', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Type => 'Privileged', # loc - Domain => 'SystemInternal', - Instance => '', - Name => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Name => '', - Type => 'Unprivileged', # loc - Domain => 'SystemInternal', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, - { Name => '', - Type => 'Owner', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'Requestor', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'Cc', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'SystemRolegroup for internal use', # loc - }, - { Name => '', - Type => 'AdminCc', # loc - Domain => 'RT::System-Role', - Instance => '', - Description => 'Pseudogroup for internal use', # loc - }, ); - -@Queues = ({ Name => 'General', - Description => 'The default queue', - CorrespondAddress => "", - CommentAddress => "", }, - { Name => '___Approvals', - Description => 'A system-internal queue for the approvals system', - Disabled => 2, } ); - -@ScripActions = ( - - { Name => 'Autoreply To Requestors', # loc - Description => -'Always sends a message to the requestors independent of message sender' , # loc - ExecModule => 'Autoreply', - Argument => 'Requestor' }, - { Name => 'Notify Requestors', # loc - Description => 'Sends a message to the requestors', # loc - ExecModule => 'Notify', - Argument => 'Requestor' }, - { Name => 'Notify Owner as Comment', # loc - Description => 'Sends mail to the owner', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Owner' }, - { Name => 'Notify Owner', # loc - Description => 'Sends mail to the owner', # loc - ExecModule => 'Notify', - Argument => 'Owner' }, - { Name => 'Notify Ccs as Comment', # loc - Description => 'Sends mail to the Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Cc' }, - { Name => 'Notify Ccs', # loc - Description => 'Sends mail to the Ccs', # loc - ExecModule => 'Notify', - Argument => 'Cc' }, - { Name => 'Notify AdminCcs as Comment', # loc - Description => 'Sends mail to the administrative Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'AdminCc' }, - { Name => 'Notify AdminCcs', # loc - Description => 'Sends mail to the administrative Ccs', # loc - ExecModule => 'Notify', - Argument => 'AdminCc' }, - - { Name => 'Notify Requestors and Ccs as Comment', # loc - Description => 'Send mail to requestors and Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Requestor,Cc' }, - - { Name => 'Notify Requestors and Ccs', # loc - Description => 'Send mail to requestors and Ccs', # loc - ExecModule => 'Notify', - Argument => 'Requestor,Cc' }, - - { Name => 'Notify Requestors, Ccs and AdminCcs as Comment', # loc - Description => 'Send mail to all watchers as a "comment"', # loc - ExecModule => 'NotifyAsComment', - Argument => 'All' }, - { Name => 'Notify Requestors, Ccs and AdminCcs', # loc - Description => 'Send mail to all watchers', # loc - ExecModule => 'Notify', - Argument => 'All' }, - { Name => 'Notify Other Recipients as Comment', # loc - Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc - ExecModule => 'NotifyAsComment', - Argument => 'OtherRecipients' }, - { Name => 'Notify Other Recipients', # loc - Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc - ExecModule => 'Notify', - Argument => 'OtherRecipients' }, - { Name => 'User Defined', # loc - Description => 'Perform a user-defined action', # loc - ExecModule => 'UserDefined', }, - { Name => 'Create Tickets', # loc - Description => - 'Create new tickets based on this scrip\'s template', # loc - ExecModule => 'CreateTickets', }, - { Name => 'Open Tickets', # loc - Description => 'Open tickets on correspondence', # loc - ExecModule => 'AutoOpen' }, -); - -@ScripConditions = ( - { Name => 'On Create', # loc - Description => 'When a ticket is created', # loc - ApplicableTransTypes => 'Create', - ExecModule => 'AnyTransaction', }, - - { Name => 'On Transaction', # loc - Description => 'When anything happens', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'AnyTransaction', }, - { - - Name => 'On Correspond', # loc - Description => 'Whenever correspondence comes in', # loc - ApplicableTransTypes => 'Correspond', - ExecModule => 'AnyTransaction', }, - - { - - Name => 'On Comment', # loc - Description => 'Whenever comments come in', # loc - ApplicableTransTypes => 'Comment', - ExecModule => 'AnyTransaction' }, - { - - Name => 'On Status Change', # loc - Description => 'Whenever a ticket\'s status changes', # loc - ApplicableTransTypes => 'Status', - ExecModule => 'AnyTransaction', - - }, - { - - Name => 'On Priority Change', # loc - Description => 'Whenever a ticket\'s priority changes', # loc - ApplicableTransTypes => 'Set', - ExecModule => 'PriorityChange', - }, - { - - Name => 'On Owner Change', # loc - Description => 'Whenever a ticket\'s owner changes', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'OwnerChange', - - }, - { - - Name => 'On Queue Change', # loc - Description => 'Whenever a ticket\'s queue changes', # loc - ApplicableTransTypes => 'Set', - ExecModule => 'QueueChange', - - }, - { Name => 'On Resolve', # loc - Description => 'Whenever a ticket is resolved', # loc - ApplicableTransTypes => 'Status', - ExecModule => 'StatusChange', - Argument => 'resolved' - - }, - - { Name => 'User Defined', # loc - Description => 'Whenever a user-defined condition occurs', # loc - ApplicableTransTypes => 'Any', - ExecModule => 'UserDefined' - - }, - -); - -@Templates = ( - { Queue => '0', - Name => 'Blank', # loc - Description => 'A blank template', # loc - Content => '', }, - { Queue => '0', - Name => 'Autoreply', # loc - Description => 'Default Autoresponse template', # loc - Content => 'Subject: AutoReply: {$Ticket->Subject} - - -Greetings, - -This message has been automatically generated in response to the -creation of a trouble ticket regarding: - "{$Ticket->Subject()}", -a summary of which appears below. - -There is no need to reply to this message right now. Your ticket has been -assigned an ID of [{$rtname} #{$Ticket->id()}]. - -Please include the string: - - [{$rtname} #{$Ticket->id}] - -in the subject line of all future correspondence about this issue. To do so, -you may reply to this message. - - Thank you, - {$Ticket->QueueObj->CorrespondAddress()} - -------------------------------------------------------------------------- -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Transaction', # loc - Description => 'Default transaction template', # loc - Content => 'RT-Attach-Message: yes - - -{$Transaction->CreatedAsString}: Request {$Ticket->id} was acted upon. -Transaction: {$Transaction->Description} - Queue: {$Ticket->QueueObj->Name} - Subject: {$Transaction->Subject || $Ticket->Subject || "(No subject given)"} - Owner: {$Ticket->OwnerObj->Name} - Requestors: {$Ticket->RequestorAddresses} - Status: {$Ticket->Status} - Ticket <URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} > - - -{$Transaction->Content()} -' - }, - - { - - Queue => '0', - Name => 'Admin Correspondence', # loc - Description => 'Default admin correspondence template', # loc - Content => 'RT-Attach-Message: yes - - -<URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} > - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Correspondence', # loc - Description => 'Default correspondence template', # loc - Content => 'RT-Attach-Message: yes - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Admin Comment', # loc - Description => 'Default admin comment template', # loc - Content => -'Subject: [Comment] {my $s=($Transaction->Subject||$Ticket->Subject); $s =~ s/\\[Comment\\]//g; $comment =~ s/^Re//i; $s;} - - -{$RT::WebURL}Ticket/Display.html?id={$Ticket->id} -This is a comment. It is not sent to the Requestor(s): - -{$Transaction->Content()} -' - }, - - { Queue => '0', - Name => 'Status Change', # loc - Description => 'Ticket status changed', # loc - Content => 'Subject: Status Changed to: {$Transaction->NewValue} - - -{$RT::WebURL}Ticket/Display.html?id={$Ticket->id} - -{$Transaction->Content()} -' - }, - - { - - Queue => '0', - Name => 'Resolved', # loc - Description => 'Ticket Resolved', # loc - Content => 'Subject: Resolved: {$Ticket->Subject} - -According to our records, your request has been resolved. If you have any -further questions or concerns, please respond to this message. -' - }, - { Queue => '___Approvals', - Name => "New Pending Approval", # loc - Description => - "Notify Owners and AdminCcs of new items pending their approval", # loc - Content => 'Subject: New Pending Approval: {$Ticket->Subject} - -Greetings, - -There is a new item pending your approval: "{$Ticket->Subject()}", -a summary of which appears below. - -Please visit {$RT::WebURL}Approvals/Display.html?id={$Ticket->id} -to approve or reject this ticket, or {$RT::WebURL}Approvals/ to -batch-process all your pending approvals. - -------------------------------------------------------------------------- -{$Transaction->Content()} -' - }, - { Queue => '___Approvals', - Name => "Approval Passed", # loc - Description => - "Notify Owner of their ticket has been approved by some approver", # loc - Content => 'Subject: Ticket Approved: {$Ticket->Subject} - -Greetings, - -Your ticket has been approved by { eval { $Approval->OwnerObj->Name } }. -Other approvals may be pending. -' - }, - { Queue => '___Approvals', - Name => "All Approvals Passed", # loc - Description => - "Notify Owner of their ticket has been approved by all approvers", # loc - Content => 'Subject: Ticket Approved: {$Ticket->Subject} - -Greetings, - -Your ticket has been approved. Its Owner may now start to act on it. -' - }, - { Queue => '___Approvals', - Name => "Approval Rejected", # loc - Description => - "Notify Owner of their rejected ticket", # loc - Content => 'Subject: Ticket Rejected: {$Ticket->Subject} - -Greetings, - -Your ticket has been rejected by { eval { $Approval->OwnerObj->Name } }. -' - }, -); -# }}} - -@Scrips = ( - { ScripCondition => 'On Correspond', - ScripAction => 'Open Tickets', - Template => 'Blank' }, - { ScripCondition => 'On Owner Change', - ScripAction => 'Notify Owner', - Template => 'Transaction' }, - { ScripCondition => 'On Create', - ScripAction => 'AutoReply To Requestors', - Template => 'AutoReply' }, - { ScripCondition => 'On Create', - ScripAction => 'Notify AdminCcs', - Template => 'Transaction' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify AdminCcs', - Template => 'Admin Correspondence' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify Requestors And Ccs', - Template => 'Correspondence' }, - { ScripCondition => 'On Correspond', - ScripAction => 'Notify Other Recipients', - Template => 'Correspondence' }, - { ScripCondition => 'On Comment', - ScripAction => 'Notify AdminCcs As Comment', - Template => 'Admin Comment' }, - { ScripCondition => 'On Comment', - ScripAction => 'Notify Other Recipients As Comment', - Template => 'Correspondence' }, - { ScripCondition => 'On Resolve', - ScripAction => 'Notify Requestors', - Template => 'Resolved' }, - { Description => "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval", # loc - Queue => '___Approvals', - ScripCondition => 'User Defined', - CustomIsApplicableCode => q[ - $self->TicketObj->Type eq 'approval' and - $self->TransactionObj->Field eq 'Status' and - $self->TransactionObj->NewValue eq 'open' and - eval { $T::Approving = ($self->TicketObj->AllDependedOnBy( Type => 'ticket' ))[0] } - ], - ScripAction => 'Notify Owner', - Template => 'New Pending Approval' }, - { Description => "If an approval is rejected, reject the original and delete pending approvals", # loc - Queue => '___Approvals', - ScripCondition => 'On Status Change', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -return(0) unless ( lc($self->TransactionObj->NewValue) eq "rejected" or - lc($self->TransactionObj->NewValue) eq "deleted" ); - -my $rejected = 0; -my $links = $self->TicketObj->DependedOnBy; -foreach my $link (@{ $links->ItemsArrayRef }) { - my $obj = $link->BaseObj; - if ($obj->QueueObj->IsActiveStatus($obj->Status)) { - if ($obj->Type eq 'ticket') { - $obj->Comment( - Content => $self->loc("Your request was rejected."), - ); - $obj->SetStatus( - Status => 'rejected', - Force => 1, - ); - - $T::Approval = $self->TicketObj; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line - $rejected = 1; - } - else { - $obj->SetStatus( - Status => 'deleted', - Force => 1, - ); - } - } -} - -$links = $self->TicketObj->DependsOn; -foreach my $link (@{ $links->ItemsArrayRef }) { - my $obj = $link->TargetObj; - if ($obj->QueueObj->IsActiveStatus($obj->Status)) { - $obj->SetStatus( - Status => 'deleted', - Force => 1, - ); - } -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return $rejected; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'Approval Rejected', }, - { Description => "When a ticket has been approved by any approver, add correspondence to the original ticket", # loc - Queue => '___Approvals', - ScripCondition => 'On Resolve', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -return(0) unless ($self->TicketObj->Type eq 'approval'); - -my $note; -my $t = $self->TicketObj->Transactions; -while (my $o = $t->Next) { - $note .= $o->Content . "\n" if $o->ContentObj - and $o->Content !~ /Default Approval/; -} - -foreach my $obj ($self->TicketObj->AllDependedOnBy( Type => 'ticket' )) { - $obj->Comment( - Content => $self->loc( "Your request has been approved by [_1]. Other approvals may still be pending.", # loc - $self->TransactionObj->CreatorObj->Name, - ) . "\n" . $self->loc( "Approver's notes: [_1]", # loc - $note - ), - ); - $T::Approval = $self->TicketObj; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return 1; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'Approval Passed' }, - { Description => "When a ticket has been approved by all approvers, add correspondence to the original ticket", # loc - Queue => '___Approvals', - ScripCondition => 'On Resolve', - ScripAction => 'User Defined', - CustomPrepareCode => q[ -# ------------------------------------------------------------------- # -# Find all the tickets that depend on this (that this is approving) - -my $Ticket = $self->TicketObj; -my @TOP = $Ticket->AllDependedOnBy( Type => 'ticket' ); -my $links = $Ticket->DependedOnBy; -my $passed = 0; - -while (my $link = $links->Next) { - my $obj = $link->BaseObj; - next if ($obj->HasUnresolvedDependencies( Type => 'approval' )); - - if ($obj->Type eq 'ticket') { - $obj->Comment( - Content => $self->loc("Your request has been approved."), - ); - $T::Approval = $Ticket; # so we can access it inside templates - $self->{TicketObj} = $obj; # we want the original id in the token line - $passed = 1; - } - elsif ($obj->Type eq 'approval') { - $obj->SetStatus( Status => 'open', Force => 1 ); - } - elsif ($RT::UseCodeTickets and $obj->Type eq 'code') { - my $code = $obj->Transactions->First->Content; - my $rv; - - foreach my $TOP (@TOP) { - local $@; - $rv++ if eval $code; - $RT::Logger->error("Cannot eval code: $@") if $@; - } - - if ($rv or !@TOP) { - $obj->SetStatus( Status => 'resolved', Force => 1,); - } - else { - $obj->SetStatus( Status => 'rejected', Force => 1,); - } - } -} - -# Now magically turn myself into a Requestor Notify object... -require RT::Action::Notify; bless($self, 'RT::Action::Notify'); -$self->{Argument} = 'Requestor'; $self->Prepare; - -return 0; # ignore $passed; -# ------------------------------------------------------------------- # - ], - CustomCommitCode => '"never needed"', - Template => 'All Approvals Passed', }, - -); - -@ACL = ( - { UserId => 'Nobody', # - principalId - Right => 'OwnTicket', }, - - { UserId => 'root', # - principalid - Right => 'SuperUser', }, - -); - -# Predefined searches - -@Attributes = ( - { Name => 'Search - My Tickets', - Description => '[_1] highest priority tickets I own', # loc - Content => - { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', Priority, QueueName, ExtendedStatus", - Query => " Owner = '__CurrentUser__' AND ( Status = 'new' OR Status = 'open')", - OrderBy => 'Priority', - Order => 'DESC' }, - }, - { Name => 'Search - Unowned Tickets', - Description => '[_1] newest unowned tickets', # loc - Content => -# 'Take' #loc - { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', QueueName, ExtendedStatus, CreatedRelative, '<A HREF=\"__WebPath__/Ticket/Display.html?Action=Take&id=__id__\">__loc(Take)__</a>/TITLE: ' ", - Query => " Owner = 'Nobody' AND ( Status = 'new' OR Status = 'open')", - OrderBy => 'Created', - Order => 'DESC' }, - }, - { Name => 'HomepageSettings', - Description => 'HomepageSettings', - Content => - { 'body' => # loc - [ { type => 'system', name => 'My Tickets' }, - { type => 'system', name => 'Unowned Tickets' }, - { type => 'component', name => 'QuickCreate'}, - ], - 'summary' => # loc - [ - { type => 'component', name => 'MyReminders' }, - { type => 'component', name => 'Quicksearch' }, - { type => 'component', name => 'RefreshHomepage' }, - ] - }, -} -); diff --git a/rt/etc/rt.spec b/rt/etc/rt.spec deleted file mode 100644 index 14200c1f3..000000000 --- a/rt/etc/rt.spec +++ /dev/null @@ -1,137 +0,0 @@ -Summary: rt Request Tracker - -Name: rt -Version: 2.0.9pre5 -Release: 1 -Group: Applications/Web -Packager: Jesse Vincent <jesse@bestpractical.com> -Vendor: http://www.fsck.com/projects/rt -Requires: perl -Requires: mod_perl > 1.22 -Requires: perl-DBI >= 1.18 -Requires: perl-DBIx-DataSource >= 0.02 -Requires: perl-DBIx-SearchBuilder >= 0.47 -Requires: perl-HTML-Parser -Requires: perl-MLDBM -Requires: perl-libnet -Requires: perl-CGI.pm >= 2.78 -Requires: perl-Params-Validate >= 0.02 -Requires: perl-HTML-Mason >= 0.896 -Requires: perl-libapreq -Requires: perl-Apache-Session >= 1.53 -Requires: perl-MIME-tools >= 5.411 -Requires: perl-MailTools >= 1.20 -Requires: perl-Getopt-Long >= 2.24 -Requires: perl-Tie-IxHash -Requires: perl-TimeDate -Requires: perl-Time-HiRes -Requires: perl-Text-Wrapper -Requires: perl-Text-Template -Requires: perl-File-Spec >= 0.8 -Requires: perl-FreezeThaw -Requires: perl-Storable -Requires: perl-File-Temp -Requires: perl-Log-Dispatch >= 1.6 - -Source: http://www.fsck.com/pub/rt/release/%{name}.tar.gz - -Copyright: GPL -BuildRoot: /var/tmp/rt-root - -%description -RT is an industrial-grade ticketing system. It lets a group -of people intelligently and efficiently manage requests -submitted by a community of users. RT is used by systems -administrators, customer support staffs, NOCs, developers -and even marketing departments at over a thousand sites -around the world. - -%prep -groupadd rt || true -%setup -q -n %{name} - -%build - -%install - -if [ x$RPM_BUILD_ROOT != x ]; then -rm -rf $RPM_BUILD_ROOT -fi - -# -# Perform all the non-site specfic steps whilst building the package -# -make dirs libs-install html-install bin-install DESTDIR=$RPM_BUILD_ROOT -# -# fixperms needs these, so make fake empty files -touch $RPM_BUILD_ROOT/opt/rt2/etc/insertdata $RPM_BUILD_ROOT/opt/rt2/etc/config.pm -make fixperms insert-install WEB_USER=www DESTDIR=$RPM_BUILD_ROOT - -# -# Copy in the files needed again after install -# -mkdir -p $RPM_BUILD_ROOT/opt/rt2/postinstall/bin -cp -rp Makefile etc tools $RPM_BUILD_ROOT/opt/rt2/postinstall -cp -rp bin/initacls.* $RPM_BUILD_ROOT/opt/rt2/postinstall/bin - -# logging in /var/log/rt2 -mkdir -p $RPM_BUILD_ROOT/var/log/rt2 -chown www $RPM_BUILD_ROOT/var/log/rt2 -chgrp rt $RPM_BUILD_ROOT/var/log/rt2 -chmod ug=rwx,o= $RPM_BUILD_ROOT/var/log/rt2 - -%clean -if [ x$RPM_BUILD_ROOT != x ]; then -rm -rf $RPM_BUILD_ROOT -fi - -# -# A new rt groups is required -# -%pre -groupadd rt || true - -# -# Show the user the site specific steps required after install -# -%post -cat <<EOF ------------------------------------------------------------------------ -rt2 installation is complete. Now create the rt2 database by running: ------------------------------------------------------------------------ - -# cd /opt/rt2/postinstall -# make config-replace initialize.mysql insert RT_LOG_PATH=/var/log/rt2 DB_RT_PASS=new_rt_user_password - -Choose your own new_rt_user_password. You will need the mysql root password. -You can try Pg or Oracle instead of mysql - untested. - -Review and configure your site specific details in /opt/rt2/etc/config.pm -EOF - -%preun - -%files -%dir /opt/rt2 -/opt/rt2/bin -/opt/rt2/WebRT -/opt/rt2/lib -/opt/rt2/local -/opt/rt2/man -/opt/rt2/postinstall -%dir /opt/rt2/etc -/opt/rt2/etc/insertdata -%config /opt/rt2/etc/config.pm -%dir /var/log/rt2 - -%changelog -* Mon Sep 24 2001 Jesse Vincent <jesse@bestpractical.com> - Switch to rt DESTDIR support -* Fri Sep 14 2001 Cris Bailiff <c.bailiff@devsecure.com> - Fix permissions on created /var/log/rt2 and roll in 2.0.7 -* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com> -- created initial spec file -* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com> -- created initial spec file -* Tue Sep 4 2001 Cris Bailiff <c.bailiff@devsecure.com> -- created initial spec file diff --git a/rt/etc/schema.Informix b/rt/etc/schema.Informix deleted file mode 100644 index 6a4e5334e..000000000 --- a/rt/etc/schema.Informix +++ /dev/null @@ -1,364 +0,0 @@ --- This schema was adopted from the oracle schema by --- Andre Koppel. --- Version 0.2 Date 2003.10.21 --- The work is still in progress - -CREATE TABLE Attachments ( - id SERIAL, - TransactionId INTEGER NOT NULL, - Parent INTEGER DEFAULT 0 NOT NULL, - MessageId VARCHAR(160), - Subject VARCHAR(255), - Filename VARCHAR(255), - ContentType VARCHAR(80), - ContentEncoding VARCHAR(80), - Content BYTE, - Headers BYTE, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); -CREATE INDEX Attachments1 ON Attachments (Parent); -CREATE INDEX Attachments2 ON Attachments (TransactionId); -CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId); - - -CREATE TABLE Queues ( - id SERIAL, - Name VARCHAR(200) DEFAULT '' NOT NULL, - Description VARCHAR(255) DEFAULT NULL, - CorrespondAddress VARCHAR(120) DEFAULT NULL, - CommentAddress VARCHAR(120) DEFAULT NULL, - InitialPriority INTEGER DEFAULT 0 NOT NULL, - FinalPriority INTEGER DEFAULT 0 NOT NULL, - DefaultDueIn INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - Disabled INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE UNIQUE INDEX Queues1 ON Queues (Name); -CREATE INDEX Queues2 ON Queues (Disabled); - - -CREATE TABLE Links ( - id SERIAL, - Base VARCHAR(240) DEFAULT NULL, - Target VARCHAR(240) DEFAULT NULL, - Type VARCHAR(20) DEFAULT '' NOT NULL, - LocalTarget INTEGER DEFAULT 0 NOT NULL, - LocalBase INTEGER DEFAULT 0 NOT NULL, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); --- CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type); -CREATE INDEX Links2 ON Links (Base, Type); -CREATE INDEX Links3 ON Links (Target, Type); -CREATE INDEX Links4 ON Links(Type,LocalBase); - - -CREATE TABLE Principals ( - id SERIAL, - PrincipalType VARCHAR(16) DEFAULT '' NOT NULL, - ObjectId INTEGER DEFAULT 0, - Disabled INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE INDEX Principals2 ON Principals (ObjectId); - - -CREATE TABLE Groups ( - id SERIAL, - Name VARCHAR(200) DEFAULT NULL, - Description VARCHAR(255) DEFAULT NULL, - Domain VARCHAR(64) DEFAULT '', - Type VARCHAR(64) DEFAULT '', - Instance INTEGER DEFAULT 0 NOT NULL, --- Instance VARCHAR(64) DEFAULT '' NOT NULL, - PRIMARY KEY (id) -); -CREATE INDEX Groups1 ON Groups (Domain, Instance, Type, id); -CREATE INDEX Groups2 ON Groups (Type, Instance, Domain); - - -CREATE TABLE ScripConditions ( - id SERIAL, - Name VARCHAR(200), - Description VARCHAR(255), - ExecModule VARCHAR(60), - Argument VARCHAR(255), - ApplicableTransTypes VARCHAR(60), - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - - -CREATE TABLE Transactions ( - id SERIAL, - ObjectType VARCHAR(255), - ObjectId INTEGER DEFAULT 0 NOT NULL, - TimeTaken INTEGER DEFAULT 0 NOT NULL, - Type VARCHAR(20), - Field VARCHAR(40), - OldValue VARCHAR(255), - NewValue VARCHAR(255), - ReferenceType VARCHAR(255), - OldReference INTEGER DEFAULT 0, - NewReference INTEGER DEFAULT 0, - Data VARCHAR(255), - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - - -CREATE TABLE Scrips ( - id SERIAL, - Description VARCHAR(255) DEFAULT '', - ScripCondition INTEGER DEFAULT 0 NOT NULL, - ScripAction INTEGER DEFAULT 0 NOT NULL, - ConditionRules BYTE, - ActionRules BYTE, - CustomIsApplicableCode BYTE, - CustomPrepareCode BYTE, - CustomCommitCode BYTE, - Stage VARCHAR(32), - Queue INTEGER DEFAULT 0 NOT NULL, - Template INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - - -CREATE TABLE ACL ( - id SERIAL, - PrincipalType VARCHAR(25) NOT NULL, - PrincipalId INTEGER NOT NULL, - RightName VARCHAR(25) NOT NULL, - ObjectType VARCHAR(25) NOT NULL, - ObjectId INTEGER DEFAULT 0 NOT NULL, - DelegatedBy INTEGER DEFAULT 0 NOT NULL, - DelegatedFrom INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE INDEX ACL1 ON ACL(RightName, ObjectType, ObjectId, PrincipalType, PrincipalId); - - -CREATE TABLE GroupMembers ( - id SERIAL, - GroupId INTEGER DEFAULT 0 NOT NULL, - MemberId INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE UNIQUE INDEX GroupMembers1 ON GroupMembers (GroupId, MemberId); - - -CREATE TABLE CachedGroupMembers ( - id SERIAL, - GroupId INTEGER DEFAULT 0, - MemberId INTEGER DEFAULT 0, - Via INTEGER DEFAULT 0, - ImmediateParentId INTEGER DEFAULT 0, - Disabled INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE INDEX DisGrouMem ON CachedGroupMembers (GroupId, MemberId, Disabled); -CREATE INDEX GrouMem ON CachedGroupMembers (GroupId, MemberId); - - -CREATE TABLE Users ( - id SERIAL, - Name VARCHAR(200) NOT NULL, - Password VARCHAR(40), - Comments BYTE, - Signature BYTE, - EmailAddress VARCHAR(120), - FreeFormContactInfo BYTE, - Organization VARCHAR(200), - RealName VARCHAR(120), - NickName VARCHAR(16), - Lang VARCHAR(16), - EmailEncoding VARCHAR(16), - WebEncoding VARCHAR(16), - ExternalContactInfoId VARCHAR(100), - ContactInfoSystem VARCHAR(30), - ExternalAuthId VARCHAR(100), - AuthSystem VARCHAR(30), - Gecos VARCHAR(16), - HomePhone VARCHAR(30), - WorkPhone VARCHAR(30), - MobilePhone VARCHAR(30), - PagerPhone VARCHAR(30), - Address1 VARCHAR(200), - Address2 VARCHAR(200), - City VARCHAR(100), - State VARCHAR(100), - Zip VARCHAR(16), - Country VARCHAR(50), - Timezone VARCHAR(50), - PGPKey BYTE, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); --- CREATE UNIQUE INDEX Users1 ON Users (Name); -CREATE INDEX Users2 ON Users (Name); -CREATE INDEX Users3 ON Users (id, EmailAddress); -CREATE INDEX Users4 ON Users (EmailAddress); - - -CREATE TABLE Tickets ( - id SERIAL, - EffectiveId INTEGER DEFAULT 0 NOT NULL, - Queue INTEGER DEFAULT 0 NOT NULL, - Type VARCHAR(16), - IssueStatement INTEGER DEFAULT 0 NOT NULL, - Resolution INTEGER DEFAULT 0 NOT NULL, - Owner INTEGER DEFAULT 0 NOT NULL, - Subject VARCHAR(200) DEFAULT '[no subject]', - InitialPriority INTEGER DEFAULT 0 NOT NULL, - FinalPriority INTEGER DEFAULT 0 NOT NULL, - Priority INTEGER DEFAULT 0 NOT NULL, - TimeEstimated INTEGER DEFAULT 0 NOT NULL, - TimeWorked INTEGER DEFAULT 0 NOT NULL, - Status VARCHAR(10), - TimeLeft INTEGER DEFAULT 0 NOT NULL, - Told DATETIME YEAR TO SECOND, - Starts DATETIME YEAR TO SECOND, - Started DATETIME YEAR TO SECOND, - Due DATETIME YEAR TO SECOND, - Resolved DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - Disabled INTEGER DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); -CREATE INDEX Tickets1 ON Tickets (Queue, Status); -CREATE INDEX Tickets2 ON Tickets (Owner); -CREATE INDEX Tickets3 ON Tickets (EffectiveId); -CREATE INDEX Tickets4 ON Tickets (id, Status); -CREATE INDEX Tickets5 ON Tickets (id, EffectiveId); -CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type); - - -CREATE TABLE ScripActions ( - id SERIAL, - Name VARCHAR(200), - Description VARCHAR(255), - ExecModule VARCHAR(60), - Argument VARCHAR(255), - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - - -CREATE TABLE Templates ( - id SERIAL, - Queue INTEGER DEFAULT 0 NOT NULL, - Name VARCHAR(200) NOT NULL, - Description VARCHAR(255), - Type VARCHAR(16), - Language VARCHAR(16), - TranslationOf INTEGER DEFAULT 0 NOT NULL, - Content BYTE, - LastUpdated DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - - -CREATE TABLE TicketCustomFieldValues ( - id SERIAL, - Ticket INTEGER NOT NULL, - CustomField INTEGER NOT NULL, - Content VARCHAR(255), - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - -CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); -CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); - -CREATE TABLE CustomFields ( - id SERIAL, - Name VARCHAR(200), - Type VARCHAR(200), - MaxValues INTEGER DEFAULT 0 NOT NULL, - Pattern VARCHAR(255), - LookupType VARCHAR(255), - Description VARCHAR(255), - SortOrder INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - Disabled SMALLINT DEFAULT 0 NOT NULL, - PRIMARY KEY (id) -); - - -CREATE TABLE CustomFieldValues ( - id SERIAL, - CustomField INTEGER NOT NULL, - Name VARCHAR(200), - Description VARCHAR(255), - SortOrder INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - -CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); - -CREATE TABLE Attributes ( - id SERIAL, - Name VARCHAR(255) DEFAULT '' NOT NULL, - Description VARCHAR(255) DEFAULT NULL, - Content BYTE, - ContentType VARCHAR(16), - ObjectType VARCHAR(25) NOT NULL, - ObjectId INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - - -CREATE TABLE sessions ( - id VARCHAR(32) NOT NULL, - a_session BYTE, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - diff --git a/rt/etc/schema.Pg b/rt/etc/schema.Pg deleted file mode 100755 index 2d45a946a..000000000 --- a/rt/etc/schema.Pg +++ /dev/null @@ -1,636 +0,0 @@ ------------------------------------------------------------------- --- My2Pg 1.23 translated dump --- ------------------------------------------------------------------- - - - --- --- Sequences for table ATTACHMENTS --- - -CREATE SEQUENCE attachments_id_seq; - --- {{{ Attachments - -CREATE TABLE Attachments ( - id INTEGER DEFAULT nextval('attachments_id_seq'), - TransactionId integer NOT NULL , - Parent integer NOT NULL DEFAULT 0 , - MessageId varchar(160) NULL , - Subject varchar(255) NULL , - Filename varchar(255) NULL , - ContentType varchar(80) NULL , - ContentEncoding varchar(80) NULL , - Content text NULL , - Headers text NULL , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - PRIMARY KEY (id) - -); - -CREATE INDEX Attachments1 ON Attachments (Parent) ; -CREATE INDEX Attachments2 ON Attachments (TransactionId) ; -CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; --- }}} - --- {{{ Queues - - --- --- Sequences for table QUEUES --- - -CREATE SEQUENCE queues_id_seq; - -CREATE TABLE Queues ( - id INTEGER DEFAULT nextval('queues_id_seq'), - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - CorrespondAddress varchar(120) NULL , - CommentAddress varchar(120) NULL , - InitialPriority integer NOT NULL DEFAULT 0 , - FinalPriority integer NOT NULL DEFAULT 0 , - DefaultDueIn integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); -CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; - --- }}} - --- {{{ Links - - - --- --- Sequences for table LINKS --- - -CREATE SEQUENCE links_id_seq; - -CREATE TABLE Links ( - id INTEGER DEFAULT nextval('links_id_seq'), - Base varchar(240) NULL , - Target varchar(240) NULL , - Type varchar(20) NOT NULL , - LocalTarget integer NOT NULL DEFAULT 0 , - LocalBase integer NOT NULL DEFAULT 0 , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - PRIMARY KEY (id) - -); -CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ; -CREATE INDEX Links4 ON Links(Type,LocalBase); - --- }}} - --- {{{ Principals - - - --- --- Sequences for table PRINCIPALS --- - -CREATE SEQUENCE principals_id_seq; - -CREATE TABLE Principals ( - id INTEGER DEFAULT nextval('principals_id_seq') not null, - PrincipalType VARCHAR(16) not null, - ObjectId integer, - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); - -CREATE INDEX Principals2 ON Principals (ObjectId); - - --- }}} - --- {{{ Groups - - - --- --- Sequences for table GROUPS --- - -CREATE SEQUENCE groups_id_seq; - -CREATE TABLE Groups ( - id INTEGER DEFAULT nextval('groups_id_seq'), - Name varchar(200) NULL , - Description varchar(255) NULL , - Domain varchar(64), - Type varchar(64), - Instance integer, - PRIMARY KEY (id) - -); -CREATE UNIQUE INDEX Groups1 ON Groups (Domain,Instance,Type,id, Name); -CREATE INDEX Groups2 On Groups (Type, Instance, Domain); - - --- }}} - --- {{{ ScripConditions - - - --- --- Sequences for table SCRIPCONDITIONS --- - -CREATE SEQUENCE scripconditions_id_seq; - -CREATE TABLE ScripConditions ( - id INTEGER DEFAULT nextval('scripconditions_id_seq'), - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - ApplicableTransTypes varchar(60) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ Transactions - - --- --- Sequences for table TRANSACTIONS --- - -CREATE SEQUENCE transactions_id_seq; - -CREATE TABLE Transactions ( - id INTEGER DEFAULT nextval('transactions_id_seq'), - ObjectType varchar(255) NOT NULL , - ObjectId integer NOT NULL DEFAULT 0 , - TimeTaken integer NOT NULL DEFAULT 0 , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - ReferenceType varchar(255) NULL, - OldReference integer NULL , - NewReference integer NULL , - Data varchar(255) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - PRIMARY KEY (id) - -); -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - --- }}} - --- {{{ Scrips - - - --- --- Sequences for table SCRIPS --- - -CREATE SEQUENCE scrips_id_seq; - -CREATE TABLE Scrips ( - id INTEGER DEFAULT nextval('scrips_id_seq'), - Description varchar(255), - ScripCondition integer NOT NULL DEFAULT 0 , - ScripAction integer NOT NULL DEFAULT 0 , - ConditionRules text NULL , - ActionRules text NULL , - CustomIsApplicableCode text NULL , - CustomPrepareCode text NULL , - CustomCommitCode text NULL , - Stage varchar(32) NULL , - Queue integer NOT NULL DEFAULT 0 , - Template integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ ACL - - --- --- Sequences for table ACL --- - -CREATE SEQUENCE acl_id_seq; - -CREATE TABLE ACL ( - id INTEGER DEFAULT nextval('acl_id_seq'), - PrincipalType varchar(25) NOT NULL, - - PrincipalId integer NOT NULL , - RightName varchar(25) NOT NULL , - ObjectType varchar(25) NOT NULL , - ObjectId integer NOT NULL DEFAULT 0, - DelegatedBy integer NOT NULL DEFAULT 0, - DelegatedFrom integer NOT NULL DEFAULT 0, - PRIMARY KEY (id) - -); - -CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId); - - --- }}} - --- {{{ GroupMembers - - - --- --- Sequences for table GROUPMEMBERS --- - -CREATE SEQUENCE groupmembers_id_seq; - -CREATE TABLE GroupMembers ( - id INTEGER DEFAULT nextval('groupmembers_id_seq'), - GroupId integer NOT NULL DEFAULT 0, - MemberId integer NOT NULL DEFAULT 0, - PRIMARY KEY (id) - -); - --- }}} - --- {{{ GroupMembersCache - - - --- --- Sequences for table CACHEDGROUPMEMBERS --- - -CREATE SEQUENCE cachedgroupmembers_id_seq; - -CREATE TABLE CachedGroupMembers ( - id int DEFAULT nextval('cachedgroupmembers_id_seq'), - GroupId int, - MemberId int, - Via int, - ImmediateParentId int, - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); - -CREATE INDEX CachedGroupMembers2 on CachedGroupMembers (MemberId); -CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (GroupId); -CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled); - --- }}} - --- {{{ Users - - - --- --- Sequences for table USERS --- - -CREATE SEQUENCE users_id_seq; - -CREATE TABLE Users ( - id INTEGER DEFAULT nextval('users_id_seq'), - Name varchar(200) NOT NULL , - Password varchar(40) NULL , - Comments text NULL , - Signature text NULL , - EmailAddress varchar(120) NULL , - FreeformContactInfo text NULL , - Organization varchar(200) NULL , - RealName varchar(120) NULL , - NickName varchar(16) NULL , - Lang varchar(16) NULL , - EmailEncoding varchar(16) NULL , - WebEncoding varchar(16) NULL , - ExternalContactInfoId varchar(100) NULL , - ContactInfoSystem varchar(30) NULL , - ExternalAuthId varchar(100) NULL , - AuthSystem varchar(30) NULL , - Gecos varchar(16) NULL , - HomePhone varchar(30) NULL , - WorkPhone varchar(30) NULL , - MobilePhone varchar(30) NULL , - PagerPhone varchar(30) NULL , - Address1 varchar(200) NULL , - Address2 varchar(200) NULL , - City varchar(100) NULL , - State varchar(100) NULL , - Zip varchar(16) NULL , - Country varchar(50) NULL , - Timezone varchar(50) NULL , - PGPKey text NULL, - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - - -CREATE UNIQUE INDEX Users1 ON Users (Name) ; -CREATE INDEX Users2 ON Users (Name); -CREATE INDEX Users3 ON Users (id, EmailAddress); -CREATE INDEX Users4 ON Users (EmailAddress); - - --- }}} - --- {{{ Tickets - - - --- --- Sequences for table TICKETS --- - -CREATE SEQUENCE tickets_id_seq; - -CREATE TABLE Tickets ( - id INTEGER DEFAULT nextval('tickets_id_seq'), - EffectiveId integer NOT NULL DEFAULT 0 , - Queue integer NOT NULL DEFAULT 0 , - Type varchar(16) NULL , - IssueStatement integer NOT NULL DEFAULT 0 , - Resolution integer NOT NULL DEFAULT 0 , - Owner integer NOT NULL DEFAULT 0 , - Subject varchar(200) NULL DEFAULT '[no subject]' , - InitialPriority integer NOT NULL DEFAULT 0 , - FinalPriority integer NOT NULL DEFAULT 0 , - Priority integer NOT NULL DEFAULT 0 , - TimeEstimated integer NOT NULL DEFAULT 0 , - TimeWorked integer NOT NULL DEFAULT 0 , - Status varchar(10) NULL , - TimeLeft integer NOT NULL DEFAULT 0 , - Told TIMESTAMP NULL , - Starts TIMESTAMP NULL , - Started TIMESTAMP NULL , - Due TIMESTAMP NULL , - Resolved TIMESTAMP NULL , - - - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); - -CREATE INDEX Tickets1 ON Tickets (Queue, Status) ; -CREATE INDEX Tickets2 ON Tickets (Owner) ; -CREATE INDEX Tickets3 ON Tickets (EffectiveId) ; -CREATE INDEX Tickets4 ON Tickets (id, Status) ; -CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; - --- }}} - --- {{{ ScripActions - - - --- --- Sequences for table SCRIPACTIONS --- - -CREATE SEQUENCE scripactions_id_seq; - -CREATE TABLE ScripActions ( - id INTEGER DEFAULT nextval('scripactions_id_seq'), - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ Templates - - - --- --- Sequences for table TEMPLATES --- - -CREATE SEQUENCE templates_id_seq; - -CREATE TABLE Templates ( - id INTEGER DEFAULT nextval('templates_id_seq'), - Queue integer NOT NULL DEFAULT 0 , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - Type varchar(16) NULL , - Language varchar(16) NULL , - TranslationOf integer NOT NULL DEFAULT 0 , - Content text NULL , - LastUpdated TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ ObjectCustomFieldValues - - - --- --- Sequences for table TICKETCUSTOMFIELDVALUES --- - -CREATE SEQUENCE objectcustomfieldvalues_id_s; - -CREATE TABLE ObjectCustomFieldValues ( - id INTEGER DEFAULT nextval('objectcustomfieldvalues_id_s'), - CustomField int NOT NULL , - ObjectType varchar(255) NULL , - ObjectId int NOT NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Content varchar(255) NULL , - LargeContent text NULL, - ContentType varchar(80) NULL, - ContentEncoding varchar(80) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); - -CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId,Content); -CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); - --- }}} - --- {{{ CustomFields - - - --- --- Sequences for table CUSTOMFIELDS --- - -CREATE SEQUENCE customfields_id_seq; - -CREATE TABLE CustomFields ( - id INTEGER DEFAULT nextval('customfields_id_seq'), - Name varchar(200) NULL , - Type varchar(200) NULL , - MaxValues integer NOT NULL DEFAULT 0 , - Repeated integer NOT NULL DEFAULT 0 , - Pattern varchar(255) NULL , - LookupType varchar(255) NOT NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ ObjectCustomFields - -CREATE SEQUENCE objectcustomfields_id_s; - -CREATE TABLE ObjectCustomFields ( - id INTEGER DEFAULT nextval('objectcustomfields_id_s'), - CustomField integer NOT NULL, - ObjectId integer NOT NULL, - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - --- }}} - --- {{{ CustomFieldValues - - - --- --- Sequences for table CUSTOMFIELDVALUES --- - -CREATE SEQUENCE customfieldvalues_id_seq; - -CREATE TABLE CustomFieldValues ( - id INTEGER DEFAULT nextval('customfieldvalues_id_seq'), - CustomField int NOT NULL , - Name varchar(200) NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - -CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); - --- }}} - - --- {{{ Attributes - -CREATE SEQUENCE attributes_id_seq; - -CREATE TABLE Attributes ( - id INTEGER DEFAULT nextval('attributes_id_seq'), - Name varchar(255) NOT NULL , - Description varchar(255) NULL , - Content text, - ContentType varchar(16), - ObjectType varchar(64), - ObjectId integer, - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - --- }}} - --- {{{ Sessions - --- sessions is used by Apache::Session to keep sessions in the database. --- We should have a reaper script somewhere. - -CREATE TABLE sessions ( - id char(32) NOT NULL, - a_session bytea, - LastUpdated TIMESTAMP not null default current_timestamp, - PRIMARY KEY (id) - -); - --- }}} - diff --git a/rt/etc/schema.SQLite b/rt/etc/schema.SQLite deleted file mode 100644 index 8791bb47e..000000000 --- a/rt/etc/schema.SQLite +++ /dev/null @@ -1,442 +0,0 @@ ---- {{{ Attachments - -CREATE TABLE Attachments ( - id INTEGER PRIMARY KEY , - TransactionId INTEGER , - Parent integer NULL , - MessageId varchar(160) NULL , - Subject varchar(255) NULL , - Filename varchar(255) NULL , - ContentType varchar(80) NULL , - ContentEncoding varchar(80) NULL , - Content LONGTEXT NULL , - Headers LONGTEXT NULL , - Creator integer NULL , - Created DATETIME NULL - -) ; - -CREATE INDEX Attachments1 ON Attachments (Parent) ; -CREATE INDEX Attachments2 ON Attachments (TransactionId) ; -CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; ---- }}} - ---- {{{ Queues -CREATE TABLE Queues ( - id INTEGER PRIMARY KEY , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - CorrespondAddress varchar(120) NULL , - CommentAddress varchar(120) NULL , - InitialPriority integer NULL , - FinalPriority integer NULL , - DefaultDueIn integer NULL , - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 - -) ; -CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; - ---- }}} - ---- {{{ Links - -CREATE TABLE Links ( - id INTEGER PRIMARY KEY , - Base varchar(240) NULL , - Target varchar(240) NULL , - Type varchar(20) NOT NULL , - LocalTarget integer NULL , - LocalBase integer NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL , - Creator integer NULL , - Created DATETIME NULL - -) ; -CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ; -CREATE INDEX Links4 ON Links(Type,LocalBase); - ---- }}} - ---- {{{ Principals - -CREATE TABLE Principals ( - id INTEGER PRIMARY KEY, - PrincipalType VARCHAR(16) not null, - ObjectId integer, - Disabled int2 NOT NULL DEFAULT 0 - -) ; - ---- }}} - ---- {{{ Groups - -CREATE TABLE Groups ( - id INTEGER , - Name varchar(200) NULL , - Description varchar(255) NULL , - Domain varchar(64), - Type varchar(64), - Instance integer - -) ; - -CREATE UNIQUE INDEX Groups1 ON Groups (Name,Domain,Type,Instance) ; - ---- }}} - ---- {{{ ScripConditions - -CREATE TABLE ScripConditions ( - id INTEGER PRIMARY KEY , - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - ApplicableTransTypes varchar(60) NULL , - - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; - ---- }}} - ---- {{{ Transactions -CREATE TABLE Transactions ( - id INTEGER PRIMARY KEY , - ObjectType varchar(255) NULL , - ObjectId integer NULL , - TimeTaken integer NULL , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - ReferenceType varchar(255) NULL , - OldReference integer NULL , - NewReference integer NULL , - Data varchar(255) NULL , - - Creator integer NULL , - Created DATETIME NULL - -) ; -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - ---- }}} - ---- {{{ Scrips - -CREATE TABLE Scrips ( - id INTEGER PRIMARY KEY , - Description varchar(255), - ScripCondition integer NULL , - ScripAction integer NULL , - ConditionRules text NULL , - ActionRules text NULL , - CustomIsApplicableCode text NULL , - CustomPrepareCode text NULL , - CustomCommitCode text NULL , - Stage varchar(32) NULL , - Queue integer NULL , - Template integer NULL , - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; - ---- }}} - ---- {{{ ACL -CREATE TABLE ACL ( - id INTEGER PRIMARY KEY , - PrincipalType varchar(25) NOT NULL, - - PrincipalId INTEGER, - RightName varchar(25) NOT NULL , - ObjectType varchar(25) NOT NULL , - ObjectId INTEGER default 0, - DelegatedBy integer NOT NULL default 0, - DelegatedFrom integer NOT NULL default 0 - -) ; - - ---- }}} - ---- {{{ GroupMembers - -CREATE TABLE GroupMembers ( - id INTEGER PRIMARY KEY , - GroupId integer NULL, - MemberId integer NULL - -) ; - ---- }}} - ---- {{{ CachedGroupMembers - -create table CachedGroupMembers ( - id integer primary key , - GroupId int, - MemberId int, - Via int, - ImmediateParentId int, - Disabled int2 NOT NULL DEFAULT 0 # if this cached group member is a member of this group by way of a disabled - # group or this group is disabled, this will be set to 1 - # this allows us to not find members of disabled subgroups when listing off - # group members recursively. - # Also, this allows us to have the ACL system elide members of disabled groups - - -) ; - ---- }}} - ---- {{{ Users - -CREATE TABLE Users ( - id INTEGER , - Name varchar(200) NOT NULL , - Password varchar(40) NULL , - Comments blob NULL , - Signature blob NULL , - EmailAddress varchar(120) NULL , - FreeformContactInfo blob NULL , - Organization varchar(200) NULL , - RealName varchar(120) NULL , - NickName varchar(16) NULL , - Lang varchar(16) NULL , - EmailEncoding varchar(16) NULL , - WebEncoding varchar(16) NULL , - ExternalContactInfoId varchar(100) NULL , - ContactInfoSystem varchar(30) NULL , - ExternalAuthId varchar(100) NULL , - AuthSystem varchar(30) NULL , - Gecos varchar(16) NULL , - HomePhone varchar(30) NULL , - WorkPhone varchar(30) NULL , - MobilePhone varchar(30) NULL , - PagerPhone varchar(30) NULL , - Address1 varchar(200) NULL , - Address2 varchar(200) NULL , - City varchar(100) NULL , - State varchar(100) NULL , - Zip varchar(16) NULL , - Country varchar(50) NULL , - Timezone char(50) NULL , - PGPKey text NULL, - - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; - - -CREATE UNIQUE INDEX Users1 ON Users (Name) ; -CREATE INDEX Users2 ON Users (Name); -CREATE INDEX Users3 ON Users (id, EmailAddress); -CREATE INDEX Users4 ON Users (EmailAddress); - - ---- }}} - ---- {{{ Tickets - -CREATE TABLE Tickets ( - id INTEGER PRIMARY KEY , - EffectiveId integer NULL , - Queue integer NULL , - Type varchar(16) NULL , - IssueStatement integer NULL , - Resolution integer NULL , - Owner integer NULL , - Subject varchar(200) NULL DEFAULT '[no subject]' , - InitialPriority integer NULL , - FinalPriority integer NULL , - Priority integer NULL , - TimeEstimated integer NULL , - TimeWorked integer NULL , - Status varchar(10) NULL , - TimeLeft integer NULL , - Told DATETIME NULL , - Starts DATETIME NULL , - Started DATETIME NULL , - Due DATETIME NULL , - Resolved DATETIME NULL , - - - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL , - Creator integer NULL , - Created DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 - -) ; - -CREATE INDEX Tickets1 ON Tickets (Queue, Status) ; -CREATE INDEX Tickets2 ON Tickets (Owner) ; -CREATE INDEX Tickets3 ON Tickets (EffectiveId) ; -CREATE INDEX Tickets4 ON Tickets (id, Status) ; -CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; - ---- }}} - ---- {{{ ScripActions - -CREATE TABLE ScripActions ( - id INTEGER PRIMARY KEY , - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; - ---- }}} - ---- {{{ Templates - -CREATE TABLE Templates ( - id INTEGER PRIMARY KEY , - Queue integer NOT NULL DEFAULT 0 , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - Type varchar(16) NULL , - Language varchar(16) NULL , - TranslationOf integer NULL , - Content blob NULL , - LastUpdated DATETIME NULL , - LastUpdatedBy integer NULL , - Creator integer NULL , - Created DATETIME NULL - -) ; - ---- }}} - - - -# {{{ ObjectCustomFieldValues - -CREATE TABLE ObjectCustomFieldValues ( - id INTEGER NOT NULL , - CustomField int NOT NULL , - ObjectType varchar(255) NOT NULL, # Final target of the Object - ObjectId int NOT NULL , # New -- Replaces Ticket - SortOrder integer NOT NULL DEFAULT 0 , - - Content varchar(255) NULL , - LargeContent LONGTEXT NULL, # New -- to hold 255+ strings - ContentType varchar(80) NULL, # New -- only text/* gets searched - ContentEncoding varchar(80) NULL , # New -- for binary Content - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) ; - -CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content); -CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); - -# }}} - -# {{{ CustomFields - -CREATE TABLE CustomFields ( - id INTEGER NOT NULL , - Name varchar(200) NULL , - Type varchar(200) NULL , # Changed -- 'Single' and 'Multiple' is moved out - MaxValues integer, # New -- was 'Single'(1) and 'Multiple'(0) - Pattern varchar(255) NULL , # New -- Must validate against this - Repeated int2 NOT NULL DEFAULT 0 , # New -- repeated table entry - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - LookupType varchar(255) NOT NULL, - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ ObjectCustomFields - -CREATE TABLE ObjectCustomFields ( - id INTEGER NOT NULL , - CustomField int NOT NULL , - ObjectId integer NOT NULL, - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ CustomFieldValues - -CREATE TABLE CustomFieldValues ( - id INTEGER NOT NULL , - CustomField int NOT NULL , - Name varchar(200) NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); - -# }}} - ---- {{{ Attributes -CREATE TABLE Attributes ( - id INTEGER PRIMARY KEY , - Name varchar(255) NOT NULL , - Description varchar(255) NULL , - Content LONGTEXT NULL , - ContentType varchar(16), - ObjectType varchar(25) NOT NULL , - ObjectId INTEGER default 0, - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - ---- }}} - diff --git a/rt/etc/schema.Sybase b/rt/etc/schema.Sybase deleted file mode 100644 index 67a411d13..000000000 --- a/rt/etc/schema.Sybase +++ /dev/null @@ -1,444 +0,0 @@ -# {{{ Attachments - -CREATE TABLE rt3.Attachments ( - id numeric(38,0) identity, - TransactionId integer NOT NULL , - Parent integer NOT NULL , - MessageId varchar(160) NULL , - Subject varchar(255) NULL , - Filename varchar(255) NULL , - ContentType varchar(80) NULL , - ContentEncoding varchar(80) NULL , - Content TEXT NULL , - Headers TEXT NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX Attachments1 ON Attachments (Parent) ; -CREATE INDEX Attachments2 ON Attachments (TransactionId) ; -CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; -# }}} - -# {{{ Queues -CREATE TABLE rt3.Queues ( - id numeric(38,0) identity, - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - CorrespondAddress varchar(120) NULL , - CommentAddress varchar(120) NULL , - InitialPriority integer NOT NULL , - FinalPriority integer NOT NULL , - DefaultDueIn integer NOT NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - Disabled numeric(1) NOT NULL , - PRIMARY KEY (id) -) ; -CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; -CREATE INDEX Queues2 ON Queues (Disabled) ; - -# }}} - -# {{{ Links - -CREATE TABLE rt3.Links ( - id numeric(38,0) identity, - Base varchar(240) NULL , - Target varchar(240) NULL , - Type varchar(20) NOT NULL , - LocalTarget integer NOT NULL , - LocalBase integer NOT NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ; -CREATE INDEX Links2 ON Links (Base, Type) ; -CREATE INDEX Links3 ON Links (Target, Type) ; -CREATE INDEX Links4 ON Links(Type,LocalBase); - -# }}} - -# {{{ Principals - -CREATE TABLE rt3.Principals ( - id numeric(38,0) identity, - PrincipalType VARCHAR(16) not null, - ObjectId integer, Disabled numeric(1) NOT NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX Principals2 ON Principals (ObjectId); - -# }}} - -# {{{ Groups - -CREATE TABLE rt3.Groups ( - id numeric(38,0) identity, - Name varchar(200) NULL , - Description varchar(255) NULL , - Domain varchar(64), - Type varchar(64), - Instance integer, - PRIMARY KEY (id) -) ; - -CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id); -CREATE INDEX Groups2 On Groups (Type, Instance, Domain); - -# }}} - -# {{{ ScripConditions - -CREATE TABLE rt3.ScripConditions ( - id numeric(38,0) identity, - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - ApplicableTransTypes varchar(60) NULL , - - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ Transactions -CREATE TABLE rt3.Transactions ( - id numeric(38,0) identity, - EffectiveTicket integer NOT NULL , - Ticket integer NOT NULL , - TimeTaken integer NOT NULL , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - Data varchar(255) NULL , - - Creator integer NOT NULL , - Created DATETIME NULL , - PRIMARY KEY (id) -) ; -CREATE INDEX Transactions1 ON Transactions (Ticket); -CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); - -# }}} - -# {{{ Scrips - -CREATE TABLE rt3.Scrips ( - id numeric(38,0) identity, - Description varchar(255), - ScripCondition integer NOT NULL , - ScripAction integer NOT NULL , - ConditionRules text NULL , - ActionRules text NULL , - CustomIsApplicableCode text NULL , - CustomPrepareCode text NULL , - CustomCommitCode text NULL , - Stage varchar(32) NULL , - Queue integer NOT NULL , - Template integer NOT NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ ACL -CREATE TABLE rt3.ACL ( - id numeric(38,0) identity, - PrincipalType varchar(25) NOT NULL, #"User" "Group", "Owner", "Cc" "AdminCc", "Requestor", "Requestor" - - PrincipalId integer NOT NULL , #Foreign key to principals - RightName varchar(25) NOT NULL , - ObjectType varchar(25) NOT NULL , - ObjectId integer NOT NULL , - DelegatedBy integer NOT NULL , #foreign key to principals with a userid - DelegatedFrom integer NOT NULL , #foreign key to ACL - PRIMARY KEY (id) -) ; - -CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId); - -# }}} - -# {{{ GroupMembers - -CREATE TABLE rt3.GroupMembers ( - id numeric(38,0) identity, - GroupId integer NOT NULL , - MemberId integer NOT NULL , #Foreign key to Principals - PRIMARY KEY (id) -) ; -CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId); - - -# }}} - -# {{{ GroupMembersCache - -CREATE TABLE rt3.CachedGroupMembers ( - id numeric(38,0) identity, - GroupId int, # foreign key to Principals - MemberId int, # foreign key to Principals - Via int, #foreign key to CachedGroupMembers. (may point to $self->id) - ImmediateParentId int, #foreign key to prinicpals. - # this points to the group that the member is - # a member of, for ease of deletes. - Disabled numeric(1) NOT NULL , # if this cached group member is a member of this group by way of a disabled - # group or this group is disabled, this will be set to 1 - # this allows us to not find members of disabled subgroups when listing off - # group members recursively. - # Also, this allows us to have the ACL system elide members of disabled groups - PRIMARY KEY (id) -) ; - -CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled); -CREATE INDEX GrouMem on CachedGroupMembers (GroupId,MemberId); - -# }}} - -# {{{ Users - -CREATE TABLE rt3.Users ( - id numeric(38,0) identity, - Name varchar(200) NOT NULL , - Password varchar(40) NULL , - Comments text NULL , - Signature text NULL , - EmailAddress varchar(120) NULL , - FreeformContactInfo text NULL , - Organization varchar(200) NULL , - RealName varchar(120) NULL , - NickName varchar(16) NULL , - Lang varchar(16) NULL , - EmailEncoding varchar(16) NULL , - WebEncoding varchar(16) NULL , - ExternalContactInfoId varchar(100) NULL , - ContactInfoSystem varchar(30) NULL , - ExternalAuthId varchar(100) NULL , - AuthSystem varchar(30) NULL , - Gecos varchar(16) NULL , - HomePhone varchar(30) NULL , - WorkPhone varchar(30) NULL , - MobilePhone varchar(30) NULL , - PagerPhone varchar(30) NULL , - Address1 varchar(200) NULL , - Address2 varchar(200) NULL , - City varchar(100) NULL , - State varchar(100) NULL , - Zip varchar(16) NULL , - Country varchar(50) NULL , - Timezone varchar(50) NULL , - PGPKey text NULL, - - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - - -CREATE UNIQUE INDEX Users1 ON Users (Name) ; -CREATE INDEX Users2 ON Users (Name); -CREATE INDEX Users3 ON Users (id, EmailAddress); -CREATE INDEX Users4 ON Users (EmailAddress); - - -# }}} - -# {{{ Tickets - -CREATE TABLE rt3.Tickets ( - id numeric(38,0) identity, - EffectiveId integer NOT NULL , - Queue integer NOT NULL , - Type varchar(16) NULL , - IssueStatement integer NOT NULL , - Resolution integer NOT NULL , - Owner integer NOT NULL , - Subject varchar(200) NULL, - InitialPriority integer NOT NULL , - FinalPriority integer NOT NULL , - Priority integer NOT NULL , - TimeEstimated integer NOT NULL , - TimeWorked integer NOT NULL , - Status varchar(10) NULL , - TimeLeft integer NOT NULL , - Told DATETIME NULL , - Starts DATETIME NULL , - Started DATETIME NULL , - Due DATETIME NULL , - Resolved DATETIME NULL , - - - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - Disabled numeric(1) NOT NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX Tickets1 ON Tickets (Queue, Status) ; -CREATE INDEX Tickets2 ON Tickets (Owner) ; -CREATE INDEX Tickets3 ON Tickets (EffectiveId) ; -CREATE INDEX Tickets4 ON Tickets (id, Status) ; -CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; -CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ; - -# }}} - -# {{{ ScripActions - -CREATE TABLE rt3.ScripActions ( - id numeric(38,0) identity, - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ Templates - -CREATE TABLE rt3.Templates ( - id numeric(38,0) identity, - Queue integer NOT NULL , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - Type varchar(16) NULL , - Language varchar(16) NULL , - TranslationOf integer NOT NULL , - Content text NULL , - LastUpdated DATETIME NULL , - LastUpdatedBy integer NOT NULL , - Creator integer NOT NULL , - Created DATETIME NULL , - PRIMARY KEY (id) -) ; - -# }}} - -# {{{ TicketCustomFieldValues - -CREATE TABLE rt3.TicketCustomFieldValues ( - id numeric(38,0) identity, - Ticket int NOT NULL , - CustomField int NOT NULL , - Content varchar(255) NULL , - - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); -CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); - -# }}} - -# {{{ CustomFields - -CREATE TABLE rt3.CustomFields ( - id numeric(38,0) identity, - Name varchar(200) NULL , - Type varchar(200) NULL , - Queue integer NOT NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL , - - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - Disabled numeric(1) NOT NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX CustomFields1 on CustomFields (Disabled, Queue); - - -# }}} - -# {{{ CustomFieldValues - -CREATE TABLE rt3.CustomFieldValues ( - id numeric(38,0) identity, - CustomField int NOT NULL , - Name varchar(200) NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL , - - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); - -# }}} - - -# {{{ Attributes - -CREATE TABLE rt3.Attributes ( - id numeric(38,0) identity, - Name varchar(255) NULL , - Description varchar(255) NULL , - Content text, - ContentType varchar(16), - ObjectType varchar(64), - ObjectId integer, # foreign key to anything - Creator integer NOT NULL , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) ; - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - -# }}} - -# {{{ Sessions - -# sessions is used by Apache::Session to keep sessions in the database. -# We should have a reaper script somewhere. - -CREATE TABLE rt3.sessions ( - id char(32) NOT NULL, - a_session TEXT, - LastUpdated DATETIME, - PRIMARY KEY (id) -); - -# }}} diff --git a/rt/etc/schema.mysql b/rt/etc/schema.mysql deleted file mode 100755 index 46f8ec562..000000000 --- a/rt/etc/schema.mysql +++ /dev/null @@ -1,416 +0,0 @@ -# {{{ Attachments - -CREATE TABLE Attachments ( - id INTEGER NOT NULL AUTO_INCREMENT, - TransactionId integer NOT NULL , - Parent integer NOT NULL DEFAULT 0 , - MessageId varchar(160) NULL , - Subject varchar(255) NULL , - Filename varchar(255) NULL , - ContentType varchar(80) NULL , - ContentEncoding varchar(80) NULL , - Content LONGTEXT NULL , - Headers LONGTEXT NULL , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX Attachments1 ON Attachments (Parent) ; -CREATE INDEX Attachments2 ON Attachments (TransactionId) ; -CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; -# }}} - -# {{{ Queues -CREATE TABLE Queues ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - CorrespondAddress varchar(120) NULL , - CommentAddress varchar(120) NULL , - InitialPriority integer NOT NULL DEFAULT 0 , - FinalPriority integer NOT NULL DEFAULT 0 , - DefaultDueIn integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) TYPE=InnoDB; -CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; -CREATE INDEX Queues2 ON Queues (Disabled) ; - -# }}} - -# {{{ Links - -CREATE TABLE Links ( - id INTEGER NOT NULL AUTO_INCREMENT, - Base varchar(240) NULL , - Target varchar(240) NULL , - Type varchar(20) NOT NULL , - LocalTarget integer NOT NULL DEFAULT 0 , - LocalBase integer NOT NULL DEFAULT 0 , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type) ; -CREATE INDEX Links2 ON Links (Base, Type) ; -CREATE INDEX Links3 ON Links (Target, Type) ; - -# }}} - -# {{{ Principals - -CREATE TABLE Principals ( - id INTEGER AUTO_INCREMENT not null, - PrincipalType VARCHAR(16) not null, - ObjectId integer, # foreign key to Users or Groups, depending - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX Principals2 ON Principals (ObjectId); - -# }}} - -# {{{ Groups - -CREATE TABLE Groups ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NULL , - Description varchar(255) NULL , - Domain varchar(64), - Type varchar(64), - Instance varchar(64), - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id); -CREATE INDEX Groups2 On Groups (Type, Instance, Domain); - -# }}} - -# {{{ ScripConditions - -CREATE TABLE ScripConditions ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - ApplicableTransTypes varchar(60) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ Transactions -CREATE TABLE Transactions ( - id INTEGER NOT NULL AUTO_INCREMENT, - EffectiveTicket integer NOT NULL DEFAULT 0 , - Ticket integer NOT NULL DEFAULT 0 , - TimeTaken integer NOT NULL DEFAULT 0 , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - Data varchar(100) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; -CREATE INDEX Transactions1 ON Transactions (Ticket); -CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); - -# }}} - -# {{{ Scrips - -CREATE TABLE Scrips ( - id INTEGER NOT NULL AUTO_INCREMENT, - Description varchar(255), - ScripCondition integer NOT NULL DEFAULT 0 , - ScripAction integer NOT NULL DEFAULT 0 , - ConditionRules text NULL , - ActionRules text NULL , - CustomIsApplicableCode text NULL , - CustomPrepareCode text NULL , - CustomCommitCode text NULL , - Stage varchar(32) NULL , - Queue integer NOT NULL DEFAULT 0 , - Template integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ ACL -CREATE TABLE ACL ( - id INTEGER NOT NULL AUTO_INCREMENT, - PrincipalType varchar(25) NOT NULL, #"User" "Group", "Owner", "Cc" "AdminCc", "Requestor", "Requestor" - - PrincipalId integer NOT NULL , #Foreign key to principals - RightName varchar(25) NOT NULL , - ObjectType varchar(25) NOT NULL , - ObjectId integer NOT NULL default 0, - DelegatedBy integer NOT NULL default 0, #foreign key to principals with a userid - DelegatedFrom integer NOT NULL default 0, #foreign key to ACL - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId); - -# }}} - -# {{{ GroupMembers - -CREATE TABLE GroupMembers ( - id INTEGER NOT NULL AUTO_INCREMENT, - GroupId integer NOT NULL DEFAULT 0, - MemberId integer NOT NULL DEFAULT 0, #Foreign key to Principals - PRIMARY KEY (id) -) TYPE=InnoDB; -CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId); - - -# }}} - -# {{{ GroupMembersCache - -create table CachedGroupMembers ( - id int auto_increment, - GroupId int, # foreign key to Principals - MemberId int, # foreign key to Principals - Via int, #foreign key to CachedGroupMembers. (may point to $self->id) - ImmediateParentId int, #foreign key to prinicpals. - # this points to the group that the member is - # a member of, for ease of deletes. - Disabled int2 NOT NULL DEFAULT 0 , # if this cached group member is a member of this group by way of a disabled - # group or this group is disabled, this will be set to 1 - # this allows us to not find members of disabled subgroups when listing off - # group members recursively. - # Also, this allows us to have the ACL system elide members of disabled groups - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled); -CREATE INDEX GrouMem on CachedGroupMembers (GroupId,MemberId); - -# }}} - -# {{{ Users - -CREATE TABLE Users ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NOT NULL , - Password varchar(40) NULL , - Comments blob NULL , - Signature blob NULL , - EmailAddress varchar(120) NULL , - FreeformContactInfo blob NULL , - Organization varchar(200) NULL , - RealName varchar(120) NULL , - NickName varchar(16) NULL , - Lang varchar(16) NULL , - EmailEncoding varchar(16) NULL , - WebEncoding varchar(16) NULL , - ExternalContactInfoId varchar(100) NULL , - ContactInfoSystem varchar(30) NULL , - ExternalAuthId varchar(100) NULL , - AuthSystem varchar(30) NULL , - Gecos varchar(16) NULL , - HomePhone varchar(30) NULL , - WorkPhone varchar(30) NULL , - MobilePhone varchar(30) NULL , - PagerPhone varchar(30) NULL , - Address1 varchar(200) NULL , - Address2 varchar(200) NULL , - City varchar(100) NULL , - State varchar(100) NULL , - Zip varchar(16) NULL , - Country varchar(50) NULL , - Timezone varchar(50) NULL , - PGPKey text NULL, - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - - -CREATE UNIQUE INDEX Users1 ON Users (Name) ; -CREATE INDEX Users2 ON Users (Name); -CREATE INDEX Users3 ON Users (id, EmailAddress); -CREATE INDEX Users4 ON Users (EmailAddress); - - -# }}} - -# {{{ Tickets - -CREATE TABLE Tickets ( - id INTEGER NOT NULL AUTO_INCREMENT, - EffectiveId integer NOT NULL DEFAULT 0 , - Queue integer NOT NULL DEFAULT 0 , - Type varchar(16) NULL , - IssueStatement integer NOT NULL DEFAULT 0 , - Resolution integer NOT NULL DEFAULT 0 , - Owner integer NOT NULL DEFAULT 0 , - Subject varchar(200) NULL DEFAULT '[no subject]' , - InitialPriority integer NOT NULL DEFAULT 0 , - FinalPriority integer NOT NULL DEFAULT 0 , - Priority integer NOT NULL DEFAULT 0 , - TimeEstimated integer NOT NULL DEFAULT 0 , - TimeWorked integer NOT NULL DEFAULT 0 , - Status varchar(10) NULL , - TimeLeft integer NOT NULL DEFAULT 0 , - Told DATETIME NULL , - Starts DATETIME NULL , - Started DATETIME NULL , - Due DATETIME NULL , - Resolved DATETIME NULL , - - - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX Tickets1 ON Tickets (Queue, Status) ; -CREATE INDEX Tickets2 ON Tickets (Owner) ; -CREATE INDEX Tickets3 ON Tickets (EffectiveId) ; -CREATE INDEX Tickets4 ON Tickets (id, Status) ; -CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; -CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ; - -# }}} - -# {{{ ScripActions - -CREATE TABLE ScripActions ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ Templates - -CREATE TABLE Templates ( - id INTEGER NOT NULL AUTO_INCREMENT, - Queue integer NOT NULL DEFAULT 0 , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - Type varchar(16) NULL , - Language varchar(16) NULL , - TranslationOf integer NOT NULL DEFAULT 0 , - Content blob NULL , - LastUpdated DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ TicketCustomFieldValues - -CREATE TABLE TicketCustomFieldValues ( - id INTEGER NOT NULL AUTO_INCREMENT, - Ticket int NOT NULL , - CustomField int NOT NULL , - Content varchar(255) NULL , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ CustomFields - -CREATE TABLE CustomFields ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(200) NULL , - Type varchar(200) NULL , - Queue integer NOT NULL DEFAULT 0 , - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX CustomFields1 on CustomFields (Disabled, Queue); - - -# }}} - -# {{{ CustomFieldValues - -CREATE TABLE CustomFieldValues ( - id INTEGER NOT NULL AUTO_INCREMENT, - CustomField int NOT NULL , - Name varchar(200) NULL , - Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -# }}} - -# {{{ Sessions - -# sessions is used by Apache::Session to keep sessions in the database. -# We should have a reaper script somewhere. - -CREATE TABLE sessions ( - id char(32) NOT NULL, - a_session LONGTEXT, - LastUpdated TIMESTAMP, - PRIMARY KEY (id) -); - -# }}} diff --git a/rt/etc/upgrade/3.1.0/acl.Informix b/rt/etc/upgrade/3.1.0/acl.Informix deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.1.0/acl.Informix +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.1.0/acl.Oracle b/rt/etc/upgrade/3.1.0/acl.Oracle deleted file mode 100755 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.1.0/acl.Oracle +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.1.0/acl.Pg b/rt/etc/upgrade/3.1.0/acl.Pg deleted file mode 100755 index 809e99ab3..000000000 --- a/rt/etc/upgrade/3.1.0/acl.Pg +++ /dev/null @@ -1,19 +0,0 @@ -sub acl { - my $dbh = shift; - - my @acls; - - my @tables = qw ( - attributes_id_seq - attributes - ); - - foreach my $table (@tables) { - push @acls, - "GRANT SELECT, INSERT, UPDATE, DELETE ON $table to " - . $RT::DatabaseUser . ";"; - - } - return (@acls); -} -1; diff --git a/rt/etc/upgrade/3.1.0/acl.SQLite b/rt/etc/upgrade/3.1.0/acl.SQLite deleted file mode 100755 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.1.0/acl.SQLite +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.1.0/acl.mysql b/rt/etc/upgrade/3.1.0/acl.mysql deleted file mode 100755 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.1.0/acl.mysql +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.1.0/content b/rt/etc/upgrade/3.1.0/content deleted file mode 100644 index 3117dafc5..000000000 --- a/rt/etc/upgrade/3.1.0/content +++ /dev/null @@ -1,2 +0,0 @@ -# nothing to do -1; diff --git a/rt/etc/upgrade/3.1.0/schema.Informix b/rt/etc/upgrade/3.1.0/schema.Informix deleted file mode 100644 index 722eb70b3..000000000 --- a/rt/etc/upgrade/3.1.0/schema.Informix +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE Attributes ( - id SERIAL, - Name VARCHAR(255) DEFAULT '' NOT NULL, - Description VARCHAR(255) DEFAULT NULL, - Content BYTE, - ContentType VARCHAR(16), - ObjectType VARCHAR(25) NOT NULL, - ObjectId INTEGER DEFAULT 0 NOT NULL, - Creator INTEGER DEFAULT 0 NOT NULL, - Created DATETIME YEAR TO SECOND, - LastUpdatedBy INTEGER DEFAULT 0 NOT NULL, - LastUpdated DATETIME YEAR TO SECOND, - PRIMARY KEY (id) -); - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); diff --git a/rt/etc/upgrade/3.1.0/schema.Oracle b/rt/etc/upgrade/3.1.0/schema.Oracle deleted file mode 100644 index a8aae18b5..000000000 --- a/rt/etc/upgrade/3.1.0/schema.Oracle +++ /dev/null @@ -1,17 +0,0 @@ -CREATE SEQUENCE ATTRIBUTES_seq; -CREATE TABLE Attributes ( - id NUMBER(11,0) PRIMARY KEY, - Name VARCHAR2(255) NOT NULL, - Description VARCHAR2(255), - Content CLOB, - ContentType VARCHAR(16), - ObjectType VARCHAR2(25) NOT NULL, - ObjectId NUMBER(11,0) DEFAULT 0 NOT NULL, - Creator NUMBER(11,0) DEFAULT 0 NOT NULL, - Created DATE, - LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL, - LastUpdated DATE -); - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); diff --git a/rt/etc/upgrade/3.1.0/schema.Pg b/rt/etc/upgrade/3.1.0/schema.Pg deleted file mode 100755 index 94c3fe70d..000000000 --- a/rt/etc/upgrade/3.1.0/schema.Pg +++ /dev/null @@ -1,25 +0,0 @@ --- {{{ Attributes - -CREATE SEQUENCE attributes_id_seq; - -CREATE TABLE Attributes ( - id INTEGER DEFAULT nextval('attributes_id_seq'), - Name varchar(255) NOT NULL , - Description varchar(255) NULL , - Content text, - ContentType varchar(16), - ObjectType varchar(64), - ObjectId integer, - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - --- }}} - diff --git a/rt/etc/upgrade/3.1.0/schema.SQLite b/rt/etc/upgrade/3.1.0/schema.SQLite deleted file mode 100644 index 1dd466fa7..000000000 --- a/rt/etc/upgrade/3.1.0/schema.SQLite +++ /dev/null @@ -1,21 +0,0 @@ ---- {{{ Attributes -CREATE TABLE Attributes ( - id INTEGER PRIMARY KEY , - Name varchar(255) NOT NULL , - Description varchar(255) NULL , - Content LONGTEXT NULL , - ContentType varchar(16), - ObjectType varchar(25) NOT NULL , - ObjectId INTEGER default 0, - Creator integer NULL , - Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - -) ; - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - ---- }}} - diff --git a/rt/etc/upgrade/3.1.0/schema.mysql b/rt/etc/upgrade/3.1.0/schema.mysql deleted file mode 100755 index c4a345d3e..000000000 --- a/rt/etc/upgrade/3.1.0/schema.mysql +++ /dev/null @@ -1,21 +0,0 @@ -# {{{ Attributes - -CREATE TABLE Attributes ( - id INTEGER NOT NULL AUTO_INCREMENT, - Name varchar(255) NULL , - Description varchar(255) NULL , - Content text, - ContentType varchar(16), - ObjectType varchar(64), - ObjectId integer, # foreign key to anything - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - -CREATE INDEX Attributes1 on Attributes(Name); -CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); - -# }}} diff --git a/rt/etc/upgrade/3.1.15/content b/rt/etc/upgrade/3.1.15/content deleted file mode 100644 index d23125a0b..000000000 --- a/rt/etc/upgrade/3.1.15/content +++ /dev/null @@ -1,7 +0,0 @@ -@Scrips = ( - { ScripCondition => 'On Owner Change', - ScripAction => 'Notify Owner', - Template => 'Transaction' }, -); - -1; diff --git a/rt/etc/upgrade/3.1.17/content b/rt/etc/upgrade/3.1.17/content deleted file mode 100644 index 1d648d82f..000000000 --- a/rt/etc/upgrade/3.1.17/content +++ /dev/null @@ -1,22 +0,0 @@ -@ScripActions = ( - { Name => 'Notify Ccs as Comment', # loc - Description => 'Sends mail to the Ccs as a comment', # loc - ExecModule => 'NotifyAsComment', - Argument => 'Cc' }, - { Name => 'Notify Ccs', # loc - Description => 'Sends mail to the Ccs', # loc - ExecModule => 'Notify', - Argument => 'Cc' }, -); - - -@ScripConditions = ( - { - Name => 'On Priority Change', # loc - Description => 'Whenever a ticket\'s priority changes', # loc - ApplicableTransTypes => 'Set', - ExecModule => 'PriorityChange', - }, -); - -1; diff --git a/rt/etc/upgrade/3.3.0/acl.Informix b/rt/etc/upgrade/3.3.0/acl.Informix deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.0/acl.Informix +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.0/acl.Oracle b/rt/etc/upgrade/3.3.0/acl.Oracle deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.0/acl.Oracle +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.0/acl.Pg b/rt/etc/upgrade/3.3.0/acl.Pg deleted file mode 100644 index 2069a198e..000000000 --- a/rt/etc/upgrade/3.3.0/acl.Pg +++ /dev/null @@ -1,20 +0,0 @@ -sub acl { - my $dbh = shift; - - my @acls; - - my @tables = qw ( - objectcustomfieldvalues - objectcustomfields_id_s - objectcustomfields - ); - - foreach my $table (@tables) { - push @acls, - "GRANT SELECT, INSERT, UPDATE, DELETE ON $table to " - . $RT::DatabaseUser . ";"; - - } - return (@acls); -} -1; diff --git a/rt/etc/upgrade/3.3.0/acl.SQLite b/rt/etc/upgrade/3.3.0/acl.SQLite deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.0/acl.SQLite +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.0/acl.mysql b/rt/etc/upgrade/3.3.0/acl.mysql deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.0/acl.mysql +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.0/content b/rt/etc/upgrade/3.3.0/content deleted file mode 100644 index 0afc6045c..000000000 --- a/rt/etc/upgrade/3.3.0/content +++ /dev/null @@ -1 +0,0 @@ -1; diff --git a/rt/etc/upgrade/3.3.0/schema.Oracle b/rt/etc/upgrade/3.3.0/schema.Oracle deleted file mode 100644 index f81feeb79..000000000 --- a/rt/etc/upgrade/3.3.0/schema.Oracle +++ /dev/null @@ -1,65 +0,0 @@ -alter Table Transactions ADD ObjectType VARCHAR2(64); -UPDATE Transactions set ObjectType = 'RT::Ticket'; -ALTER TABLE Transactions modify ObjectType NOT NULL; -ALTER TABLE Transactions drop column EffectiveTicket; -ALTER TABLE Transactions ADD ReferenceType VARCHAR2(255) NULL; -ALTER TABLE Transactions ADD OldReference NUMBER(11,0) NULL; -ALTER TABLE Transactions ADD NewReference NUMBER(11,0) NULL; -DROP INDEX transactions1; -ALTER TABLE Transactions rename column Ticket to ObjectId; -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - -ALTER TABLE TicketCustomFieldValues rename to ObjectCustomFieldValues; -ALTER TABLE ObjectCustomFieldValues rename column Ticket to ObjectId; -ALTER TABLE ObjectCustomFieldValues ADD ObjectType VARCHAR2(255); -UPDATE ObjectCustomFieldValues set ObjectType = 'RT::Ticket'; -ALTER TABLE ObjectCustomFieldValues MODIFY ObjectType NOT NULL; -ALTER TABLE ObjectCustomFieldValues ADD Disabled NUMBER(11,0); -ALTER TABLE ObjectCustomFieldValues MODIFY Disabled default 0; -UPDATE ObjectCustomFieldValues SET Disabled = 0; -ALTER TABLE ObjectCustomFieldValues MODIFY Disabled NOT NULL; -ALTER TABLE ObjectCustomFieldValues ADD LargeContent CLOB NULL; -ALTER TABLE ObjectCustomFieldValues ADD ContentType VARCHAR2(80) NULL; -ALTER TABLE ObjectCustomFieldValues ADD ContentEncoding VARCHAR2(80) NULL; -ALTER TABLE ObjectCustomFieldValues ADD SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL; - - - -CREATE INDEX ObjectCustomFieldValues1 on ObjectCustomFieldValues (CustomField,ObjectType,ObjectId,Content); -CREATE INDEX ObjectCustomFieldValues2 on ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); - - - -CREATE SEQUENCE OBJECTCUSTOMFIELDS_seq; -CREATE TABLE ObjectCustomFields ( - id NUMBER(11,0) - CONSTRAINT ObjectCustomFields_Key PRIMARY KEY, - CustomField NUMBER(11,0) NOT NULL, - ObjectId NUMBER(11,0) NOT NULL, - SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL, - Creator NUMBER(11,0) DEFAULT 0 NOT NULL, - Created DATE, - LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL, - LastUpdated DATE -); - - -INSERT into ObjectCustomFields (id, CustomField, ObjectId, SortOrder, Creator, LastUpdatedBy) SELECT objectcustomfields_seq.nextval, id, Queue, SortOrder, Creator, LastUpdatedBy from CustomFields; - -ALTER TABLE CustomFields ADD LookupType VARCHAR2(255); -ALTER TABLE CustomFields ADD Repeated NUMBER(11,0); -ALTER TABLE CustomFields ADD Pattern VARCHAR2(255) NULL; -ALTER TABLE CustomFields ADD MaxValues NUMBER(11,0); - -UPDATE CustomFields SET MaxValues = 0 WHERE Type LIKE '%Multiple'; -UPDATE CustomFields SET MaxValues = 1 WHERE Type LIKE '%Single'; -UPDATE CustomFields SET Type = 'Select' WHERE Type LIKE 'Select%'; -UPDATE CustomFields SET Type = 'Freeform' WHERE Type LIKE 'Freeform%'; -UPDATE CustomFields Set LookupType = 'RT::Queue-RT::Ticket'; -ALTER TABLE CustomFields MODIFY LookupType NOT NULL; -UPDATE CustomFields Set Repeated = 0; -ALTER TABLE CustomFields MODIFY Repeated DEFAULT 0; -ALTER TABLE CustomFields MODIFY Repeated NOT NULL; -ALTER TABLE CustomFields drop column Queue; - - diff --git a/rt/etc/upgrade/3.3.0/schema.Pg b/rt/etc/upgrade/3.3.0/schema.Pg deleted file mode 100644 index 427eae798..000000000 --- a/rt/etc/upgrade/3.3.0/schema.Pg +++ /dev/null @@ -1,74 +0,0 @@ -alter Table Transactions ADD Column ObjectType varchar(64); -update Transactions set ObjectType = 'RT::Ticket'; -ALTER TABLE Transactions ALTER COLUMN ObjectType SET NOT NULL; -alter table Transactions drop column EffectiveTicket; -alter table Transactions add column ReferenceType varchar(255) NULL; -alter table Transactions add column OldReference integer NULL; -alter table Transactions add column NewReference integer NULL; -drop index transactions1; -alter table Transactions rename column Ticket to ObjectId; - - -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - -alter table TicketCustomFieldValues rename to ObjectCustomFieldValues; - -alter table ObjectCustomFieldValues rename column Ticket to ObjectId; - -alter table objectcustomfieldvalues add column ObjectType varchar(255); - -update objectcustomfieldvalues set ObjectType = 'RT::Ticket'; - -ALTER TABLE objectcustomfieldvalues ALTER COLUMN ObjectType SET NOT NULL; - -alter table objectcustomfieldvalues add column Current int; - -alter table objectcustomfieldvalues alter column Current SET default 1; - -UPDATE objectcustomfieldvalues SET Current = 1; - -alter table objectcustomfieldvalues add column LargeContent TEXT NULL; - -alter table objectcustomfieldvalues add column ContentType varchar(80) NULL; - -alter table objectcustomfieldvalues add column ContentEncoding varchar(80) NULL; - -create index ObjectCustomFieldValues1 on objectcustomfieldvalues (CustomField,ObjectType,ObjectId,Content); - -create index ObjectCustomFieldValues2 on objectcustomfieldvalues (CustomField,ObjectType,ObjectId); - - -CREATE SEQUENCE objectcustomfields_id_s; - -CREATE TABLE ObjectCustomFields ( - id INTEGER DEFAULT nextval('objectcustomfields_id_s'), - CustomField integer NOT NULL, - ObjectId integer NOT NULL, - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created TIMESTAMP NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated TIMESTAMP NULL , - PRIMARY KEY (id) - -); - - -INSERT into ObjectCustomFields (CustomField, ObjectId, SortOrder, Creator, LastUpdatedBy) SELECT id, Queue, SortOrder, Creator, LastUpdatedBy from CustomFields; - -alter table CustomFields add column LookupType varchar(255); -alter table CustomFields add column Repeated int2; -alter table CustomFields add column Pattern varchar(255) NULL; -alter table CustomFields add column MaxValues integer; - -UPDATE CustomFields SET MaxValues = 0 WHERE Type LIKE '%Multiple'; -UPDATE CustomFields SET MaxValues = 1 WHERE Type LIKE '%Single'; -UPDATE CustomFields SET Type = 'Select' WHERE Type LIKE 'Select%'; -UPDATE CustomFields SET Type = 'Freeform' WHERE Type LIKE 'Freeform%'; -UPDATE CustomFields Set LookupType = 'RT::Queue-RT::Ticket'; -ALTER TABLE CustomFields ALTER COLUMN LookupType SET NOT NULL; -UPDATE CustomFields Set Repeated = 0; -ALTER TABLE CustomFields ALTER COLUMN Repeated SET DEFAULT 0; -ALTER TABLE CustomFields ALTER COLUMN Repeated SET NOT NULL; -alter table CustomFields drop column Queue; diff --git a/rt/etc/upgrade/3.3.0/schema.mysql b/rt/etc/upgrade/3.3.0/schema.mysql deleted file mode 100644 index 0e33a2819..000000000 --- a/rt/etc/upgrade/3.3.0/schema.mysql +++ /dev/null @@ -1,65 +0,0 @@ -alter Table Transactions ADD Column (ObjectType varchar(64) not null); -update Transactions set ObjectType = 'RT::Ticket'; -alter table Transactions drop column EffectiveTicket; -alter table Transactions add column ReferenceType varchar(255) NULL; -alter table Transactions add column OldReference integer NULL; -alter table Transactions add column NewReference integer NULL; -alter table Transactions drop index transactions1; -alter table Transactions change Ticket ObjectId integer NOT NULL DEFAULT 0 ; - -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); - -alter table TicketCustomFieldValues rename ObjectCustomFieldValues; - -alter table ObjectCustomFieldValues change Ticket ObjectId integer NOT NULL DEFAULT 0 ; - -alter table ObjectCustomFieldValues add column ObjectType varchar(255) not null; - -update ObjectCustomFieldValues set ObjectType = 'RT::Ticket'; - -alter table ObjectCustomFieldValues add column Current bool default 1; - -alter table ObjectCustomFieldValues add column LargeContent LONGTEXT NULL; - -alter table ObjectCustomFieldValues add column ContentType varchar(80) NULL; - -alter table ObjectCustomFieldValues add column ContentEncoding varchar(80) NULL; - -# These could fail if there's no such index and there's no "drop index if exists" syntax -#alter table ObjectCustomFieldValues drop index ticketcustomfieldvalues1; -#alter table ObjectCustomFieldValues drop index ticketcustomfieldvalues2; - -alter table ObjectCustomFieldValues add index ObjectCustomFieldValues1 (Content); - -alter table ObjectCustomFieldValues add index ObjectCustomFieldValues2 (CustomField,ObjectType,ObjectId); - - -CREATE TABLE ObjectCustomFields ( - id INTEGER NOT NULL AUTO_INCREMENT, - CustomField int NOT NULL , - ObjectId integer NOT NULL, - SortOrder integer NOT NULL DEFAULT 0 , - - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; - - -INSERT into ObjectCustomFields (id, CustomField, ObjectId, SortOrder, Creator, LastUpdatedBy) SELECT null, id, Queue, SortOrder, Creator, LastUpdatedBy from CustomFields; - -alter table CustomFields add column LookupType varchar(255) NOT NULL; -alter table CustomFields add column Repeated int2 NOT NULL DEFAULT 0 ; -alter table CustomFields add column Pattern varchar(255) NULL; -alter table CustomFields add column MaxValues integer; -# See above -# alter table CustomFields drop index CustomFields1; - -UPDATE CustomFields SET MaxValues = 0 WHERE Type LIKE '%Multiple'; -UPDATE CustomFields SET MaxValues = 1 WHERE Type LIKE '%Single'; -UPDATE CustomFields SET Type = 'Select' WHERE Type LIKE 'Select%'; -UPDATE CustomFields SET Type = 'Freeform' WHERE Type LIKE 'Freeform%'; -UPDATE CustomFields Set LookupType = 'RT::Queue-RT::Ticket'; -alter table CustomFields drop column Queue; diff --git a/rt/etc/upgrade/3.3.11/acl.Oracle b/rt/etc/upgrade/3.3.11/acl.Oracle deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.11/acl.Oracle +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.11/acl.Pg b/rt/etc/upgrade/3.3.11/acl.Pg deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.11/acl.Pg +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.11/acl.SQLite b/rt/etc/upgrade/3.3.11/acl.SQLite deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.11/acl.SQLite +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.11/acl.mysql b/rt/etc/upgrade/3.3.11/acl.mysql deleted file mode 100644 index 73c16ae03..000000000 --- a/rt/etc/upgrade/3.3.11/acl.mysql +++ /dev/null @@ -1,4 +0,0 @@ -sub acl { - return (); -} -1; diff --git a/rt/etc/upgrade/3.3.11/content b/rt/etc/upgrade/3.3.11/content deleted file mode 100644 index 0afc6045c..000000000 --- a/rt/etc/upgrade/3.3.11/content +++ /dev/null @@ -1 +0,0 @@ -1; diff --git a/rt/etc/upgrade/3.3.11/schema.Oracle b/rt/etc/upgrade/3.3.11/schema.Oracle deleted file mode 100644 index e69de29bb..000000000 --- a/rt/etc/upgrade/3.3.11/schema.Oracle +++ /dev/null diff --git a/rt/etc/upgrade/3.3.11/schema.Pg b/rt/etc/upgrade/3.3.11/schema.Pg deleted file mode 100644 index 6ab5d6581..000000000 --- a/rt/etc/upgrade/3.3.11/schema.Pg +++ /dev/null @@ -1,11 +0,0 @@ -ALTER TABLE ObjectCustomFieldValues ADD COLUMN SortOrder INTEGER; -UPDATE ObjectCustomFieldValues SET SortOrder = 0; -ALTER TABLE ObjectCustomFieldValues ALTER COLUMN SortOrder SET DEFAULT 0; -ALTER TABLE ObjectCustomFieldValues ALTER COLUMN SortOrder SET NOT NULL; -ALTER TABLE ObjectCustomFieldValues ADD COLUMN Disabled INTEGER; -UPDATE ObjectCustomFieldValues SET Disabled = 1 WHERE Current = 0; -UPDATE ObjectCustomFieldValues SET Disabled = 0 WHERE Current != 0; -ALTER TABLE ObjectCustomFieldValues ALTER COLUMN Disabled SET DEFAULT 0; -ALTER TABLE ObjectCustomFieldValues ALTER COLUMN Disabled SET NOT NULL; - -ALTER TABLE ObjectCustomFieldValues DROP COLUMN Current; diff --git a/rt/etc/upgrade/3.3.11/schema.SQLite b/rt/etc/upgrade/3.3.11/schema.SQLite deleted file mode 100644 index e69de29bb..000000000 --- a/rt/etc/upgrade/3.3.11/schema.SQLite +++ /dev/null diff --git a/rt/etc/upgrade/3.3.11/schema.mysql b/rt/etc/upgrade/3.3.11/schema.mysql deleted file mode 100644 index cc35d40f2..000000000 --- a/rt/etc/upgrade/3.3.11/schema.mysql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE ObjectCustomFieldValues ADD COLUMN SortOrder INTEGER NOT NULL DEFAULT 0; -ALTER TABLE ObjectCustomFieldValues ADD COLUMN Disabled int2 NOT NULL DEFAULT 0; - -UPDATE ObjectCustomFieldValues SET Disabled = 1 WHERE Current = 0; -ALTER TABLE ObjectCustomFieldValues DROP COLUMN Current; diff --git a/rt/etc/upgrade/3.5.1/content b/rt/etc/upgrade/3.5.1/content deleted file mode 100644 index e3898a7cc..000000000 --- a/rt/etc/upgrade/3.5.1/content +++ /dev/null @@ -1,36 +0,0 @@ -@Attributes = ( - { Name => 'Search - My Tickets', - Description => '[_1] highest priority tickets I own', - Content => - { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', Priority, QueueName, ExtendedStatus", - Query => " Owner = '__CurrentUser__' AND ( Status = 'new' OR Status = 'open')", - OrderBy => 'Priority', - Order => 'DESC' }, - }, - { Name => 'Search - Unowned Tickets', - Description => '[_1] newest unowned tickets', - Content => - { Format => "'<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__id__</a>/TITLE:#', '<a href=\"__WebPath__/Ticket/Display.html?id=__id__\">__Subject__</a>/TITLE:Subject', QueueName, ExtendedStatus, CreatedRelative, '<A HREF=\"__WebPath__/Ticket/Display.html?Action=Take&id=__id__\">__loc(Take)__</a>/TITLE: ' ", - Query => " Owner = 'Nobody' AND ( Status = 'new' OR Status = 'open')", - OrderBy => 'Created', - Order => 'DESC' }, - }, - { Name => 'HomepageSettings', - Description => 'HomepageSettings', - Content => - { 'body' => - [ { type => 'system', name => 'My Tickets' }, - { type => 'system', name => 'Unowned Tickets' }, - { type => 'component', name => 'QuickCreate'}, - ], - 'summary' => - [ - { type => 'component', name => 'MyReminders' }, - { type => 'component', name => 'Quicksearch' }, - { type => 'component', name => 'RefreshHomepage' }, - ] - }, -} -); - -1; |