दृश्य एसक्यूएल का उपयोग करके प्रदर्शित करने के लिए नोड निर्धारित करते हैं। अफसोस की बात है कि प्रदर्शन के कारणों से, ड्रुपल के लिए सभी संभावित उम्मीदवारों पर एक नोड_ लोड करने के लिए यह संभव नहीं होगा और फिर उन सभी में से हर एक पर hook_node_access को कॉल करें। एक दृश्य की कल्पना करें जो हजारों नोड्स दिखाता है (विशेषकर जब पेजर का उपयोग कर रहा हो)। यदि तर्क एसक्यूएल में नहीं किया गया है, तो पेजर्स में बहुत ही असामान्य कार्यक्षमता होगी, इस प्रकार ड्रुपल फोर्स आप इसे अपने डेटाबेस में एक्सेस रिकॉर्ड का उपयोग करते हुए रिक के रूप में करते हैं।
Access_records बनाना एक उचित मात्रा में अधिक काम है, लेकिन यह SQL के साथ काम करेगा। इस प्रकार मैं अपनी कार्यक्षमता को हल करने के लिए एक मौजूदा नोड_एसीट मॉड्यूल का उपयोग करने की सलाह देता हूं जहां भी संभव हो क्योंकि यह एक्सेस रिकॉर्ड का उपयोग करके कार्यान्वित किया जाएगा और इस प्रकार विचारों के साथ काम करेगा।
जिस तरह से एक्सेस रिकॉर्ड्स को निचे दी गई तालिका के अनुसार तालिका में संग्रहीत किया जाता है:
प्रत्येक कॉलम के लिए टिप्पणियों के माध्यम से आप उनके उद्देश्य की समझ प्राप्त कर सकते हैं। क्षेत्र के उपयोग के लिए नोड और समूह के रूप में एक दायरे के भीतर समूह के रूप में दायरे के बारे में सोचो। उस समूह में अनुमतियाँ देखने, अपडेट करने और हटाने की हो सकती हैं। सामान्य तौर पर प्रत्येक नोड_ एक अतिरिक्त मॉड्यूल एक या अधिक स्थानों को परिभाषित करता है (कभी-कभी कई नोड_एसीट मॉड्यूल समानांतर में भी काम कर सकते हैं)। प्रत्येक उपयोगकर्ता के प्रत्येक क्षेत्र में एक या अधिक ग्रिड होते हैं।
ड्रुपल में "नोड_केस" टैग वाले सभी प्रश्नों में स्वचालित रूप से कुछ विशेष तर्क जोड़े जाएंगे। प्रलेखन देखेंटैगिंग के बारे में अधिक जानने । यह विशेष तर्क प्रत्येक क्षेत्र के लिए "node_access" तालिका में शामिल हो जाता है और यह शर्त जोड़ता है कि "gid" उपयोगकर्ता के लिए लागू किए गए किसी एक gids के बराबर है, उपयोगकर्ता के पास उपयुक्त अनुमति है।
यह पूरी प्रणाली सभी प्रश्नों को नोड_केस को ठीक से संभालने की अनुमति देती है, यहां तक कि प्रश्नों को भी गिनती है, आदि यह बहुत शक्तिशाली है, लेकिन एक उच्च सीखने की अवस्था है जो सिर्फ सरल हुक_नोड_केस है। जब भी संभव हो, एक मौजूदा नोड_एसीट मॉड्यूल का उपयोग करके आप इस पूरे सिरदर्द को बचा सकते हैं।
hook_node_access()
, तो बस एक चीज है जिसे किया जाना चाहिए: व्यू मॉड्यूल कोड को बदलना।