Experimental project

This is a sandbox project, which contains experimental code for developer use only.

What is Pubdate?

Pubdate was developed as a solution to a common problem facing publishers, how to publish the online version of a print magazine using a simple and robust admin interface.

The module for replicates a magazine type relationship between content allowing the nomination of parent and child nodes, for example front_cover and in_this_issue, where the content is published together depending on the dates specified for the parent node. The use case is for a magazine publisher wanting to mirror their publishing cycle on line, so content is gathered together in issues, and often presented as a cover and articles.

Features

  • Content can be loosely organised into 'issues' and can be displayed in a view as a complete issue with the parent and child nodes, for example, with a views attachment display
  • Simple admin interface for nominating parent and child content types (more than one content type can be nominated as a child)
  • The Date module is a dependency so the date fields are standard Drupal date fields and so can use the date picker etc.
  • Providing parent/child relationship means that dates can be entered only once for the parent and inherited by children
  • Child nodes can override the parent dates in 2 ways, either individually or for nodes that need to stay published after the parent has been unpublished can be defined by type
  • Pubdate fields are exposed to views for display, filtering and sorting
  • Admin views where nodes are grouped by 'issue' can be created
  • CCK node_reference can be removed and the parent/child relationship provided by pubdate can be used via views arguments

Installation

Install as ususal by placing pubdate directory in your modules directory and enable on the admin/build/modules page.

Requirements

Please note that this module requires a functioning cron set up and that your sites time zone is set correctly at admin/settings/date-time/configure.

It also requires the date, date_popup and views modules to be installed.

Usage

  1. Goto the admin/settings/pubdate page where you will see three tabs to assign parent and children content types. Once you have set at least one parent you can then make child content types associated with that parent.
  2. Create or edit a node with the parent content type and you will then see the pubdate fieldset appear on the edit form. Fill in the dates (there is no need to have an uppublish date if you don't want to unpublish the nodes).
  3. Edit/create a child node and use the node reference like Parent field to assign the node a parent.
  4. The parent and child nodes will then be published in sync. This will happen whenever the node is saved or on cron run.

    You may wish to install eysia cron to have a greater degree of control over cron jobs: http://drupal.org/project/elysia_cron

    Overriding Parent dates

    Optionally you may override the parents date on the node edit form (not create) and enter any date you like for a node, or if you need a child content type to remain published after the parent is unpublished then on the admin/settings/pubdate/children page check the 'Disregard parent unpublish date' checkbox. That will ensure that the nodes of that content type will remain published even after the parent node is unpublished.

    Other modules

    Scheduler

    Scheduler is a more general module and has some deficiencies when used in a publishing content, for example scheduler deletes its own data when the scheduling is over, this module keeps that information and exposes it for use, for example, in an admin view. It also doesn't provide the relationship between content.

    Rules etc.

    This functionality could be created using Actions, Rules and workflow but this module provides a simple one stop solution to a common use case for publishers

    Auto expire, node expire

    This module is different in scope and intention, these modules expire content, pubdate also organises content.

    Road map

  • Drupal 7 version
  • Providing parent/child relationship means that dates can be entered only once for the parent and inherited by children
  • Allow override of parent dates on child node creation form
  • Better default views

Project information