All Products
Search
Document Center

DataV:Create, preview, and publish visualization applications

Last Updated:Jun 06, 2025

DataV supports creating PC and mobile visualization applications using templates. This topic describes how to create, preview, and publish these visualization applications.

Quota limit

The creation quotas for different versions are as follows:

  • Basic Edition:You can create up to 5 visualization applications.

  • Enterprise Edition: You can create up to 20 visualization applications.

  • Professional Edition: You can create up to 40 visualization applications.

Access visualization application management

  1. Log on to the DataV console.

  2. After logging in to the console, the system displays the Projects page by default.

Create visualization applications using templates

The system supports creating visualization applications for PC and mobile using templates.

  1. On the Projects page, click PC Creation at the top of the page.

    In the Projects page, under All Projects, you can view all created visualization applications and check the remaining number of applications you can create.

  2. In the template list, select a template or blank canvas, and click Create Project.

  3. In the Create Project dialog box, enter the Project Name, and click Create.

    After the creation is successful, the system will redirect you to the visualization application editor page.

    Note

    You can also select a Project Group in the Create Project dialog box, provided that you have already created a group.

  4. Optional: Return to the Projects page to view the successfully created visualization application.

Preview visualization applications

Previewing visualization applications allows users to view and test the actual effect before formal publication, helping to conduct comprehensive checks and adjustments to ensure the best state when published.

PC preview

  1. On the Projects page, select a PC visualization application and click the Preview icon image.png in the upper right corner.

    • If the visualization application has been published:

      • If access restrictions were set during publication, such as enabling password access or Token verification, please contact the data visualization dashboard administrator to obtain the key for preview.

      • If no access restrictions were set during publication, you can preview directly.

    • If the visualization application has not been published, you can preview it directly.

  2. Optional: After successful preview and if the PC visualization application meets your expectations, you can publish it to the online environment for others to view.

Publish and share visualization applications

The following sections detail the complete process of publishing visualization applications, covering publishing applications, publishing snapshots, snapshot management, access restrictions, sharing information, and loading page settings. Through these features, users can effectively publish and manage visualization applications, ensuring their security and accessibility.

Publish applications

  1. On the Projects page, move your mouse over any visualization application area and click Edit.

  2. In the canvas editor, click the Publish icon image.png in the upper right corner of the page.

  3. In the Publish dialog box, click Publish Project.

    Note

    If you are publishing a visualization application for the first time, the system will display a Published dialog box. In this dialog box, you can click Go To Snapshots to view snapshots, or click Cancel to enter the publication page. If the first publication of a visualization application fails, you can switch the DataV URL from HTTP protocol to HTTPS protocol and then try publishing again.

  4. After successful publication, the system will enable the Published switch and generate a sharing link and QR code. Click QR Code to display the QR code for the current visualization application, which can be scanned for online access; click the () icon to the right of Sharing URL{F726A4C0-FA5C-4530-ACFA-1ED70E91BA9A}Copy, paste the link into your browser's address bar to access the PC visualization application online.

    Note

    After publishing a visualization application, if you need to change the sharing link, click the 重新生成链接 (Regenerate Link) icon on the left to generate a new Share Link. After regeneration, the old link will become invalid, so please use the new link to access your visualization application.

  5. Optional: After successfully sharing the visualization application, you can configure the parameters for Publish Snapshots, and also configure Access Control, Share Information, and Load Page Settings.

Publish snapshots

After setting up the sharing link, you can configure Publish Snapshots to specify which version of the visualization application visitors will see (the default is the snapshot publication version). The screen content will be locked at the moment the snapshot is created.

Note

After archiving, edits and modifications to the screen content will not be synchronized to historical snapshots, which can serve as backups for stable preview versions.

The specific operation steps are as follows:

  1. In the Publish dialog box, select an archived historical snapshot from the Publish Snapshot list to complete the publication of that historical snapshot.

    • If the current visualization application has no historical snapshots, the system will publish the content of the current editor as the first snapshot.

    • If the current visualization application has historical snapshots, the system will automatically publish the most recent snapshot.

  2. Click Overwrite Published Snapshot below to change the content of the published snapshot to the content in the current editing page.

  3. Click Automatically Add Snapshot And Publish below to automatically add and select a snapshot for immediate publication.

  4. Click Manage Snapshots below to manage multiple historical snapshots in the snapshot management interface.

Snapshot management

Click Manage Snapshots in the Publish dialog box, or click the Manage Snapshots icon to the right of Generate Snapshot in the upper right corner of the visualization application editor. Then, in the Snapshot Management dialog box, you can perform the following snapshot management operations.

Note

If you encounter a failure when adding or modifying snapshots in the snapshot management interface, you can switch the current DataV URL from HTTP protocol to HTTPS protocol and then try again.

  • View Quota: In the upper right corner of the Snapshot Management dialog box, you can view the remaining quota for creating snapshots. Once the snapshot limit is reached, you cannot add new snapshots and need to delete unwanted snapshots.

    Note

    Different versions have different snapshot quotas.

    • Enterprise Edition: You can create up to 3 snapshots.

    • Professional Edition: You can create up to 10 snapshots.

  • Add Snapshot: Click Add Snapshot in the Snapshot Management dialog box to add a historical snapshot.

  • Overwrite Published Snapshot: Click Overwrite Published Snapshot to overwrite the content of the published snapshot with the editor's content, effectively updating the published page content in real-time. The updated content includes canvas editor configuration, data source configuration, and blueprint editor configuration.

  • Publish Or Close Snapshot: Select a historical snapshot in the management bar and click the 发布快照 icon on the right to quickly publish the visualization application or switch the published snapshot. After switching, the published page content will change to the content of the corresponding snapshot. Click the icon again to close the snapshot.

  • Lock Snapshot: Click the 锁定快照 icon to the right of a historical snapshot to lock it. Once locked, the snapshot cannot be deleted or overwritten.

  • Batch Delete: After selecting multiple or all snapshots in the management interface, click the Batch Delete icon below to perform batch deletion of snapshots. The batch delete function cannot delete published or locked snapshots.

    Important
    • Published snapshots cannot be deleted.

    • Currently, only snapshot switching is supported, not rollback functionality. Once a snapshot is deleted, it cannot be recovered, so please proceed with caution.

  • Annotate Snapshot: Click the 编辑注释 icon to add custom annotation content to the snapshot.

Access Control

Note

Only Enterprise Edition and higher versions support the Access Restrictions feature.

DataV's publishing feature provides four ways to share visualization applications:

  • Public sharing (default).

  • Password access sharing.

  • Token verification sharing.

  • IP whitelist access sharing.

Password

  1. In the Publish dialog box, enable Password.

  2. In the Password input box, enter your verification password.

    The password must be at least 6 characters long and meet all three of the following conditions:

    • Include at least one uppercase letter A-Z.

    • Include at least one lowercase letter a-z.

    • Include at least one number 0-9.

    After the password is set successfully, the system will display Access control is configured.

  3. Optional: Configure Verification Validity Period.

    Important

    You can only configure the Verification Validity Period after successfully setting a password or enabling Token verification.

    • Select Verification Validity Period to set the validity period for the password, up to a maximum of 32 hours. After a visitor enters the password correctly and successfully accesses the visualization application for the first time, they can access the visualization application without entering the password again within the set validity period.

    • Deselect Verification Validity Period to require password entry for each access.

    After the password is set successfully, visitors will need to enter the password to access the shared link.

Token

You can integrate the access permissions of visualization applications with your permission system through Token verification.

In the Publish dialog box, enable the Token switch to enable Token verification. After Token verification is enabled, you can perform the following operations:

  • Obtain the Token verification code.

    After enabling the Token switch, DataV will generate a Token. You need to record this Token for later use.

  • (Optional) Configure Verification Validity Period.

    • Select Verification Validity Period to customize the validity period for Token verification, up to a maximum of 32 hours. After a visitor completes Token verification and successfully accesses the visualization application for the first time, they can access the visualization application without verification again within the set validity period.

    • Deselect Verification Validity Period to require verification for each access.

After Token verification is enabled, when you open the sharing page of the visualization application again, you will receive an Access Denied message, indicating that your access has been denied. To open your page, you need to complete the following steps.

Important

To prevent replay attacks, ensure that your server time is set to UTC+8 standard time. DataV only allows a 1-minute error margin. If the time error exceeds 1 minute, verification will fail.

  1. Publish the visualization application and record the visualization application code (the last segment of the URL).

  2. Connect the code with the current time (in milliseconds), separated by a | (VERTICAL LINE).

  3. Use the Token with HMAC-SHA256 base64 to encrypt the Token verification code obtained in the previous step.

  4. Name the time and encrypted signature as _datav_time and _datav_signature respectively.

  5. Place them in the querystring of the URL in sequence.

    Important

    If you need to pass parameters using the GET method in your visualization application URL, for security reasons, we recommend using the Token parameter signature verification provided by DataV. For more information, see DataV sharing page Token parameter signature verification.

    The following sample code provides examples:

    • PHP:

      <?php
        $token = "kBwoX9rFX9v4zbOT0Gjd_wr65DZ****";
        $screenID = "03d1b68faeb09671046d1ef43f58****";
        $time = time()*1000;
        $stringToSign = $screenID.'|'.$time;
        $signature = urlencode(base64_encode(hash_hmac('sha256', $stringToSign, $token, true)));
        $url = "http://datav.aliyuncs.com/share/".$screenID."?_datav_time=".$time."&_datav_signature=".$signature;
      ?>
      <iframe width=100% height=100% src="<?=$url?>"/>
    • Node.js:

      const crypto = require('crypto');
      var token = "Ev97wOUSAtJusc3Vsd9O2ngr_vfV****";
      var screenID ="14c5448c00ecde02b065c231d165****";
      var time = Date.now();
      var stringToSign = screenID +'|'+ time;
      var signature = crypto.createHmac('sha256', token).update(stringToSign).digest().toString('base64');
      var url="http://datav.aliyuncs.com/share/"+ screenID +"?_datav_time="+time+"&_datav_signature="+ encodeURIComponent(signature);
    • Java:

      package com.company;
      import java.security.*;
      import java.util.Date;
      import javax.crypto.*;
      import javax.crypto.spec.SecretKeySpec;
      import org.apache.commons.codec.binary.Base64;
      import java.net.URLEncoder;
      public class TokenTest {
          public static String getSignedUrl(String screenID, String token){
              Date date = new Date();
              Long time = date.getTime();
              String stringToSign = screenID + "|" + time;
              String signature = HMACSHA256(stringToSign.getBytes(), token.getBytes());
              String url = "http://datav.aliyuncs.com/share/"+ screenID +"?_datav_time="+time+"&_datav_signature="+ signature;
              return url;
          }
          /**
           *  Use Java's native digest implementation for SHA256 encryption.
           * @param str The encrypted message.
           * @return
           */
          public static String HMACSHA256(byte[] data, byte[] key)
          {
              try  {
                  SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA256");
                  Mac mac = Mac.getInstance("HmacSHA256");
                  mac.init(signingKey);
                  return URLEncoder.encode(byte2Base64(mac.doFinal(data)));
              } catch (NoSuchAlgorithmException e) {
                  e.printStackTrace();
              } catch (InvalidKeyException e) {
                  e.printStackTrace();
              }
              return null;
          }
          private static String byte2Base64(byte[] bytes){
              return Base64.encodeBase64String(bytes);
          }
          public static void main(String[] args) throws Exception {
              System.out.println(getSignedUrl("screenId", "token"));
          }
      }
    • C#:

      using System;
      using System.Security.Cryptography;
      using System.Text.RegularExpressions;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Text;
      
      namespace datavToken
      {
          class Program
          {
              static void Main(string[] args)
              {
                  var dic = new Dictionary<string, string>();  // Custom parameters.
                  dic.Add("datav_sign_no", "123998");         // datav_sign_ prefix, needs to be signed.
                  dic.Add("datav_sign_lo", "kk");
                  dic.Add("datav_sign_ao", "xx");
      
                  dic.Add("name", "123");   // Does not need to be signed.
                  // Share page prefix, screen share ID, token, custom parameter dictionary.
                  Console.WriteLine(GenerateUrl("https://datav.aliyun.com/share/", "ca74bea5e45503070d607795e0****", "66DsL2qjrXRHluSJScv_flOUhn****", dic));
              }
              private static string GenerateUrl(string datavBase, string screenId, string token, Dictionary<string, string> customeParams)
              {
                  string pattern = @"^datav_sign_.*";
                  string timestamp = GetTimeStamp();
      
                  // Parameter sorting.
                  Dictionary<string, string>.KeyCollection keyCol = customeParams.Keys;
                  List<string> signKeys = new List<string>();
      
                  foreach (var item in keyCol.ToList())
                  {
                      if (Regex.IsMatch(item, pattern))
                      {
                          signKeys.Add(item);
                      }
                  }
      
                  // Sort by key.
                  signKeys = signKeys.OrderBy(k => k).ToList();
      
                  string paramsSignStr = signKeys.Aggregate("", (total, key) =>
                  {
                      if (total != "")
                      {
                          total += "&";
                      }
                      total += key + "=" + customeParams[key];
                      return total;
                  });
                  //No parameter authentication
                  string signStr = screenId + "|" + timestamp;
                  //Parameter authentication exists
                  //string signStr = screenId + "|" + timestamp + "|" + paramsSignStr;
                  
      
                  var encoding = new System.Text.ASCIIEncoding();
                  byte[] keyByte = encoding.GetBytes(token);
                  byte[] messageBytes = encoding.GetBytes(signStr);
                  string signature;
                  using (var hmacsha256 = new HMACSHA256(keyByte))
                  {
                      byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
                      signature = Convert.ToBase64String(hashmessage);
                  }
      
      
                  var paramDic = new Dictionary<string, string>();
                  paramDic.Add("_datav_time", timestamp);
                  paramDic.Add("_datav_signature", signature);
      
                  foreach (var item in customeParams)
                  {
                      paramDic.Add(item.Key, item.Value);
                  }
                  return datavBase + screenId + "?" + ParseToString(paramDic);
              }
              public static string GetTimeStamp()
              {
                  TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                  return Convert.ToInt64(ts.TotalMilliseconds).ToString();
              }
              static public string ParseToString(IDictionary<string, string> parameters)
              {
                  IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters);
                  IEnumerator<KeyValuePair<string, string>> dem = sortedParams.GetEnumerator();
      
                  StringBuilder query = new StringBuilder("");
                  while (dem.MoveNext())
                  {
                      string key = dem.Current.Key;
                      string value = dem.Current.Value;
                      if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
                      {
                          query.Append(key).Append("=").Append(HttpUtility.UrlEncode(value)).Append("&");
                      }
                  }
                  string content = query.ToString().Substring(0, query.Length - 1);
      
                  return content;
              }
          }
      }

IP Address Whitelist

After enabling the IP whitelist, the published visualization application can only be accessed from IP addresses within the specified whitelist range.

  1. In the Publish dialog box, enable IP Whitelist.

  2. In the IP Address Whitelist input box below, enter your IP addresses, separating different whitelist entries with commas.

    After the IP whitelist is set successfully, when you access the visualization application's sharing link again using a non-whitelisted IP, access to the visualization application page will be denied.

Share Information

DataV visualization applications provide a feature to customize sharing information content when sharing published links in the DingTalk client. The detailed parameter configuration is as follows:

Configuration Parameter

Description

Title

You can customize the title name of the visualization application sharing link to be published. By default, it displays the title name used when creating the visualization application.

Description

You can provide a simple description of the visualization application sharing link to be published.

Image

You can set an image for the sharing link of the visualization application to be published by entering a custom image URL or dragging a local image to the image panel on the right.

Note

Both static and dynamic images are supported here, but they will be displayed as static images in the sharing link.

DingTalk client sharing link sample display分享链接样例展示

Note

If your shared card is not taking effect, it may be due to DingTalk client's caching mechanism causing multiple modifications to sharing information. We recommend restarting the DingTalk client before sharing the link.

Load Page Settings

DataV visualization applications provide a feature to customize the loading page content when sharing published links. The detailed parameter configuration is as follows:

Note

Only Professional Edition support the Loading Page Configuration feature.

Configuration Parameter

Description

Background

You can customize the background color of the loading page for the visualization application to be published. Both solid colors and gradient colors are supported.

Logo

You can set a logo image for the loading page of the visualization application to be published by entering a custom image URL or dragging a local image to the image panel on the right.

Note

Both static and dynamic images are supported here. If a dynamic image is set, it will be displayed dynamically on the loading page.

References

After creating a visualization application, you can perform feature management to optimize and maintain the application.