I see that drupal doesn't know the difference between published date and creation date... when i create an article and don't publish it, so i can edit the article later and when it's finished i publish it, i see that drupal shows the creation date, not the published date. Is there a way to change it so the items on the frontpage show their published date and not creation date or isn't there a different field in the DB for that functionality? If so, is there a module that can help me out?

It's also a problem when for example, i start today with articla A, it's kinda big so it takes me a few days to complete it. Meanwhile, i published article B and C. When article A is finished and i publish it, it shows below B and C but i want it to show above B and C because i just published it...

Comments

profix898’s picture

You can simply empty the 'Authored on:' field under 'Authoring information' when you publish the node. The date used will be the published date then.

Passero’s picture

oh thx, this looks great.

rkendall’s picture

There is usually a way to achieve what you want, but I agree with your point. There is a legitimate argument for distinguishing between created and published date in some situations. For me this would likely be when putting archive content onto a new website.

MarekP’s picture

This is an interesting and important question. I have the same problem, although my point of view is a bit different. I've been publishing photos and I have to distinguish between the date when a photo was captured and the published date. How to do it??

Thank you,

Marek

krisvannest’s picture

Ditto on that; see my previous posts at http://drupal.org/node/88568 (primary) and http://drupal.org/node/89197.

I'm still researching the hook_form_alter suggestion by pwolanin from my primary post, but it frankly looks a bit complicated for me to figure out all the related issues. I also found some interesting code snippets from IBM at http://www-128.ibm.com/developerworks/ibm/library/i-osource6/ (see their Listing #11 & Listing #13) where they seem to take user content from a nice looking drop-down date widget (their Figure #9). I've got more research to do on it and will post if I come across an elegant solution.

smokey-1’s picture

My strategy was to use workflow + actions modules. Then I created the following custom action to set created time to now(), planning to use this action when a node is published. I put this function in a custom sitename.module.

function action_set_created_to_now($op,$edit = array(), &$node) {
  switch($op) {
    case 'metadata':
      return array(
        'description' => t('Set created time to now'),
        'type' => t('Node'),
        'batchable' => false,
        'configurable' => false,
      );
    case 'do':
      $node->created = time();
      if (!$edit['defer']) {
        node_save($node);
      }
    break;
  }
}

In workflow, I have states "draft" and "published". Add the custom action to the transition from "draft -> published".

Hope that helps.