Jump to:

17452 Posts in 4473 Topics by 1971 members


SilverStripe Forums » Archive » SilverStripe 2.2.0-rc1

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Page: 1
Go to End
Author Topic: 2886 Views
  • Andy
    230 Posts

    SilverStripe 2.2.0-rc1 Link to this post

    The first release candidate of SilverStripe 2.2.0 has been released.
    This release contains many new features, many of which are the hard work
    of the students who participated in the Google Summer of Code programme.



    New Features
    - New look for CMS
    - Support for authentification by OpenID (auth_openid module included
    with installer)
    - Google Sitemaps support
    - Internationalisation support
    - German translation
    - Dutch translation
    - Chinese translation
    - Catalan translation
    - Spanish translation
    - Support for multilingual content
    - Added a Statistics area showing the following reports
    - Page views
    - User activity
    - Trends
    - Operating Systems
    - Browsers
    - Added an image editor, allowing a user to rotate, crop and resize
    an image from within the CMS
    - Added profile popup in CMS
    - Added a 'Sent Status Report' tab to Newsletters with the following
    - Sending to the following recipients failed
    - Sending to the following recipients bounced
    - The newsletter has never been sent to following subscribers
    - Sending to the following recipients was successful
    - Sending to the following recipients did not occur because they
    are blackListed
    - Add 'Send to only people not previously sent to' option for sending
    - Added SWFUpload library as default method of uploading files
    - Added photo upload in from the Site Content section
    - Added the ability to search the Site Content tree
    - Added the ability to publish selected pages
    - Added a list of unused assets in the Files & Images section, and
    the ability to delete unused thumbnails
    - Usability improvements
    - Move action buttons to bottom right of screen
    - Moved insert image/flash/link to pane on right
    - Removed right frame headers as the buttons have been moved and
    they only contain redundant information
    - Use a javascript dialog box for confirming unsaved changes
    instead of the slow loading model one
    - Reworked the tabs in the Newsletter section to be less
    - Cancel button added to Send Newsletter window
    - External logo link opens in a new window
    - Left sections in Site Content 'Site Tree', 'History' and
    'Reports' now use expandable sections rather than tabs
    - Relabeled 'Site Tree' to 'Site Content & Structure', 'History'
    to 'Page Version History' and 'Reports' to 'Site Reports' in left
    sections of Site Content
    - Relabeled 'Files & Images' left frame to 'Folders'
    - Added tooltips to site content tree, showing the page type
    - In the 'Page Version History', use a checkbox lable 'Compare
    mode (click 2 below)' instead of a dropdown
    - Renamed 'Save draft' button to 'Save'
    - The 'Save' button text changes to 'Saving...', and the
    'Publish' button text changes to 'Publishing...' when they are clicked
    - Added save indicator to all 'Save' buttons, the 'Save &
    Publish' button and the 'Unpublish' button while they are being
    - Added a go button to the 'Site Reports' dropdown
    - Relabeled 'Name' field to 'Folder Name' in Files & Images
    - Renamed the 'Save' button to 'Save folder name' in Files &
    Images section
    - Relabeled 'Send newsletters from' field to 'From email address'
    in Newsletter section
    - Removed the 'Move Files' button from Files & Images section,
    implemented multi-file drag & drop moving
    - Add 'Newsletter Settings' tab to Newsletter type edit form for
    consistency with other forms
    - Make the status message shown after sending a newsletter always
    include the # of emails sent
    - Added delete confirmation for items in Newsletter left tree
    - Added delete confirmation for items in Security left tree
    - Make 'Add new draft' the default action for 'Create...' in the
    Newsletter section
    - Replace the 'reorganise' button with 'Allowing drag & drog
    reordering' checkbox
    - Delete and Unpublish buttons turn red on hover

    Developer Tools
    - New classes
    - Authenticator, allowing multiple authentification methods
    - ConfirmPasswordField
    - DropdownTimeField
    - i18n, for internationalisation
    - LanguageDropdownField
    - LoginForm, base class for login forms for each authentification
    - MemberAuthenticator, providing username/password
    - MemberLoginForm, refactored from old LoginForm form
    - PopupDateTimeField
    - ToggleField
    - OpenIDAuthenticatedRole, which is an extension to Member that
    adds OpenID authentification columns
    - OpenIDAuthenticator, providing OpenID authentification
    - OpenIDLoginForm, providing OpenID sign in
    - PageView, which saves the details of each page view for
    - Statistics, which provides static methods for statistics
    - Translatable, for multilingual content
    - New third party libraries
    - PHP OpenID (http://openidenabled.com/php-openid/)
    - Browscap (http://garetjax.info/projects/browscap/)
    - Plotr (http://www.solutoire.com/plotr/)
    - SWFUpload (http://profandesign.se/swfupload/)
    - Improved classes
    - CalendarDateField
    - Refactored part of Field() into HTMLField() so it can be
    used in PopupDateTimeField
    - ComplexTableField
    - Improved pagination in popup
    - Better transformation of save-button (replaced indicator
    with "saving..." label)
    - CompositeField
    - Added SmallFieldHolder() to properly render fields in a
    - Added insertBeforeRecursive()
    - Allow empty children
    - Added Field()
    - Added linebreaks for HTML
    - ConfirmedFormAction
    - Respect $extraClass
    - ContentController
    - Save statistics on page views
    - Added LangAttributes(), for use in XML header
    - Draft/Archived content can only be viewed by users with
    permission to access the CMS
    - Core
    - Added _t() for internationalisation
    - Check if TEMP_FOLDER is already defined before defining it,
    allowing the user to set the temporary folder themself
    - DataObject
    - Added merge()
    - Director
    - Added extend_site(), which allows modules to register a
    function that will be run on every page load
    - redirectBack() now redirects to the base URL if neither the
    referrer nor the _REDIRECT_BACK_URL is set
    - Added support for translatable URLs
    - Added is_cli()
    - Email
    - Define 'EMAIL_BOUNCEHANDLER_KEY' in sapphire/_config.php and
    require its value to be sent as 'Key' $_GET var in pings
    to /Email_BounceHandler to prevent fake email bounce pings
    - Display an error on duplicate bounce logs instead of a blank
    - If the contents of the X-SilverStripeMessageID header is
    sent to /Email_BounceHandler in the 'SilverStripeMessageID' _GET
    variable, then it will be logged in the Newsletter_SentRecipient table
    so that the bounce report will show up on the 'Sent Status Report' tab
    of the Newsletter
    - Bounced newsletter recipient emails and blacklisted by
    - FieldSet
    - Added insertBeforeRecursive()
    - FileSystem
    - Added $file_create_mask and $folder_create_mask, which are
    used whenever creating new files/folders in sapphire
    - Form
    - All Forms now have a hidden SecurityID field to prevent CSRF
    - Added disableSecurityToken() to disable the SecurityID field
    - Added securityTokenEnabled()
    - Changed <p class="Actions"> to <div class="Actions">
    - Renamed PureName() to Name()
    - GD
    - Added rotate()
    - Added rotatePixelByPixel(), allowing rotation where the
    imagerotate function is unavailable
    - Added crop()
    - Added getWidth()
    - Added getHeight()
    - Hierachy
    - Versioned now automatically add suffixes, so Hierachy no
    longer needs to
    - HTTP
    - Added register_modification_timestamp()
    - Added register_etag()
    - ImageField
    - Improved layout
    - Int
    - Added support for default value
    - ManifestBuilder
    - Refactored getClassManifest() for clearer ignore rules
    - Ignore i18n language files
    - Ignore folders that have a '_manifest_exclude' file
    - Member
    - Automatically login user if the 'remember login' cookie is
    - Added createNewPassword(), which generates a random
    password, optionally using a word list
    - Added support for password encryption
    - Added Locale field to store user preferred language
    - MemberLoginForm (refactored from old LoginForm)
    - Save the email address in the session to reuse when the
    login fails
    - ModelAsController
    - Added support for translatable URLs
    - Object
    - Added require_developer_login(), which allows you to check
    if the user has permission to use URL debugging tools
    - ?debugmethods=1 now requires developer login
    - PageComment
    - Added the ability to have BBCode in comments (disabled by
    - PasswordField
    - Always show five stars in performReadonlyTransformation(),
    so it is impossible to use the information of the password length for
    brute-force attacks
    - Permission
    - Added declare_permissions()
    - Added get_declared_permissions_list()
    - Added traverse_declared_permissions()
    - Added Permission_Group class, used to group permissions
    together for showing on an interface
    - Added $admin_implies_all, if this is false then the 'ADMIN'
    permission doesn't imply all permissions
    - Refactored Permission::checkMember(), should be faster now
    because the non-strict checking is now only executed if the user doesn't
    has the permission
    - Added deny(), giving the ability to define 'deny permissions'
    - RecipientImportField
    - Added default 'GenericEmail.ss' template
    - RSSFeed
    - Added support for conditional GETs
    - Security
    - Added support for password encryption
    - Added set_word_list() and get_word_list(), to set the
    location of the word list used in Member::generateNewPassword()
    - Session
    - Added save(), which copies the current controllers session
    to $_SESSION
    - SiteTree
    - Changed references to 'stage site' to 'draft site' in
    - Use Translatable interface by default
    - Add content language in MetaTags()
    - Add delete class to unpublish and rollback buttons
    - SSViewer
    - Added support for internationalisation in templates, using <
    % _t() %>
    - Added $Iteration in templates, which keeps track of the
    number of iterations in a control block
    - TableListField
    - Prevent onclick event in td.markingcheckbox from showing the
    - TabSet
    - Remove tabset div to reduce wasted space on tabs
    - Added insertBeforeRecursive()
    - ToggleCompositeField
    - Refactored from TogglePanel
    - Added icons and used 'cursor: pointer' to make it obvious
    that it is clickable
    - Versioned
    - Added the ability to versionise suffixed tables that have
    names that are not DataObject descendants
    - Added canBeVersioned()
    - Added extendWithSuffix()
    - Added hasVersionField()

    Bug Fixes
    - Sapphire
    - E_NOTICE fixes
    - Fixed incorrect deprecated message in Convert::raw2xml()
    - Don't show and error message and quit the script when @ is used
    to suppress the error
    - Changed width of HTMLEditorFields to prevent horizontal
    scrollbars in IE7
    - Added checks in DataObjectSet::First() and DataObjectSet::Last()
    to prevent errors on an empty $items array
    - Fixed incorrect treatment of Member::logout() as a static method
    in Security::logout()
    - Ensure Priority is set in SiteTree::onBeforeWrite(), otherwise
    an invalid SQL statement will be generated when the page is published
    - Only highlight broken links in HTMLEditorFields once, to prevent
    execution timeouts when there are lots of identical broken links
    - Fixed bug "Fatal error: Access to undeclared static property:
    Controller::$db in ../sapphire/core/Object.php(282) : eval()'d code on
    line 1"
    - Fixed DataObjectDecorators not supporting indexes and defaults
    - Fixed ReportField generating invalid HTML
    - In Member::setBlacklistedEmail() call this->write() so that the
    BlacklistedEmail field state will be saved to the Member database table
    - Fix Email_BlackList::isBlocked() to check the BlockedEmail field
    instead of non-existant Email field so that it will actaully return true
    when an email is blocked
    - Fix layout problems with search box in IE by only generating a
    label tag if TItle is set in FormField::FieldHolder()
    - Fixed Permission::check() not p[assing $strict to
    - Fixed HTTP::gmt_date()
    - Fix validation of Member extensions
    - Removed DriversLicense references from LoginForm (project
    specific clutter)
    - Added check for existence of #sitetree in
    - Fixed VirtualPage creation
    - Fixed lighttpd flushing bug
    - Fixed CustomRequiredFields
    - Fix bugs with ComplexTableField when it is used outside of the
    - Fixed error saving when value is undefined in
    HasOneComplexTableField and HasManyComplexTableField
    - Fixed saving error in FileIFrameField
    - Added a security fix for Security::check_default_admin()
    - Fixed caching in DataObject::getManyManyComponents() to take
    into account different SQL parameters
    - Geop::ip2country() now throws an E_USER_NOTICE instead of an
    error when it cannot run geoiplookup
    - Added if() check around a foreach loop that was causing errors
    when there were no entries in an RSS feed
    - Fix inheritance in ManyManyComplexTableField
    - Fixed FormField::setRightTitle() not showing because of a typo
    - Create assets folder if doesn't eixts on ErrorPage publish
    - Fixed submission of ImageField when no file was selected
    - Catch errors in ContentController::deleteinstallfiles()
    - Fix generation of group codes on creation of a Group
    - Fix title on LabelledLiteralField
    - Fix ImageField deleting the Image instead of unlinking it from
    the page
    - Set TimeField value to null when a bad value is passed
    - Don't return a span when the Title doesn't exist in
    - Fix bug where NumericField couldn't have 0 as a default value
    - Call Page_Controller->init() when rendering
    Security/changepassword etc to respect any Requirements called in there
    - Fixed an error when a CheckboxSetField is submitted with no
    checkboxes ticked
    - Fixed exporting of TableListField to use commas for CSV files
    - CMS
    - E_NOTICE fixes
    - New pages are created in the database straight away, which
    solves a number of issues
    - Fixed Email link not working in page history
    - Unsaved changes detection now works in Security section member
    - Fix typo in LeftAndMain::addTreeNodeJS() by renaming 'select'
    parameter to 'selected' because 'selected' is what is used in the method
    - Delete image thumbnails after deleting an image
    - Use 'html>body' instead of just 'html>' so that #sitetree
    correctly gets assigned width:auto on Mozilla browsers (prevents Folders
    being selected from 500px away on file drag and drop)
    - Display a useful error message if getCMSFields() returns null
    - When 'Duplicate this page' is clicked, first silently (without
    confirmation) save the page, then duplicate it so the new page is
    identical to the other page
    - Fix errors when importing recipients to newsletter mailing list
    - Fixed blocking during resize in IE6
    - Don't show a 'No template selected' error when sending a test
    Newsletter if no template has been selected since templates for Emails
    are optional
    - Fixed bug 'for newly created newsletter drafts, content of
    newsletter sent is not what is shown on screen'
    - Don't save new Newsletter drafts as soon as they are created to
    prevent TinyMCE Javascript errors in IE
    - Add if((typeof tinyMCE != 'undefined')) statement around call to
    tinyMCE.init() to prevent "Error: 'tinyMCE' is undefined" error in IE7
    on Newsletter Recipient import
    - Don't allow a deleted draft to be edited in the Newsletter
    - Fix a bug where newsletter drafts will be added, but not show up
    in the left tree (because of a Javascript error), if no selection has
    been made
    - If there are no newsletter types, and 'Add new draft' is chosen,
    create a newsletter type to prevent errors
    - Fix changed icon only showing after Save button is clicked twice
    - Fixed VirtualPage creation
    - Fix 'Sort subpages' not working correctly

  • Tatey
    Community Member
    18 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    Wow, that is a massive changelog. I'm *really* looking forward to thoroughly playing with this release.

    I've just upgraded a 2.1.1 website that I'm currently developing. The process is relatively painless, just don't forget to enable devmod in _config.php before you rebuild the database.

    Cheers guys (especially the GSOC students!)

  • DaveP
    Community Member
    48 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    How to upgrade ?

    I'm having trouble upgrading...

    I've followed the info in the upgrading section of the docs, but I've had no luck.

    I've done a fresh install of 2.1.1 on a Windows platform.
    ( after un-installing existing version & restarted windows )

    Replaced the 3 folders as instructed.

    Refreshed the db - all looked ok.

    Can get to the Home/About-Us/Contact page's OK, but when I click from there to go into the CMS it just lock up on the SS loading logo.

    TIA - Dave Porter

  • DaveP
    Community Member
    48 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    Hi everyonel,

    I thought I'd try installing on a server rather than on my local windows machine and all went very well...

    Tried the CMS in Opera(9.24), IE(7) & FF(2)

    Some observations...

    1. Layout in Opera was a bit ugly ( bottom left links: Page view: Edit etc... ). And the site report section didn't come up.

    2. IE7 OK, but when I clicked on 'Published Site' link, it refreshed the current tab page instead of opening a new tab page.

    3. Previous to this version I found that the drop down control for paragraph, h1, h2 etc... did not work in IE7, but it appears fine now !

    4. FF2, all looked 100% - so guess which Browser I'll continue using )

    Cheers, Dave Porter

  • Sigurd
    Forum Moderator
    628 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    FYI, uploading files in SilverStripe 2.2.0rc1 is problematic on Mac and Linux machines (i.e. not Windows) due to a bug in flash. Andrew is working to solve this

  • Willr
    Forum Moderator
    5508 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    Dave, we don't test the cms in opera so its highly likely that it would break. As long as its not a major issue (like the whole interface crashes) I don't think we will be fixing it anytime soon sadly due to time. But you might want to make a ticket on open.silverstripe.com and maybe someone would provide a patch!

  • DaveP
    Community Member
    48 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    Not a problem with Opera - just reporting what I found...
    regards, Dave

  • konfjuzd
    16 Posts

    Re: SilverStripe 2.2.0-rc1 Link to this post

    - Internationalisation support
    - German translation
    - Dutch translation
    - Chinese translation
    - Catalan translation
    - Spanish translation

    - Croatian translation

Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.