SaaS application development guide
1 Low code development SaaS application Full Link process description
Reference合作全流程指引 - 开放平台
1.1 Pre-preparation
- Apply for DingTalk product service provider qualification步骤一:入驻成为产品方案商 - 开放平台
- Understand and knowDingTalk open platform ISV Help CenterFull link content
- SaaS applications must have cool application forms. For more information, seeLow code build DingTalk cool Application Development and Design Guide
1.2 How to enter the SaaS R & D Workbench
Current organization hasProduct plannerWhen you log on to YIDA for identity authentication, you can view the "Enter SaaS R & D workbench" entry in the top menu and access it directly.
Go to the SaaS application workbench and you can create SaaS applications.
1.3 aPaaS base function support range
DingTalk the capabilities of the SaaS factory R & D Workbench are basically the same as those of the current interaction model. The version released in this issue will have the following core features:
- Platform Features:
- Forms (data linkage, custom page (page js), Association list, QR code, serial number, etc.)
- Process (message notification, to-do list, etc.)
- Reports (metadata, datasets)
- Formulas & business rules
- Permission
- Integrated Automation (one-party, three-party connector, timing trigger, etc.)
- Message notification & to-do list
- Cool application
- Page js data source openAPI
- Portal
- Data Card construction (the main application does not support data card delivery> data broadcast configuration, but supports personalized and customized data broadcast capabilities of sub-applications)
- ... Etc.
Special note: extended enhancements such as custom connectors, data preparation, DataV screens, and custom components are not supported and will continue to be iterated later.
2 Main Application Design
After completing the pre-preparation work, you can develop SaaS applications. If you already have complete solutions in other YIDA organizations and want to switch directly to SaaS mode, you can contact YIDA production researchApply for application migration to SaaS environment.
- You can design your application according to your business requirements based on the SaaS R & D workbench and the capabilities provided by the current platform, such as design:
- Form
- Process
- Report
- Portal
- Data Card construction (the main application does not support data card delivery> data broadcast configuration, but supports personalized and customized data broadcast capabilities of sub-applications)
- Integrated Automation
- Cool app
- ...
At present, the above function development process is consistent with the enterprise self-built application development function. If you have any questions, please check图解宜搭 | 钉钉宜搭·帮助中心
- If your SaaS product has relevant business bottom table data and you want users to see relevant sample data after subscribing to SaaS applications,Enter basic data and maintain it in a directory folder. The file is namedBasic business data"(As shown in the following figure)
- At that time,Common formsThe data of TOP100 will be loaded into the corresponding organization application as the customer subscribes to the application. Currently, only the first-level directory can carry data, and currently multi-level directories are not supported.
3 cool application design
Based on the SaaS R & D workbench, you can configure the card style and card sending and updating logic of cool applications in the application layer: Card Management/integration automation stream. For more information about the design, see the following documents:
4 Application Release
- After both the main application and the cool application are developed, you can go to the release & launch page to create a new version for functional testing of SaaS applications. After the test is completed, you can apply for shelving.
- Click Create version to enter the version information of the SaaS application, including the version number and version description.
- The version number cannot be modified.
- After the version is created, you can click description settings to modify the version description.
4.1 Application Version Management
- After the application function changes, you can create a new version at any time. The default version status is unpublished. You can click Publish to publish this version.
- ⚠⊙When a future user purchases a SaaS application in the application market or through its own channels, the default version to be purchased is the latest version of the current main application, and users who have not released the version cannot purchase it.
4.2 Application shelving-associate third-party applications
step1 associate third-party applications
SaaS R & D Workbench | DingTalk open platform> Enterprise third-party applications |
|
|
Step 2 fill in SaaS application development information
Copy the SaaS application address and configure the application information.
SaaS R & D Workbench | DingTalk open platform> Enterprise third-party applications |
|
|
Step 3 check SaaS application configuration items
(1) confirm application development information
- In the DingTalk open platform> Enterprise third-party application, select the registered third-party application. As shown in the preceding figure, confirm whether the function configuration items have been completed and continue to configure the missing ones.
(2) permission management configuration
To ensure the data security of SaaS products, the application needs to confirm the authorization information to the user when it is activated. Therefore, ISV needs to configure the permission points to be authorized by itself.
- Select the permission management menu,For standard SaaS products, you must select the following permission information and click batch application ".
Permission classification | Permission point |
Card | Write permissions for interactive card instances |
Personal permissions | Address book Personal information read permission |
Address book management | Address book department information read permission Read permissions for contacts department members Permission to query industry address book information Member information read permission |
To-Do task | To-do write permissions in to-do Applications To-do read permissions in to-do Applications |
Application Authorization | Permissions required to call ISV proprietary APIs |
Authentication | The enterprise micro-application background is free of access to the logon interface. |
Scenario Group | Manage permissions for chat-related interfaces Read permissions for chat-related interfaces |
YIDA | Check all |
Robot | Enterprise robot sending message permission |
Storage | Read permissions on enterprise buckets Write permissions on enterprise storage files Read permissions for enterprise storage files |
(Figure 1 permission configuration interface)
(Figure 2 shows the instructions for granting permissions)
- If the SaaS product you are building currently uses the DingTalk official connector in integration automation> connector node, please contact YIDA students to confirm that you need to select the permission of one connector.
Some connectors and permissions are mapped as follows
Connector | Permission categories | Corresponding permission point |
Smart Conference Room | Video Conference application conference write permission | |
Project management | Write permissions for project application tasks |
step4 self-service application skips security self-inspection
- To skip self-test, set events and callbacks, as shown in the following figure:
step1: encrypts Aes_key by using the followingdecryptMethod for YIDAsystemTokenSet after encryption
private static final char[] HEX_ARRAY = "0123456789abcdef".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int i = 0; i < bytes.length; i++) {
int v = bytes[i] & 0xFF;
hexChars[i * 2] = HEX_ARRAY[v >>> 4];
hexChars[i * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars);
}
private static String decrypt(String input) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
// 将散列码转换成43位加密串
return bytesToHex(hash).substring(0, 43);
}
YIDA of systemToken is obtained in YIDA application settings-deployment O & M.
step2: The signature Token, which is the YIDA of the preceding systemToken.
step3: callback request address (https://www.aliwork.com/saasAppCallback/{appKey}) where appKey is applied by YIDA, such as the application code of APP_XXX
- Fill in the relevant content of application self-inspection security audit, and refer to the security access assessment.📎宜搭酷SaaS安全准入指南-ISV .pdf
4.3 experience Organization Management
Experience organization management is used to test the functional completeness of the main application/cool application in the released/unreleased state of ISV. After the self-test is passed, the application will be put on the DingTalk Application Center and the cool application market.
- Select the corresponding SaaS application version, click experience organization management, and select experience Organization. If not, clickCreate, go to the open platform to create an experience organization.
- After the experience Organization is created, you can associate and authorize the application version to be tested to the organization. After the authorization is successful, you can view the application under the Workbench> ungrouped of the experience organization.
4.3.1 experience test Main Application
- After accessing the application through the workbench, when the experience test organization is not the "address book administrator" or "application master administrator, you can contact the organization administrator or application administrator to add management permissions to the application background.
- After you have the permission to enter the application management background, you can view the background configuration of the subscribed SaaS application. Specific functions can be modified.
The following features are supported:
- Application layer:
- Role management, card management, user account authorization, data card
- Page layer:
- Page flow Design, page permissions, portals, forms, reports, custom pages, integrated automation flows, etc.
General logic description: Once modified, the corresponding functions of the subsequent ISV upgrade version BENHOU have been changed. After the customer subscription, the configuration will be mainly modified locally, and the changes of the main application will not be updated to the sub-application synchronously; if not modified, incremental resource changes of the primary application will be synchronized to the sub-application.
Modify the change logic of the approval process:
- If the sub-application subscribes to V0, if the main application has an unpublished V1 version, it will not be displayed in the sub-application history version.
- If the sub-application is subscribed to V0 and has not been customized, the main application will be upgraded to V1 later, and the sub-application should also be displayed and run according to the subscribed V0 version.
- If the sub-application subscribes to V0 and customizes it, it creates its own internal V0 version history, and then creates a draft version of V1, after the sub-application subscribes to the new version of the application, the current process no longer follows the main application upgrade.
- The above process version includes all business rules and formulas in the version.
- By default, the basic business data form data in the main application is carried to the sub-application to ensure that the bottom table data is out of the box and can be modified.
4.3.2 experience testing cool applications
- After the main application passes the test, you can test the cool application and submit the relevant information of the cool application first. Click "go to the DingTalk cool app market> Submit a shelf application" to fill in the cool app shelf information, including the basic information of the cool app, the access portal (up to 3), and the opening method, robot information, etc.
- After completing the relevant information, click save and publish to generate coolappcode.
- You can copy the coolappcode of the cool application, create an internal group under the current experience organization, and go to the mobile terminal for installation and testing as shown in the following figure.
5 Application O & M
5.1 version upgrade
After the SaaS application developed by the service provider is put on the application market, after the customer pays to subscribe to the current SaaS application, if the ISV has functional iteration, you can upgrade SaaS application functions one by one or in batches for specific organizations in the YIDA SaaS R & D Workbench> Application Settings> remote O & M.
Function description:
- By default, the feature range of the version that can be upgraded is the list of latest versions that have been iterated after the current release.
- Supports batch version upgrades for multiple paid organizations
Remote O & M
5.2 application activation authorization background page settings
After the SaaS application is launched on YIDA to the DingTalk open platform and application center, you can customize the authorization to activate the background introduction page.👉Learn More
Configuration description:
- Upload the authorization background page on PC/mobile respectively (only one upload is supported)
- After uploading, copy the trial access address and goPartner self-operating platform> third-party enterprise applications> Product shelving management> Application Details> manage in-app authorization settings, after the access is completed and the self-acceptance is passed(👉Learn more about the acceptance process), this SaaS application can be promoted through more channels on DingTalk online (such as DingTalk search and other fields)
Mobile effect | PC-side effect |
6 Common FAQ
Q1: How do I modify form fields for subscribed SaaS applications?
A: support for forms and other functions is supported.
Q2: can I delete a component from a form that has been published online?
A: You are not allowed to delete components, including subforms, for normal | Flow chart that have been published online.
Q3: can a fixed enterprise CorpId be carried on the published custom page?
A: fixed CorpId cannot be carried in any custom link.
Q4: What should I do if a cool application fails to be installed?
A: Please install cool applications in the "create an internal group in a non-primary application organization" for testing.
Q5: How do I pass the group id parameter of the current group on the custom page jump form page?
For more information, see酷应用高频FAQ及典型场景设计指南
Q6: How do I hide the menu navigation bar of a SaaS application page?
A: When the YIDA page is integrated into other systems, you can configure the hide top navigation bar and the left-side page function navigation bar. Concatenated after the embedded page URL? isRenderNav=falseOK.