Index: upgrade_status.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/upgrade_status/upgrade_status.admin.inc,v retrieving revision 1.9 diff -u -p -r1.9 upgrade_status.admin.inc --- upgrade_status.admin.inc 2 Aug 2009 01:36:45 -0000 1.9 +++ upgrade_status.admin.inc 26 Aug 2010 22:41:55 -0000 @@ -331,6 +331,322 @@ function upgrade_status_moved_into_core( $projects[$project]['in_core_note'] = t('There is no database upgrade path for sites that used the 5.x version of the user_status module to migrate the message templates to the new settings in core. Furthermore, the place-holders available in these templates are different in 6.x core. Therefore, users will have to re-enter their message templates into the core settings at admin/user/settings.'); break; +/** + * Modules in Drupal 7 + */ + case 'ahah_helper': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Allows Drupal modules to implement AHAH/AJAX functionality without touching JavaScript. Entirely covered by the new AJAX framework in D7, which is based on CTools.', array( + '@ctools' => 'http://drupal.org/project/ctools', + )); + break; + + case 'autoload': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Allows Drupal modules to lazy-load any class that has not been loaded yet. A major performance improvement in Drupal 7, and the only part of the Registry that was introduced earlier, but later removed from Drupal 7.', array( + '@registry' => 'http://drupal.org/node/221964', + )); + break; + + case 'auto_menutitle': + case 'automaticmenu': + case 'automenu': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('When creating new content, Drupal 7 automatically takes over the title of the content as menu link title, while still allowing you to alter it.', array( + '@url' => 'http://drupal.org/project/url', + )); + break; + + case 'admin_hover': + case 'block_edit': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('One of the improvements that will have a major impact on Drupal\'s evolution and success in the future: Edit links on everything. The new Contextual links module in Drupal 7 allows you to manage page elements from the page you are looking at, i.e. you have direct access to \"Edit\" and \"Delete\" pages for content, or "Configure" pages for blocks, \"List links\" for menu blocks, etc. This applies to all elements that are integrating with Contextual module. ', array( + '@edit-links' => 'http://drupal.org/node/473268', + )); + break; + + case 'adminrole': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('More or less requested since like ever, Drupal 7 finally ships with a sane implementation of an administration role. It\'s based on regular Drupal user roles, and you can configure any user role to be that administration role. Effectively, any new permissions (and only new) are automatically granted to the configured administration role (if any). You are therefore still able to remove permissions from the role. ', array( + '@admin-role' => 'http://drupal.org/node/480660', + )); + break; + + case 'block_node_visibility': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Ever wanted to display a block on certain node types only? Drupal 7 allows you to do so. Additionally, the block visibility integration has been de-cluttered to some extent, so as to allow other modules to enhance the visibility settings more easily. (Passing the 4th "code freeze" phase was a bit too late to clean this API up properly... ;) '); + break; + + case 'blocks404': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('404? What\'s that, you ask? Not the content I expected on your site? Right! Drupal did not provide any useful information or pointers for totally lost users on \"404 Not found\" pages previously. Drupal 7 now retains the regular block regions.'); + break; + + case 'canonical_url': + case 'shortlink': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('If you know some basics about search engine optimization, then you have probably heard of duplicate content. Due to the way URL aliases work in Drupal, many sites are exposing the same content under different URLs - on the system path and on the URL alias(es). Drupal 7 helps you to avoid duplicate content penalties by letting search engines know about the canonical URL of a content.'); + break; + + case 'cck': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('CCK is in Drupal 7. But not really. The reality is that Drupal 7 introduces the paradigm of "fields". Got that? Fields can be attached to almost everything. You can add fields to nodes, users, taxonomy terms, and any other fieldable "entity" that exists. You could potentially add a taxonomy term to private messages (if privatemsg will implement a message as entity). You can attach any field to any entity. And it even allows to get weird: You can add a taxonomy term field to a taxonomy term. Insane? Insane! ', array( + '@privatemsg' => 'http://drupal.org/project/privatemsg', + )); + break; + + case 'checkbox_validate': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Users have to confirm an optionally required checkbox, such as terms of use or any other usage agreements? Broken in Drupal 6 and below. Drupal 7 finally allows you to make a checkbox required.'); + break; + + case 'comment_display': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Comments on a node were rendered in a obscure fashion in previous Drupal versions: Within a node, but not really within it. Somewhere in between, but also not part of the page. So what? Drupal 7 finally renders comments in a way they are customizable for your theme.', array( + '@' => '', + )); + break; + + case 'config_perms': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Who is an administrator, and who\'s not? Who can change settings, who can manage modules, who can manage themes? Who can set the site offline, and who can access it if it\'s offline? Previous Drupal versions summarized all of that in the "administer site configuration" permission. Drupal 7 allows you to grant many administrative permissions more granularly.'); + break; + + case 'content_taxonomy': + case 'field_taxonomy': + case 'term_fields': + case 'taxidermy': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('In previous Drupal versions, Taxonomy terms (or simplified: categories) could be assigned to content only. In Drupal 7, you have a taxonomy field, which can be attached to any entity. Furthermore, a taxonomy term is a proper entity now, coming with solid API hooks.'); + break; + + case 'date': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('In Drupal 6 and below, Drupal implemented a custom timezone handling. Starting with Drupal 7, Drupal relies on PHP5\'s built-in timezone handling, which provides you many more timezones, and most importantly, support for daylight saving time (DST).', array( + '@dts' => 'http://en.wikipedia.org/wiki/Daylight_saving_time', + )); + break; + + case 'dbtng': + case 'transaction': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal 7 implements an entirely revamped support for databases. Database Layer: The Next Generation (DBTNG) allows Drupal to consistently work with any kind of database. Modules are finally able to properly alter almost any database query, and we can roll back all changes from a "transaction", in case something went wrong during the entire operation. ', array( + '@dbtng' => 'http://drupal.org/node/225450', + )); + break; + + case 'documentation': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Almost the entire API and hook documentation has been moved into dedicated .api.php files in Drupal core. Drupal developers can access that information locally, and the file contents are used 1:1 for Drupal\'s online API documentation. ', array( + '@api' => 'http://api.drupal.org', + )); + break; + + case 'edit_term': + case 'taxonomy_intro': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Ever wanted to edit a taxonomy term when looking at its page? Drupal 7 now provides you a tab. Additionally, the taxonomy term description has a text format assigned now, allowing you to use a client-side editor for it.'); + break; + + case 'elements': + case 'element_themehook': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('When requesting a particular page, the callback function in charge for that page returned a HTML string in previous Drupal versions. Almost impossible to alter or customize in any way. In Drupal 7, almost any content that can be rendered, is returned as a "renderable array". If you know the array structure of Drupal forms, you may get the idea. This allows us to consider any element on a page as atomic, alterable, and themeable element. Especially the themeable part matters, if you ever wanted to change the output of something, anywhere.'); + break; + + case 'hook_file': + case 'storage_api': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal 7 ships with an entirely overhauled API for handling and processing of files. Drupal 7 also introduces stream wrappers from PHP5, allowing you to store and access files in many different ways and locations, even remotely. Drupal 7 is the first Drupal release with a proper separation between public and private filesystem, and you can use both at the same time.'); + break; + + case 'filefield': + case 'upload_element': + case 'upload_preview': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Upload module has been removed from Drupal core. And replaced with a much more generic file field. Providing previews after uploading, supporting very large file sizes (on good hosting providers), and of course, having all the goodness of any other field in Drupal 7.', array( + '@removed' => 'http://drupal.org/node/563000', + )); + break; + + case 'filter_default': + case 'user_default_filter': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Sick of selecting the text format for your content all over again? Drupal 7 now allows you weigh text formats, so as to pre-select a certain text format for a certain user role. Text format? Yes, "input format" is a term of the past.'); + break; + + case 'image': + $projects[$project]['in_core_since'] = '7.x'; + // @todo Add 'in_core_warning' to warn users that this module has to be + // replaced with 7.x-1.x before trying to upgrade. + $projects[$project]['in_core_note'] = t('Drupal core implements images as ImageField and has taken over the "image" namespace. This may not cover your use-case of images (regarding access, direct image access via URL, and attached data like comments, votes, or geo coordinates). Therefore, the Image project will likely remain and provide an image_node module; please participate and contribute to the porting effort.', array( + '@imagefield-url' => 'http://drupal.org/project/imagefield', + '@image-url' => 'http://drupal.org/project/image', + '@image-upgrade-url' => 'http://drupal.org/node/513096', + )); + break; + + case 'imageapi': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Most of ImageAPI has been moved into Drupal core. Under 7.x, this module provides an ImageMagick toolkit and provides an unsharpen mask action.'); + break; + + case 'imagecache': + case 'imagefield': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal 7 is the first Drupal release with native image support. You get an image field. And - you guessed it - you can add an image field to any entity. On top of that, you can configure image styles - which allow you present the same image in a different size/scale/fashion in different locations. Additionally, Drupal developers can now use much more advanced functions to process images.', array( + '@' => '', + )); + break; + + case 'input_format_permissions': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Permissions to use a text format can now be granted on the regular user permissions page, on which all other Drupal permissions are configured. Good for security.'); + break; + + case 'jq': + case 'jqp': + case 'plugins': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal 7 allows to bundle multiple JavaScript and CSS files into a "library", which can be loaded by modules in one shot. This covers a lot of use-cases for jQuery stuff. It purposively does not cover external libraries (i.e. code that is not hosted nor shipped with a module), but the Drupal community is already shaping a solution in the Libraries API project.', array( + '@libraries' => 'http://drupal.org/project/libraries', + )); + break; + + case 'jquery_cookie': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The jQuery Cookie library is part of Drupal 7 core now. It allows Drupal modules to store and retrieve data from browser cookies via JavaScript. For example, when repeatedly posting a comment on a Drupal 6 site, your user information is already filled in. That information is stored in a browser cookie.'); + break; + + case 'jquery_form_update': + case 'wysiwygcck': + case 'tinymce_ahah': + case 'tinymce_dragdrop': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('As a result of the community\'s joined effort on the Wysiwyg module, Drupal 7 contains many improvements that will allow a better integration of client-side editors. Lessons learned: Module duplication sucks. Only if Drupal developers and users are joining forces, we can improve the overall situation. (And no, Drupal 7 does not ship with an editor. And having the experience as one of the Wysiwyg module maintainers, I\'m highly opposed to ever do that.) ', array( + '@wysiwyg' => 'http://drupal.org/project/wysiwyg', + )); + break; + + case 'jquery_ui': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The jQuery UI library itself has been added to Drupal core and various functions exist to load jQuery UI plugins. This module may only be required for advanced jQuery UI integration.'); + break; + + case 'jsalter': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Modules and themes are able to properly alter all JavaScript that is added to a page in Drupal 7.'); + break; + + case 'login_security': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('If required, internal user login flood protection parameters may be configured using the Flood control module.', array('@flood-control-url' => 'http://drupal.org/project/flood_control')); + break; + + case 'menuless_nodetype': + case 'ctm': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Does it make sense to have Devel\'s menu as option for the menu link in the content form? Drupal 7 allows you to select the menus that should be available per content-type. Additionally, all administrative menu links are now contained in a separate menu, so all of those annoying links don\'t get in your way. ', array( + '@devel' => 'http://drupal.org/project/devel', + )); + break; + + case 'nodepreview_by_type': + case 'preview': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Should previewing a content be required? Is it optional? Or is it entirely pointless? Drupal 7 allows you to configure the "Preview" button behavior per content-type.'); + break; + + case 'permissions_api': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Previously, Drupal developers had not really a way to grant, revoke, or change the permissions for a user role. Drupal 7 now ships with a solid user roles and permissions API to do just that. ', array( + '@user-role' => 'http://drupal.org/node/300993', + )); + break; + + case 'phpass': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Starting with Drupal 7, all passwords of users that are stored in Drupal\'s database are additionally "salted", so as to make it harder to reverse-engineer the user\'s unencrypted, original, plain-text password. '); + break; + + case 'plugin_manager': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Install and update modules and themes from within Drupal? On-site? Drupal 7 allows you to do that, in a secure way.'); + break; + + case 'poormanscron': + case 'drupal_queue': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Most probably the #1 problem for novice Drupal users: "cron". Drupal tells you to set it up. "WTF is a cron?" Drupal 7 allows to automatically run cron (and yes, this feature can be disabled easily). Somewhat related, Drupal 7 also provides a queue system now.', array( + '@queue' => 'http://api.drupal.org/api/group/queue/7', + )); + break; + + case 'rdf': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The semantic web is the search engine optimization of the future. Drupal 7 gets ahead of the entire industry by implementing full support for RDFa all over the place. This means that bots, spiders, and crawlers can easily classify and identify the content on your pages, and precisely figure out the topic and relationship of every single page on your site. Most probably, they will even know more about your content than you do.'); + break; + + case 'seven': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Like it or not, Drupal 7 ships with a dedicated administration theme.'); + break; + + case 'simplecdn': + case 'abssrc': + case 'parallel': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The new File API and handling of page requisites (JavaScript, CSS) in Drupal 7 allows Drupal modules to alter the URLs of files. This allows the Drupal community to work on a dedicated CDN integration solution to boost page loading performance.', array( + '@cdn' => 'http://drupal.org/project/cdn', + )); + break; + + case 'simpletest': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('A major change for Drupal 7 is the introduction of automated tests for all functionality. Almost every change that went into Drupal 7 had to be covered by tests. In turn, this means that the first stable release of Drupal 7 will be the most stable release of Drupal in its entire history. And in turn, this means that you can expect a very stable Drupal core and much less bugs. Additionally, contributed modules are slowly catching up on adding and writing tests. '); + break; + + case 'tar': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Mainly here to extract downloaded modules and themes via Plugin Manager, but also usable by all modules: Drupal 7 allows to extract tar archives. '); + break; + + case 'taxonomy_delegate': + case 'vocabperms': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('You have multiple vocabularies? And certain users should be able to alter/administer certain ones? Drupal 7 allows you grant user permissions to do just that. '); + break; + + case 'token': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal core does not provide a user interface to browse tokens in forms.'); + break; + + case 'url_alter': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('In Drupal 6 and below, modules like . In different and even extensible ways. Whether you need to retain all user data due to legal reasons, or whether you need to delete all user data due to legal reasons, or whether you need to do something in between: Drupal 7 supports you.', array( + '@cancel-account' => 'http://drupal.org/node/8', + )); + break; + + case 'vertical_tabs': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Forms in Drupal can get very long. Especially when containing fieldsets. But how often do you really change something in those fieldsets? Drupal 7 introduces the new pattern of vertical tabs. Exclusively for entirely optional form elements, i.e. stuff you can happily ignore when submitting a form in Drupal. A major usability improvement that benefits all Drupal users.'); + break; + + case 'view_unpublished': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('It\'s weird that you cannot view your own content after submitting it. At least in some use-cases, that\'s desirable. Drupal 7 allows you to configure whether users should be able to view their own unpublished content after submission. '); + break; + default: $core = FALSE; }