diff options
Diffstat (limited to 'rt/etc')
29 files changed, 106 insertions, 565 deletions
diff --git a/rt/etc/RT_Config.pm.in b/rt/etc/RT_Config.pm.in index 773e3e2dc..7f967061d 100644 --- a/rt/etc/RT_Config.pm.in +++ b/rt/etc/RT_Config.pm.in @@ -17,7 +17,7 @@ use RT::Config; # {{{ Base Configuration -# $rtname is the string that RT will look for in mail messages to +# $rtname 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. @@ -26,28 +26,6 @@ use RT::Config; 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)/ ); -# -# and NOT -# -# Set($EmailSubjectTagRegex, qr/(example.com|example.org)/ ); -# -# This setting would make RT behave exactly as it does without the -# setting enabled. -# -# Set($EmailSubjectTagRegex, qr/\Q$rtname\E/ ); - - - # 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. @@ -109,7 +87,7 @@ Set($OwnerEmail , 'root'); Set($LoopsToRTOwner , 1); -# If $StoreLoops is defined, RT will record messages that it believes +# If $StoreLoopss 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 @@ -126,12 +104,12 @@ Set($StoreLoops , undef); Set($MaxAttachmentSize , 10000000); # $TruncateLongAttachments: if this is set to a non-undef value, -# RT will truncate attachments longer than MaxAttachmentSize. +# RT will truncate attachments longer than MaxAttachmentLength. Set($TruncateLongAttachments , undef); # $DropLongAttachments: if this is set to a non-undef value, -# RT will silently drop attachments longer than MaxAttachmentSize. +# RT will silently drop attachments longer than MaxAttachmentLength. Set($DropLongAttachments , undef); @@ -155,8 +133,8 @@ Set($RTAddressRegexp , '^rt\@example.com$'); # (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($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 @@ -199,7 +177,7 @@ Set($CommentAddress , 'RT_CommentAddressNotSet'); # 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' +# if you use 'sendmail rather than 'sendmailpipe' Set($MailCommand , 'sendmailpipe'); @@ -298,7 +276,7 @@ Set($WebPath , ""); # This is the Scheme, server and port for constructing urls to webrt # $WebBaseURL doesn't need a trailing / -Set($WebBaseURL , "http://localhost"); +Set($WebBaseURL , "http://RT::WebBaseURL.not.configured:80"); Set($WebURL , $WebBaseURL . $WebPath . "/"); @@ -306,9 +284,9 @@ Set($WebURL , $WebBaseURL . $WebPath . "/"); Set($WebImagesURL , $WebPath . "/NoAuth/images/"); -# $LogoURL points to the URL of the RT logo displayed in the web UI +# $RTLogoURL points to the URL of the RT logo displayed in the web UI -Set($LogoURL , $WebImagesURL . "bplogo.gif"); +Set($LogoURL , $WebImagesURL . "rt.jpg"); # WebNoAuthRegex - What portion of RT's URLspace should not require # authentication. @@ -329,18 +307,12 @@ Set($MessageBoxWrap, "HARD"); # 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 (the default) will do so, setting -# this to '0' will cause no such messages to be redistributed. -# You can also use 'privileged', which will redistribute only to -# privileged users. This is seful if you get malformed bounces caused by -# autocreated requestors with bogus addresses. -Set($RedistributeAutoGeneratedMessages, 1); # 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 @@ -370,16 +342,6 @@ Set($WebExternalAuto , undef); # Set($WebSessionClass , 'Apache::Session::File'); -# 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. @@ -400,9 +362,8 @@ Set($MyRequestsLength, 10); # @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);'); +# for debugging, eg. profiling individual components with +# (preamble => 'my $p = MasonX::Profiler->new($m, $r);'); @MasonParameters = () unless (@MasonParameters); @@ -428,8 +389,8 @@ Set ($DefaultSearchResultFormat, qq{ # {{{ 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. +# interface. Defaults to all *.po lexicons; set it to qw(en ja) will make +# RT bilingual instead of multilingual, but will save same memory. @LexiconLanguages = qw(*) unless (@LexiconLanguages); @@ -459,35 +420,4 @@ 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. - -@ActiveStatus = qw(new open stalled) unless @ActiveStatus; -@InactiveStatus = qw(resolved rejected deleted) unless @InactiveStatus; - -# }}} - - -# {{{ 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 index affd36bb3..5c116c462 100644 --- a/rt/etc/RT_SiteConfig.pm +++ b/rt/etc/RT_SiteConfig.pm @@ -1,21 +1,3 @@ -# 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'); - $RT::rtname = '%%%RT_DOMAIN%%%'; $RT::Organization = '%%%RT_DOMAIN%%%'; diff --git a/rt/etc/acl.Pg b/rt/etc/acl.Pg index fb625592d..49f938e4f 100755 --- a/rt/etc/acl.Pg +++ b/rt/etc/acl.Pg @@ -10,39 +10,37 @@ sub acl { Attributes attributes_id_seq queues_id_seq - Queues + Queues links_id_seq - Links + Links principals_id_seq - Principals + Principals groups_id_seq - Groups + Groups scripconditions_id_seq - ScripConditions + ScripConditions transactions_id_seq - Transactions + Transactions scrips_id_seq - Scrips + Scrips acl_id_seq - ACL + ACL groupmembers_id_seq - GroupMembers + GroupMembers cachedgroupmembers_id_seq - CachedGroupMembers + CachedGroupMembers users_id_seq - Users + Users tickets_id_seq - Tickets + Tickets scripactions_id_seq - ScripActions + ScripActions templates_id_seq - Templates - objectcustomfieldvalues_id_s - ObjectCustomFieldValues + Templates + ticketcustomfieldvalues_id_s + TicketCustomFieldValues customfields_id_seq - CustomFields - objectcustomfields_id_s - ObjectCustomFields + CustomFields customfieldvalues_id_seq CustomFieldValues sessions diff --git a/rt/etc/acl.mysql b/rt/etc/acl.mysql index 621ef121c..5bd883472 100755 --- a/rt/etc/acl.mysql +++ b/rt/etc/acl.mysql @@ -1,5 +1,4 @@ sub acl { -return () if !$RT::DatabaseUser or $RT::DatabaseUser eq 'root'; return ( "USE mysql;", "DELETE FROM user WHERE user = '${RT::DatabaseUser}';", diff --git a/rt/etc/initialdata b/rt/etc/initialdata index 3a21ce1f6..d5d3b2022 100644 --- a/rt/etc/initialdata +++ b/rt/etc/initialdata @@ -351,7 +351,7 @@ batch-process all your pending approvals. Name => "Approval Passed", # loc Description => "Notify Owner of their ticket has been approved by some approver", # loc - Content => 'Subject: Ticket Approved: {$Ticket->Subject} + Content => 'Subject: Ticket Rejected: {$Ticket->Subject} Greetings, @@ -363,7 +363,7 @@ Other approvals may be pending. Name => "All Approvals Passed", # loc Description => "Notify Owner of their ticket has been approved by all approvers", # loc - Content => 'Subject: Ticket Approved: {$Ticket->Subject} + Content => 'Subject: Ticket Rejected: {$Ticket->Subject} Greetings, diff --git a/rt/etc/schema.Informix b/rt/etc/schema.Informix index 6a4e5334e..20c607e85 100644 --- a/rt/etc/schema.Informix +++ b/rt/etc/schema.Informix @@ -103,22 +103,20 @@ CREATE TABLE ScripConditions ( CREATE TABLE Transactions ( id SERIAL, - ObjectType VARCHAR(255), - ObjectId INTEGER DEFAULT 0 NOT NULL, + EffectiveTicket INTEGER DEFAULT 0 NOT NULL, + Ticket 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 INDEX Transactions1 ON Transactions (Ticket); +CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); CREATE TABLE Scrips ( @@ -307,9 +305,7 @@ CREATE TABLE CustomFields ( id SERIAL, Name VARCHAR(200), Type VARCHAR(200), - MaxValues INTEGER DEFAULT 0 NOT NULL, - Pattern VARCHAR(255), - LookupType VARCHAR(255), + Queue INTEGER DEFAULT 0 NOT NULL, Description VARCHAR(255), SortOrder INTEGER DEFAULT 0 NOT NULL, Creator INTEGER DEFAULT 0 NOT NULL, @@ -319,6 +315,7 @@ CREATE TABLE CustomFields ( Disabled SMALLINT DEFAULT 0 NOT NULL, PRIMARY KEY (id) ); +CREATE INDEX CustomFields1 ON CustomFields (Disabled, Queue); CREATE TABLE CustomFieldValues ( diff --git a/rt/etc/schema.Pg b/rt/etc/schema.Pg index 2d45a946a..a5b68b395 100755 --- a/rt/etc/schema.Pg +++ b/rt/etc/schema.Pg @@ -57,7 +57,7 @@ CREATE TABLE Queues ( Created TIMESTAMP NULL , LastUpdatedBy integer NOT NULL DEFAULT 0 , LastUpdated TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , + Disabled int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); @@ -108,7 +108,7 @@ 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 , + Disabled int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); @@ -183,16 +183,13 @@ 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 , + 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 , - ReferenceType varchar(255) NULL, - OldReference integer NULL , - NewReference integer NULL , Data varchar(255) NULL , Creator integer NOT NULL DEFAULT 0 , @@ -200,7 +197,8 @@ CREATE TABLE Transactions ( PRIMARY KEY (id) ); -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); +CREATE INDEX Transactions1 ON Transactions (Ticket); +CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); -- }}} @@ -301,7 +299,7 @@ CREATE TABLE CachedGroupMembers ( MemberId int, Via int, ImmediateParentId int, - Disabled integer NOT NULL DEFAULT 0 , + Disabled int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); @@ -408,7 +406,7 @@ CREATE TABLE Tickets ( LastUpdated TIMESTAMP NULL , Creator integer NOT NULL DEFAULT 0 , Created TIMESTAMP NULL , - Disabled integer NOT NULL DEFAULT 0 , + Disabled int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); @@ -476,7 +474,7 @@ CREATE TABLE Templates ( -- }}} --- {{{ ObjectCustomFieldValues +-- {{{ TicketCustomFieldValues @@ -484,31 +482,24 @@ CREATE TABLE Templates ( -- Sequences for table TICKETCUSTOMFIELDVALUES -- -CREATE SEQUENCE objectcustomfieldvalues_id_s; +CREATE SEQUENCE ticketcustomfieldvalues_id_s; -CREATE TABLE ObjectCustomFieldValues ( - id INTEGER DEFAULT nextval('objectcustomfieldvalues_id_s'), +CREATE TABLE TicketCustomFieldValues ( + id INTEGER DEFAULT nextval('ticketcustomfieldvalues_id_s'), + Ticket int NOT NULL , 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); +CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); +CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); -- }}} @@ -526,10 +517,7 @@ 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 , + Queue integer NOT NULL DEFAULT 0 , Description varchar(255) NULL , SortOrder integer NOT NULL DEFAULT 0 , @@ -537,27 +525,7 @@ CREATE TABLE CustomFields ( 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 , + Disabled int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); @@ -605,7 +573,7 @@ CREATE TABLE Attributes ( Content text, ContentType varchar(16), ObjectType varchar(64), - ObjectId integer, + ObjectId integer, # foreign key to anything Creator integer NOT NULL DEFAULT 0 , Created TIMESTAMP NULL , LastUpdatedBy integer NOT NULL DEFAULT 0 , diff --git a/rt/etc/schema.SQLite b/rt/etc/schema.SQLite index 8791bb47e..174664662 100644 --- a/rt/etc/schema.SQLite +++ b/rt/etc/schema.SQLite @@ -112,23 +112,21 @@ CREATE TABLE ScripConditions ( --- {{{ Transactions CREATE TABLE Transactions ( id INTEGER PRIMARY KEY , - ObjectType varchar(255) NULL , - ObjectId integer NULL , + EffectiveTicket integer NULL , + Ticket 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); +CREATE INDEX Transactions1 ON Transactions (Ticket); +CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); --- }}} @@ -331,94 +329,65 @@ CREATE TABLE Templates ( --- }}} +--- {{{ TicketCustomFieldValues - -# {{{ ObjectCustomFieldValues - -CREATE TABLE ObjectCustomFieldValues ( - id INTEGER NOT NULL , +CREATE TABLE TicketCustomFieldValues ( + id INTEGER PRIMARY KEY , + Ticket int 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 , + Creator integer NULL , Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 , - PRIMARY KEY (id) + LastUpdatedBy integer NULL , + LastUpdated DATETIME NULL + ) ; -CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content); -CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); +CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); +CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); -# }}} +--- }}} -# {{{ CustomFields +--- {{{ CustomFields CREATE TABLE CustomFields ( - id INTEGER NOT NULL , + id INTEGER PRIMARY KEY , 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 + Type varchar(200) NULL , + Queue int NULL , 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 + SortOrder integer NULL , -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 , + Creator integer NULL , Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) + LastUpdatedBy integer NULL , + LastUpdated DATETIME NULL , + Disabled int2 NOT NULL DEFAULT 0 + ) ; -# }}} +--- }}} -# {{{ CustomFieldValues +--- {{{ CustomFieldValues CREATE TABLE CustomFieldValues ( - id INTEGER NOT NULL , + id INTEGER PRIMARY KEY , CustomField int NOT NULL , Name varchar(200) NULL , Description varchar(255) NULL , - SortOrder integer NOT NULL DEFAULT 0 , + SortOrder integer NULL , - Creator integer NOT NULL DEFAULT 0 , + Creator integer NULL , Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) + LastUpdatedBy integer NULL , + LastUpdated DATETIME NULL + ) ; CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); - -# }}} + +--- }}} --- {{{ Attributes CREATE TABLE Attributes ( diff --git a/rt/etc/schema.mysql b/rt/etc/schema.mysql index 60f1abae2..0ab42e7eb 100755 --- a/rt/etc/schema.mysql +++ b/rt/etc/schema.mysql @@ -118,23 +118,21 @@ CREATE TABLE ScripConditions ( # {{{ Transactions CREATE TABLE Transactions ( id INTEGER NOT NULL AUTO_INCREMENT, - ObjectType varchar(64) NOT NULL, - ObjectId integer NOT NULL DEFAULT 0 , + 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 , - ReferenceType varchar(255) NULL, - OldReference integer NULL , - NewReference integer NULL , Data varchar(255) NULL , Creator integer NOT NULL DEFAULT 0 , Created DATETIME NULL , PRIMARY KEY (id) ) TYPE=InnoDB; -CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); +CREATE INDEX Transactions1 ON Transactions (Ticket); +CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); # }}} @@ -339,30 +337,22 @@ CREATE TABLE Templates ( # }}} -# {{{ ObjectCustomFieldValues +# {{{ TicketCustomFieldValues -CREATE TABLE ObjectCustomFieldValues ( +CREATE TABLE TicketCustomFieldValues ( id INTEGER NOT NULL AUTO_INCREMENT, + Ticket int 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 , # New -- ordering for multiple values - 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 , # New -- whether the value was current PRIMARY KEY (id) ) TYPE=InnoDB; -CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content); -CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); +CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); # }}} @@ -371,13 +361,10 @@ CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,Ob CREATE TABLE CustomFields ( id INTEGER NOT NULL AUTO_INCREMENT, 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 + Type varchar(200) NULL , + Queue integer NOT NULL DEFAULT 0 , Description varchar(255) NULL , SortOrder integer NOT NULL DEFAULT 0 , - LookupType varchar(255) NOT NULL, Creator integer NOT NULL DEFAULT 0 , Created DATETIME NULL , @@ -387,22 +374,8 @@ CREATE TABLE CustomFields ( PRIMARY KEY (id) ) TYPE=InnoDB; -# }}} - -# {{{ ObjectCustomFields - -CREATE TABLE ObjectCustomFields ( - id INTEGER NOT NULL AUTO_INCREMENT, - CustomField int NOT NULL , - ObjectId integer NOT NULL, - SortOrder integer NOT NULL DEFAULT 0 , +CREATE INDEX CustomFields1 on CustomFields (Disabled, Queue); - Creator integer NOT NULL DEFAULT 0 , - Created DATETIME NULL , - LastUpdatedBy integer NOT NULL DEFAULT 0 , - LastUpdated DATETIME NULL , - PRIMARY KEY (id) -) TYPE=InnoDB; # }}} diff --git a/rt/etc/upgrade/3.1.0/schema.Pg b/rt/etc/upgrade/3.1.0/schema.Pg index 94c3fe70d..67ea73827 100755 --- a/rt/etc/upgrade/3.1.0/schema.Pg +++ b/rt/etc/upgrade/3.1.0/schema.Pg @@ -9,7 +9,7 @@ CREATE TABLE Attributes ( Content text, ContentType varchar(16), ObjectType varchar(64), - ObjectId integer, + ObjectId integer, -- foreign key to anything Creator integer NOT NULL DEFAULT 0 , Created TIMESTAMP NULL , LastUpdatedBy integer NOT NULL DEFAULT 0 , diff --git a/rt/etc/upgrade/3.1.0/schema.SQLite b/rt/etc/upgrade/3.1.0/schema.SQLite index 1dd466fa7..87a1cc47f 100644 --- a/rt/etc/upgrade/3.1.0/schema.SQLite +++ b/rt/etc/upgrade/3.1.0/schema.SQLite @@ -13,8 +13,7 @@ CREATE TABLE Attributes ( LastUpdated DATETIME NULL ) ; - -CREATE INDEX Attributes1 on Attributes(Name); +CREATE INDEX Attributes1 on Attributes(Name) CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); --- }}} 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; |