How To Use Rocketbots As A Dialogflow CRM
Ever wished you had a CRM for Dialogflow? We did too, so we built one. This is a best practices article for using Rocketbots as a Dialogflow CRM. We'll discuss things like creating a Dialogflow Human Handoff, how to integrate dialogflow with your website and popular integrations like our Chatbase Dialogflow Integration. Check out the table of contents below to skip to what you're looking for:
- What is Dialogflow
- Why You Need A Dialogflow CRM
- Connecting Dialogflow to Rocketbots
- Connecting Messaging Channels to Rocketbots
- Connecting Chatbase & Zapier to Rocketbots
5 Simple Ways To Use Rocketbots with Dialogflow Integration
- Record, Attribute & Export Dialogflow History with Rocketbots
- Use Dialogflow To Automatically Tag Contacts
- Send a Dialogflow Broadcast
- Unsubscribe Dialogflow Contacts from Broadcasts
- Create Custom Dialogflow Notifications
Build Hybrid Human + AI Sales & Support Messaging Using Rocketbots as A Dialogflow CRM
- Use Rocketbots Automations to Onboard New Contacts
- Handling FAQs & Using Rocketbots As A Dialogflow CMS
- Fallbacks & Building a Dialogflow Human Handoff
What is Dialogflow
Ever since Facebook announced bot integration on it's Facebook Messenger platform, the idea of using bots to talk to humans has gained traction. At the same time, the use of messaging apps has become more prevalent among businesses for messenger marketing and messenger customer support.
The most popular tools for the messenger marketing have been bot builders like Chat Fuel & ManyChat. These tools work decently for high volume, low margin marketing efforts but aren't exactly suave conversationalists. They present users with clickable buttons in a messenger, and that's about it.
Dialogflow
That is where Dialogflow comes in. Dialogflow is a Natural Language Processor (NLP). Although Dialogflow can give users options to click, like other bot builders, the true beauty of the tool is that a Dialogflow Chatbot can recognize natural language and decide how to respond to the human using Artificial Intelligence.
Dialogflow allows you to create a series of responses, then add training phrases to these responses. So when a user sends a message, Dialogflow uses machine learning to process the text sent, decide which response is the best match, and sends the response. Each of these responses are called intents.
The Basics: Dialogflow Intents
The buildings blocks of a Dialogflow agent are intents. Each intent contains training phrases and a response. Think about each Dialogflow intent as an answer your bot can deliver. If you want to build a Dialoglow chatbot that can give seven different answers, you're going to need seven intents.
Dialogflow Intent: Training Phrases & Responses
To trigger a response, the user is going to have to send a message that is close to one of the training phrases you have entered. This is where artificial intelligence and machine learning come in. Because the message sent doesn't have to be an exact match. Dialogflow will check in real time if the message the user sends is similar to any of the training phrases you have created. If it matches closely, Dialogflow sends the response to the user.
Advanced Dialogflow: Entities and Fulfilment
You might be thinking. If I need seven different intents for seven different answers, I'm going to need hundreds of intents to build the chatbot I am thinking of. This is where Dialogflow Entities & Dialogflow Fulfilment come into play.
Dialogflow Entities
Dialogflow Entities allow you to recognize and pick out key pieces of information, data like colors, cities, product names, and more. So if your bot is asking a person about their favorite color, you're won't need to create a dozen intents to recognize a dozen colors, you'll need one.
Dialogflow Entities
How is that possible? Dialogflow has built-in system entities to recognize the most common items like countries, phone numbers, emails, etc. If you want Dialogflow to recognize your product names, you'll be able to create a list of custom entities.
Using custom entities, you'll be able to create one intent that recognizes that a user is asking about the price of a product, and you'll know which product they're asking about. The question then becomes, where do you put the response? There is no place in responses to add different answers for different entities. This is where Fulfilment comes in.
Dialogflow Fulfillment
Dialogflow Fulfillment enables you to connect a service to your Dialogflow agent to does things like retrieve dynamic responses or trigger an action in your ERP.
Dialogflow Fulfilment Webhook
To enable Dialogflow Fulfillment, you'll need to connect your service using a webhook and activate fulfillment for the intents that require it. The fulfillment logic should be built in the service you connect.
Intent Fulfilment
Dialogflow is a very powerful tool. You might even be thinking, what do I need Rocketbots for?
Why You Need A Dialogflow CRM
Dialogflow is an extremely powerful Natural Language Processor (NLP), that is where it excels. Creating an interface for business is where it lets you down. Dialogflow does not provide:
- a conversation history
- a way to save user information
- a way to hand over a conversation to a human
- or a way of showing your clients how well your bot is performing.
In short, Dialogflow sees users, but businesses want to know about their contacts.
Dialogflow Training
Dialogflow allows you to see conversations history on the Training screen. The Training screen is optimized to a chatbot. This is where you can let the agent know if the responses it delivered were correct or incorrect, and if the entities were extracted correctly.
Dialogflow Training
Training is a fantastic feature, but it doesn't give much information about the conversations of any individual contact because the chats are anonymous and session based. From the training screen, you won't be able to tell if it is the same contact that had ten different conversations or ten contacts that had ten conversations.
Dialogflow History
Dialogflow also provides a history screen. The history screen is a slight improvement over training. It can show sessions filtered by dates and displays the responses that were sent instead of the intent that was activated as the Training screen does.
Dialogflow History
Once again, this information is sessions based and anonymous, so there is no way of knowing which contact the agent was having a conversation with.
Dialogflow Analytics
Dialogflow Analytics are designed to provide information in aggregate. You'll be able to find out the number of sessions and queries, the most popular intents and the session flow all for a given period of time.
Dialogflow Analytics
These figures are a little better to show a client. However, the essential items remain unfulfilled. There is no way to see a single users chat history, no way to turn users into contacts by collecting and saving information about them and no way to message a user back if the bot fails.
In the next few sections, we'll be going over strategies and integrations that make it easier to fit a Dialogflow agent into your business activities by using Rocketbots as a Dialogflow CRM.
Using Rocketbots as a Dialogflow CRM
The way you use you configure Rocketbots and Dialogflow is going to depend on what you would like Dialogflow to do for you. In the next few sections we're going to how to best connect Dialogflow, your channels and your integrations.
Then we will present a few very simple use cases for Dialogflow and finally we will discuss how to set up an advanced agent that can handle tons of queries, capture information about contacts, record that information and hand off to a human when the Dialogflow agent cannot handle the query.
The Setup: Connecting Dialogflow, Messaging Apps and Integrations with Rocketbots
Rocketbots is designed to be at the center of your chatbot infrastructure. Once you've created your Rocketbots account, you can connect Dialogflow, messaging channels, as well as Chatbase & Zapier integrations.
Rocketbots Dialogflow CRM
Dialogflow CRM Setup: Connecting Dialogflow to Rocketbots
To set up a Dialogflow CRM infrastructure, connect Dialogflow to the Rocketbots Space first. To connect Dialogflow, retrieve the Dialogflow Integration JSON file from the Dialogflow Console, then upload it to your Rocketbots Space. Here is a step by step guide:
To navigate to your service account open settings in the Dialogflow console > click the service account link.
Navigating To The Dialogflow Service Account
To create the JSON key, find the Dialogflow Integrations row in the service accounts table > open the action menu > click Create key.
Creating a Dialogflow Service Account Key
Then choose the JSON key type > press Create.
Creating a Dialogflow Service Account Key
To upload the key to Rocketbots navigate to Settings > Connect Dialogflow.
Uploading The Dialogflow Service Account Key To Rocketbots
Then drag and drop the JSON key.
Uploading The Dialogflow Service Account Key To Rocketbots
Congrats, the Rocketbots Space is now connected to your Dialogflow Agent.
Pro Tip: You can use the Rocketbots Space to test your Dialogflow agents, automations and surveys by simulating a conversation in the messaging module.
Simulating a Conversation on Rocketbots
Dialogflow CRM Setup: Connecting Messaging Channels
The next step in setting up a Dialogflow CRM is to connect messaging channels. Once the messaging channels are connected, users will be able to chat with the connected Dialogflow Agent, a contact will be created for every user that chats and their chat history will be saved under their contact details. Below we've listed the channels we support and directed you to the relevant documentation for connecting each channel.
To Integrate Dialogflow With A Website through Rocketbots, use our Web Chat widget. Since there is no Web Chat option provided directly by Dialogflow, we created a Dialogflow website integration of our own by providing a web chat to our users. Docs are available here.
To Connect Facebook Messenger check out our Facebook Messenger docs here. Although there is a direct Dialogflow Facebook Messenger integration, you'll want to connect through Rocketbots to see your chat history. To connect to Facebook Messenger you'll need a Facebook page, you can check out our guide on creating a Facebook page here.
To Connect WhatsApp choose between two of our Dialogflow Integrations with WhatsApp. Each works a little differently. Please review both Dialogflow WhatsApp integration options, Chat API, and Twilio WhatsApp before proceeding.
To Connect WeChat check out our WeChat docs here. To use our Dialogflow WeChat integration, you'll need a WeChat Official Account. You can check out our guide to creating a WeChat Official Account here.
To Connect LINE check out our LINE docs here. To use our Dialogflow LINE integration, you'll need a LINE Official Account. You can check out our guide to creating a LINE Official Account here.
To Connect Telegram check out our Telegram docs here. To use our Dialogflow Telegram integration, you'll need a Telegram Bot. You can check out our guide to creating a Telegram Bot here.
To Connect Viber check out our Viber docs here. To use our Dialogflow Viber integration, you'll need a Viber Bot. You can check out our guide to creating a Viber Bot here.
To Connect Skype check out our Skype docs here.
To Connect SMS check out our Twilio SMS docs here. To use our Dialogflow Twilio integration, you'll need to buy a number on the Twilio platform.
To Connect Twitter DM check out our Twitter docs here. To use our Dialogflow Twitter DM integration, you'll need to set up an app on Twitter. There are detailed instructions in the docs.
To Connect Slack check out our Slack docs here. To use our Dialogflow Slack integration, you'll need to set up an app on Slack. There are detailed instructions in the docs.
Phew, that was a lot of channels
Now that your messaging channels are connected let's connect some additional integrations that will help to improve your agent and move the data you collect to an outside CRM.
Dialogflow CRM Setup: Chatbase & Zapier Integrations
Although you could stop with channels, Chatbase and Zapier will power up your Dialogflow agent even more.
With Chatbase, you'll be able to see in-depth analytics regarding your Dialogflow agent sessions flow. It's a fantastic tool to help improve your agent over time.
With Zapier, you'll be able to push data you collect about contacts in Rocketbots to an outside CRM with simple one-click integrations.
Dialogflow CRM Setup: Connecting Chatbase to Rocketbots
We're not sure why there isn't a one-click Dialogflow Chatbase integration as both are Google products ¯_(ツ)_/¯. So we made a straightforward integration ourselves. To connect Chatbase, you'll need to create an account, create a bot on Chatbase, and copy the API key to your Rocketbots space.
To create a bot on Chatbase create an account on Chatbase then press add new bot.
Creating A Bot On Chatbase
Then fill in the information required by Chatbase.
Keep in mind the reporting paths for sites feature will be deprecated by Chatbase, so Rocketbots does not currently support it.
Creating A Bot On Chatbase
To retrieve the API key press continue and it will become available on the next screen.
Retrieving The API Key From Chatbase
To paste the API key navigate to Settings > Chatbase > Connect.
Adding The Chatbase API Key To Rocketbots
Then paste the key > Connect.
Adding The Chatbase API Key To Rocketbots
Congrats, you've just completed your Dialogflow Chatbase integration via Rocketbots.
Now you'll be able to see a detailed set of aggregate analytics about your Dialogflow Agent, similar to the Analytics that can be found on Google Analytics.
Sample Chatbase Analytics
Now that you've mastered the art of Dialogflow Agent aggregate analytics time to zoom in to contact data.
Dialogflow CRM Setup: Connecting Zapier to Rocketbots
The beauty of chat, whether with automation or live chat, is that you can collect a fair amount of data about your contacts over time. At some point, you'll want to move that data to another system. Since there is no Dialogflow Zapier integration, we created a Zapier integration with Rocketbots.
To connect Rocketbots to Zapier, you'll need to create a Zap.
To create a Zap log in to your Zapier account > then use our early access link to find the Rocketbots app on Zapier.
Then select a trigger.
Selecting a Trigger
The New Contact trigger will pass the information to Zapier when a new contact is created. The New or Updated Custom Field trigger will pass information to Zapier every time a value in the custom field of your choice is changed or added.
Now that you've selected your trigger you'll need to connect Zapier to your Rocketbots account.
To retrieve the Zapier integration token from your Rocketbots Space navigate to Settings > Integrations > Zapier > Connect.
Retrieving the Zapier Token
Then paste the token > press Yes, Continue.
Pasting the Zapier Token
If you've selected the new or updated custom field trigger, you can select additional data to be passed. Along with the value of the updated custom field, you can pass data from other custom fields and tags.
To select additional fields chose them from the dropdown.
Selecting Additional Fields
Done, now you can create the Zap action. The action will determine the service you pass the data to and how the data is passed.
If you've got any questions our Zapier integration documentation here.
Now that you've got you're Dialogflow CRM set up it's time the explore different use cases and the magic you can create with them.
5 Simple Ways To Use Rocketbots with Dialogflow Integration
We've always wondered why Dialogflow hasn't considered business needs like the need to know, understand, and further interact with customers or even be alerted when something goes wrong. Here are five simple ways to increase the power of your customer chats with Rocketbots and Dialogflow:
- Use Dialogflow To Automatically Tag Contacts
- Send a Dialogflow Broadcast
- Unsubscribe Dialogflow Contacts from Broadcasts
- Create Custom Dialogflow Notifications
1 Record, Attribute & Export Dialogflow History with Rocketbots
The first time we fired up Dialogflow, back in the API.AI days, we noticed even if we built the best chatbot ever, it would be nearly impossible to show a client the success we had achieved. Furthermore, it would be even more difficult to explain when something went wrong.
The critical question was, how can we provide clients with Dialogflow agent performance transparency? It's easy with Rocketbots. Create a space, connect Dialogflow, then connect the clients messaging app business accounts.
With Rocketbots connected, there is no need for a Dialogflow export history function.
Rocketbots Attributes Dialogflow Chat History
With our Dialogflow & messaging app integrations, the entire Dialogflow chat history is recorded and attributed to the relevant contact. All you need to do is invite your clients to the platform.
Since all our plans have unlimited users, and the Dialogflow integration included, creating transparency for clients is as easy as a few clicks.
To invite your clients navigate to Settings > Users > Add User.
Adding A User To Rocketbots
Then chose their access level.
Adding A User To Rocketbots
That's all, now that you've created a user account for your client, there is no longer a need to export Dialogflow chat history. Now your client can access any conversation your Dialogflow agent has had with the user and even know which contact they had the conversation with.
2 Use Dialogflow To Automatically Tag Contacts
Now it's one thing to allow your client to sift through all the conversations, but that takes a long time, especially if you have a successful Dialogflow agent. Wouldn't it be fantastic if you could automatically add tags to contacts based on their interests?
With Dialogflow Developer Entities & Rocketbots Dialogflow Parameters, you can do just that.
To create Dialogflow Develop Entities navigate to the Dialogflow Console > Entities > +.
Creating Custom Entities
I've used custom entities to list the cars that my dealership client sells. Now let's create an intent with relevant training phrases.
Creating Training Phrases With Custom Entities
I've added some training phrases and annotated my entities. Now, I'll use the RB_ADDTAGSto send that tag in Rocketbots.
Adding A Rockebots Tagging Parameter to Dialogflow
Now, let's test our conversation.
Testing the Conversations
It's as simple as that. If a contact chats about one of the products, a tag will be added to their profile in Rocketbots. Enabling your client to receive robust contact interest analytics on the Rocketbots dashboard, something that can't be done with Dialogflow Analytics.
One last thing, if you don't want to use Dialogflow Developer Entities, simple tags can be used as below.
Sending Two Tags from Dialogflow to Rocketbots
In this case, two tags will be added to your Rocketbots contact: BMW X5 & Pricing.
Now that your chatbot client is automatically tagging their contacts based on product interests, wouldn't it be great if you could send mass messages to contacts based on their tagged interests?
3 Send a Dialogflow Broadcast
You've used Dialogflow to tag all your contacts with their product interests, now wouldn't it be great if you could send mass messages to contacts tagged with BMW X5? Too bad Dialogflow Broadcasts don't exist. Rocketbots to the rescue, send the broadcast from Rocketbots.
To send a broadcast navigate to the Broadcast Module > Add Broadcast > fill in your broadcast preferences.
Sending a Broadcast
Using a Rocketbots broadcast, you'll reengage the users tagged by your Dialogflow agent. This way, you can send contact that is specifically tailored to encourage that contact segment to respond.
The broadcast content builder allows a message which includes text, images, files, multiple choice questions, or even surveys. To learn more about the capabilities of chat broadcasts on Rocketbots, check out our broadcast documentation.
4 Unsubscribe Dialogflow Contacts from Broadcasts
Now that you have a way to create Dialogflow Broadcasts you'll want to manage the user experience of your contacts. Even though you're sending perfectly targeted messages to small groups of contacts, some users will still want to stop receiving broadcasts, and they will type "STOP".
We've created an easy way for you to make sure these users never receive another broadcast using the Subscription Parameter. The Subscription Parameter allows you to unsubscribe a Rocketbots contact from all future broadcasts.
To use the Subscription Parameter navigate to the Dialogflow Console > open a Dialogflow Intent > add "STOP" to your training phrases > add RB_SUBSCRIBE to Dialogflow Parameters > set the value to false.
Using The Subscription Parameter to Unsubscribe Contacts from Broadcasts
Once the contact has sent "STOP" they will be unsubscribed from all broadcasts, but they will still be able to converse with the Dialogflow Agent.
Here's a tip. Create a custom field for subscription status, so you can check if a contact has unsubscribed. Alternatively, you can create a custom notification to notify you when someone unsubscribes.
5 Create Custom Dialogflow Notifications
A very successful Dialogflow Agent will have hundreds or thousands of contacts chatting daily. In some situations, you'll want to be alerted when an intent is triggered. A contact completely unsubscribing from broadcasts could be one of these cases.
Using the Notification Parameter, you can send a notification to the Rocketbots Platform with a specific message.
To create a custom Dialogflow Notification navigate to the Dialogflow Console > open a Dialogflow Intent > add RB_NOTIFY to Dialogflow Parameters > set the value to the notification you want to send.
Creating Custom Notifications
When creating a notification message, you can use dynamic variables to send the contacts name, phone, email, and other custom fields you create in the Rocketbots platform.
We've covered a few simple ways to power up your business messaging with Dialogflow and Rocketbots.
Now, let's see how a fully fledged hybrid human + AI sales and support business messaging system would look like with Dialogflow and Rocketbots CRM.
Build Hybrid Human + AI Sales & Support Messaging Using Rocketbots as A Dialogflow CRM
Building reliable hybrid human + AI sales & support business messaging involves a few moving parts, including humans. In the next section, we'll describe how to get everything working well together by exploring a car dealership user case.
We'll show you how to reliably onboard contacts, guide them, achieve a human handoff to a clients staff member:
- Use Rocketbots Automations to Onboard New Contacts
- Handling FAQs & Using Rocketbots As A Dialogflow CMS
- Fallbacks & Building a Dialogflow Human Handoff
1 Use Rocketbots Automations to Onboard New Contacts
We've tried building contact onboarding using Dialogflow before, and everything works well when using a simple greeting message. However, when collecting data, it's simpler to make a rules-based automation on Rocketbots.
You can build an onboarding conversation in Rocketbots by creating a survey to collect email and phone. Then create an automation to trigger the survey for every new contact.
To create the onboarding questions navigate to Surveys > Add Survey > add the questions.
Creating an Onboarding Survey
We've created a simple survey asking a contact for their email, phone number, and set them to be collected in the relevant field. Now, let's automatically send the survey to every new contact.
To automate the onboarding survey navigate to Automations > Add Rule > use Conversation Start as a Trigger > add 3 Actions: send message, send survey, and send message.
Creating An Automation
Above, we've created an automation rule that helps with a few things. First, it will welcome the contact with a greeting. Then it will serve the survey to the contact. Lastly, it will give them a multiple choice question.
We've left the last part as multiple choice (instead of survey) because we don't need to collect the data nor force them to answer the question. We want the answer to the multiple choice question to be sent to Dialogflow.
If the contact clicks show me cars or service appointment, they will trigger the appropriate intent. These types of questions are the perfect opportunity to use Dialogflow Fulfilment to reach our to an outside service and bring back a carousel of cars or allow the contact to book an appointment.
Let's say the contact doesn't cooperate and asks a question instead. Let's say it's a FAQ too. What's the best way to handle it when using Rockebots as a Dialogflow CRM.
2 Handling FAQs & Using Rocketbots As A Dialogflow CMS
If you're familiar with Dialogflow, you've probably used it to answer frequently asked questions. Remember, every time a contact sends a new message, Rocketbots will automatically mark that contact as pending until a human, an automation or Dialogflow marks the contact done.
To mark a contact as done from Dialogflow navigate to the Dialogflow Console > open the intent > add RB_MARKDONE to Parameter > set the value to false.
Marking Contacts As Done
To keep contacts organized in Rocketbots add the Marked Done Parameter to the intents which successfully answer contact questions. That way, contacts who have been successfully answered not to pollute the pending list.
Another benefit of using Rocketbots as a Dialogflow CRM is the ability to have a simple Dialogflow CMS. When building a Dialogflow Agent for a client you'll want your client to be able to change the response for some intents. This can be achieved by creating a Snippet in Rockebots, then using the Snippet Parameter in Dialogflow.
To create a snippet in Dialogflow navigate to Snippets > Add Snippets > create the Snippet > save > then copy the Snippet ID from the Snippet table.
Creating a Snippet
Each Snippet you create has a permanent ID but Rocketbots users with the manager access level can change the message it delivers. If your client needs to change the opening hours they are sending to users, they can do so from the Snippets module.
For a Dialogflow Intent to send this Snippet you'll need to add the Snippet ID as a parameter.
To add the Snippet Parameter and ID navigate to the Dialogflow Console > open an intent > add RB_SNIPPET to the Parameter > set the value to the Snippet ID.
Adding Snippet ID to a Dialogflow Intent
Excellent, now you've got yourself a miniature Dialogflow CMS where you can edit the Dialogflow Agent for your client, and they can change responses when needed.
3 Fallbacks & Building a Dialogflow Human Handoff
Initiating a Dialogflow human handoff is quite easy when using Rocketbots. If you want to build a human handover you'll need to add a talk to human prompt in fallback. Then build a talk to human intent using the Bot Status and Notification Parameters.
To create a talk to human prompt navigate to the Dialogflow Console > open the Fallback Intent > add talk to human as a quick reply in the response.
Adding a Talk to Human prompt in the Fallback Intent
Once you've added this prompt to your fallback Intent, create an intent where the handover can happen. The Intent should include Talk to Human in the training phrases and contain your Bot Status and Notification Parameters.
To add Bot Status & Notification Parameters navigate to Dialogflow Console > open the Intent> Add RB_BOTSTATUS to Parameters with false as the value > Add RB_NOTIFY to Parameters with the desired notification message as the value.
Creating The Handoff Intent
It's best to add a response to this intent that tells the contact what is going on. Something like, someone will be right with you. Once this intent is triggered, a notification will be sent to platform users in the dashboard and as an email notification.
Handoff Notification
Once the platform user has been notified and helped the contact, they can turn the bot on again from the messaging module.
Phew, we're finished. Using the techniques described in this post, you'll be able to build a fantastic agent with Dialogflow Human Handoff capabilities.
How To Use Rocketbots As A Dialogflow CRM的更多相关文章
- 聊天机器人開發好消息!!DIALOGFLOW與微信的天作之合!!
虽然DIALOGFLOW暂未能够与微信(WECHAT)或企业微信(ENTERPRISE WECHAT)进行任何技制上的连接INTERGRATION),确实限制了我们这些聊天机器人开发者的创作空间,因为 ...
- SaaS的先鋒:多合一讯息处理器
在Rocketbots,我们的使命是改善企业与客户之间的关係.全球有超过40亿个消息传递帐户,人们花在上线对话的时间比任何其他活动都多.这种转变,创造了一个更高效及贴身的沟通.随著消费者越来越多要求, ...
- Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...
- SAP CRM 性能小技巧
导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- SAP CRM 用户界面对象类型和设计对象
在CRM中的用户界面对象类型的帮助下,我们可以做这些工作: 进行不同的视图配置 创建动态导航 从设计层控制字段标签.值帮助 控制BOL对象的属性的可视性 从导航栏访问自定义组件 一个用户界面对象类型之 ...
- SAP CRM 显示消息/在消息中进行导航
向用户展示消息,在任何软件中都是十分重要的. 在SAP CRM WEB UI中展示消息,不是一项很难的任务,只需要创建消息并在之后调用方法来显示它 消息类和消息号: 我在SE91中创建了如下的消息类和 ...
- Dynamics CRM 2015-Data Encryption激活报错
在CRM的日常开发中,Data Encryption经常是不得不开启的一个功能.但是有时,我们可能遇到一种情况,Organization导入之后,查看Data Encryption是已激活的状态,但是 ...
- SAP CRM 客户控制器与数据绑定
当用户从视图离开时,视图将失去它的数据.解决这个问题,需要引入客户控制器(Custom Controller)(译者注:SAP CRM客户端中,不同地方的Custom Controller会翻译为“客 ...
随机推荐
- Dijkstra算法和Floyd算法
一.简介 迪杰斯特拉(Dijkstra)算法和弗洛伊德(Flyod)算法均是用于求解有向图或无向图从一点到另外一个点最短路径. 二.Dijkstra 迪杰斯特拉算法也是图论中的明星算法,主要是其采用的 ...
- 码云 VS首次提交代码报错:failed to push some refs to 'https://gitee.com/Liu_Cabbage/ASP.NET-MVC-QQ-Connect.git'
打开命令提示符: 执行合并命令: git pull --rebase origin master 最后总结: 1.多为第一次提交代码,本地和码云仓库不一致,README.md文件不在本地代码目录中 2 ...
- GDI+ 实例:绘制验证码
一.概述 一般处理程序 ashx :它没有服务器控件,用response输出什么就是什么. 生成验证码原理:产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与 ...
- Django传递数据给JS
这里讲述两种方法: 一,页面加载完成后,在页面上操作,在页面上通过 ajax 方法得到新的数据(再向服务器发送一次请求)并显示在网页上,这种情况适用于页面不刷新的情况下,动态加载一些内容.比如用户输入 ...
- CF1156E Special Segments of Permutation
思路:笛卡尔树?(好像并不一定要建出来,但是可以更好理解) 提交:2次 错因:没有判左右儿子是否为空来回溯导致它T了 题解: 建出笛卡尔树,考虑如何计算答案: 先预处理每一个值出现的位置 \(pos[ ...
- 「LOJ 121」「离线可过」动态图连通性「按时间分治 」「并查集」
题意 你要维护一张\(n\)个点的无向简单图.你被要求执行\(m\)条操作,加入删除一条边及查询两个点是否连通. 0:加入一条边.保证它不存在. 1:删除一条边.保证它存在. 2:查询两个点是否联通. ...
- trie树的应用;
链接:https://ac.nowcoder.com/acm/contest/920/B来源:牛客网 定义一张图的生成链是原图的一棵生成树,且这棵树退化成一条链.我们称一条生成链是原图的最小生成链,当 ...
- c++ 排序,<< 运算符重载
#include <iostream> #include <functional> #include <list> using namespace std; ost ...
- Python学习日记(九)—— 模块二(logging、json&pickle、xml、requests、configparser、shutil、subprocess)
logging模块 用于便捷记录日志且线程安全的模块(便捷的写文件的模块,不允许多个人同时操作文件) 1.单文件日志 import logging logging.basicConfig(filena ...
- JAVA基础知识|类设计技巧
1.一定要保证数据私有 2.一定要对数据初始化 3.不要再类中使用过多的基本类型 4.不是所有的域都需要独立的域访问器和域更改器 5.将职责过多的类进行分解 6.类名和方法名要能够体现它们的职责 7. ...