各位好: 最近再找能夠以時間排程來達到管理會員角色的模組。 主要的目的是,讓收費會員在一段時間後(比方說繳費一年之後),自動移除掉所屬的角色(比方說「白金會員」)。這樣管理員就不用手動去做查核的工作。 比較像是schedule + role的組合。 希望大家給點意見。謝謝 TKY 閒話家常討論user role角色6.x 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 不知道這有沒有用: http://drupal.org/project/rules 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 6.x 可以使用Role expirehttp://drupal.org/project/role_expire 用Rules的話,最簡單的設定想像如下: Event:使用者登入時 Condition:使用者會員到期 Action:拿掉某Role 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 感謝Charles和花水妹! Role expire已經符合TKY的需求了,不過希望能夠有「角色過期之後,自動發信給管理者和使用者」的功能。 不曉得rule能否作到這一點?(或者Role expire + rule的搭配?) tky 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 「角色過期之後,自動發信給管理者和使用者」Rule設定想像: Event:拿掉某Role時(使用者資料更新時) Condition:使用者會員到期 Action:發信 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 多謝花水妹。 TKY試了一下,果然是花水妹所想像的設定: Event: 使用者資料更新時 Condition: 使用者具有某個角色(不過要設定成negate,也就是當使用者資料更新時卻不具有這樣的角色時,觸發以下的action) Action:發信給acting user 這樣就能讓原來已經具有角色但後來被取消角色者自動收到信件。 如果要順便發信給管理者、通知特定使用者角色到期的話,就再加一個action,「發出一封任意郵件」,將收件者設定為管理員即可。 有人能夠稍微解釋一下action中的updated user、acting user以及unchanged user三者的差別嗎? tky 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? Action:發信給acting user 這部份我認為(沒有測試過)應該是要發信給「updated user」(資料被更新的那個人)。 所謂的acting user應該指的是「更新使用者資料的人」,比如說若有使用者有權限更動別人的role,這個人就是acting user,而被更動的使用者是updated user.... 而unchanged user...可能是說沒改到的使用者?? 真是有點複雜,我也不大確定,不知有沒有人試過? 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 請問一下, Condition:使用者會員到期 這是要選"執行自定義PHP代碼", 它有特定的選項? 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 糟糕,出大包。 tky使用rules的目的,是想要在當使用者被role expire模組取消掉「繳費會員」之後,自動發通知信給使用者與管理者。 tky當初設定rule的方式是: Event:使用者資料更新時 Condition:如果使用者沒有「繳費會員」的角色 Action:發信通知 結果發現,一跑cron,所有沒有「繳費會員」角色都收到通知信。因為在使用者那邊設定成"acting user".... 真是白目到不行。 接下來就設定成: Event:使用者資料更新時 Condition:如果updated user沒有「繳費會員」的角色 Action:發信通知updated user 這樣還好,因為只有updated user會收到信;不過仍然不理想,因為只要使用者更新自己的資料而他本來就不是繳費會員,他就會一直收到信... 所以就設定成這樣看看: Event:使用者資料更新時 Condition: compare two users: updated user and unchanged user 如果updated user沒有「繳費會員」的角色 Action:發信通知updated user 結果還是不行;因為沒法設定出一個條件可以符合「使用者之前是繳費會員、但是後來不是了」的情況。 非繳費會員使用者只要一更新自己的資料,就會符合上述的條件而不停收到信.... 真是一整個的頭疼啊! tky 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 是否能設定成如下: Event:使用者資料更新時 Condition: 1. compare two users: updated user and unchanged user 2. 如果updated user沒有「繳費會員」的角色 3. 如果unchanged user有「繳費會員」的角色 Action:發信通知updated user 發表回應前,請先登入或註冊 Re: 時間到自動移除角色的模組? 多謝hanamizuki的提示,但,唉~~還是不行。 似乎unchanged user的定義並非「修改之前的使用者」,而是「沒有做出變更的使用者」。似乎在大量修改使用者帳號的場合才會派上用場。 所以設定『如果unchanged user有「繳費會員」的角色』這樣的條件是沒有用的,因為只要你有修改過使用者帳號,這個帳號就變成了updated user而永遠不會是unchanged user。這個條件怎麼都不會被滿足,信也就發不出去了。 現下好像只能等Role expire的作者按照issue所提的計畫,把這樣的功能加進下一個版本的模組了。 tky 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 6.x 可以使用Role expirehttp://drupal.org/project/role_expire 用Rules的話,最簡單的設定想像如下: Event:使用者登入時 Condition:使用者會員到期 Action:拿掉某Role 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 感謝Charles和花水妹! Role expire已經符合TKY的需求了,不過希望能夠有「角色過期之後,自動發信給管理者和使用者」的功能。 不曉得rule能否作到這一點?(或者Role expire + rule的搭配?) tky 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 「角色過期之後,自動發信給管理者和使用者」Rule設定想像: Event:拿掉某Role時(使用者資料更新時) Condition:使用者會員到期 Action:發信 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 多謝花水妹。 TKY試了一下,果然是花水妹所想像的設定: Event: 使用者資料更新時 Condition: 使用者具有某個角色(不過要設定成negate,也就是當使用者資料更新時卻不具有這樣的角色時,觸發以下的action) Action:發信給acting user 這樣就能讓原來已經具有角色但後來被取消角色者自動收到信件。 如果要順便發信給管理者、通知特定使用者角色到期的話,就再加一個action,「發出一封任意郵件」,將收件者設定為管理員即可。 有人能夠稍微解釋一下action中的updated user、acting user以及unchanged user三者的差別嗎? tky 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? Action:發信給acting user 這部份我認為(沒有測試過)應該是要發信給「updated user」(資料被更新的那個人)。 所謂的acting user應該指的是「更新使用者資料的人」,比如說若有使用者有權限更動別人的role,這個人就是acting user,而被更動的使用者是updated user.... 而unchanged user...可能是說沒改到的使用者?? 真是有點複雜,我也不大確定,不知有沒有人試過? 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 糟糕,出大包。 tky使用rules的目的,是想要在當使用者被role expire模組取消掉「繳費會員」之後,自動發通知信給使用者與管理者。 tky當初設定rule的方式是: Event:使用者資料更新時 Condition:如果使用者沒有「繳費會員」的角色 Action:發信通知 結果發現,一跑cron,所有沒有「繳費會員」角色都收到通知信。因為在使用者那邊設定成"acting user".... 真是白目到不行。 接下來就設定成: Event:使用者資料更新時 Condition:如果updated user沒有「繳費會員」的角色 Action:發信通知updated user 這樣還好,因為只有updated user會收到信;不過仍然不理想,因為只要使用者更新自己的資料而他本來就不是繳費會員,他就會一直收到信... 所以就設定成這樣看看: Event:使用者資料更新時 Condition: compare two users: updated user and unchanged user 如果updated user沒有「繳費會員」的角色 Action:發信通知updated user 結果還是不行;因為沒法設定出一個條件可以符合「使用者之前是繳費會員、但是後來不是了」的情況。 非繳費會員使用者只要一更新自己的資料,就會符合上述的條件而不停收到信.... 真是一整個的頭疼啊! tky 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 是否能設定成如下: Event:使用者資料更新時 Condition: 1. compare two users: updated user and unchanged user 2. 如果updated user沒有「繳費會員」的角色 3. 如果unchanged user有「繳費會員」的角色 Action:發信通知updated user 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組? 多謝hanamizuki的提示,但,唉~~還是不行。 似乎unchanged user的定義並非「修改之前的使用者」,而是「沒有做出變更的使用者」。似乎在大量修改使用者帳號的場合才會派上用場。 所以設定『如果unchanged user有「繳費會員」的角色』這樣的條件是沒有用的,因為只要你有修改過使用者帳號,這個帳號就變成了updated user而永遠不會是unchanged user。這個條件怎麼都不會被滿足,信也就發不出去了。 現下好像只能等Role expire的作者按照issue所提的計畫,把這樣的功能加進下一個版本的模組了。 tky 發表回應前,請先登入或註冊
Re: 時間到自動移除角色的模組?
不知道這有沒有用:
http://drupal.org/project/rules
Re: 時間到自動移除角色的模組?
6.x 可以使用Role expire
http://drupal.org/project/role_expire
用Rules的話,最簡單的設定想像如下:
Event:使用者登入時
Condition:使用者會員到期
Action:拿掉某Role
Re: 時間到自動移除角色的模組?
感謝Charles和花水妹!
Role expire已經符合TKY的需求了,不過希望能夠有「角色過期之後,自動發信給管理者和使用者」的功能。
不曉得rule能否作到這一點?(或者Role expire + rule的搭配?)
tky
Re: 時間到自動移除角色的模組?
「角色過期之後,自動發信給管理者和使用者」Rule設定想像:
Event:拿掉某Role時(使用者資料更新時)
Condition:使用者會員到期
Action:發信
Re: 時間到自動移除角色的模組?
多謝花水妹。
TKY試了一下,果然是花水妹所想像的設定:
Event: 使用者資料更新時
Condition: 使用者具有某個角色(不過要設定成negate,也就是當使用者資料更新時卻不具有這樣的角色時,觸發以下的action)
Action:發信給acting user
這樣就能讓原來已經具有角色但後來被取消角色者自動收到信件。
如果要順便發信給管理者、通知特定使用者角色到期的話,就再加一個action,「發出一封任意郵件」,將收件者設定為管理員即可。
有人能夠稍微解釋一下action中的updated user、acting user以及unchanged user三者的差別嗎?
tky
Re: 時間到自動移除角色的模組?
Action:發信給acting user
這部份我認為(沒有測試過)應該是要發信給「updated user」(資料被更新的那個人)。
所謂的acting user應該指的是「更新使用者資料的人」,比如說若有使用者有權限更動別人的role,這個人就是acting user,而被更動的使用者是updated user....
而unchanged user...可能是說沒改到的使用者??
真是有點複雜,我也不大確定,不知有沒有人試過?
Re: 時間到自動移除角色的模組?
請問一下,
Condition:使用者會員到期
這是要選"執行自定義PHP代碼",
它有特定的選項?
Re: 時間到自動移除角色的模組?
糟糕,出大包。
tky使用rules的目的,是想要在當使用者被role expire模組取消掉「繳費會員」之後,自動發通知信給使用者與管理者。
tky當初設定rule的方式是:
Event:使用者資料更新時
Condition:如果使用者沒有「繳費會員」的角色
Action:發信通知
結果發現,一跑cron,所有沒有「繳費會員」角色都收到通知信。因為在使用者那邊設定成"acting user"....
真是白目到不行。
接下來就設定成:
Event:使用者資料更新時
Condition:如果updated user沒有「繳費會員」的角色
Action:發信通知updated user
這樣還好,因為只有updated user會收到信;不過仍然不理想,因為只要使用者更新自己的資料而他本來就不是繳費會員,他就會一直收到信...
所以就設定成這樣看看:
Event:使用者資料更新時
Condition:
Action:發信通知updated user
結果還是不行;因為沒法設定出一個條件可以符合「使用者之前是繳費會員、但是後來不是了」的情況。
非繳費會員使用者只要一更新自己的資料,就會符合上述的條件而不停收到信....
真是一整個的頭疼啊!
tky
Re: 時間到自動移除角色的模組?
是否能設定成如下:
Event:使用者資料更新時
Condition:
1. compare two users: updated user and unchanged user
2. 如果updated user沒有「繳費會員」的角色
3. 如果unchanged user有「繳費會員」的角色
Action:發信通知updated user
Re: 時間到自動移除角色的模組?
多謝hanamizuki的提示,但,唉~~還是不行。
似乎unchanged user的定義並非「修改之前的使用者」,而是「沒有做出變更的使用者」。似乎在大量修改使用者帳號的場合才會派上用場。
所以設定『如果unchanged user有「繳費會員」的角色』這樣的條件是沒有用的,因為只要你有修改過使用者帳號,這個帳號就變成了updated user而永遠不會是unchanged user。這個條件怎麼都不會被滿足,信也就發不出去了。
現下好像只能等Role expire的作者按照issue所提的計畫,把這樣的功能加進下一個版本的模組了。
tky