[Rt-commit] rt branch, 4.4/dump-and-merge-initialdata, repushed

? sunnavy sunnavy at bestpractical.com
Tue Aug 21 09:59:42 EDT 2018


The branch 4.4/dump-and-merge-initialdata was deleted and repushed:
       was c9343e4b1e47d13db2d2418a3cc75b8aca7e39ce
       now a544b61da251d6973e02ec511681fac836e22bea

  1: 819a7b31e =   1: 819a7b31e Fix typo to make @Assets really work
  2: 88e298039 =   2: 88e298039 Add support for asset and catalog attributes for initialdata
  3: 8e0dd77be =   3: 8e0dd77be Add support for OCFVs in initialdata
  4: 6dbe32935 =   4: 6dbe32935 Insert @Members later, after queues, assets, custom roles etc have been created
  5: b913d8ec6 =   5: b913d8ec6 Support all the role group domains for @ACL
  6: cd9a04b07 =   6: cd9a04b07 initialdata support for @Articles
  7: 6a5e96997 =   7: 6a5e96997 Defer setting BasedOn for CFs later in the @CustomFields list
  8: 1de0a488e =   8: 1de0a488e Handle ObjectScrip Stage in initialdata
  9: ee902438a =   9: ee902438a Handle passing a hash with Stage as first param to Queue
 10: c21aab9bd =  10: c21aab9bd Fixing up ObjectScrip sort order
 11: 33edad4e6 =  11: 33edad4e6 Support GroupDomain for item in @Members
 12: b9eab0387 =  12: b9eab0387 NoAutoGlobal option for @Scrips
 13: 984db7969 =  13: 984db7969 Support import of queue watcher groups
 14: 05d21ca3a =  14: 05d21ca3a Handle explicit ApplyTo => 0 to make a CF which is global
 15: c92316ec9 =  15: c92316ec9 Handle RightName in initialdata
 16: c84eb72e7 =  16: c84eb72e7 Handle global Class records more consistently in initialdata
 17: a713a7b5a =  17: a713a7b5a Correctly load ACLs granted on user-defined groups
 18: db9ee856c =  18: db9ee856c Avoid creating duplicate SystemInternal and RT::Role-System groups
 19: 41d321072 =  19: 41d321072 Allow passing SortOrder to CustomField->Create
 20: 0ae4036e4 =  20: 0ae4036e4 Avoid undef warnings when checking a new queue for name uniqueness
 21: 5896c8acc =  21: 5896c8acc When serializing an ACE, make sure its user is too
 22: 8308c70e1 =  22: 8308c70e1 Make sure queue-specific templates get serialized
 23: dbb9fd851 =  23: dbb9fd851 Skip tickets ASAP as an optimization
 24: 01e4fdd19 =  24: 01e4fdd19 Migrate Storable-related concerns from Serializer to File
 25: 522fcee95 =  25: 522fcee95 First pass at initialdata.json serializer export format
 26: 66df5d7d8 =  26: 66df5d7d8 Sort JSON keys so its output can be versioned
 27: d6a0f6f8a =  27: d6a0f6f8a Store records by id
 28: 6f7163d21 =  28: 6f7163d21 For now, rather than deleting references, dereference them
 29: 5a009e56e =  29: 5a009e56e Use initialdata's type names rather than RT class names
 30: 56f3d4b97 =  30: 56f3d4b97 Defer canonicalizing away "RT::" from class names
 31: 68a8ac9ca =  31: 68a8ac9ca Canonicalize references by name
 32: 66db10a45 =  32: 66db10a45 Canonicalize OCFs as CF.ApplyTo
 33: f89c2196a =  33: f89c2196a Canonicalize ObjectClass into Class.ApplyTo
 34: ab6de43c9 =  34: ab6de43c9 Factor out _GetRecordByRef
 35: 6024bcc9b =  35: 6024bcc9b Canonicalize ObjectScrips as Scrips.Queue
 36: fe0e99f43 =  36: fe0e99f43 Handle ObjectScrip Stage in serializer importer
 37: e350e59b7 =  37: e350e59b7 Canonicalize ObjectCustomRole as CustomRole.ApplyTo
 38: 8f17953f0 =  38: 8f17953f0 Avoid serializing attributes (for now)
 39: d33b6ad9e =  39: d33b6ad9e Only serialize user-defined groups for initialdata
 40: 7cb1f3459 =  40: 7cb1f3459 Have _GetRecordByRef dereference if needed
 41: c40f76ca1 =  41: c40f76ca1 Try harder to load references
 42: 45243d74a =  42: 45243d74a Canonicalize ACLs the way initialdata needs them
 43: 3db856210 =  43: 3db856210 Disambiguate _GetSerializedByRef from _GetObjectByRef
 44: 30f78bcbf =  44: 30f78bcbf Handle systemuser
 45: 6ebadd606 =  45: 6ebadd606 Creator and LastUpdatedBy are always user ids
 46: 2b8d4b9cc =  46: 2b8d4b9cc Avoid uniqueness violations (for now) by skipping id from initialdata output
 47: 67663b950 =  47: 67663b950 CanonicalizeUsers
 48: 6f166613e =  48: 6f166613e Fix serialized OCFs for queues
 49: 6bb58b4f9 =  49: 6bb58b4f9 Roundtrip CFVs
 50: ab3d46496 =  50: ab3d46496 Roundtrip group members
 51: 7e21d67a7 =  51: 7e21d67a7 Fixing up ObjectScrip sort order
 52: 98b5f0bc1 =  52: 98b5f0bc1 Round-trip unapplied scrips using a NoAutoGlobal key
 53: ce4bb242f =  53: ce4bb242f Export OCFVs as CustomFields key on object for initialdata
 54: a7dbcdf24 =  54: a7dbcdf24 No need to rewrite LargeContent as Content
 55: 2081fc158 =  55: 2081fc158 Remove create/update metadata on initialdata export
 56: a0bbc30b3 =  56: a0bbc30b3 Remove spurious Principal and PrincipalId fields on Groups
 57: 64113d416 =  57: 64113d416 Remove spurious NoAutoGlobal
 58: 80f8a8b00 =  58: 80f8a8b00 ACLs without object type are for RT::System
 59: 727320200 =  59: 727320200 ACL PrincipalType is implicit
 60: cb83c6b79 =  60: cb83c6b79 Instance doesn't make sense for UserDefined or SystemInternal groups
 61: 2e1a00b3c =  61: 2e1a00b3c Avoid serializing some empty keys for CFs
 62: 9c9d6e06b =  62: 9c9d6e06b Avoid serializing Disabled:0 for all objects
 63: 2b0a32ebd =  63: 2b0a32ebd Avoid exporting crucial system objects like RT_System user
 64: 779787d31 =  64: 779787d31 Improve export of group membership
 65: c54abcd5c =  65: c54abcd5c Refactor ShouldExcludeObject for clarity
 66: 751e44ab9 =  66: 751e44ab9 Serialize role members but not role groups
 67: 0798a710c =  67: 0798a710c Support export of queue watcher groups
 68: 3b1efa0e0 =  68: 3b1efa0e0 Handle group, role, and user ACLs
 69: 18efb3178 =  69: 18efb3178 Round-trip articles
 70: e4b810ecc =  70: e4b810ecc Avoid throwing errors on disabled many-to-many relationships
 71: e4672182d =  71: e4672182d Avoid undef warnings on CFs without a pattern
 72: 4ca88f8d4 =  72: 4ca88f8d4 Skip serializing OCFVs on live objects for disabled CFs
 73: b1dff1024 =  73: b1dff1024 For stability, sort records consistently
 74: 9b8a088c1 =  74: 9b8a088c1 Clear user passwords and authtokens
 75: 60590ae9c =  75: 60590ae9c Remove more empty fields
 76: 1f624c94f =  76: 1f624c94f Handle disabled OCFVs by skipping them
 77: d9f8bf98f =  77: d9f8bf98f Remove empty user keys
 78: 759ad60da =  78: 759ad60da Avoid undef warnings with sorting by sortorder
 79: f6ad69b91 =  79: f6ad69b91 Sort ObjectScrips by queue name for stability
 80: 7048bee5b =  80: 7048bee5b Don't serialized disabled OCFVs
 81: cd50567a3 =  81: cd50567a3 Factor out repeated deep hash lookups
 82: 99b8357c4 =  82: 99b8357c4 No need to include nobody member for single-member groups
 83: a6910b6d0 =  83: a6910b6d0 Add Sync option for JSON serializer
 84: 4acf32f76 =  84: 4acf32f76 Delete empty Values => [] from custom fields
 85: db38a18d7 =  85: db38a18d7 Default FollowTickets and FollowTransactions to 0 for initialdata
 86: f2abed891 =  86: f2abed891 Default to exporting scrips and ACLs
 87: de00f1109 =  87: de00f1109 Add FollowDisabled option to serializer
 88: 846d2a979 =  88: 846d2a979 Avoid serializing ACLs and GroupMembers if either parent is disabled
 89: 907847003 =  89: 907847003 Avoid error on broken ACLEquivalence principals
 90: 5ce7c84c7 =  90: 5ce7c84c7 Sort OCFV values to keep the original id order
 91: da4a2279e =  91: da4a2279e Add a --no-disabled flag to serializer
 92: 3341a6510 =  92: 3341a6510 Add --no-transactions flag to rt-serializer
 93: 816e1e892 =  93: 816e1e892 Initial rt-dump-initialdata
 94: fdf741074 =  94: fdf741074 Make label column a bit wider considering we have ObjectCustomFieldValues now
 95: c4f4df2ad =  95: c4f4df2ad Fix plural of words like "Class" in the progress bar of migration
 96: 42a5b5e07 =  96: 42a5b5e07 Fix plural of "ACE" in the progress bar of migration
 97: 43a17b797 =  97: 43a17b797 First initialdata roundtrip tests
 98: 7b35ecf83 =  98: 7b35ecf83 Skip tests if required RT::Extension::Initialdata::JSON is not available
 99: 59b1a1267 =  99: 59b1a1267 Make sure RT::Extension::Initialdata::JSON is available for perls prior to 5.14
100: ca42b410e = 100: ca42b410e Support more string formats for Object in @Attributes
101: d2c7fbe98 = 101: d2c7fbe98 Support import/export of @Attribute for JSON serializer
102: 289733ae5 = 102: 289733ae5 Support @Topics and @ObjectTopics in initialdata
103: e5206f656 = 103: e5206f656 Support Topics for json serializer
104: 6b88728eb = 104: 6b88728eb Support disabled CustomRoles creation in initialdata
105: e853c699e = 105: e853c699e Encode LargeContent to base64 for upload custom fields in json serializer
106: b691ef49d = 106: b691ef49d Support update/delete actions in initialdata
107: c9343e4b1 ! 107: a544b61da Add --base option to generate changes between 2 initialdata.json files
    @@ -137,7 +137,7 @@
     +    if ( %changes ) {
     +        my $file = File::Spec->catfile( $walker->{Directory}, 'changes.json' );
     +        open my $fh, '>encoding(UTF-8)', $file or die "Can't open $file to write: $!";
    -+        print $fh ( $JSON->encode(\%changes) );
    ++        print $fh $JSON->encode(\%changes);
     +
     +        print "Changes are saved to changes.json\n";
     +        print "Changes summary:\n";
    @@ -146,12 +146,12 @@
     +            my $collection = "RT::$name";
     +            $collection = 'RT::GroupMembers' if $collection eq 'RT::Members';
     +            my $class;
    -+            if ( $collection->can('_SingularClass') ) {
    ++            if ( $collection->can( '_SingularClass' ) ) {
     +                $class = $collection->_SingularClass;
     +            }
     +            else {
     +                $class = $collection;
    -+                $class =~ s!s$!!g;
    ++                $class =~ s!s$!!;
     +            }
     +            printf "%8d %s\n", scalar @{$changes{$name}}, $class;
     +        }



More information about the rt-commit mailing list