Examples:

  • Token
  • FileField
  • ImageField
  • CCK

And backports from Drupal 7

  • Vertical Tabs
  • Admin

Comments

I suspect this will make d7 also:

http://drupal.org/project/protect_critical_users

From Lullabot:

In core for Drupal 7

51. CCK
52. FileField
53. ImageCache
54. Image Field
55. Poormanscron
56. Admin Role
57. Vertical Tabs
58. Token

Need to add the following lines of code to upgrade_status.admin.inc:

<?php
   
case 'cck':
     
$projects[$project]['in_core_since'] = '7.x';
     
$projects[$project]['in_core_note'] = t('Part of CCK has moved to core in the Drupal 7 version. The API to create and manage fields is now in core and this module, CCK, has been ported to Drupal 7 to serve as the UI for fields in core.');
      break;
    case
'filefield':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'imagecache':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'imagefield':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'poormanscron':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'token':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'adminrole':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'vertical_tabs':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'protect_critical_users':
     
$projects[$project]['in_core_since'] = '7.x';
      break;
    case
'imageapi':
     
$projects[$project]['in_core_since'] = '7.x';
     
$projects[$project]['in_core_note'] = t('Most of the code from ImageAPI has been moved into Drupal core in 7.x. Under 7.x this module provides an ImageMagick toolkit and extends core\'s toolkits too add an unsharpen mask action.');
      break;
?>

Status:Active» Needs review

This worked fine for:

- Token 6.x-1.x-dev
- Vertical Tabs 6.x-1.x-dev

Still, for the following modules and their respective versions there are issues...

- Content Construction Kit (CCK) 6.x-3.x-dev
shows a warning icon without any text to its left
'Includes: Content' as note instead of 'Renamed to Fields'

- Poormanscron 6.x-2.x-dev
status: In development
Recommended version: 7.x-2.x-dev (2010-Feb-20)
from the modules page: 'The 2.x versions are a backport of the automatic cron-running functionality included in Drupal 7.'

Also, Skinr 6.x-2.x-dev and Chaos tool suite 6.x-1.3 statuses look like In development with a warning icon but no 'In development' text to its left.

I'm not sure why CCK, Skinr and Chaos tools don't have the "In Development" text. Since this is a seperate issue, I've created a bug report here:
#728608: Unsupported releases are missing status text

As for Poormanscron and CCK being in core but still listed as "In Development", I believe it is because Upgrade Status checks to see if there is a dev release for the module first, and then checks to see if it is in the list of modules which are marked as "In Core". This problem should get flushed out once these modules are either released as stable versions, or the dev releases are removed from the system.

... I believe it is because Upgrade Status checks to see if there is a dev release for the module first, and then checks to see if it is in the list of modules which are marked as "In Core".

If that is actually the situation, shouldn't it be changed so that 'In Core' status is checked first and if true then check for a dev release be skipped?

This problem should get flushed out once these modules are either released as stable versions, or the dev releases are removed from the system.

That won't be necessary if what I propose gets implemented.

Status:Needs review» Reviewed & tested by the community

If that is actually the situation, shouldn't it be changed so that 'In Core' status is checked first and if true then check for a dev release be skipped?

Technically, everything should be marked as "In Development" at this point, since Drupal 7 hasn't been released.

This is a temporary problem, and I don't see why it won't be solved on it's own by the time Drupal 7 is released. We can re-evaluate this issue when D7 is released.

Category:feature» task

Also seems like we should add the following:

<?php
   
case 'block_edit':
     
$projects[$project]['in_core_since'] = '7.x';
     
$projects[$project]['in_core_note'] = t('There will probably not be a port of this module to Drupal 7 as the functionality already exists in core as the contextual module.');
      break;
?>

If this issue gets fixed in D7 #101227: Gzip aggregated CSS and JS

...consider CSS Gzip included in core.

Status:Reviewed & tested by the community» Needs review
StatusFileSize
new9.02 KB

Aforementioned blog post was updated with 15 more modules.

Wow...and I thought the 8 listed by Lullabot was alot.

Nice work, sun!

@sun ,#12, #13: Can we have the patch updated with those extra 15 ones and committed please?

...btw, these modules should be denoted as 'In core' instead of 'Available'

Status:Needs review» Needs work

Sorry, I've tried to schedule an update for this patch a couple of times already, but wasn't able to do so.

Someone needs to go through the list of the blog post and double-check that every module listed therein is contained in this patch, and post an updated patch afterwards. Dead simple job.

on to it...

While I'm on it, I'll also add your notes from that article too. I need to ask this though...

I sometimes see this pair used:

<a href="!project-url">Project Name</a> - '!project-url' => 'http://some.url.here'

in the href part of your <a> tags and this in some other cases:

<a href="@project-url">Project Name</a> - '@project-url' => 'http://some.url.here'

Which one is right the @ or the !? If either is fine, should I update them to one for consistency (which one then)?

...scratch that. Went here and RTFM as I should have done in the first place.

@ is the correct placeholder for URLs. The manual for t() is great, but a bit ambiguous regarding URLs, as it's using both ! and @ placeholders. Technically, ! can be used under certain conditions, but to be on the safe side, @ is always the right choice.

Status:Needs work» Needs review
StatusFileSize
new23.61 KB

Everything listed on the blog post has been added to the patch. Notes included.

Code was reviewed by Coder to verify it meets drupal standards.

There are 75 modules in the patch and 75 on the post.

Status:Needs review» Needs work

@philbar: you got me to it, but...

#22: I thought we were placing the modules/project cases in alphabetical order. So, I was trying to do exactly that. I like your way better though, because we need to place some of the modules two or three together in some cases (and that breaks the alphabetical order thing anyways). A minor addition... since you've placed all those that got in 7.x core, might as well place a

/**
* Modules in Drupal 6
*/

@line 282 (just for consistency).

#23: Double checked and confirming this ;)

#24: thanx for the update on these! @sun: looks like you'll need to (re)update the article now ;)

When we set the version status text, we treat UPGRADE_STATUS_STABLE & UPGRADE_STATUS_CORE the same and add a 'Available' status. This might confuse people when it comes to modules that were moved in core and they might go to the projects' pages looking for an available version (see #16). So, I think we should better have it like so instead:

      case UPGRADE_STATUS_STABLE:
        $row .= '<span class="current">'. t('Available') .'</span>';
        break;
      case UPGRADE_STATUS_CORE:
        $row .= '<span class="in-core">'. t('In core') .'</span>';
        break;

This brings another issue. It does mark modules as 'In core', but it still shows the 'warning' icon instead of the 'ok' icon. That's because in this part of the code:

    // Special handling for project moved into core.
    if ($project['status'] == UPGRADE_STATUS_CORE) {
      $class = 'ok';
      if (!empty($project['in_core_note'])) {
        $icon = theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning'));
      }
      else {
        $icon = theme('image', 'misc/watchdog-ok.png', t('ok'), t('ok'));
      }
    }

...we treat modules with 'In core' status that include notes as if they still have known issues or something. So, we either need to remove notes from modules that are in core and will never get a 7.x version, or we need to figure out a better solution (I'll do some brainstorming and post more ideas on this latter).

...so I guess this goes back to NW.

In regard to the issue of modules in core still displaying a warning icon instead of ok...

Perhaps instead of checking whether there's a note or not, we should be checking if there is a 7.x version of the module available. This will also solve the issue with modules like CCK I guess (that should have a 'Available' status despite being in core or a 'Partially in core' perhaps).

...

@klonos: That's a different issue, not to be mixed or confused with this issue.

I know (#728608: Unsupported releases are missing status text), I just thought we might find a solution to hit both in one go.

I agree, there should be a better distinction with the addition of the following categories:

  • In core
  • Partially in core

In addition to...

  • Available
  • In development
  • Not ported yet

subscribe

Status:Needs work» Needs review
StatusFileSize
new27.75 KB

Patch Summary:
- Same as #22
- Added Protect Critical User and Contextual modules
- Removed check for modules which are in Drupal 6.x core since this is the D6 version of the module (Keep this in the D5 version)
- Instead of labeling the in core modules as "Available" they are now labeled "In Core"
- Since all modules have notes, removed code which said if note = warning icon; else = ok icon
- Changed "else if" to "elseif" to match drupal standards.

As mentioned above, I removed the following code in the patch since everything has a note:

<?php
   
// Special handling for project moved into core.
   
if ($project['status'] == UPGRADE_STATUS_CORE) {
     
$class = 'ok';
      if (!empty(
$project['in_core_note'])) {
       
$icon = theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning'));
      }
      else {
       
$icon = theme('image', 'misc/watchdog-ok.png', t('ok'), t('ok'));
      }
    }
?>

I assume this was a way to handle modules which are only partially in core or aren't exactly cloned in core.

Is there a better way to handle these cases? Perhaps we should open a new issue regarding "Partially In Core" designation.

StatusFileSize
new27.75 KB

Same as #31 except "In Core" has been renamed to "In core" to be consistent with capitalization.

I know that Poormanscron has a 7.x version available, but it finally got in D7 core. Still showing as 'In development' though (because a 7.x version is available).

Got both this and #728608: Unsupported releases are missing status text applied and they look good to go to me. The removal of the modules that are in D6 core from the 6.x version of Upgrade Status (but keep them in 5.x) was a great call philbar. Good thinking!

The only thing that looks kinda bad right now is that the module's cases are not listed alphabetically anymore. Could prove to be an obstacle for easy maintenance. On the other hand we've had a single D7 feature replacing more than one modules and I don't see an easy way to list those 'group cases' alphabetically somehow. Brainstorming on this one...

PS: don't let the last mentioned minor issue hold this back. I'll do some cleaning up (as in copy-pasting a few chunks of code here and there) once this is ready if and wherever possible.

Once again, thanx philbar!

I think we should to open another issue related to partially in core modules. It's a bit out of the scope of this issue and with it's own issue we can focus on a clear solution for these cases:

- Poormanscron
- Image API
- Token
- CCK
- Better Formats
- Update status advanced settings

Is the only issue left in this grouping modules messes up the alphabetical order? That's how the 5.x version did it, and as far as keeping this module maintainable, the "Find and Replace" feature of any code editor should be much faster than scrolling through the list.

Is this RTBC?

...it is by me ;)

Status:Needs review» Reviewed & tested by the community

Status:Reviewed & tested by the community» Needs work

Thanks for working on this! This looks very good already.

+++ upgrade_status.admin.inc 1 Sep 2010 23:09:55 -0000
@@ -279,56 +279,323 @@ function upgrade_status_calculate_projec
-    case 'actions':
-      $projects[$project]['in_core_since'] = '6.x';
-      $projects[$project]['in_core_note'] = t('Please note that the syntax for actions used by the 5.x-1.x and 4.7 versions of Actions module are different to triggers in Drupal 6.x. For further information please refer to the <a href="!project-url">Actions</a> module project page.', array('!project-url' => 'http://drupal.org/project/actions'));

(and elsewhere) We do not want to remove the D6 definitions. There are users that are updating from D5 to D7.

However, it would be a good idea to insert all the new switch cases for D7 above the existing cases for D6, so we have them cleanly separated in the code.

+++ upgrade_status.admin.inc 1 Sep 2010 23:09:55 -0000
@@ -279,56 +279,323 @@ function upgrade_status_calculate_projec
+        '@ctools' => 'http://drupal.org/project/ctools',

All t() placeholder tokens that denote a URL should use a '-url' suffix to clarify for translators that the token contains a URL only; e.g., '@ctools-url' in this case.

+++ upgrade_status.admin.inc 1 Sep 2010 23:09:55 -0000
@@ -279,56 +279,323 @@ function upgrade_status_calculate_projec
+    case 'automenu':
...
+      $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',
+      ));
...
+    case 'comment_display':
...
+      $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(
+        '@' => '',
+      ));
...
+    case 'documentation':
...
+      $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 <a href="@api">API documentation</a>. ', array(
+        '@api' => 'http://api.drupal.org',
+      ));
...
+    case 'imagefield':
...
+        '@' => '',

Stale/bogus URLs?

+++ upgrade_status.admin.inc 1 Sep 2010 23:09:55 -0000
@@ -279,56 +279,323 @@ function upgrade_status_calculate_projec
+    case 'contextual':
...
+      $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: <a href="@edit-links">Edit links on everything</a>. 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',
+      ));

Hm. The entirely copied wording of the blog post will not make sense for Upgrade Status module users. Including links to Drupal core issues is nice, of course, but we definitely want to only state important stuff in these notes. After all, you will have to read every single one, if there is one, to make sure that your upgrade will work safely.

At the very least, that has been the intention of those notes -- inform you about required additional actions, if core has included a functionality only partially.

Therefore, I think we should remove all notes that are pure marketing and just keep the ones that hold important information people will actually care for.

+++ upgrade_status.admin.inc 1 Sep 2010 23:09:55 -0000
@@ -279,56 +279,323 @@ function upgrade_status_calculate_projec
+      ¶
...
+      ¶
...
+      break;      ¶

(and elsewhere) Trailing white-space here.

Powered by Dreditor.

We do not want to remove the D6 definitions. There are users that are updating from D5 to D7.

This patch is for the D6 version of the module. A user upgrading from D5 to D7 would use the D5 version of the module which I agree, should include the D6 definitions. But the D6 definitions are useless in the D6 version of the module.

StatusFileSize
new13.88 KB

I guess you're right, but there's also no harm at all in keeping those definitions. Perhaps we'll be able to do statistics one day ;)

Reworked the patch based on the above. Also added a @todo about those help texts. Feedback welcome.

Status:Needs work» Needs review
StatusFileSize
new13.88 KB

Sorry, a syntax error slipped into that last patch.

Status:Needs review» Fixed

Thanks for reporting, reviewing, and testing! Committed this patch along with a major revamp of the entire module.

A new development snapshot will be available within the next 12 hours. This improvement will be available in the next official release.

@sun, post #39:

...Therefore, I think we should remove all notes that are pure marketing and just keep the ones that hold important information people will actually care for.

Does that mean that this will provide the solution itself and that we won't be handling this in a separate issue?

...by this I mean the 'Partially in core' thing. I am asking because I still believe there should be such a status as said in #29 and previously.

Let's open a separate issue for that and prepare some use-case scenarios. I've also added some inline comments about this already to take into account:

+++ upgrade_status.admin.inc 4 Sep 2010 20:18:58 -0000
@@ -275,10 +275,288 @@ function upgrade_status_calculate_projec
+ * @todo Handle partial core additions, e.g.
+ *   - Token
+ *   - CTools: AJAX framework
+ *   - Taxonomy image
+ *   - Better Formats, Filter by node type
+ *   For cleanly coded and separated modules, allowing to target sub-modules in
+ *   a project might be sufficient already.
+ *
+ * @todo Check whether 'help' keys make sense. Users having those modules
+ *   installed should already know what the modules are doing. This help info
+ *   was kept, because the work was done, but it might not make sense at all.
...
+    // @todo Allow to target a module (not project).
+    case 'date_timezone':
+      $projects[$project]['in_core_since'] = '7.x';
+      break;
...
+    case 'filefield':
+    // @todo Allow to target a module (not project).
+    case 'upload':

Powered by Dreditor.

Status:Fixed» Active

http://www.unleashedmind.com/en/blog/sun/more-than-50-drupal-modules-mov... additionally notes

http://drupal.org/project/simple_menu_settings
http://drupal.org/project/node_menu_parent

Also not sure whether we've incorporated all further suggestions from earlier comments in this issue?

I think we got everything, unless #101227: Gzip aggregated CSS and JS makes it into D7.

if i'm not mistaken, Content Display Order feature has also been implemented on Drupal 7 as of at least alpha6.

it provides the CCK field reordering.

has no relation with Display Suite (or other modules like ctools/Panels, Composite Layout, etc), but overlaps with it at a minimum level (only reordering, no support for columns or custom code.

administration modules:

  • toolbar is a D7 backport to D6 of the toolbar module found in core.
  • managesite is superseded by the D7 core dashboard module.
  • update_form_enhancement seems to be part of D7 core.
  • fixcore is partially in D7 core, but not entirely unfortunately. the developer has stated that if it doesn't gets all in, he will make a D7 version of the module.

http://drupal.org/project/moduleinfo feature is mostly/partially in D7 core (as Operations in the Modules page), depending on how you put it ^^

http://drupal.org/project/qamodules however did not; postponed for D8

patch in #33 needs to be rerolled since the upgrade_status.admin.inc file is to be removed.

password_change functionality seems to be also present in D7 core.

what is does is ask for current password, when editing a user profile.

btw, i patched it to work with phpass (also in core) module ;)
http://drupal.org/node/598692#comment-3613386

password was backported to D6.
it's a better version of phpass, as it uses the password.inc file from D7.

it works by adding a second table for the new hashes, while preserving the old table with the md5 hashes.

i've also patched password_change to work with phpass and password modules.

-----------------

contextual is indeed a working similar module to D7 core's contextual, although not exactly the same or a backport. it was ported from admin 1.x module. it might get similar to D7 contextual in the future though.

contextual by swentel is a backport attempt of D7 core's contextual module. some modules got inspiration from it' code.

administertooltip could be considered a backport of D7, but it's more an evolution. there's a possibility that it will be ported to D7. it's more worth noting it as a similar module, and when the time comes, as having an upgrade path.

these 3 can be considered to be in core of d7:
deck (replaces the two bellow)
cck_teaser_field (looks abandoned)
cck_teaser (looks abandoned)

deck adds a separate field (stored in cck) to input the teaser... or optionally computes it from the body, the standard behavior

i've noted these also in the "Show suggested replacement for obsolete modules" issue

two or three others:
- CSS Gzip
- Javascript Aggregator (might be like the previous)
- Tracker2 (check here)

Status:Active» Needs review
StatusFileSize
new4.84 KB

Recent feedback as patch.

The Elements module is listed as 'In core'. I don't know if any part of its functionality is in D7 core, but still there is a 7.x version of it available and its project page has a #D7CX pledge too.

...same happens for poormanscron, but I know for sure that this is in core. Still, the latest 7.x dev of the module is offered as an available update and it might confuse people to thinking that this is another CCK case where most of its features were included in core, but the 7.x version is there to provide features that did not make it into core. Perhaps an exception so that the 2010-Jul-11 7.x dev of the module is not displayed in the list?

Elements.module is a testing ground for new FAPI elements to be included in core, so it will never always be all in core. And I disabled the poormanscron 7.x release.

Another module in core is ie_css_optimizer

confirming that Javascript Aggregator is in core, but partially.
it compresses JavaScript files, but does not Minify yet. the module does both.

as for CSS GZIP, it is in core entirely. this module is based on the code from Javascript Aggregator.
it compresses and minifies the code, like the module.

btw, you can use the code in .htaccess file from Drupal 7 core to do this compression in CSS/JS files in D6 without modules. you can also use that .htaccess code with these modules.

also in both D6 and D7, the core already aggregates the files and compresses the html. no change in that.
but there is no module to Minify the HTML yet.

IE CSS Optimizer is also partially in core.
does about the same, except the module has settings for performance page.

Role Weights
Role Weight

both are partially in Drupal 7 (drag and drop re-order of roles , permissions section)
probably only misses the API which is used by other modules, like Multiprice.

roleweight is deprecated in favor of role_weights

Already In functionality is part of D7 core.

The issue this module addresses has been fixed in Drupal 7, see #17664: user/register should show custom message instead of 403 for logged-in users.

Node Reference/Embed Media Browser (nrembrowser) is the suggested path upgrade to Media module in D7.

Title:Denote Modules which are in D7 CoreDenote modules which are in D7 core

Hey LCPA, I see you've been doing some serious work locating these modules. Thanx mate ;)

Title:Denote modules which are in D7 coreDenote Modules which are in D7 Core

copy paste of some reports from http://www.unleashedmind.com/en/blog/sun/more-than-50-drupal-modules-mov...

http://drupal.org/project/simple_menu_settings
http://drupal.org/project/node_menu_parent

Simple Menu Settings adds a checkbox to enable menu for a content and it is automatically populated. Similar to Auto Menu Title, AutomaticMenu, Auto Menu

Node Menu Parent adds the feature present in D7 Core - select a parent menu entry for a menu added by a content

http://drupal.org/project/comment_upload
http://drupal.org/project/content_taxonomy
http://drupal.org/project/tracker2
http://drupal.org/project/taxonomy_image - it looks like it might get a D7 version for any missing features, but the image field attached to terms gets you the basics.

Also, not a module, but all (I think) performance patches in Drupal 6 Pressflow are in Drupal 7 (although Pressflow will continue in D7 to add new things as they come up).

http://drupal.org/project/already_in allows sensible pages to be provided when logged-in users try to visit user/login, user/register, or user/password— and Drupal 7 already does sensible things for each page rather than Drupal 6's unpleasant access denied. Nice!

Update form enhancement module also in
Submitted by Ron (not verified) on 10. January 2011 - 3:39.

http://drupal.org/node/937186

Title:Denote Modules which are in D7 CoreDenote modules which are in D7 Core

(Module is not a proper noun. Leave lowercase.)

oops, sorry, i think i erased the title the other day by mistake and had to retype it