Cordys云开明服务开发者指南(二)

Cordys云开通服务开发者指南(二)

3、开发面向应用开通服务的界面

        你可以钩住用户界面到开通服务模型中,这些界面被开通服务模型中订购事件所触发。
        下面描述是为界面提供钩子:

  • 组织订购服务
  • 用户订购服务
  • 组织注销服务
  • 用户注销服务

        写在开始之前 
               你必须已经有一个想要挂接到开通服务过程的界面。

  1. 开发一个适合用于开通服务的界面。 
    1. 选择一个开始点并点击(用户界面)使用Web服务(Web Services)去创建表单(XForms),未命名用户界面—用户界面应用控制板出现,并且显示表单(XForms)设计界面。
    2. 创建一个新模型,并提供以下属性:
      1. 模型名称(Model Name):提供模型名称,这个名称将在开通服务模型中使用;
      2. 选择“自动/非事务性处理”(Automatic and Non-Transactional);
      3. 业务对象(BusinessObject):提供业务对象WizardFrameData。
    3. 使用下述属性添加一个分组盒子(Groupbox)到窗体中(Form):
      1. 提供一个“ID”,在下面例子代码中,groupbox1用于模型,它选择了事先创建的模型;
      2. 在分组盒子(Groupbox)中添加几个输入框(XForm控件),每个输入框提供一个引用名称,接着,当开通BPM服务被触发时,输入文(InputDoc)中包含订购数据(SubscriptionData )标签,这个标签包含配置每个引用输入框名字的标签。
    4. 从窗体属性中,添加一个链接到脚本 /cordys/ucf/js/wizardSubscriptionStep.js
    5. 添加下述内容到脚本中:

      function Form_Init(eventObject)
      {
          application.addType(window, "ucf.library.Utils");
      }
       
      function Form_InitDone(eventObject)
      {
          initModelData();
       
          // Example for a User Application Subscription
          if (currentWizardData && cordys.selectXMLNode(currentWizardData, ".//*\[local-name() = 'UserName'\]"))
          {
              var userName = cordys.getNodeText(currentWizardData, ".//*\[local-name() = 'UserName'\]", "");
              groupbox1.setLabel("Enter User Application Subscription Data for user '"+userName+"'");
          }
      }
       
      function Form_BeforeClose(eventObject)
      {
          storeModelData();
          application.removeType(window, "ucf.library.Utils");
      }
       
      function onWizardFrameValidate()
      {
          return true;
      }
       
      function cancelButton_Click(eventObject)
      {
          cancelButton_Clicked(eventObject);
      }
       
      function saveButton_Click(eventObject)
      {
          saveButton_Clicked(eventObject);
      }
    6. 当每次请求时,移除或修改groupbox1.setLabel()片段,上面代码是一个用户应用订购样例;
    7. 链接上述函数到相应的窗体事件:

      Event Name

      Function Name

      Init

      Form_Init

      Init Done

      Form_InitDone

      Before Close

      Form_BeforeClose

      你的界面现在用于应用开通界面,接着,你必须配置界面,去使用他做为服务开通窗体安装向导。

  2. 配置服务开通界面用于安装向导。
    1. 打开(Open) Cordys云开明服务开发者指南(二) (全局应用Global Applications),全局应用窗口呈现,显示所有注册应用;
    2. 选择一个需要开通服务界面(UI)的应用,这个应用的细节显示出来;
    3. 点击应用开通服务界面标签页(Provisioning UIs tab),所有选择应用的注册开通服务界面 显示出来;
    4. 使用下面的值添加到新的界面(UI):
      • UI Name(界面名称):提供刚刚创建界面(UI)的名称;
      • UI Type(界面类型):选择用户订购去设置那种开通服务事件的类型;
      • UI ID(界面ID):提供完整的路径给窗体(Form),例如:/com/cordys/jopl/ccptest/JoplsAddUserApplSubForm.caf
    5. 以此为基础(For the Model),使用在界面上所创建模型(Model)的名称。

为一个用户应用订购的服务开通界面被建立并被配置去被触发。

注:上面的例子源代码在这里。


原文:Developing Application-Specific Provisioning UIs