Drafting articles in Drupal is not actually a difficult thing to do. It is however a non obvious process, since there is no dedicated drafting feature in the Content Management System. Instead, much of the methodology is left to the user and not enforced or especially guided by the software.
In essence, the process of drafting revolves simply around Drupal's feature of setting the status of a node to either "published" or "unpublished". A checkbox to toggle this state is provided on the node edit form under it's publishing options (requires the "administer nodes" permission).
A node that is not published will not be accessible to anyone except it's author and users with the "administer content" permission. It will also not show up in any regular lists, a fact that makes it a bit difficult or at least non intuitive to track such posts.
There are basically two ways of tracking unpublished posts. The first one is the build in content filter, which can be found under admin/content/node, the second is to install the CMF module, which can be accessed from the user's profile page. The CMF module should be the preferred choice as it offers better filtering options and does not require the "administer content" permission.
The last problem of drafting is a rather trivial one and easy to not pay attention to. Drupal sorts posts on it's frontpage by date. This may result in the unpleasant side effect of posts not showing up in intended order. For example, consider starting post A as a draft on Monday and finishing it on Friday, while directly posting articles B, C and D on Tuesday, Wednesday and Thursday. the intended order of posts on the frontpage would then be BCDA (with A on top of the list). What happens instead, is the order staying at ABCD, with the post started on Monday and published on Friday being buried below the ones from the previous three days. The solution to this problem is simply to clear the date of drafted articles when publishing them.
Summary:
- Adjust the default value for publishing in the "workflow settings" of each content type under admin/content/types according to whether that content type is typically drafted or not. The save choice is to make "not published" the default, as this guards against accidentally publishing prematurely.
- Write articles with "published" not checked in node edit form. Track them using the build in content filter or the CMF module.
- When an article is ready to be published, simply change it's state and clear the date field. To make it the top entry on the frontpage.
