您在這裡

有沒有依時間來管理權限(或群組)的模組?

ddtet's 的頭像
ddtet 在 2007-05-16 (三) 17:38 發表

要開發的平台中,需要提供這樣子的功能。爬過站上的文章並沒有找到類似的討論串,就到這裡來問一下。
希望作到權限是有「時效性」的,讓我能設定使用者多久,或到什麼時間點失去(or 得到)某種權限。

因為要開發的網站是有班級(年級)制的,以討論區為例子,希望使用者從「入學」開始擁在討論區建立新的文章的權限,而「畢業」時就失去。
每到一個新的學年就新增一個群組似乎不是一個很好的方法,這樣群組會越來越多。而且所有「畢業」和「在學中」的群組權限都一樣,分好幾個群組似乎沒有必要。
希望能找到有一個能依時間自動改變權限,或是讓特定一批人「跳到另一群組」功能的模組。

在站上沒找到,在原文站上爬了許久也沒看到(英文差是一個主因),當然我還是會繼續爬文下去。
希望有經驗的人可以告訴我哪個模組可以用到這個功能,或是讓我「死了這條心」自己去開發。

沒看過,不過open source,懂得找code就知道怎麼幹
你提到了幾個關鍵字,
「讓特定一批人跳到另一群組功能的模組」:你的群組是og?那就參考og的function吧
「自動改變權限」:看看advanced user(advuser)的code應該找的到批次修改的寫法,Lazy registration(lazyreg)有可能也有
「依照時間自動」:看看hook_cron的用法吧,很多東西都用cron來跑,看看search.module

另外,新學年新增群組不刪也ok啊,看你的架構怎麼用,群組要怎樣來搞
usernode可能是一個好的方式
一個user可能有多種flag(taxonomy來做)
在學和畢業是一種vocabulary,學年度是另一種vocabulary~
如果群組是taxonomy,那就可以看看taxonomy_multi_edit
裡頭有大量更改node<->taxonomy的code
或是群組也不要那麼麻煩,直接用profile裡頭的東西來做也行~
但是要自行寫群組 <-> 權限

呵呵~總之這種功能,是drupal比較複雜的應用喔~要有開發的時程和心理準備

/************************************************
* 你的回饋,讓Drupal越來越茁壯 * Drupal社群越茁壯,你就越有力量 *
************************************************/

--
from open mind to open source~

其實在po這篇文章的時候,心裡就有要自己寫模組的心理準備了....
可能要自訂一個模組去去作這些事情吧!不單單只是cron來定時檢查到期了沒有。也要作一個UI讓人好管理。

由於開發出來的 Drupal 平台之後是要給「沒經驗的人」去用,所以不能期望他懂 Drupal 管理介面的操作。
這也是為什麼希望只有「在學」和「畢業」兩種狀態的模組,因為不能期望他懂新增一個群組,又能設定好權限。
最難的應該是「把對的人加到對的群組裡」,所以還得開發資料滙入的模組。那是另外一件事了,和這個主題沒有關係了。

雖然目前還沒看到需求,但是在商業的應用上,一定會遇到「買時間點數」的應用。
那就不是一批一批的來了,而是每天三五個,甚至幾百個的權限異動,不用模組去管。就算管理者再有經驗也會累死。

其實批次修改我知道應該可以用 user_save 函數。
其實這個函數就是一開始想要大量新增帳號的時候找到的,後來才知道有相關的模組可用,真傻。
不過對於 hook 的使用還不熟悉,這就得花時間去 try 了。看來將會是「外人看起來一點進度都沒有的工作」。

您說的模組我會記下來,之後一一去研究。應該能從中學到不少有用的流程想法。謝謝啦~~~
至少,我不用花太多時間去原文站找這種模組.... XD

我只是一個撰碼員,靠寫程式過活。
自從 Drupal 在 4.7 版的時候知道他的存在,但是後來跳去其它程式語言很久沒回來。
變成 D5 比較熟,D6 知道一點,D7 還在學的狀況…

有幾種作法囉~~
一種是直接叫對方將 留級 視為 "在學中",這個應該沒有什麼意見吧!
如果真的不能接受,或是覺得 留級 應該有另一種權限的配置。
那麼,就只好改寫程式囉~~~

當然,所有的可能都要盡量想到。這是程式設計師應該作的(有時候好像是給"規劃師"作的)。
不過社會是很黑暗的。
如果和業務的關係不錯,在最後驗收的時候ok,沒發什這種問題。之後這個變成「擴充功能」,要再收錢的。
就樣是電腦維修的"看診費"很貴,也使得許多人寧願靠自己來想辦法修。

如果關係不好,又被幺的話,這個東西就變成「售後服務」,不單單要改,還要改到讓客戶滿意。
有滿多人對於「贈品」都是拼了命的拿,當程式變成贈品,那個負責的工程師就累了.... (而且賣贈品是沒有「業積」的)

看.... 是黑到誰囉~~~
身為工程師,我當然希望是前者。

不過還有另一種啦~~ 叫作升級。
「您要的功能在這個版本不提供,請期待下一個版本的發行,也許、可能、或者在下一個版本您會看到它.... 」 XD

我只是一個撰碼員,靠寫程式過活。
自從 Drupal 在 4.7 版的時候知道他的存在,但是後來跳去其它程式語言很久沒回來。
變成 D5 比較熟,D6 知道一點,D7 還在學的狀況…