Professional Documents
Culture Documents
Aichatbot Rccreations Usermanual
Aichatbot Rccreations Usermanual
Aichatbot Rccreations Usermanual
Implementation
User Manual
Rakesh Chintha
Table of Contents
1. Introduction
2. Software Requirements
3. Installing and Setting up all the required software.
a. Setting up Python 2.5
b. Setting up Net Beans IDE
c. Setting up Adobe Flex/Flash Builder
d. Setting up PyAIML
e. Setting up PyAMF
4. Sugar CRM Server Source Code Explanation/Documentation
5. Sugar CRM Client Source Code Explanation/Documentation
6. Generate AIML Source Code Explanation/Documentation
Appendix:
Sugar CRM FAQ
3
3
3
4
6
7
8
8
9
10
12
Page 2
1. Introduction
This is a simple user manual which explains in detail about the necessary software setup and
configuration required for the development, execution and deployment of the chatbot. The AI
chatbot developed here is specifically to address questions posed on Sugar CRM which is a
software for customer relationship management system. All the necessary software used in this
project will be briefly described and also some notes on how to set them up. At the end of this
document, in the appendix, the documentation and necessary notes for the source code developed
in this project will be provided. The source code used in the project is hosted at Google Code and
can be accessed at the URL: https://code.google.com/p/aichatbot-rccreations/.
2. Software Requirements
The following are the different software used in this project.
a)
b)
c)
d)
e)
f)
Python 2.5
Net Beans IDE.
Adobe Flex/Flash Builder with SDK.
PyAIML
PyAMF
Some SVN Tool for source code checkout.
This manual assumes the user would intend to setup the software on a Windows x86 based
machine.
3. Installing / Setting up all the required software.
This section explains you in detail about how to setup the necessary software.
a. Setting up Python 2.5
Python is a high-level object-oriented programming language with a vast library. The Sugar
CRM Bot server code for this project is developed completely using Python 2.5
It is freely available from the Python Software Foundation.
Download and Install Python 2.5.4:
1.
2.
3.
4.
5.
6.
Go to www.python.org/download/releases/2.5.4/
Scroll down and pick python-2.5.4.msi.
Save the installer. When it is downloaded, run it.
On the first installer screen select "install for all users". Click next.
Select where you want python to be installed. If the default is fine, click next.
In the Customization screen, click on the python drop down box at the top of the tree, and
select "Entire feature will be installed on local hard-drive". Click next.
7. Click finish.
Page 3
Page 4
The following steps will guide you through the process of configuring your Python 2.5 SDK
platform with the Net Beans.
After you launch the Net Beans software you see the following screen,
As shown in the screenshot above, click on Tools from the top menu. The you will see a pop
up window as shown in the below screenshot,
In the above screenshot, you can see the list of Python SDKs (on the left) which were already
configured with the Net Beans software.
Page 5
But if you were to add a new Python SDK, just click on New Button as shown in the above
screenshot. That will pop up a file browser. Using that you need to select the Python SDK
executable. If you have installed Python 2.5.4 using default options, then your required
executable will be at location C:\Python25\python.exe. If you have customized your Python 2.5.4
installation, then you need to locate your Python executable under the directory to which you
installed.
Also you can control your Python path from the Python Platform Manager. You can add, remove
your desired classes to your Python path.
After having that your Net Beans software is all set for the Python development.
c. Setting up Adobe Flex/Flash Builder.
Adobe Flex Builder is a commercial software released by Adobe Systems for the rapid
development and deployment of rich internet web applications. The software is freely available
only to the students and faculty. To get a free copy, you need to fill a form at
https://freeriatools.adobe.com/flex/ confirming that you are a student/faculty. Then Adobe
Systems Inc will send you an email with the serial key which is exclusively for your personal
use. If you have a valid serial key for Adobe Flex Builder 3.0, you can request a serial key for
Adobe Flash Builder 2 Beta which is the current version.
Page 6
The following steps will guide you through the installation of the Adobe Flex Builder 3.0
software.
The default location of the installation directory for Flex Builder standalone is C:\Program
Files\Adobe\Flex Builder 3.
1. Log in as the Windows Administrator or as a computer administrator (a user account with
administrator privileges).
Note: If you attempt to install without administrator privileges, the installation will
complete with flagged issues. However, you will have installed an incomplete version of
Flex Builder that you will not be able to run.
2.
3.
4.
5.
Page 7
If you have multiple Python SDK installations on your machine, the installer asks you to select
your desired Python SDK to which you want to add PyAIML library.
e. Setting up PyAMF
As you are using Adobe Flex for the front end development in this project, you need to make it
understand the back end Python and for that you need to include PyAMF to your Python
installation. It can be download for free at http://pyamf.org/wiki/Download#LatestStableRelease
Step 1 Download and unpack the PyAMF archive of your choice:
tar zxfv PyAMF-<version>.tar.gz
cd PyAMF-<version>
Step 2 Run the Python-typical setup at the top of the source directory from a command-prompt:
python setup.py install
This will byte-compile the Python source code and install it in the site-packages directory of
your Python installation.
To disable the installation of the C-extension, supply the --disable-ext option:
python setup.py install --disable-ext
f. Setting up PyAMF
You will need some SVN tool to checkout the source code from the project repository at Google
Code. If you already use some SVN tool you can proceed with a following command.
svn checkout http://aichatbot-rccreations.googlecode.com/svn/trunk/
aichatbot-rccreations-read-only
Using the above command, you would only be able to download and evaluate or make changes
to the source code but you would not be allowed to commit any changes to the existing project
repository. If you plan to do so, you can email me at rchintha@uh.edu
If you have to download an SVN tool, Tortoise SVN (http://tortoisesvn.net/) would be a good
recommendation.
4. Sugar CRM Server Source Code Explanation
In the CD provided with this user manual, please check the folder SugarCRMServer for the
Python based Sugar CRM server source code with the name server.py
Page 8
def echo(data)
This is a simple method which is exposed as a service to the WSGI application. This method
simply takes the user input as the argument and returns the same as the response. This method
has no significance for the application. But it can be used for the testing purposes.
def bot(data)
This is the core method which incorporates the functionality of the Bot and is exposed as a Bot
Service to the WSGI application. This method makes use of PyAIML and interacts with AIML
knowledgebase and gets the response which is appropriate to the question asked by the user.
5. Sugar CRM Client Source Code Explanation
In the CD provided with this user manual, please check the folder SugarCRMWeb for the
Adobe Flex based Sugar CRM client source code with the name SugarBotv2.mxml It produces a
GUI that runs in a web browser. Some of the action handler methods in this code are explained
briefly below,
private function sendButton_clickHandler(event:MouseEvent):void
This is an action handler method for the Button object with id: sendButton. This method gets
called whenever the sendButton gets activated using a mouse-click event. The method access
modifier is the default private option. The method does not return anything.
It creates a gateway connection object and invokes it to connect to localhost on port 8000. It then
makes a call to the 'bot' service which is running on the Python based server and transfers control
to the responder object which specifies what to do when there is a desired result.
private function onResult( result:* ): void
Page 9
This method is called when there is a result for the question asked by the user.
private function onFault( error:* ): void
This method is called when there is a fault/error while connecting to the bot service or the
gateway object is unable to receive the response from the server. It provides and alert notification
to the user and specifies him the error description.
6. Generate AIML Source Code Explanation
Apart from the server and client, source code for automatic generation AIML tool which is done
in Java is also provided in the CD. Check for the folder GenerateAIML. You will find a file
names GenerateAIML.java.
This java program provides you with a simple graphical user interface with simple features to
create and edit AIML files automatically.
private void newAIMLButtonActionPerformed(java.awt.event.ActionEvent evt)
This method is the action handler for newAIMLButton. It provides you an interface to let you
generate a new AIML file.
private void editAIMLButtonActionPerformed(java.awt.event.ActionEvent evt)
This method is the action handler for editAIMLButton. It provides you an interface to browse
and select the already existing AIML files for editing.
private void categoryButtonActionPerformed(java.awt.event.ActionEvent evt)
This method is the action handler for categoryButton. It provides you with an interface to
generate forwarding <srai> operators automatically for the desired pattern.
private void forwardingOperatorButtonActionPerformed(java.awt.event.ActionEvent evt)
This method is the action handler for categoryOperatorButton.
private void createNewFileButtonActionPerformed(java.awt.event.ActionEvent evt)
This method is action handler for createNewFileButton. This lets user to create the desired
AIML file with initial AIML formatting.
private void browseButtonActionPerformed(java.awt.event.ActionEvent evt)
This is action handler for browseButton. This lets user to select and edit the already existing
AIML file on the disk.
Page 10
Page 11
Page 12
Response:
If you did not receive any of these emails from SugarCRM, please first check your Junk
Mail folder. Then send an email to estore@sugarcrm.com requesting a copy of your
invoice or confirmation email.
Alternatives:
Page 13
Alternatives:
How do I update my Sugar On-Demand software
How do I manage updates for my Sugar On-Demand software
Help me through Sugar On-Demand software updates.
Response:
To see if your Sugar On-Demand software is up-to-date, you can visit the Sugar Updates
link in your Administration page. If your Sugar On-Demand software is on the current
major version, your software will be kept up-to-date with the latest patch version
available. Patch updates are usually applied within 3 business days of the patch's release
date.
8. Where do my team members get the Sugar Plugins?
Alternatives:
How do my team members access Sugar Plugins.
My team members want to access Sugar Plugins
I want to grant my team members access to Sugar Plugins.
Response:
If you are the user within your organization who made the purchase of Sugar products,
then you will be able to download Sugar Plug-ins from the SugarCRM Support Portal at
http://support.sugarcrm.com/. Only users that are associated to your organization's
download key will be able to download the Plug-ins. You can then distribute the Plug-ins
to other users in your organization, adhering to your licensed user count.
9. How do I get started with installing Sugar On-Site?
Alternatives:
I want to install Sugar On-Site
Help me through Sugar On-Site installation.
Response:
Login to Sugar CRM Portal.
Artificially Intelligent Chatbot Implementation User Manual
Page 14
Step 1 Log into Sugar as user with administrator privileges. All Sugar installations when
first created have a user named "admin".
Step 2 Click on the Admin link in the System Links in the top of your screen.
Step 3 Click on User Management
Step 4 Click on Create User
Step 5 Enter the new user information.
11. How do I migrate my data from my previous Sugar CRM system?
Alternatives:
I want to migrate data from my previous Sugar CRM system.
Help me through data migration from my previous Sugar CRM system.
How do I handle Sugar CRM data migration.
Help me migrating my data from my previous Sugar CRM system?
How do I transfer my data from my previous Sugar CRM system ?
I want to transfer data from my previous Sugar CRM system.
Help me through data tranfer from my previous Sugar CRM system.
How do I handle Sugar CRM data transfer.
Help me transferring my data from my previous Sugar CRM system?
Response:
Page 15
SugarCRM provides a variety of implementation services including data migration services from
a variety of CRM systems including SalesForce. Please contact your sales representative or
sales@sugarcrm.com for pricing information.
12. My download key is not working, who do I contact?
Alternatives:
My download key is not working.
There is some problem with my download key.
Response:
A download key is valid for one year from when it is first issued. Please contact
cagroup@sugarcrm.com to renew an expired download key.
13. How do I change my account information on Sugar account?
Alternatives:
I want to change email on my Sugar account
I want to change my password on my Sugar account
I want to change credentials on my Sugar account
Response:
Submit a support case through the online SugarCRM Support Portal. If you do not yet have
access to the Support Portal, please send an email to support@sugarcrm.com. Please be sure to
include your company name in your request.
14. Who do I contact for billing questions?
Alternatives:
I have a billing related question.
I have a question regarding billing.
Response:
For billing and payment questions, please contact the SugarCRM accounting department.
SugarCRM Inc.
10050 N. Wolfe Rd., Suite SW2-130
Cupertino, CA 95014 USA
Attn: Accounts Receivable
Phone: +1 408-454-6900
Fax: +1 408-608-1918 (Accounting Dept. fax number to receive confidential
information)
Email: accounting@sugarcrm.com
Page 16
Alternatives:
I want to order more subscriptions for Sugar CRM
I want to renew my Sugar CRM subscription.
Response:
To order additional subscriptions or renew your existing subscription, contact the Sugar sales
department at:
Phone: +1 408-792-6872
Email: cagroup@sugarcrm.com
There are three levels of support. Standard Support is included with every purchase of
Sugar Professional or Sugar Enterprise.
Standard Support includes web and email support with the ability to submit an
unlimited number of support cases.
Extended Support offers significantly faster response times compared to the standard
support, unlimited case management and access through phone service.
Premium Support offers SugarCRM's highest level of support, including access to our
in-house experts 24 x 7 x 365 for Priority 1 issues. Premium Support customers are
assigned a support representative as a single point of contact to manage SugarCRM
deployments from inception to roll-out to upgrade.
17. Who do I contact to upgrade to a different technical support level
Alternatives:
I want to upgrade technical support level.
How do I upgrade to a different tech support level.
Response:
To upgrade your support level, contact the SugarCRM Customer Advocate group:
Phone: +1 408-792-6872
Email: cagroup@sugarcrm.com
18. How do I contact Technical Support?
Page 17
Alternatives:
I want to contact Sugar Technical support.
How do I submit a case to Technical Support?
Response:
SugarCRM Support will help you with any installation and configuration questions you might
have. If you experience any problems, please contact us.
Sugar CRM portal is a collection of resources to help you maximize your experiences
with Sugar software. It includes features for submitting or viewing a case, access Sugar
University, discuss in Sugar forums, view documentation, download options for your
purchased software.
20. How do I get set up so that I can submit a case to support?
Alternatives:
How do I set up support authorized contacts.
Response:
Only Support Authorized Contacts are allowed to submit support cases to the Sugar Support
team.
Every SugarCRM customer is allowed up to two Support Authorized Contacts, except for
customers with Premium Support, which are allowed up to four.
To set up your Support Authorized Contacts, please send an email to support@sugarcrm.com
with the name, phone number, email address and SugarCRM.com userid of the person(s) you
wish to be your Support Authorized Contacts.
21. When do I submit a support case versus a bug report?
Alternatives:
What is the difference between support case and a bug report
Response:
When in doubt, submit a support case instead of a bug report. SugarCRM support representatives
can determine if your support case should result in a bug report, and will gladly file a bug report
on your behalf when appropriate.
Page 18
Alternatives:
What are support authorized contacts?
Who are support authorized contacts ?
Response:
A support authorized contact is an individual designated to work with SugarCRM Support.
Authorized contacts will receive notifications of new product releases, and will be granted access
to the Support Portal.
An authorized contact can be a technical systems administrator, or a business owner of the
system. An authorized contact should serve as triage for your organization's end users.
23. How many support authorized contacts should Sugar CRM have on file for my
organization?
Alternatives:
What is the maximum number of support authorized contacts that I can add on my
account?
Response:
Your organization's quantity of support authorized contacts will depend on your support
service level.
Sugar Network: 1 authorized contact
Standard Support: 2 authorized contacts
Extended Support: 2 authorized contacts
Premium Support: 4 authorized contacts
24. How do I add more Support Authorized Contacts to my account?
Alternatives:
I want to add additional support authorized contacts to my account
How do I have extra support authorized contacts on my account.
How can I have more support authorized contacts on my account.
Response:
Your additional authorized contacts should first create a SugarCRM.com user name.
Once they have created a SugarCRM.com user name, you can then submit a case through the
SugarCRM Support Portal, requesting the additional authorized contacts.
Page 19
Alternatives:
I want to create a new Sugar CRM username
I want to create a new Sugar CRM user to my account.
Response:
Register for a new SugarCRM.com account.
Once you complete the registration form, an email will be sent to you, asking you to activate your
account. Only after your account has been activated will you be able to use your SugarCRM.com
name.
If you did not receive an activation email from SugarCRM, please first check your Junk Mail
folder.
If you still cannot locate the activation, please contact our Support organization at
support@sugarcrm.com for a SugarCRM.com account activation.
26. What is a Sugar Learning Credit and what are its benefits?
Alternatives:
What are Sugar Learning Credits
What are benefits of Sugar Learning Credits
Response:
Sugar Learning Credits (SLC) provide an easy and convenient way for your company to
purchase training for your employees, minimize administrative paperwork, enable easy
tracking of employee usage and ensure that you receive a discount for buying learning
sessions in bulk.
27. How much do Sugar Learning Credits cost?
Alternatives:
What is the cost of Sugar Learning Credits
How much can I get Sugar Learning Credits for ?
Response:
Sugar Learning Credits cost $30 per credit, less any discount, if applicable. If you buy
50-99 credits, each credit will cost you $28.50 and if you buy over 100 credits, each
credit will cost you $27.
28. Where can I purchase Sugar Learning Credits?
Alternatives:
Page 20
Go to http://support.sugarcrm.com
Click View Orders
Select the Order number from the column
Enter this number into the Learning Session registration page.
30. How long are Sugar Learning Credits valid for?
Alternatives:
When will Sugar Learning Credits expire?
What is the validity for Sugar Learning Credits ?
Response:
Sugar Learning Credits are valid for one year from the date of purchase, unless otherwise
specified.
31. Who may use Sugar Learning Credits to attend Sugar University learning sessions?
Alternatives:
Who can use Sugar Learning Credits
Response:
Anyone that is given access to the Sugar Learning Credit Order number for your
company may use it to register for Sugar University learning sessions.
Page 21
Alternatives:
Is it possible to share Sugar Learning Credits
Response:
Yes, anyone that is given access to the Sugar Learning Credit Order number for your company
may use it to register for Sugar University learning sessions.
33. What happens at the end of the one year period for the Sugar Learning Credits if I still
have credits that have not been used?
Alternatives:
What happens to the Sugar Learning Credits that I have not used.
Response:
Credits that are not used by the end of the Sugar Learning Credits expiration date are forfeited.
34. How will I know the balance of Sugar Learning Credits I have on my account at any
given time?
Alternatives:
I want to check the balance of my Sugar Learning Credits
Response:
Once you are logged into Sugar University, your company's total active balance of Sugar
Learning Credits is available on the Learning Sessions page.
35. What are Sugar University Learning Credits Terms and Conditions
Response:
Sugar Learning Credits are valid for one year from the date of purchase unless otherwise
specified.
Sugar Learning Credits are non-refundable.
Sugar Learning Credits can be redeemed for any Sugar University learning session that concludes
before or on the day of your Sugar Learning Credit expiration date.
To spend Sugar Learning Credits you will need the Order number from a previous Sugar
purchase for your order.
Anyone that is given access to the Learning Credit Order number for your company may use it to
register for a Sugar University learning session.
Page 22
Your company controls access to your Sugar Learning Credits Order number. We suggest you
appoint one person as the Sugar Learning Credit manager.
Alternatives:
I want to register for a Sugar Learning session.
Response:
To register for a Sugar University Learning Session:
Go to http://university.sugarcrm.com.
Click on Sign Up for Public Learning Sessions.
Locate the specific session you want.
Enter the Order number for your Sugar Learning Credits
Click Sign Up
Enter your details on the registration page and click Register Now.
38. Can I withdraw from an on-line public learning session that I registered for?
Alternatives:
I want to withdraw from a Sugar Learning session
Is it possible to withdraw from a Sugar Learning session after registering.
Response:
You can withdraw from an on-line public learning session that requires Sugar Learning Credits
up to two business dates prior to the session start date and retain your Sugar Learning Credits.*
To withdraw from an on-line public session that requires Sugar Learning Credits, please submit a
case via the Support Portal:
Page 23
39. How do I access the on-line public learning session I am registered for?
Alternatives:
I want to access the learning session that I registered for.
Response:
You will receive a registration confirmation email from gotowebinar@citrixonline.com. The
email will include the learning session title, date and time details, and a JOIN WEBINAR button
and phone number with access. Click the JOIN WEBINAR button to join the online
40. What system requirements do I need to attend an on-line public learning session?
Response:
A Windows or Mac computer with a high-speed internet connection and a phone.
41. Where can I find access details for the on-line public learning session I am registered
for?
You will receive a registration confirmation email from gotowebinar@citrixonline.com. The
email will include the learning session title, date and time details as well as the attendance URL
and phone number.
42. What is a Learning Pack and what are its benefits?
A Sugar University Learning Pack allows you to purchase a group of Sugar University learning
sessions at a discounted price. Each learning pack includes a recommended learning path and
Sugar Learning Credits. The learning packs are designed by a Sugar University instructor based
on specific roles and the Sugar Learning Credits are used to register for the recommended
learning sessions.
43. Where can I submit suggestions for future learning session topics?
Alternatives:
I want to give my feedback for Sugar Learning Session that I have taken.
Can I give a piece of advice for Sugar Learning sessions?
Page 24
Page 25