एक मानक Drupal इंस्टॉल आपको "लंबित" संशोधन बनाने की अनुमति नहीं देता है। आपके पास दो विकल्प हैं:
- प्रोग्रामिक रूप से एक नया संशोधन बनाएँ, लेकिन प्रोग्रामिक रूप से मूल संशोधन पर वापस लौटें (जो एक नया संशोधन भी बनाता है, लेकिन इसमें मूल सामग्री है)
- (अनुशंसित) वर्कबेंच मॉडरेशन, रिविजनिंग या वर्कफ़्लो का उपयोग करें जो संस्करण नियंत्रण और / या एक्सेस कंट्रोल के लिए अच्छी तरह से सोचा गया समाधान हैं।
विकल्प 1 के लिए: आप इस कोड को नए नियम के रूप में जोड़ सकते हैं या नए मॉड्यूल में इसका उपयोग कर सकते हैं
<?php
// Programatically load the existing revision and save it
// Taken from http://api.drupal.org/api/drupal/modules!node!node.module/function/node_save/7
// Load the revision
$original_revision = node_load($nid);
$original_revision->revision = 1;
$original_revision->log = t('Copy of the revision from %date.', array('%date' => format_date($original_revision->revision_timestamp)));
$new_revision = node_load($nid);
// Make any changes to the new revision here...
$new_revision->revision = 1;
$new_revision->log = t('Summarize your changes here');
// Save the new revision first
node_save($new_revision);
// Save the original one again so that it is still the current revision
node_save($original_revision);
watchdog('content', '@type: reverted %title revision %revision.', array('@type' => $node_revision->type, '%title' => $node_revision->title, '%revision' => $node_revision->vid));
drupal_set_message(t('@type %title was saved with a new revision, but reverting to original revision from %revision-date.', array('@type' => node_type_get_name($node_revision), '%title' => $node_revision->title, '%revision-date' => format_date($node_revision->revision_timestamp))));
drupal_goto('node/' . $node_revision->nid . '/revisions');
?>
विकल्प 2 के लिए: मैं संशोधन या वर्कफ़्लो पर कार्यक्षेत्र की सिफारिश करूंगा, लेकिन आपकी आवश्यकताओं के आधार पर प्रत्येक अलग है। कार्यक्षेत्र पुनरीक्षण के उत्तराधिकारी की तरह है, और वर्कफ़्लो केवल संस्करण नियंत्रण की तुलना में बहुत अधिक है, इसलिए यह आपकी आवश्यकताओं के लिए एक अच्छा फिट हो सकता है या नहीं।
यहाँ कार्यक्षेत्र और वर्कफ़्लो के बीच अंतर पर एक त्वरित ब्रेकडाउन है ।