0

アルフレコの新しいユーザーページでユーザーを作成ボタンをクリックすると、新しいユーザーのパスワードでメールを自動生成する方法を教えてください。 ユーザーアクションを作成するためにリダイレクトできるWebスクリプトまたはアクションを作成する必要があり、対応するメールが自動的に生成されます。 Create Userボタンと新しいユーザーとの間のリンクを作成する方法を教えてください。Alfrescoの新しいユーザーページで[ユーザー作成]ボタンをクリックして作成したパスワードでメールを自動生成する方法はありますか?

+0

これを行う方法はおそらく6種類あります...現在、どのようにAlfrescoをカスタマイズしていますか? JavaコードでAMPs? JavaScriptを使ったAMP?ルール?その他? – Gagravarr

+0

AMPs with java code – APM

+0

Alfrescoの問題だとは思わない –

答えて

2

アルフレッドの最終的なものはノードです。ユーザーはまた、alfresco.co.jpのノードの1つのタイプです。私の見解によれば、最良の解決策は動作を作成し、電子メールを送信することです。

下記はalfrescoでの動作の詳細です。

https://www.alfresco.com/blogs/lcabaceira/2015/04/07/alfresco-behaviours-and-policies/

これは、屋外での動作のために複数のリンクがありますalfresco.Youでの動作のための1つのリンクがあります。

+0

これを黙想できますか? – APM

1

新しいルールを作成します。

  • フォルダRepository > User Homes上を
  • とき:Execute script:アクションを実行Items are created or enter this folder
  • if (document.isContainer && document.displayPath == "/Company Home/User Homes") { 
        var owner = document.properties["cm:owner"]; 
        var pNode = people.getPerson(owner); 
        if (pNode!=null && pNode.exists()){ 
    
         var userName = pNode.properties.userName; 
         var email = pNode.properties.email; 
         var randPassword = Math.random().toString(36).substr(2, 30)+"-"+(Date.now()); 
    
         people.setPassword(userName, randPassword); 
         logger.debug("Invitation mail: User "+userName+" password has been changed."); 
    
         var mail = actions.create("mail"); 
         //mail.parameters.from = "[email protected]"; 
         mail.parameters.to = email; 
         mail.parameters.subject = "Welcome to the jungle, login: "+userName+", password: "+randPassword; 
         mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/Invite Email Templates/invite_user_email.ftl"); 
         var templateModel = new Array(); 
         templateModel['newPassword'] = randPassword; // use ${newPassword} expression inside template 
         mail.parameters.template_model = templateModel; 
         mail.executeAsynchronously(document); 
         logger.debug("Invitation mail has been sent to "+email); 
        } else { 
         logger.warn("Invitation mail: User not found: "+owner); 
        } 
    } else { 
        logger.warn("Invitation mail: Document "+document.name+"/"+document.nodeRef+" is not a user home folder."); 
    } 
    

あなたはテストにhttps://papercut.codeplex.com/を使用することができますAlfrescoの設定:

# smtp settings 
mail.host=localhost 
mail.port=25 
mail.protocol=smtp 
mail.smtp.auth=false 
# mail.smtp.timeout=30000 
# mail.smtp.debug=true 
+0

これはjavascriptになります...これを試してみましょう... – APM

+0

このコードは多くの助けになりました... – APM

関連する問題