silverstripe / silverstripe-framework

Silverstripe Framework, the MVC framework that powers Silverstripe CMS
https://www.silverstripe.org
BSD 3-Clause "New" or "Revised" License
721 stars 821 forks source link

Upgrading SS3.x to SS4.x and running dev/build may change LastEdited #9068

Closed michalkleiner closed 5 years ago

michalkleiner commented 5 years ago

Remotely related to https://github.com/silverstripe/silverstripe-assets/issues/222, but not exactly the same issue.

Scenario:

  1. Upgrade codebase to SS4
  2. Import SS3 db via sspak
  3. Run dev/build
  4. Observe all LastEdited dates set to when the dev/build ran.

Expected outcome: LastEdited for all records stay as it was. The change can cause problems in many places, e.g. reporting, ordering of items in lists, using the date as the Last Updated on the front-end etc.

michalkleiner commented 5 years ago

I'm yet to confirm on a clean install but by the first look no other code seems to be interfering with the records (e.g. custom onBeforeWrite logic or so).

chillu commented 5 years ago

Yeah that's weird, I wouldn't expect this on dev/build. Do you have a composer info?

michalkleiner commented 5 years ago
abeautifulsite/jquery-minicolors                         2.3.4                       jQuery MiniColors Plugin
asyncphp/doorman                                         3.0.0                       Child process management
axllent/silverstripe-trailing-slash                      2.2.0                       Ensure that a single trailing slash is always added to the URL
bringyourownideas/silverstripe-composer-security-checker 2.0.2                       Provides information if your SilverStripe application uses dependencies with known vulnerabilities.
bringyourownideas/silverstripe-composer-update-checker   2.0.2                       Checks if any composer packages needs to be updated.
bringyourownideas/silverstripe-maintenance               2.1.0                       Toolset to help with the day by day maintenance work.
chrometoaster/backend-coding-standards                   1.1.0                       Back-end coding standards configuration used at Chrometoaster.
chrometoaster/ga-gtm-singlefield                         2.0.1                       Adds single field to CMS settings section to hold GA or GTM code. Template snippets need to be inserted to theme t...
chrometoaster/silverstripe-metadescription-fallback      2.0.1                       An extension providing a mechanism to populate meta description header from content fields when MetaDescription is...
colymba/colorfield                                       dev-master 1751c371         SilverStripe 4 Color picker and DBField field with attitude.
composer/ca-bundle                                       1.1.4                       Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.
composer/composer                                        1.8.5                       Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack eve...
composer/installers                                      v1.6.0                      A multi-framework Composer library installer
composer/semver                                          1.5.0                       Semver library that offers utilities, version constraint parsing and validation.
composer/spdx-licenses                                   1.5.1                       SPDX licenses list and validation library.
composer/xdebug-handler                                  1.3.3                       Restarts a process without xdebug.
cwp/cwp                                                  2.2.3                       CWP features module. We strongly recommend using it for all new sites. Future features will be delivered here.
cwp/cwp-core                                             2.2.3                       CWP basic compatibility module. Use for migrations.
cwp/cwp-pdfexport                                        1.0.1                       Add PDF export capability for pages in CWP
cwp/cwp-recipe-cms                                       2.2.3                       CWP CMS requirements recipe
cwp/cwp-recipe-core                                      2.2.3                       CWP core requirements recipe
cwp/cwp-recipe-search                                    2.2.3                       CWP search requirements recipe
cwp/cwp-search                                           1.1.1                       CWP fulltextsearch integration module
dnadesign/silverstripe-elemental                         4.0.5                       Elemental pagetype and collection of Elements
dnadesign/silverstripe-elemental-virtual                 dev-master c5b8da2c         Adds ability for Elemental to share content blocks between pages
doctrine/annotations                                     v1.6.1                      Docblock Annotations Parser
doctrine/inflector                                       v1.3.0                      Common String Manipulations with regard to casing and singular/plural rules.
doctrine/instantiator                                    1.2.0                       A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer                                           1.0.2                       PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
embed/embed                                              v3.3.9                      PHP library to retrieve page info using oembed, opengraph, etc
friendsofphp/php-cs-fixer                                v2.15.1                     A tool to automatically fix PHP code style
gdmedia/ss-auto-git-ignore                               1.0.2                       A Composer post-update-cmd script to automatically add Composer managed SilverStripe modules and themes to .gitignore
guzzlehttp/guzzle                                        6.3.3                       Guzzle is a PHP HTTP client library
guzzlehttp/promises                                      v1.3.1                      Guzzle promises library
guzzlehttp/psr7                                          1.5.2                       PSR-7 message implementation that also provides common utility methods
heyday/silverstripe-colorpalette                         2.0.3                       A color palette picker for SilverStripe CMS
heyday/silverstripe-menumanager                          3.0.4                       Allows complex menu management to be handled through the CMS when a simple tree structure is not enough.
illuminate/contracts                                     v5.8.20                     The Illuminate Contracts package.
illuminate/support                                       v5.8.20                     The Illuminate Support package.
innoweb/silverstripe-cmsstickymenupreference             2.0.0                       Adds the ability for users to control the default CMS sticky menu setting for their login
intervention/image                                       2.4.2                       Image handling and manipulation library with support for Laravel integration
jakub-onderka/php-console-color                          v0.2
jakub-onderka/php-console-highlighter                    v0.4                        Highlight PHP code in terminal
jakub-onderka/php-parallel-lint                          v1.0.0                      This tool check syntax of PHP files about 20x faster than serial check.
jean85/pretty-package-versions                           1.2                         A wrapper for ocramius/package-versions to get pretty versions strings
jeremeamia/SuperClosure                                  2.4.0                       Serialize Closure objects, including their context and binding
jonom/focuspoint                                         3.0.0                       Smarter automatic image cropping for SilverStripe
jonom/silverstripe-betternavigator                       4.1.1                       Front-end utility menu for SilverStripe websites featuring administration and development tools
justinrainbow/json-schema                                5.2.8                       A library to validate a json schema.
kylekatarnls/update-helper                               1.1.1                       Update helper
league/csv                                               8.2.3                       Csv data manipulation made easy in PHP
league/flysystem                                         1.0.52                      Filesystem abstraction: Many filesystems, one API.
m1/env                                                   2.1.2                       Env is a lightweight library bringing .env file parser compatibility to PHP. In short - it enables you to read .en...
marcj/topsort                                            1.1.0                       High-Performance TopSort/Dependency resolving algorithm
monolog/monolog                                          1.24.0                      Sends your logs to files, sockets, inboxes, databases and various web services
myclabs/deep-copy                                        1.9.1                       Create deep copies (clones) of your objects
nesbot/carbon                                            1.38.4                      A simple API extension for DateTime.
nette/finder                                             v2.5.0                      🔍 Nette Finder: find files and directories with an intuitive API.
nette/robot-loader                                       v3.1.1                      🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within y...
nette/utils                                              v2.5.3                      🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decodi...
nikic/php-parser                                         v4.2.2                      A PHP parser written in PHP
ocramius/package-versions                                1.4.0                       Composer plugin that provides efficient querying for installed package versions (no runtime IO)
paragonie/random_compat                                  v2.0.18                     PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
php-cs-fixer/diff                                        v1.3.0                      sebastian/diff v2 backport support for PHP5.6
phpdocumentor/reflection-common                          1.0.1                       Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock                        4.3.1                       With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information...
phpdocumentor/type-resolver                              0.4.0
phpspec/prophecy                                         1.8.0                       Highly opinionated mocking framework for PHP 5.3+
phpstan/phpdoc-parser                                    0.3.5                       PHPDoc parser with support for nullable, intersection and generic types
phpstan/phpstan-shim                                     0.9.2                       PHPStan Phar distribution
phpunit/php-code-coverage                                4.0.8                       Library that provides collection, processing, and rendering functionality for PHP code coverage information.
phpunit/php-file-iterator                                1.4.5                       FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-text-template                                1.2.1                       Simple template engine.
phpunit/php-timer                                        1.0.9                       Utility class for timing
phpunit/php-token-stream                                 2.0.2                       Wrapper around PHP's tokenizer extension.
phpunit/phpunit                                          5.7.27                      The PHP Unit Testing framework.
phpunit/phpunit-mock-objects                             3.4.4                       Mock Object library for PHPUnit
psr/cache                                                1.0.1                       Common interface for caching libraries
psr/container                                            1.0.0                       Common Container Interface (PHP FIG PSR-11)
psr/http-message                                         1.0.1                       Common interface for HTTP messages
psr/log                                                  1.1.0                       Common interface for logging libraries
psr/simple-cache                                         1.0.1                       Common interfaces for simple caching
ptcinc/solr-php-client                                   v1.0.0                      A purely PHP library for indexing and searching documents against an Apache Solr installation
ralouphie/getallheaders                                  2.0.5                       A polyfill for getallheaders.
sebastian/code-unit-reverse-lookup                       1.0.1                       Looks up which function or method a line of code belongs to
sebastian/comparator                                     1.2.4                       Provides the functionality to compare PHP values for equality
sebastian/diff                                           1.4.3                       Diff implementation
sebastian/environment                                    2.0.0                       Provides functionality to handle HHVM/PHP environments
sebastian/exporter                                       2.0.0                       Provides the functionality to export PHP variables for visualization
sebastian/global-state                                   1.1.1                       Snapshotting of global state
sebastian/object-enumerator                              2.0.1                       Traverses array structures and object graphs to enumerate all referenced objects
sebastian/recursion-context                              2.0.0                       Provides functionality to recursively process PHP variables
sebastian/resource-operations                            1.0.0                       Provides a list of PHP built-in functions that operate on resources
sebastian/version                                        2.0.1                       Library that helps with managing the version number of Git-hosted PHP projects
seld/jsonlint                                            1.7.1                       JSON Linter
seld/phar-utils                                          1.0.1                       PHAR file format utilities, for when PHP phars you up
sensiolabs/security-checker                              v5.0.3                      A security checker for your composer.lock
sheadawson/silverstripe-dependentdropdownfield           2.0.0                       A silverstripe dropdown field that has it's options populated via ajax, based on the value of the field it depends on
sheadawson/silverstripe-linkable                         2.0.0                       A couple of handy form fields and objects for managing external and internal links on DataObjects
silvershop/silverstripe-hasonefield                      3.0.2                       Edit a has_one relationship using a GridField, triggered by clicking a button.
silverstripe/admin                                       1.3.3                       SilverStripe admin interface
silverstripe/asset-admin                                 1.3.3                       Asset management for the SilverStripe CMS
silverstripe/assets                                      1.3.3                       SilverStripe Assets component
silverstripe/auditor                                     2.1.5                       Adds security audit trail to SilverStripe.
silverstripe/campaign-admin                              1.3.3                       SilverStripe campaign admin interface
silverstripe/cms                                         4.3.3                       The SilverStripe Content Management System
silverstripe/config                                      1.0.13                      SilverStripe configuration based on YAML and class statics
silverstripe/contentreview                               4.1.1                       Flags pages for periodical author review (incl. reporting)
silverstripe/documentconverter                           2.0.2                       Imports OpenOffice-compatible files (doc, docx, etc) into SilverStripe pages and content.
silverstripe/environmentcheck                            2.0.0                       Provides an API for building environment tests
silverstripe/errorpage                                   1.3.3                       ErrorPage component for SilverStripe CMS
silverstripe/externallinks                               2.0.4                       Adds tracking of broken external links to the SilverStripe CMS
silverstripe/framework                                   4.3.3                       The SilverStripe framework
silverstripe/fulltextsearch                              3.4.2                       Adds support for Fulltext Search engines like Sphinx and Solr to SilverStripe CMS
silverstripe/graphql                                     3.0.3                       GraphQL server for SilverStripe models and other data
silverstripe/html5                                       2.0.1                       HTML5 support for SilverStripe
silverstripe/hybridsessions                              2.1.1                       Cookie/DB session support for SilverStripe
silverstripe/iframe                                      2.0.1                       Add an iFrame pagetype to SilverStripe, to show content from another website
silverstripe/lumberjack                                  2.0.1                       A module to make managing pages in a GridField easy without losing any of the functionality that you're used to in...
silverstripe/mimevalidator                               2.0.0                       Checks uploaded file content roughly matches a known MIME type for the file extension.
silverstripe/recaptcha                                   3.0.0-alpha1                Provides a form field which allows form to validate for non-bot submissions by giving them a challenge to decrypt ...
silverstripe/recipe-authoring-tools                      1.2.3                       Extra tools for CMS authoring in SilverStripe
silverstripe/recipe-cms                                  4.3.3                       SilverStripe recipe for fully featured page and asset content editing
silverstripe/recipe-collaboration                        1.2.3                       Add extra functionality to enhance CMS user collaboration
silverstripe/recipe-core                                 4.3.3                       SilverStripe framework-only core recipe
silverstripe/recipe-form-building                        1.2.3                       A recipe of modules to help you build forms in SilverStripe
silverstripe/recipe-plugin                               1.3.0                       Helper plugin to install SilverStripe recipes
silverstripe/recipe-reporting-tools                      1.2.3                       Add extra CMS reporting tools to your SilverStripe project
silverstripe/recipe-services                             1.1.6                       Add API and content service modules to your SilverStripe project
silverstripe/redirectedurls                              2.0.0                       Provides a system for users to configure arbitrary redirections in the CMS
silverstripe/registry                                    2.1.1                       Provide search and export interfaces for datasets.
silverstripe/reports                                     4.3.3                       Reports module for SilverStripe CMS
silverstripe/restfulserver                               2.1.1                       Add a RESTful API to your SilverStripe application
silverstripe/securityreport                              2.0.1                       Generates a security and access report for CMS users
silverstripe/segment-field                               2.2.2                       A reusable approach to segment-generating fields
silverstripe/sharedraftcontent                           2.2.0                       Share draft page content with non-CMS users
silverstripe/siteconfig                                  4.3.3                       Site wide settings administration.
silverstripe/sitewidecontent-report                      3.0.2                       Report of all pages and files across all subsites
silverstripe/spamprotection                              3.0.1                       Spam protection module for SilverStripe.
silverstripe/spellcheck                                  2.1.0                       Improves spellcheck support for SilverStripe CMS, including an implementation for HunSpell.
silverstripe/subsites                                    2.2.1                       Run multiple sites from a single SilverStripe install.
silverstripe/tagfield                                    2.2.3                       Tag field for SilverStripe
silverstripe/taxonomy                                    2.0.1                       Provide extra taxonomy for cataloguing the data.
silverstripe/textextraction                              3.0.1                       Text Extraction API for SilverStripe CMS (mostly used with 'fulltextsearch' module)
silverstripe/userforms                                   5.3.1                       UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in ...
silverstripe/vendor-plugin                               1.4.0                       Allows vendor modules to expose directories to the webroot
silverstripe/versioned                                   1.3.3                       SilverStripe Versioned component
silverstripe/versioned-admin                             1.1.3                       SilverStripe versioned admin interface
silverstripe/versionfeed                                 2.0.1                       Adds RSS feeds of content changes to SilverStripe
silverware/calendar                                      1.1.0                       SilverWare Calendar Module.
slam/php-cs-fixer-extensions                             v1.18.0                     Slam extension of friendsofphp/php-cs-fixer
slevomat/coding-standard                                 4.8.7                       Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with addi...
squizlabs/php_codesniffer                                3.4.2                       PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.
swiftmailer/swiftmailer                                  v5.4.12                     Swiftmailer, free feature-rich PHP mailer
symbiote/silverstripe-advancedworkflow                   5.1.1                       Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.
symbiote/silverstripe-gridfieldextensions                3.2.1                       A collection of useful grid field components
symbiote/silverstripe-multivaluefield                    5.0.1                       A DB field + form fields for storing multiple values in a single property (serialized).
symbiote/silverstripe-phpstan                            3.0.2                       PHPStan for Silverstripe
symbiote/silverstripe-queuedjobs                         4.3.2                       A framework for defining and running background jobs in a queued manner
symfony/cache                                            v3.4.28                     Symfony Cache component with PSR-6, PSR-16, and tags
symfony/config                                           v3.4.28                     Symfony Config Component
symfony/console                                          v4.3.1                      Symfony Console Component
symfony/debug                                            v4.3.1                      Symfony Debug Component
symfony/dependency-injection                             v3.4.28                     Symfony DependencyInjection Component
symfony/event-dispatcher                                 v4.3.1                      Symfony EventDispatcher Component
symfony/event-dispatcher-contracts                       v1.1.1                      Generic abstractions related to dispatching event
symfony/filesystem                                       v4.3.1                      Symfony Filesystem Component
symfony/finder                                           v3.4.28                     Symfony Finder Component
symfony/http-foundation                                  v4.3.1                      Symfony HttpFoundation Component
symfony/http-kernel                                      v3.4.28                     Symfony HttpKernel Component
symfony/mime                                             v4.3.1                      A library to manipulate MIME messages
symfony/options-resolver                                 v4.3.1                      Symfony OptionsResolver Component
symfony/polyfill-apcu                                    v1.11.0                     Symfony polyfill backporting apcu_* functions to lower PHP versions
symfony/polyfill-ctype                                   v1.11.0                     Symfony polyfill for ctype functions
symfony/polyfill-intl-idn                                v1.11.0                     Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
symfony/polyfill-mbstring                                v1.11.0                     Symfony polyfill for the Mbstring extension
symfony/polyfill-php56                                   v1.11.0                     Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions
symfony/polyfill-php70                                   v1.11.0                     Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions
symfony/polyfill-php72                                   v1.11.0                     Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
symfony/polyfill-php73                                   v1.11.0                     Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
symfony/polyfill-util                                    v1.11.0                     Symfony utilities for portability of PHP codes
symfony/process                                          v3.4.28                     Symfony Process Component
symfony/service-contracts                                v1.1.2                      Generic abstractions related to writing services
symfony/stopwatch                                        v4.3.1                      Symfony Stopwatch Component
symfony/translation                                      v2.8.50                     Symfony Translation Component
symfony/yaml                                             v3.4.28                     Symfony Yaml Component
symplify/better-phpdoc-parser                            v5.4.16                     Slim wrapper around phpstan/phpdoc-parser with format preserving printer
symplify/coding-standard                                 v5.4.16                     Set of Symplify rules for PHP_CodeSniffer and PHP CS Fixer.
symplify/easy-coding-standard                            v5.1.4                      Use Coding Standard with 0-knowledge of PHP-CS-Fixer and PHP_CodeSniffer.
symplify/package-builder                                 v5.4.16                     Dependency Injection, Console and Kernel toolkit for Symplify packages.
symplify/token-runner                                    v5.4.13                     Set of utils for PHP_CodeSniffer and PHP CS Fixer.
thecodingmachine/safe                                    v0.1.15                     PHP core functions that throw exceptions instead of returning FALSE on error
tractorcow/classproxy                                    0.1.2
tractorcow/silverstripe-autocomplete                     4.0.0-beta1                 Autocomplete text field for Silverstripe
tractorcow/silverstripe-proxy-db                         0.1.0
unclecheese/display-logic                                2.0.2                       Allows assignment of conditions for display and hide of specific form fields based on client side behavior.
undefinedoffset/sortablegridfield                        2.0.8                       Adds drag and drop functionality to SilverStripe 4.x's GridField
webmozart/assert                                         1.4.0                       Assertions to validate method input/output with nice error messages.
webonyx/graphql-php                                      v0.8.0                      A PHP port of GraphQL reference implementation
wilr/silverstripe-googlesitemaps                         2.1.5                       SilverStripe support for the Google Sitemaps XML, enabling Google and other search engines to see all urls on your...
michalkleiner commented 5 years ago

Seems like the recipe on its own is fine, so it will be either a module or something in the code. Will have to dig deeper.

michalkleiner commented 5 years ago

Found the offender. Elemental. Will close here and open a new issue there.

michalkleiner commented 5 years ago

For reference: https://github.com/dnadesign/silverstripe-elemental/issues/687