AUTOMATED CUSTOMER SUPPORT SYSTEM
|
|
|
- Edmund Gibson
- 10 years ago
- Views:
Transcription
1 AUTOMATED CUSTOMER SUPPORT SYSTEM Rikhard Nousiainen Master s Thesis June 2012 Information Technology
2 ABSTRACT Author(s) Rikhard Nousiainen Master s thesis Automated customer support system Number of pages 64 Graduation time June 2012 Thesis supervisor Tony Torp Commissioning company EDI-Soft Finland Oy, Petri Karjalainen When software or program is distributed to the world, support is needed for customers. Customers require help for many different tasks from basic installation to very detailed error messages. As capacity for support is usually limited in software companies, automation can help customers to find solutions into their problems without contacting support technicians. This requires a system where customers can find solutions into their problems through search engine by entering few keywords about their problem. As more customers are going to use software, program or web service, the more same questions keeps on rising and that causes frustration and extra work for people whom are working as supporting roles. System behind this automated support system is done via web service. This service is providing easy to access communication to interface where solutions to all customers questions exists. This system is also defined as customers self-service portal. Keywords: automation, customer support, supporting system, self-service portal
3 TIIVISTELMÄ Tekijä Rikhard Nousiainen Työn nimi Asiakastuen automatisointi järjestelmä Sivumäärä 64 Valmistumis aika June 2012 Työn valvoja Tony Torp Työn tilaaja EDI-Soft Finland Oy, Petri Karjalainen Kun ohjelmisto laitetaan jakoon koko maailmalle, asiakastukea tarvitaan käyttäjille. Asiakkaat tarvitsevat apua moniin eri ongelmiin aina asennuksista hyvinkin yksityiskohtaisiin virheilmoituksiin. Asiakastuki on yleensä kuormitettu niin täyteen, että asiakas joutuu jonottamaan ja odottamaan omaa vuoroaan ongelman korjauksessa. Automaatiolla voidaan vähentää tätä odottamisaikaa, sillä asiakas voi löytää ongelmaansa ratkaisun ennen yhteydenottoa tukihenkilöön. Tämä tosin edellyttää järjestelmää, jossa asiakkaat voivat löytää ratkaisuja ongelmiinsa hakukoneen avulla antamalla ongelmansa avainsanoja hakusanoiksi. Usein asiakastuessa ratkaistaan samaa ongelmaa useita kertoja ja tämä kuormittaa ja työllistää asiakastukea turhaan. Kun automaattinen järjestelmä on olemassa, asiakas löytää ongelmaansa ratkaisun suoraan. Järjestelmä pohjana toimii verkkopalvelu, joka tarjoaa käyttäjille helpon pääsyn tietokantaan josta vastaukset heidän esittämiin kysymyksiinsä palautetaan. Käyttöliittymä toimii itsepalvelu portaalina asiakkaille, joten asiakastuen ei tarvitse kuin ylläpitää palvelua ja ohjata käyttäjät käyttämään järjestelmää. Avainsanat: automatisointi, asiakastuki, tukijärjestelmä, itsepalvelu
4 4 FOREWORD My interest into this topic comes from my work as a technical consultant at EDI-Soft Finland Oy. I have experience in customer support in the area of IT and many of the questions from customers are very technical and can sometimes be really hard to answer without knowing own system throughout. Many times I have faced same issues coming from different customers and noticed that same solutions work with them also. This gave me an idea to move customer support towards web service and automate parts of the support work. I also want to give special thanks to my wife Ulla who has been supporting me during this project and Tony Torp whom has given excellent directions to this work. Tampere June 2012 Rikhard Nousiainen
5 5 TABLE OF CONTENTS 1 INTRODUCTION AUTOMATION Advantages for support Disadvantages for support Limitations for support CUSTOMER SUPPORT Technical customer support Automated self-service support Automated customer support BASIC COMPONENTS OF AUTOMATED CUSTOMER SUPPORT SYSTEM Web service Database Solution interface and HTML template USE-CASES Succesful search New error report New solution page Benefits from automated system USABILITY AND USER EXPERIENCE User experience design principles for implementation Web service usability User experience of system Using support service as a mashup service BUSINESS VALUES AND MARKETING SEGMENTS Business values Marketing segments DESIGNING FUNCTIONING DRAFT OF AUTOMATED CUSTOMER SUPPORT SYSTEM Design of web service Design of database Design of solution interface and HTML template File system architecture CONCLUSIONS REFERENCES ATTACHMENTS... 50
6 6 PICTURES Automated customer support system overview. 16 Self-service truth table Successful search New error report 22 Technician creates a new solution to a problem 23 Why, What and How to consider when designing technology-mediated experiences User finds topics with few keywords at web service. 27 Solution interface where guides to issues exists 28 New problems are registered through report page. 29 Solution interface provides HTML template to create or modify solutions.. 30 File relation map 45
7 7 LIST OF ABBREVIATIONS Script AJAX JavaScript XML HTML PHP WS DB SI CAPTCHA WYSIWYG APACHE MD5 API Simple and small program which helps in automation Asynchronous JavaScript and XML Scripting language that is dynamic Markup language that defines a set of rules for encoding documents into readable for human and machine. Main markup language for web pages Server-side scripting language to produce dynamic web pages Web service Database Solution interface computer asking a user to complete a simple test which the computer is able to grade to make sure that input is given by a person What You See Is What You Get HTML editor to help see HTML page during editing how it will be shown to endusers HTTP Server software to host static file share through HTTP protocol Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value Application programming interface is a specification intended to be used as an interface by software components to communicate with each other
8 8 1 INTRODUCTION Automated customer support system is generally used as a web service providing users self-service system to find out solutions into different kind of problems. Automated customer support system can be used in all kind of industry from computer technologies to car manufacturers as the basic idea behind the system stays the same all the time. Only the content of the support system is the only thing that varies between different industries. This thesis will specify plans how to implement working automated customer support system that is functioning as an independent web service. As it works by itself, it can easily to be merged at any web service what could require automated customer support system. Techniques that are used to establish this automated customer support system are HTML, PHP, JavaScript, Apache, MySQL and AJAX. Commonly known acronym for having these techniques in a bundle is WAMP or LAMP, depending if it s meant for Windows or Linux operating systems. Automated customer support system will contain web service (WS), database (DB) and solution interface (SI). With these mentioned modules and components, knowledge base can be set up running to support customers most effective way at their issues. When knowledge base is built and it is containing all relevant supporting material, it is also working as information database to resolve issues before they turn into actual problems. With this system it's also possible to rate and comment material so that both support technicians and customers can benefit from the system. Technicians get valuable information about existing material and up to date information and customers receive better view about relevance into their problems. It is easy to establish such automated customer support system at any web service to support customers. Whenever customers are facing issues of any kind related to the product or service they are using, they can head straight away to use automated self-
9 9 support service and find solutions from a system that is running on either semi- or full automation. Only requirement for installing automated customer support system at the web service is that it must contain packages to support AJAX, PHP, JavaScript, HTML and MySQL.
10 10 2 AUTOMATION Automation means that system is controlled by computers, most usually some scripts to do the desired work. Automation robots at industry are handling many complex simultaneous tasks at rapid speed and very accurately. Most scripts of automated systems are doing one simple task very well and these scripts can be put to parallel or serial to work together. Main idea by using automated scripts is to reduce the need of human work during production and provide automated service for users. During 20th and 21st centuries automation has been increasing in world economy but still technology is not able to automate all the desired tasks. Most commonly automation is used to increase quality of manufacturing process and do simple repeatable actions. Any system that is using automation is decreasing operational time and handling time. Operational time is period during which a system is working in a manner acceptable to its operator or user and handling time is a period needed to transport parts or materials to or from a work area. Also automation allows employees to concentrate more on other tasks such as development and maintenance of automation processes. (The Boston Globe ) 2.1 Advantages for support While automation is decreasing human work, it is also decreasing errors in simple monotonous tasks. In support, automation is used to control machinery such as telephone switchboards and answering machines. Advantages of automation started first in 20th century from reducing production costs. It developed fast to bring more quality, accuracy and reliability into production and also into support. As automation at mid of 20th century was precise and repeatable it also gave benefits for support technicians to develop common knowledge base to share information for any system users. This leads to
11 a point where one problem needs to be solved only once when everyone can follow up all solved cases at the common knowledge base Disadvantages for support When any system is automated, it is easily noticed that disadvantages of automated systems are that automation scripts are mostly very poor at handling error situations and also that automation requires investment, development, maintenance and full clear understanding on how system is working. It requires a lot of effort to start up automation it can easily be dismissed. When a person is getting support at poorly handled automated customer support system, it can cause customer to become unsatisfied with solutions when customer cannot understand the main idea of the solution or cannot follow up the guide. Support should always be made very human way for customers and usually it is good that at least someone is observing how automated supporting system is handing and helping out each customer. This will require constant follow up which can be hard to fulfill as automation is working constantly 24 hours 7 days a week. Sometimes this problem can be resolved by using watchmen whom are constantly aware of the current situation and are capable of fixing problematic situations at any time. 2.3 Limitations for support As automation is poor at handling error situations, automated tasks should not be set to areas where errors are occurring most often. Also when automation is doing tasks related to user experience, it is not good to let scripts do the decisions how to set layout of page or how to visualize system. Also systems where human consciousness is required are not good places to use automation. This can be for example courtrooms where judges and jury are deciding if something should be allowed or not.
12 12 When automated system is running constantly in the background, it is then very dependent on network and electricity. If a system fails or requires maintenance, new system needs to be taken into usage during the maintenance. This kind of system requires at least technical supports to back up whole system in case of system breakdown or unexpected results.
13 13 3 CUSTOMER SUPPORT Customer support means that there exists a product which might require assistance during its usage. Most commonly assistance is regarding trouble shooting and finding out solutions for customers problem. Different kind of issues might rise during different phases such as installation, usage and upgrading the product. Idea of customer support is to give customers more value of the product. If issue is related to correct usage of the product it is considered to be common customer support, but when customer is facing issues what requires knowledge about how product is working in technical way or at hardware level, it will require help from technical customer support. 3.1 Technical customer support When customer support is called technical support it means that support is given to solve problems within a product. Most commonly technical support is given through a technical support service which can be through a phone, , consultancy, tool or a web service. Most common ways of giving technical support is giving consultancy for people working with a product or system which requires knowledge how to use it and how it works. Web service is another very popular as it can be used at all times and it s available everywhere. Only problem is that building up a web service requires investment and maintenance and it is very dependent on automation. Technical support is usually divided into multiple tiers. These are levels from one to four. Tier one is first in line with customers to record and solve their issues. If problem is too tricky or hard to be solved by the support technician, it will be forwarded to next tier. At third tier technical support person can be architect of the system whom knows very detailed how the system is working. Beyond this point issue cannot be solved in-
14 side organization and issue will be forwarded to tier four to for example hardware manufacturer Automated self-service support When a product is requiring constant support, it can be done through automated selfservice support. This means that customer can do everything by himself without having to contact support person. Self-service support is proven to be easier, quicker and more productive for customers or system users. This kind of system requires easy usage at all times and how-to guides should be easy to access. To build up fully automated self-service support, it requires knowledge base where exists pretty much all information regarding whole system. This information is accessed by simple keywords or questions to find out different kinds of answers. These keywords can generate further questions regarding the issue and user can select most suitable options. At the end system generates most suitable answer or solution from information that user described. 3.3 Automated customer support Automated customer support means that there is a system what is working on semi or fully automated for every customers and users. This requires everything from creating new issues, updating or deleting old ones and getting feedback from users. Support is handled by knowledge base what contains solutions from all around the system. Search is done via guidance or search bar. Usually automated customer support can be offered through a web service but at some rare cases also phone support can be automated at certain limitations. If automated customer support is unable to solve users problem it can be either marked as new issue or offered possibility to contact technical support person via mail or phone.
15 15 Supporting at fully automated systems also require good backup system as if service breaks down for any reason, users will require other ways to solve their issues - most likely phone for support. This can lead easily to overloading customer support center and increase amount of unsatisfied customers. It would be wise to use for example cloud type services where systems can run at all times without fear of system crashing. Of course if support system is poorly designed it can become unstable at constantly growing knowledge base. This leads to a situation where working system must be maintained in case of system breaks at cloud.
16 16 4 BASIC COMPONENTS OF AUTOMATED CUSTOMER SUPPORT SYSTEM The web service which can handle automated support has three main components: Web service (WS), Database (DB) and Solution interface (SI) and SI also includes sub component which is called HTML template. Together these components form the automated customer support system which is capable of finding solutions to rapidly asked questions easily and lead support users to desired conclusions. Connections and relationships between these components have been described in figure 1 what is architectural overview of this automated supporting system. At this system user is using the support system as a customer and technical support is working as maintaining the solutions through web service. System at this point is semi-automatic as there is a possibility to contact technical support also through phone or mail. Figure 1 - Automated customer support system overview
17 Web service Web service is the interface for users to search for answers into their problems. It contains a web page with simple input field where users can type the problem they are facing. Based on what user has typed the service already suggests suitable topics for the problem. All topics with keywords are set in database and input field is constantly sorting closest matches also showing rating of each page. The suggestions appear underneath the input field in a drop-down menu. The suggested topics are actually links to the solution pages so when user has done the search or selected one link directly from the drop down menu the page will be redirected to the referred solution page. The solution page contains all the needed information that is needed to fix the problem what customers are facing. Web service is connected straight to database so all search queries are checked against keywords set in database. Whenever keywords match with users search query, database will send matches back to web service. To make this connection work in real time while typing, AJAX needs to be used for asynchronous connection. This enables rapid search and saves good amount of users time. Web service is the main tool for users so it must be kept very simple and with as less unrelated information as possible. If web service is doing what users expect it to do it can become commonly used tool inside organizations. This can lead it to become popular and easily approached tool. By keeping web service simple, it can be easily integrated into other systems as well as a third party plugin. 4.2 Database The database is MySQL database which contains the links to the solutions. Database also has some additional information which includes the keywords, topic, date and the rating of the solution. The database is the place which is searched while the user types the information in to the input field. When user is making a search query at web service,
18 18 database is already sorting out possible matches from solutions keywords through AJAX. To make database most efficient, indexing is needed to sort out solutions faster. Also rating of the solution page will be returned to search results. This helps users to select links that have been confirmed to be useful for other users before. Database is maintained by technical support personnel whom have their own access to it through a tool to create new solutions for customers. This tool is called HTML template. To get access to this tool requires also authentication where database is also very useful. 4.3 Solution interface and HTML template The view where the solution page is opened is actually called the solution interface. The interface is an HTML page that will have text, video and images to guide the user how to fix the problem at hand. The same solution interface can also be used to list new problems and also rate existing ones. Rating system is built in so users can easily see if guide is working as expected and it gives support technicians feedback if solution needs to be updated or fixed. If the users aren't happy with the solution they can rate the solution example from for one to five at this view and it would also be possible to leave comments and feedback that will help support technicians to know how solution is working and what area could use improvement - such as extra images or more detailed texts. If some topic starts to constantly get low scores the system technician who is responsible of that solution will know that the solution needs to be tested and improved. If there wasn t any solution for the problem users can create a new error through web service. When creating the error users writes down as much details as possible about the problem that had occurred. Users can also use checkboxes to narrow down the area where the problem occurred. If the company is working for example in IT industry those checkboxes might be something like System startup, Display, Hardware and so on. Also address is required to diminish false errors and also so that users
19 19 will get information as soon as the solution into their problem is available. It would be also wise to add CAPTCHA to ensure that user s response is generated by a person and not a computer bot. This helps out at getting false input from users problems. System technician will also use the solution interface. When they get new problems that has not been solved yet they will create a new HTML page. The tool for that is the HTML template which can be used to add text, video and pictures to the page. When creating new page the technician also thinks about the possible keywords that will be attached to the page so that it will be shown in search when user looks for a solution to that kind of a problem. The technician also checks from checkbox lists that which category the solution is most suitable. When the page is ready it will be stored in the file system with the topic name and unique id. These together will form the link which will be stored in the database where search query is constantly sorting matches from users input field at web service. HTML template is also using WYSIWYG HTML editor to make it possible to create pages simply by using commonly known layouts and settings. This makes it possible for everyone to create new pages without knowing any HTML coding conventions. Also header and footer layout for each page can be set so each company using this kind of system can have solution pages with their own look and feel experience. Figure 2 Self-service truth table (Werner, Fulton 2010)
20 20 5 USE-CASES The first use-case is the most common thing that user faces. User searches for a solution into a problem at web service and finds a suitable answer for it. After this user can rate or comment about the solution. 5.1 Succesful search The first thing what user does is that he opens the Web service page as shown in Figure 2. After this he starts typing to the input field a query which is including couple of keywords from the problem he is facing. As the letters appear in the input field search is started in real time through AJAX and database is sorting out possible matches according to keywords. After user has completed the search there is a few solution links from the database listed in the page sorted by matching keywords. User selects the one that seems to be similar to the problem he is facing and clicks the topic to open the link into solution interface. The solution page is opened in the solution interface view and user finds a working solution to the problem. After the problem is fixed user rates the solution by giving it rating 5 as solution was just what he was looking for. This rating leaves a mark into database so technical support can see the solution is working as expected.
21 21 Figure 3 - Successful search 5.2 New error report The second use-case is when user is not able to find a solution to the problem at hand. It starts just the same way as in the first scenario but now when user completes the search and opens a couple of links, none seems have had the same problem he is facing. The next step user needs to do is to list a new problem and send the report to the system technician. This is done through a link at main page to report a new issue. When user drafts a new problem he has to select the category to a problem from a checkbox list. If the problem occurred for example in the system start up user check the system start up box. That automatically narrows down the area and sets up keywords when the support technician tries to find out what is causing the problem. User also includes his address when creating the problem so that he will be immediately contacted when the solution for the problem is ready. address can also be used to in cases where the support technician needs more information about the problem from the
22 person who created the issue. Also log files can be left as attachment which helps out when figuring out where problem is. 22 Figure 4 - New error report 5.3 New solution page Third use-case is when technician creates a new solution to a problem that was requested and listed by a user. The user has now listed a new problem. System technician receives an with detailed description about the problem. After technician has studied the problem and found out solution how to fix it he opens the solution interface with support technician or admin rights and fills in the HTML template that is used to create the solution pages. With the template technician chooses from the checkboxes the correct area where the problem occurs and he also lists the keywords which can be used to find the solution.
23 23 Template allows the technician to add text fields, pictures, links to videos etc. so that the description of how fix a problem will as easy to understand as possible. This can also include WYSIWYG HTML editor so it helps out at layout of the solution page. After the page is ready it will stored in the servers file system and the link that includes the topic and unique id will be stored in the database with the keywords. When the page is stored the user who listed the problem will automatically receive an which contains the direct link to the solution. Figure 5 - Technician creates a new solution to a problem 5.4 Benefits from automated system As distributed program evolves, automated support can easily help new customers to find solutions for many problems what old customers have already faced before. This saves good amount of support technician s man hours and is very much worth of investing money, efforts and capacity to maintaining automated supporting system. In the beginning it will be tricky to maintain automated support system as issue database doesn't include much data, but after a while customers find solutions into their problems
24 straight from the system and support technicians can concentrate more into maintaining the data and upgrading existing solutions. 24
25 25 6 USABILITY AND USER EXPERIENCE Satisfied customer is always the main goal of whole support so automation needs to be developed as user friendly as possible. This requires good understanding of usability of how customers use web service. If web service can offer correct choices for customer the most obvious way, then web service can be stated as successful. Also setting all texts, links and images in the right position of the page is important for readability and for customer to understand guidance. Also layout template of the HTML template needs to be created as simple as possible and all pages needs to be in harmony with each other s. Designing any service starts up by need and need requires experience that is causing the need. Experience can be described as conceptual model which includes three levels: why, what and how. What is part what describes the possibilities of an interactive product and is very much tied to the product itself. How is operational way like touching buttons and is more detailed by possibilities of the product. Why is the experience part clarifying the need of service which is causing people to use the product. These have to kept in mind when designing technology-mediated experiences. (Hassenzahl, 2011) Figure 6 Why, What and How to consider when designing technology-mediated experiences
26 26 When using why, what and how in automated customer support at very high level, why part is customers demand for solution at their issues through support service. What is the customer support service which is interacting with the customers. How is the service running in the background and analyzing the data customer is giving. This includes for example database and guiding customers towards correct solutions. When using why, what and how methodology, implementation at users experience point of view can be defined quite straight forward as light web service doesn't require deep insight of each component and modules. For instance at solution interface what describes possibility of finding correct solution for the problem at hand, how is very much tied to the usability and search engine and why is the cause and effect that there exists a problem that needs to solved. 6.1 User experience design principles for implementation As user experience plays big part at simple web services, it is considered good way to go through basic principles during whole implementation process. This allows multiple qualities that are affecting positive way for customers. According to Microsoft s User Experience Guide, these user experience design principles follow rules that help at reducing concepts, implementing more small details, adding look and do at UI, reducing distractions, leaving out unnecessary questions from end users, adding more personalization, giving more value to life cycle and lowering implementation time. (Microsoft, 2010) For a light web service these principles can be followed easily and it allows creating very understandable service to provide clear and understandable content and ensuring that service is accessible and available for everyone whom might have need for it.
27 27 By following principles it can lead to a point that customers are able to resolve their problems quickly and effectively and the organization is able to build the customer relationship while saving significant costs. 6.2 Web service usability When customer is facing issue with the system, he browses to web service where can be found a simple input field for search query. When few keywords have been entered, web service connects to database and returns solutions topics that match to entered keywords. Connection is done with PHP, AJAX, JavaScript and MySQL so solutions are seen in real time and sorted out. Figure 7 - User finds topics with few keywords at web service After topic has been selected, user is taken into solution interface where solution pages exist. There are three kind of fields texts, links and images to guide users how to solve their issues. All pages also have search bar to find another solution pages or to rate the current solution. Rating will help both support technicians and customers in the way that customers know that guide is working as expected and support technicians know if something needs to be improved at the page. Also comments can be left at the end of each solution page.
28 28 Figure 8 - Solution interface where guides to issues exists If user does not find solution into their problem, at first page of web service there is a link to register new issues. There user describes their issue as detailed as possible, adds screen-shots or log files as attached documents for support technicians and enters contact information so that user can be contacted once solution has been solved or if support technician needs further details about the occurred error.
29 29 Figure 9 - New problems are registered through report page When new issue has been registered, support technician receives notification through e- mail. With the information described in the mail technician starts to create either new issue, or modify/delete existing ones. This is done through a HTML template which helps to create new pages easily. Support technician needs to write down topic for solution, add keywords how customers can find this page and add content with attachments. New pages are created dynamically by adding attachments, texts and pictures so each solution page can be differently set.
30 30 Figure 10 - Solution interface provides HTML template to create or modify solutions 6.3 User experience of system Main point at the system is that it is as flexible as possible to be added anywhere at any web site or web service. As main look and feel experience is simple search bar, by removing most commonly used submit button leaves only area where to type needed keywords. This creates simplicity and is effective way of saving space at any view. Also by using MySQL database for returning search result immediately through AJAX, it increases performance at end-user as all the results are seen without first having to submit result. This makes it possible to find solutions easily, reliable and fast. As every step at users point of view is consistent and simplified, interacting between web service and solution interface is fast and easy. Rating system brings more value for the system as anyone can give rating and it immediately can show how well solutions
31 are working. Also by creating new issues from customers side is made so that customer doesn't get frustrated at complex problematic situations Using support service as a mashup service Mashup service is defined as a combination of preexisting, integrated units of technology, glued together to achieve new functionality, as opposed to creating that functionality from the scratch. This means that many services can be used through one service and this is generating more services where existing functionalities are working together. (Väänänen-Vainio-Mattila, Wäljas 2011) As customer support system is just a plain web service, it would be best working as mashup service by adding support system straight to the system where it is needed. By doing this there can be future possibilities to lead users of the service straight into the correct solution pages at error situations. Error situations can be coded into error codes and that code can be a key for customer support system to start finding correct solution immediately. To enable system to become combined by other systems it requires APIs so other programs can interact and integrate data between the services. Architecturally, there are two styles of mashups: web-based and server-based. Whereas web-based mashups typically use the user's web browser to combine and reformat the data and server-based mashups analyze and reformat the data on a remote server and transmit the data to the user's browser in its final form. (Bolim, 2005) At web service side currently used technologies are XMLHTTPRequest, XML-RPC, JSON-RPC, SOAP and REST. These are technologies are used to send HTTP or HTTPS requests directly to a web server and load the server response data directly back into the script. At interface side where mashup service is used the technologies currently in use are HTML/XHTML, CSS, Javascript, and AJAX. These enable web service to be
32 32 established just like automated customer support system and by using web service side technologies it makes it possible to communicate between other web services to provide mashup services.
33 33 7 BUSINESS VALUES AND MARKETING SEGMENTS This kind of system can be seen as great business value as customers can find solutions into their problems without having to contact support technicians and system can help program managers to find out areas where customers are facing their issues. This leads to the situation where program or software flaws at certain areas can be fixed before distribution. As customers are also rating solutions and leaving comments, this information can be used as valuable data for further development for upcoming releases. As this system is helping customers to solve their issues, marketing value increases as customers know there is generic helping system which is equal for all the users. 7.1 Business values Every even a little bit complex system must have some kind of a support system to back up all the users using their product. As automated customer support system is working constantly in the background, it provides value to business and customers at all times. All stakeholders related to supporting benefit from the automation in long term. At establish phase there is lack of content but in the long run solutions are providing to be great asset for people using the system and people whom used to do support case-bycase manually. Automated customer support system is also very accurate, reliable and precise so it is worth of investing at early phase when developing a system. At later times after continuous improvement most of the issues related to problematic situations within the product are handled by huge database. This allows customers get their work done much easier and faster than at contacting customer support service. Also quality of service increases over time when using automated support.
34 Marketing segments It's easy to market a system that is light, simple and provides automated support. Also automated customer support is used widely at all business areas so automated customer support system can be used at broad and narrow markets. Potential customer can be anyone since support is used by everyone and everywhere. Support does not compete with anything as it is basically just a service for customer to use product or system at error situations. Main idea of course is to improve customer satisfaction and loyalty towards service.
35 35 8 DESIGNING FUNCTIONING DRAFT OF AUTOMATED CUSTOMER SUPPORT SYSTEM Design contains fully working web service including database, solution interface and HTML template. Some features such as creating new solution pages, web service searching, logging and managing user accounts are included as well. There is also option at HTML template to use WYSIWYG editor to create pages more easily and seeing results immediately before distributing solution. 8.1 Design of web service Web service is the part where users are doing their searches for different solutions. It works as a powerful search engine by returning links from MySQL database that matches closest to search query. Web service can be defined as simple search box and fast response to give solutions in a list of topics functioning as links into solutions. Program listing 1: Search box is done with a simple form by using HTML, JavaScript, AJAX, PHP and MySQL query. 1 <?php session_start(); 2 if (isset($_post['search'])) 3 4 $search = htmlentities($_post['search']); 5 require_once("connectsql.php"); 6 $sql = "SELECT * from acskeydata WHERE keywords LIKE '%$search%' OR 7 title LIKE '%$search%'"; 8 $req = mysql_query($sql) or die(); 9 echo '<ul>'; 10 while ($data = mysql_fetch_array($req)) echo '<li><a href="'.htmlentities($data['link']).'" 13 onclick="selected(this.innerhtml);">'.htmlentities($data['title']); 14 echo '<font size=1 color=grey> '; 15 echo $data['rate'].'/5</font></a></li>'; echo '</ul>'; 18 exit;
36 19 20?> 21 <form method="get" id="searchform" action="list_solutions.php"> 22 <div><input autocomplete="off" type="text" value="enter few keywords for 23 search query" name="s" size="75" id="s" onfocus="this.value=''" 24 onkeyup="request(this.value);"/> 25 </div><div id="tag_update"></div> 26 </form> 27 <? 28 function selfurl() $s = empty($_server["https"])? '' 31 : ($_SERVER["HTTPS"] == "on")? "s" 32 : ""; 33 $protocol = strleft(strtolower($_server["server_protocol"]), "/").$s; 34 $port = ($_SERVER["SERVER_PORT"] == "80")? "" 35 : (":".$_SERVER["SERVER_PORT"]); 36 return 37 $protocol."://".$_server['server_name'].$port.$_server['request_uri']; function strleft($s1, $s2) return substr($s1, 0, strpos($s1, $s2)); 42 43?> 36 The program listing 1 is showing how easy it is to create SQL query to match title or keywords according to data in the database. At line forms input field contains onkeyup method which does asynchronous AJAX call. When this field contains any letters, JavaScript will capture content from search field and forward SQL query into MySQL database. After results are back, listing will appear underneath the search box. Lines show how the listing is built. At first there is link, which contains text of the topic and at the end gives current rating of the solution. Program listing 2: AJAX is used through separate JavaScript file to capture content from search box and forwarding it into SQL query. 1 var myajax = ajax(); 2 function ajax() 3 4 var ajax = null; 5 if (window.xmlhttprequest) 6
37 7 try 8 9 ajax = new XMLHttpRequest(); catch(e) else if (window.activexobject) try ajax = new ActiveXObject("Msxm12.XMLHTTP"); catch (e) try ajax = new 24 ActiveXObject("Microsoft.XMLHTTP"); catch (e) return ajax; function request(str) myajax.open("post", "list_solutions.php"); 35 myajax.onreadystatechange = result; 36 myajax.setrequestheader("content-type", 37 "application/x-www-form-urlencoded"); 38 myajax.send("search="+str); function result() if (myajax.readystate == 4) var liste = myajax.responsetext; 45 var cible = document.getelementbyid('tag_update').innerhtml 46 = liste; function selected(choice) var cible = document.getelementbyid('s'); 52 cible.value = choice; 53 document.getelementbyid('tag_update').style.display = "none"; 54 37
38 38 As search result is sent to MySQL database, list of closest matches are returned to a list showing topic and rating of each match and then user can pick the desired solution and moving to solution interface by clicking the topic. Program listing 3: CSS Style contains definitions how results are seen at screen as well as layout is set to each page. 1 body 2 3 background-color:#d0e4fe; 4 5 #tag_update 6 7 display: block; 8 border-left: 1px solid #373737; 9 border-right: 1px solid #373737; 10 border-bottom: 1px solid #373737; 11 position:absolute; 12 z-index:1; #tag_update ul margin: 0; 17 padding: 0; 18 list-style: none; #tag_update li display:block; 23 clear:both; #tag_update a width:400px; 28 display: block; 29 padding:.2em.3em; 30 text-decoration: none; 31 color: #000; 32 background-color: #FFFFFF; 33 text-align: left; #tag_update a:hover color: #fff; 38 background-color: #373737; 39 background-image: none;
39 div#chat text-align:center; 44 width:303; 45 border:2px solid; 46 border-radius:25px; 47 -moz-border-radius:25px; 48 Most important part here is tag_update which is gathering all data through JavaScript by using AJAX and setting data into <div> section at main search file. This solution makes it possible to return solution links at any form. Also as every solution contains possibility to leave feedback and comments there is chat style to create borders with radius to each comment. This makes it easy to see name, timestamp and comment at one simple border view. 8.2 Design of database Database contains four tables. First table is acskeydata which contains automatic customer support data to provide links into solution interface and also stores rating of each solution. Program listing 4: MySQL table acskeydata contains record for id, title, keywords, link, rates, points, rate and datecreated. 1 CREATE TABLE "acskeydata" ( 2 "id" int(6) NOT NULL AUTO_INCREMENT, 3 "title" varchar(200) NOT NULL, 4 "keywords" varchar(200) NOT NULL, 5 "link" varchar(200) NOT NULL, 6 "rates" int(10), 7 "points" int(10), 8 "rate" float(10), 9 "datecreated" date NOT NULL DEFAULT ' ', 10 UNIQUE KEY "id" ("id") );
40 40 At this table, title and link are the same except at link white spaces are replaced by underscores, current URL added to front of the link and adding PHP file extension to the end. Each page rating is calculated by given points divided by how many rating that specific solution has gotten and also value of the calculated rate is stored into the table with one decimal to provide numerical value during search results query. Second and third tables at the database are intended for administrator privileges to create new access rights for technical support and to monitor login attempts. These tables are acstrack and acsusers. Program listing 5: SQL table acstrack to track login attempts. It contains record for id, username, ip, tm, login. 1 CREATE TABLE "acstrack" ( 2 "id" int(6) NOT NULL AUTO_INCREMENT, 3 "username" varchar(15) NOT NULL, 4 "ip" varchar(20) NOT NULL, 5 "tm" varchar(20) NOT NULL, 6 "login" tinyint(1) NOT NULL DEFAULT '0', 7 UNIQUE KEY "id" ("id") ); This table is simply recording each attempt trying to login into the management view. It stores used username, IP address of the computer, timestamp and boolean value whether login was successful or not. This information can help out management to block computers trying to hack into the system through login. Program listing 6: There can be different kind of access rights set for automated customer support system. At least administrative and moderator rights should exist but also for each user or customer there can be set different access rights.
41 41 1 CREATE TABLE "acsusers" ( 2 "ID" int(11) NOT NULL AUTO_INCREMENT, 3 "role" varchar(50) NOT NULL, 4 "username" varchar(50) NOT NULL, 5 " " varchar(50) NOT NULL, 6 "password" varchar(50) DEFAULT NULL, 7 "datecreated" date NOT NULL DEFAULT ' ', 8 "datelastlogin" date NOT NULL DEFAULT ' ', 9 PRIMARY KEY ("ID"), 10 UNIQUE KEY "user_name" ("username") ); This table contains records for id, role, username, , password, datecreated and datelastlogin. Role can be administrator, technical support etc. and password should be encrypted by some algorithms in case of intruders managing to see content of database. Program listing 7: Fourth table contains data for storing feedbacks and comments from each solution page. Feedback is always implemented at the end of each solution. 1 CREATE TABLE acsfeedback ( 2 id int(110) NOT NULL auto_increment, 3 topicid int(110) NOT NULL default '0', 4 login varchar(20) NOT NULL default '', 5 message varchar(255) NOT NULL default '', 6 itstime varchar(30) NOT NULL default '', 7 PRIMARY KEY (`id`) 8 ); Table has records for id, topicid, login, message and itstime. At this table topicid is used to refer into correct solution at acskeydata table as a foreign key. This makes it possible to leave different feedback at each solution page. 8.3 Design of solution interface and HTML template Solution interface is area where pages have been created by HTML template. There exists a header and footer file for each solution page where header contains includes for web services search engine, topic and rating of that specified page and footer contains rating solutions form and feedback.
42 Program listing 8: HTML template contains form for topic, keywords and content. Topic field will also be the name of the file except that white spaces are replaced by underscores and file extension will be.php else if (isset($_post['filename'])) $removeslashes = stripslashes($_post['html_code']); 31 $fh = fopen($filename, 'w') or die("can't open file"); $headerstr = '<?php session_start(); include("solutionheader.php"); 32 33?><br><br>'; 34 $footerstr = '<br><br><?php include("solutionfooter.php");?>'; 35 $filestr = $headerstr. $removeslashes. $footerstr; 36 fwrite($fh, $filestr); 37 fclose($fh); At line 30 written solution text is first being parsed through by stripping slashes away from the text to enable link and image functionality. Line 32 and 33 contains what each solution header and footer will contain. At line 34 solution is merged together and after that stored as a new solution page. Program listing 9: HTML template contains fields for, title, keywords, solution text area and image upload through AJAX. By adding AJAX to this upload functionality it makes it possible to upload images on the fly while writing the solution. Solution text can be written with pure HTML code or by using WYSIWYG editor for faster writing. After solution has been written, there is submit button to create the solution page <html> 42 <head> 43 <title>html Template</title> 44 <link rel="stylesheet" type="text/css" href="style.css" /> 45 <script type="text/javascript" 46 src="scripts/jquery min.js"></script> 47 <script type="text/javascript" 48 src="scripts/jquery-ui custom.min.js"></script> 49 <link rel="stylesheet" type="text/css"
43 50 href="style/jqueryui/ui-lightness/jquery-ui custom.css" /> 51 <script type="text/javascript" 52 src="scripts/jhtmlarea js"></script> 53 <link rel="stylesheet" type="text/css" href="style/jhtmlarea.css" /> 54 </head> 55 <body> 56 <? include("fileupload.php");?><br> 57 Title: <font color=grey>(ex. How to solve issue x)<font color=red> use 58 letters A-Z (no åöä etc)</font><br> 59 <form id="form1" method="post" action="<?php $php_self?>"> 60 <input name="filename" type="text" value="" size="30" maxlength="60" /> 61 <p></p><font color=black>keywords: <font color=grey>(ex. 62 connect remote support ) <font color=red>separator <font size=5><b> 63 </b></font><br> 64 <form id="form2" method="post" action="<?php $php_self?>"> 65 <input name="keywords" type="text" value="" size="40" maxlength="100" /> 66 <p><font color=black>write solution here: <font color=grey>(include HTML 67 tags)</font><br><input type="button" id="hideme" value="use WYSIWYG" 68 onclick="$('#html_code').htmlarea('forecolor', 'blue'); 69 document.getelementbyid('hideme').type='hidden';" /><br> 70 <textarea name="html_code" cols="70" rows="30" wrap="physical" value="html/html" id="html_code" cols="50" rows="15"><p><h3>to solve 71 this 72 problem do the following:</h3><br>check <b>settings</b>.</p></textarea> 73 <br> 74 </p> 75 <input type="submit" name="submit" value="create page" /> 76 </form> File system architecture Automated customer support system contains five groups. Main page (index.php) connects to administrator view (admin.php), issue reporting tool (reportissue.php), solution finder (list_solutions.php) and issue creator (HTML_template.php). At last group there are common files for all these groups like layout, SQL connection credentials, login functionalities etc. Administrator view contains three files where md5creator.js is used to secure password encryption by adding MD5 hash encryption into password and action.png to enable click functionality in user management window. MD5 hash encryption is a good way to
44 store credentials into SQL database as content in the table is then shown as MD5 hash and it is not in human readable format. 44 Issue reporting tool is basically a simple form where can be reported new issues. It contains a folder for attachments and that is sent from submitting the form contains just a link to this attachment. This reportissue.php file contains address where form will be sent to. It also supports sending form into multiple addresses. Solution finder is the search engine what contains one input field and AJAX call to return matching solutions. MySQL connection and linking is done at search.php and at search.js is done the AJAX call for search keywords. Issue creator is the place where technical support persons are creating new solution pages. It contains two files for uploading: fileupload.php and ajaxupload.php and these make it possible to upload attachments on the fly so input fields can contain already written data while doing uploads. All uploaded files will be put in files-folder. Leaving feedback and rates for each solution is done at solutionfooter.php. At solutionheader.php there exists actual rate calculation by giving each solution star.png picture per rate point. At scripts- and style-folders there are needed files for enabling WYSIWYG editor.
45 Figure 11 - File relation map 45
46 46 9 CONCLUSIONS Automated customer support system is easy to establish at any kind of industry. It provides easy to access for all users and can serve multiple users simultaneously and accurately. Supporting technicians are responsible at keeping data up to date and creating new issues if it's required. By automating customer support, it gives advantages for customer by easiness and fastness of the system and also technical support persons by lowering incoming calls. Minimum requirements when starting up automated customer support system is to have a database where to collect data of each solution and a web server to store the content. Required bundle to establish automated customer support system is called LAMP/WAMP which contains principal components (PHP, MySQL, JavaScript and APACHE) to run web server. Each solution should have its own page to make maintenance easier at technical supporting side. Users of the support will also require interface to easily connect into a solution they need help with and this interface should be very simple and should also give good user experience. As solutions need to be consistent, technical support persons maintaining the pages should have common tool to add, modify and delete solutions. This can be a tool such as HTML template where exists common header and footer for each page and editor to easily write solutions by using WYSIWYG editor. These header and footer files can be used to bring look and feel user experience as any company desire. If automated customer support is established as a web service, it requires stable environment and server. In case business is only relying into automated customer support, at possible error situation such as data corruption, customers will require alternative backup route to access support which can halt customers production. Also if web service is using mashup service to exchange data between other web services it requires APIs to
47 47 provide integration. Advantages of mashup services are that they can be integrated into other services and by this way providing more information than those services were originally planned.
48 48 REFERENCES Books, articles and web sites Jacobs, Macfarlane, The Vital Corporation Otlacan, Marketing Strategy: 7 Steps to Market Segmentation EN Wikipedia Customer service, EN Wikipedia Technical support, Violino, Research: Automated Customer Service Takes Off Computer support for dummies by experts, Rubens, Technical support for the neighbours EN Wikipedia Automation, The Boston Globe, Of The Fastest Declining Occupations Kongthon, Sangkeettrakarn, Kongyoung, Haruechaiyasak, Implementing an online help desk system based on conversational agent
49 Väänänen-Vainio-Mattila, Wäljas, Moving Towards User-Centered Mashups: Exploring User Needs for Composite Web Services. Windows User Experience Interaction Guidelines, Hess, Guiding Principles for UX Designers Werner, Fulton, User experience best practices for web self-service 49 Hassenzahl, User Experience and Experience Design Practices-White-Papers.pdf Bolim, End-User Programming for the Web, MIT MS thesis
50 50 ATTACHMENTS admin.php (1/3) <?php session_start(); if ($_SESSION['role']!= 'admin') header('location: index.php'); exit();?> <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> <title>administrator</title> <script src="md5creator.js" type="text/javascript"></script> <SCRIPT language="javascript"> function generatepwd() document.getelementbyid("pwd").type="text"; document.getelementbyid("pwd").value=""; document.getelementbyid("nappi").type="button"; document.getelementbyid("resetti").type="button"; </SCRIPT> </head> <body> <FORM METHOD="LINK" ACTION="index.php" > <INPUT TYPE="submit" VALUE="Back to main page"> </form> <font size=5>manage user accounts for solution interface</font> <?php require_once ("connectsql.php"); if (isset($_post['hdncmd'])) if($_post["hdncmd"] == "Add") $strsql = "INSERT INTO acsusers "; $strsql.="(role,username, ,password,datecreated) "; $strsql.="values "; $strsql.="('".$_post["txtaddrole"]."' "; $strsql.=",'".$_post["txtaddusername"]."' "; $strsql.=",'".$_post["txtadd "]."' "; $strsql.=",md5('".$_post["txtaddpassword"]."'), CURDATE()) "; $objquery = mysql_query($strsql); if(isset($_post['hdncmd'])) if($_post["hdncmd"] == "Update") $strsql = "UPDATE acsusers SET "; $strsql.="id = '".$_POST["txtEditID"]."' "; $strsql.=",role = '".$_POST["txtEditrole"]."' "; $strsql.=",username = '".$_POST["txtEditusername"]."' "; $strsql.=", = '".$_POST["txtEdit "]."' "; $strsql.=",password = '".$_POST["txtEditpassword"]."' "; $strsql.="where ID = '".$_POST["hdnEditID"]."' "; $objquery = mysql_query($strsql); if (isset($_get['action'])) if($_get["action"] == "Del") $strsql = "DELETE FROM acsusers "; $strsql.="where ID = '".$_GET["ID"]."' "; $objquery = mysql_query($strsql); $strsql = "SELECT * FROM acsusers"; $objquery = mysql_query($strsql) or die ("Error Query [".$strsql."]");?>
51 51 admin.php (2/3) <form name="frmmain" method="post" action="<?=$_server["php_self"];?>"> <input type="hidden" name="hdncmd" value=""> <table border="1"> <tr><th></th><th><div align="center"> User name </div></th><th><div align="center"> </div></th><th><div align="center"> Role </div></th><th><div align="center"> Password </div></th><th><div align="center"> Edit </div></th><th><div align="center"> Delete </div></th></tr> <?php while($objresult = mysql_fetch_array($objquery)) if (isset( $_GET["ID"] )) else $_GET["ID"] = 'temp'; if($objresult["id"] == $_GET["ID"] and $_GET["Action"] == "Edit")?> <tr> <td><div align="center"> <input type="hidden" name="txteditid" size="5" value="<?=$objresult["id"];?>"> <input type="hidden" name="hdneditid" size="5" value="<?=$objresult["id"];?>"></div></td> <td><input type="text" name="txteditusername" value="<?=$objresult["username"];?>"></td> <td><input type="text" name="txtedit " value="<?=$objresult[" "];?>"></td> <td><input type="text" name="txteditrole" value="<?=$objresult["role"];?>"></td><td> <INPUT id="resetti" type="button" value="reset Password" onclick="generatepwd()"><br> <input id="pwd" type="hidden" name="txteditpassword" value="<?=$objresult["password"];?>"> <input type="hidden" id="nappi" onclick="document.getelementbyid('pwd').value = hex_md5(document.getelementbyid('pwd').value)" value="generate new password"></td> <td colspan="2" align="right"><div align="center"> <input name="btnadd" type="submit" id="btnupdate" value="update" OnClick="frmMain.hdnCmd.value='Update';frmMain.submit();"> <input name="btnadd" type="submit" id="btncancel" value="cancel" OnClick="window.location='<?=$_SERVER["PHP_SELF"];?>';"> </div></td></tr> <?php else?> <tr><td></td><td> <?=$objresult["username"];?></td><td> <?=$objresult[" "];?></td><td> <?=$objresult["role"];?></td><td><div align="center"> <?=$objresult["password"];?></div></td><td align="center"><a href="<?=$_server["php_self"];?>?action=edit&id= <?=$objresult["id"];?>"><img src="action.png"></a> <td align="center"><a href="<?=$_server["php_self"];?>?action=del&id= <?=$objresult["id"];?>"><? if ($objresult["role"]!='admin') echo '<img src="action.png">';?></a></tr> <?php?>
52 52 admin.php (3/3) <tr><td><input type="hidden" name="txtaddid" ></td> <td style="background-color:black;"> <input type="text" name="txtaddusername"></td> <td style="background-color:black;"> <input type="text" name="txtadd "></td> <td style="background-color:black;"> <input type="text" name="txtaddrole"></td> <td style="background-color:black;"> <input type="text" name="txtaddpassword" size="30"></td> <td style="background-color:black;" colspan="2" align="right"> <div align="center"> <input name="btnadd" type="submit" id="btnadd" value="add" OnClick="frmMain.hdnCmd.value='Add';frmMain.submit();"> </div></td></tr></table></form><br> <font size=5 color="darkred">latest 15 unsuccessful logins</font> <table> <?php echo "<th>user name</th>"; echo "<th>ip</th>"; echo "<th>time</th>"; $query = "select username,ip,tm from acstrack WHERE login='0' ORDER BY id desc LIMIT 15"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) echo "<tr>"; echo "<td>$row['username']</td>"; echo "<td>$row['ip']</td>"; echo "<td>$row['tm']</td>"; echo "</tr>\n"; $rows++;?> </table><br> <font size=5 color="darkgreen">latest 15 successful logins</font> <table> <?php echo "<th>user name</th>"; echo "<th>ip</th>"; echo "<th>time</th>"; $query = "select username,ip,tm from acstrack WHERE login='1' ORDER BY id desc LIMIT 15"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) echo "<tr>"; echo "<td>$row['username']</td>"; echo "<td>$row['ip']</td>"; echo "<td>$row['tm']</td>"; echo "</tr>\n"; $rows++;?> </table> <FORM METHOD="LINK" ACTION="index.php" style="display:inline;"> <INPUT TYPE="submit" VALUE="Back to main page"> </form> </body> </html>
53 53 ajaxupload.php <?php $destination_path = getcwd().directory_separator; $result = 0; $target_path = $destination_path. '/files/'. basename( $_FILES['myfile']['name']); if(@move_uploaded_file($_files['myfile']['tmp_name'], $target_path)) $result = 1; sleep(1); $upfile = basename( $_FILES['myfile']['name']);?> <script language="javascript" type="text/javascript"> window.top.window.stopupload(<?php echo $result;?>); </script> <script language="javascript" type="text/javascript"> window.top.window.printname("<?php echo $upfile;?>"); </script> connectsql.php <?php $db = mysql_connect("databaseurl.fi:3306", "login", "password"); $objdb = mysql_select_db("database");?>
54 54 fileupload.php <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script language="javascript" type="text/javascript"> function stopupload(success) var result = ''; if (success == 1) document.getelementbyid('filename').innerhtml = "File uploaded to document.getelementbyid('upform').innerhtml = result + '<label>file: <input name="myfile" type="file" size="30" /><\/label><label> <input type="submit" name="submitbtn" class="sbtn" value="upload" /><\/label>'; return true; function printname(upfile) document.getelementbyid('filename').innerhtml = document.getelementbyid('filename').innerhtml + upfile; return true; </script></head><body> <div id="filename"></div> <div id="container"> <div id="content"> <form action="ajaxupload.php" method="post" enctype="multipart/form-data" target="upload_target" > <p id="upform"><br/> <label>upload file:<br> <input name="myfile" type="file" size="20" /></label> <label> <input type="submit" name="submitbtn" class="sbtn" value="upload" /> </label></p> <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> </form> </div> </div> </body> </html>
55 55 HTML_template.php (1/2) <?php session_start(); if ( $_SESSION["login"]!= "1" ) header("location: index.php"); echo '<div align=right><form action="logout.php" method="get"> <input type="submit" value="log out" /> </form>'; if ( $_SESSION["role"] == "admin") echo '<form action="admin.php" method="get"> <input type="submit" value="user management" /> </form>'; echo '</div>'; if (isset($_post['filename'])) $savelink = str_replace(" ","_",$_POST['filename']); $filename = "". $savelink. ".php"; if (file_exists($filename)) echo "The file $filename exists go back and rename it."; exit; else if (isset($_post['filename'])) $removeslashes = stripslashes($_post['html_code']); $fh = fopen($filename, 'w') or die("can't open file"); $headerstr = '<?php session_start(); include("solutionheader.php");?><br><br>'; $footerstr = '<br><br><?php include("solutionfooter.php");?>'; $filestr = $headerstr. $removeslashes. $footerstr; fwrite($fh, $filestr); fclose($fh); $php_self = $_SERVER['PHP_SELF'];?> <html> <head> <title>html Template</title> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="scripts/jquery min.js"></script> <script type="text/javascript" src="scripts/jquery-ui custom.min.js"></script> <link rel="stylesheet" type="text/css" href="style/jqueryui/ui-lightness/jquery-ui custom.css" /> <script type="text/javascript" src="scripts/jhtmlarea js"></script> <link rel="stylesheet" type="text/css" href="style/jhtmlarea.css" /> </head>
56 56 HTML_template.php (2/2) <body> <? include("fileupload.php");?><br> Title: <font color=grey>(ex. How to solve issue x)<font color=red> use letters A-Z (no åöä etc)</font><br> <form id="form1" method="post" action="<?php $php_self?>"> <input name="filename" type="text" value="" size="30" maxlength="60" /> <p></p><font color=black>keywords: <font color=grey>(ex. connect remote support ) <font color=red>separator <font size=5><b> </b></font><br> <form id="form2" method="post" action="<?php $php_self?>"> <input name="keywords" type="text" value="" size="40" maxlength="100" /> <p><font color=black>write solution here: <font color=grey>(include HTML tags)</font><br><input type="button" id="hideme" value="use WYSIWYG" onclick="$('#html_code').htmlarea('forecolor', 'blue'); document.getelementbyid('hideme').type='hidden';" /><br> <textarea name="html_code" cols="70" rows="30" wrap="physical" value="html/html" id="html_code" cols="50" rows="15"><p><h3>to solve this problem do the following:</h3><br>check <b>settings</b>.</p></textarea> <br> </p> <input type="submit" name="submit" value="create page" /> </form><br><br><br><br> <form id="form1" method="post" action="index.php"> <input type="submit" value="back to main page"/> </form> <? if (file_exists($filename)) require_once("connectsql.php"); $topic = $_POST['filename']; $start = strpos(selfurl(), 'HTML_template.php'); $r = substr(selfurl(), 0, $start); $r = $r. $filename; $s = $_POST['keywords']; $sql = "INSERT INTO acskeydata (title, keywords, link, rates, points, rate, datecreated) VALUES ('$topic', '$s', '$r', 1, 3, 3, CURDATE())"; $req = mysql_query($sql) or die(); echo "Solution page $filename was created"; function selfurl() $s = empty($_server["https"])? '' : ($_SERVER["HTTPS"] == "on")? "s" : ""; $protocol = strleft(strtolower($_server["server_protocol"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80")? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_server['server_name'].$port.$_server['request_uri']; function strleft($s1, $s2) return substr($s1, 0, strpos($s1, $s2));?> </body> </html>
57 57 index.php <?php session_start();?> <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <font size="6">automated customer support system<br></font> <?php include ("list_solutions.php"); if( $_SESSION['login']!= 1 ) require( 'login.php' ); if ( $_SESSION["login"] == "1" ) echo '<div align=right><form action="logout.php" method="get"> <input type="submit" value="log out" /> </form><form action="html_template.php" method="get"> <input type="submit" value="html template" /> </form> '; if ( $_SESSION["role"] == "admin") echo '<form action="admin.php" method="get"> <input type="submit" value="user management" /> </form>'; echo '</div>';?> <br> <form id="form1" method="post" action="reportissue.php"> <font color=red size=3>didn't find what you were looking for? </font><br> <input type="submit" value="report new issue here"/> </form> </body> </html> list_solutions.php <?php session_start();?> <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <script type="text/javascript" src="search.js"></script> <?php include("search.php");?> </body> </html>
58 58 login.php <?php session_start(); $username = $_POST['name']; $password = $_POST['pass']; $tm=date("y-m-d-h:i:s"); $ip=$_server['remote_addr']; if( isset($username) isset($password) ) if( empty($username) ) die ("ERROR: Please enter username! Press back to try again."); if( empty($password) ) die ("ERROR: Please enter password! Press back to try again."); require_once ("connectsql.php"); $sql = "SELECT * FROM acsusers WHERE username='$username' AND password=md5('$password')"; $query = mysql_query($sql); if (mysql_num_rows($query)) $result = mysql_query("select role FROM acsusers WHERE username='$username'"); $row = mysql_fetch_array( $result ); $_SESSION['role'] = $row['role']; $_SESSION['login'] = '1'; mysql_query("update acsusers SET datelastlogin=curdate() WHERE username='$username' "); mysql_query("insert INTO acstrack(username, ip, tm, login) VALUES ('$username','$ip','$tm', '1')"); else echo '<DIV ALIGN="right">ERROR: Incorrect username or password! Press back to try again.</div>'; mysql_query("insert INTO acstrack(username, ip, tm, login) VALUES ('$username','$ip','$tm', '0')"); else?> <html> <head></head> <body> <DIV ALIGN="right"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> <font size="1"> User: <input type="text" name="name" size="1" value="<?php echo $_COOKIE['username'];?>"> Pass: <input type="password" name="pass" size="1"> <input type="submit" name="submit" value="login"></form> </font> </div> </body> </html> <?php?> logout.php <?php session_start(); unset($_session['login']); unset($_session['role']); $role = '0'; header('location: index.php');?>
59 59 msg.php <html> <head> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <?php if ( isset( $_POST['send'] )) $login = $_POST['login']; else $login = ""; $message = "";?> <form method="post"> Name:<br><input type="text"name="login" size="20" maxlength="20" value="<?php echo $login;?>"><br><br> Message:<br><textarea name="message" size="30" maxlength="255"></textarea><br><input type="submit" name="send" value="send"><br><br> </form> <?php require_once("connectsql.php"); $title = selfurl(); $sql = "SELECT id from acskeydata WHERE link='$title'"; $req = mysql_query($sql) or die(); while ($data = mysql_fetch_array($req)) $titleid = $data['id']; function addmessage( $login, $message, $titleid ) $login = mysql_real_escape_string(strip_tags( $login )); $message = mysql_real_escape_string(strip_tags( $message, "<a><b><i><u>")); $itstime = date("f j, Y, g:i a"); mysql_query( "INSERT INTO acsfeedback ( topicid, login, message, itstime ) VALUES ( '$titleid','$login','$message', '$itstime' )"); if ( isset( $_POST['send'] )) addmessage( $_POST['login'], $_POST['message'], $titleid ); if ( isset( $_POST['send'] )) $login = $_POST['login']; else $login = ""; $message = ""; include("connectsql.php"); function printmessages($titleid) $rs = mysql_query( "SELECT * FROM acsfeedback WHERE topicid=$titleid ORDER BY id DESC LIMIT 0,80" ); while ( $msg = mysql_fetch_array( $rs )) echo "<div id=\"chat\">"; $msg['message']=wordwrap($msg['message'], 75, "\n", 1); echo "<span style=\"color:navy\"><span style=\"color:blue\">"; echo "<font size=2><b>". $msg['login']. "</b> <font size=1>(". $msg['itstime']. ")<br><font size=2></span><span style=\"color:navy\"> ". $msg['message']. "</div></span><br />"; printmessages($titleid);?> </body> </html>
60 60 rating.php <?php require_once("connectsql.php"); $rate = $_GET["rate"]; $id = $_GET["id"]; $rating = $_GET["rating"]; mysql_query ("UPDATE acskeydata SET points = points+$rate, rates = rates+1, rate = $rating WHERE id = $id"); header("location: index.php");?> reportissue.php <?php session_start();?> <html><head> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <tr><td> <strong>report new issue </strong></td></tr><br> <table width="400" border="0" align="left" cellpadding="0" cellspacing="1"> <tr><td> <form id="form1" method="post" enctype="multipart/form-data" action="<?php $php_self?>"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr><td width="16%"> Subject</td> <td width="2%">:</td> <td width="82%"><input name="subject" type="text" size="50" /></td></tr> <tr><td> Detail</td><td>:</td><td> <textarea name="detail" cols="50" rows="4"></textarea></td></tr> <tr><td> Name</td><td>:</td><td> <input name="name" type="text" size="50" /></td></tr> <tr><td> </td><td>:</td><td> <input name="customer_mail" type="text" size="50" /></td></tr> <tr><td> Attachment (zip-file)</td><td>:</td><td> <input name="attachment" type="file" /></td></tr><tr> <td> </td><td> </td><td> <input type="submit" value="report issue" /></td></tr> </table></form></td></tr></table> <?php if (isset($_post['subject'])) $uploaddir = 'attachment/'; $uploadfile = $uploaddir. basename($_files['attachment']['name']); move_uploaded_file($_files['attachment']['tmp_name'], $uploadfile); $to ='[email protected]' $subject=$_post["subject"]; $detail=$_post["detail"]; $ =$_post["customer_mail"]; $name=$_post["name"]; $message = 'from: '. $name. ' attachment: $uploadfile. ' reported issue: '. $detail. ' Link: $send_mail=mail($to,$subject,$message,$ ); if($send_mail) echo "Thank you. You will receive mail once solution exists."; $php_self = $_SERVER['PHP_SELF'];?> <form id="form1" method="post" action="index.php"> <input type="submit" value="back to main page"/> </form></body></html>
61 61 search.js var myajax = ajax(); function ajax() var ajax = null; if (window.xmlhttprequest) try ajax = new XMLHttpRequest(); catch(e) else if (window.activexobject) try ajax = new ActiveXObject("Msxm12.XMLHTTP"); catch (e) try ajax = new ActiveXObject("Microsoft.XMLHTTP"); catch (e) return ajax; function request(str) myajax.open("post", "list_solutions.php"); myajax.onreadystatechange = result; myajax.setrequestheader("content-type", "application/x-www-form-urlencoded"); myajax.send("search="+str); function result() if (myajax.readystate == 4) var liste = myajax.responsetext; var cible = document.getelementbyid('tag_update').innerhtml = liste; function selected(choice) var cible = document.getelementbyid('s'); cible.value = choice; document.getelementbyid('tag_update').style.display = "none";
62 62 search.php <?php session_start(); if (isset($_post['search'])) $search = htmlentities($_post['search']); require_once("connectsql.php"); $sql = "SELECT * from acskeydata WHERE keywords LIKE '%$search%' OR title LIKE '%$search%'"; $req = mysql_query($sql) or die(); echo '<ul>'; while ($data = mysql_fetch_array($req)) echo '<li><a href="'.htmlentities($data['link']).'" onclick="selected(this.innerhtml);">'.htmlentities($data['title']); echo '<font size=1 color=grey> '; echo $data['rate'].'/5</font></a></li>'; echo '</ul>'; exit;?> <form method="get" id="searchform" action="list_solutions.php"> <div><input autocomplete="off" type="text" value="enter few keywords for search query" name="s" size="75" id="s" onfocus="this.value=''" onkeyup="request(this.value);"/> </div><div id="tag_update"></div> </form> <? function selfurl() $s = empty($_server["https"])? '' : ($_SERVER["HTTPS"] == "on")? "s" : ""; $protocol = strleft(strtolower($_server["server_protocol"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80")? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_server['server_name'].$port.$_server['request_uri']; function strleft($s1, $s2) return substr($s1, 0, strpos($s1, $s2));?> solutionfooter.php <br><br><b> <form method="get" action="rating.php"> 0<input type="radio" name="rate" value="0"/> <input type="radio" name="rate" value="1"/> <input type="radio" name="rate" value="2"/> <input type="radio" name="rate" value="3"/> <input type="radio" name="rate" value="4"/> <input type="radio" name="rate" value="5"/>5 <input type="submit" value="rate This solution"> <input type="hidden" name="id" value="<? echo $id?>"> <input type="hidden" name="rating" value="<? echo $setrating?>"> </form></b> <br><br>leave feedback or comment<br><br> <?php include("msg.php");?> <form id="form1" method="post" action="index.php"> <input type="submit" value="back to main page"/> </form> </body> </html>
63 63 solutionheader.php <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <script type="text/javascript" src="search.js"></script> <?php include("search.php"); require_once("connectsql.php"); $title = selfurl(); $sql = "SELECT id, title, rates, points from acskeydata WHERE link='$title'"; $req = mysql_query($sql) or die(); while ($data = mysql_fetch_array($req)) echo '<font size="5"><b>'; echo $data['title']; echo '</font></b>'; $id = $data['id']; $rates = $data['rates']; $points = $data['points']; $current = $points / $rates; $stars = round($current, 0); $setrating = round($current, 1); echo " ("; while ( $stars >= 1 ) echo '<img src="star.png">'; $stars--; echo ")";?>
64 64 style.css body background-color:#d0e4fe; #tag_update display: block; border-left: 1px solid #373737; border-right: 1px solid #373737; border-bottom: 1px solid #373737; position:absolute; z-index:1; #tag_update ul margin: 0; padding: 0; list-style: none; #tag_update li display:block; clear:both; #tag_update a width:400px; display: block; padding:.2em.3em; text-decoration: none; color: #000; background-color: #FFFFFF; text-align: left; #tag_update a:hover color: #fff; background-color: #373737; background-image: none; div#chat text-align:center; width:303; border:2px solid; border-radius:25px; -moz-border-radius:25px;
User Guide for Smart Former Gold (v. 1.0) by IToris Inc. team
User Guide for Smart Former Gold (v. 1.0) by IToris Inc. team Contents Offshore Web Development Company CONTENTS... 2 INTRODUCTION... 3 SMART FORMER GOLD IS PROVIDED FOR JOOMLA 1.5.X NATIVE LINE... 3 SUPPORTED
ADMINISTRATOR GUIDE VERSION
ADMINISTRATOR GUIDE VERSION 4.0 2014 Copyright 2008 2014. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means electronic or mechanical, for any purpose
Introduction to web development and JavaScript
Objectives Chapter 1 Introduction to web development and JavaScript Applied Load a web page from the Internet or an intranet into a web browser. View the source code for a web page in a web browser. Knowledge
Portals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
WEB DEVELOPMENT IA & IB (893 & 894)
DESCRIPTION Web Development is a course designed to guide students in a project-based environment in the development of up-to-date concepts and skills that are used in the development of today s websites.
Vector HelpDesk - Administrator s Guide
Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Configuring and Maintaining Vector HelpDesk version 5.6 Vector HelpDesk - Administrator s Guide Copyright Vector Networks
Salesforce Customer Portal Implementation Guide
Salesforce Customer Portal Implementation Guide Salesforce, Winter 16 @salesforcedocs Last updated: December 10, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered
Lesson 7 - Website Administration
Lesson 7 - Website Administration If you are hired as a web designer, your client will most likely expect you do more than just create their website. They will expect you to also know how to get their
Version 1.0 January 2011. Xerox Phaser 3635MFP Extensible Interface Platform
Version 1.0 January 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX and XEROX and Design are trademarks of Xerox Corporation in the United States and/or other countries. Changes are periodically
How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For
How-to Guide: MIT DLC Drupal Cloud Theme This guide will show you how to take your initial Drupal Cloud site... and turn it into something more like this, using the MIT DLC Drupal Cloud theme. See this
Document management and exchange system supporting education process
Document management and exchange system supporting education process Emil Egredzija, Bozidar Kovacic Information system development department, Information Technology Institute City of Rijeka Korzo 16,
Welcome to Collage (Draft v0.1)
Welcome to Collage (Draft v0.1) Table of Contents Welcome to Collage (Draft v0.1)... 1 Table of Contents... 1 Overview... 2 What is Collage?... 3 Getting started... 4 Searching for Images in Collage...
SAML Authentication Quick Start Guide
SAML Authentication Quick Start Guide Powerful Authentication Management for Service Providers and Enterprises Authentication Service Delivery Made EASY Copyright 2013 SafeNet, Inc. All rights reserved.
Creating Online Surveys with Qualtrics Survey Tool
Creating Online Surveys with Qualtrics Survey Tool Copyright 2015, Faculty and Staff Training, West Chester University. A member of the Pennsylvania State System of Higher Education. No portion of this
PROJECT MANAGEMENT SYSTEM
Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU
USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)
USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To
MODx Web Development. Antano Solar John. Chapter No. 5 "Authentication and Authorization"
MODx Web Development Antano Solar John Chapter No. 5 "Authentication and Authorization" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter No.
Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY
Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every
Front-End Performance Testing and Optimization
Front-End Performance Testing and Optimization Abstract Today, web user turnaround starts from more than 3 seconds of response time. This demands performance optimization on all application levels. Client
SelectSurvey.NET Developers Manual
Developers Manual (Last updated: 6/24/2012) SelectSurvey.NET Developers Manual Table of Contents: SelectSurvey.NET Developers Manual... 1 Overview... 2 General Design... 2 Debugging Source Code with Visual
2/24/2010 ClassApps.com
SelectSurvey.NET Training Manual This document is intended to be a simple visual guide for non technical users to help with basic survey creation, management and deployment. 2/24/2010 ClassApps.com Getting
JJY s Joomla 1.5 Template Design Tutorial:
JJY s Joomla 1.5 Template Design Tutorial: Joomla 1.5 templates are relatively simple to construct, once you know a few details on how Joomla manages them. This tutorial assumes that you have a good understanding
Self-Service Portal Implementation Guide
Self-Service Portal Implementation Guide Salesforce, Winter 6 @salesforcedocs Last updated: October 0, 05 Copyright 000 05 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
Software Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
INTRODUCTION TO ATRIUM... 2 SYSTEM REQUIREMENTS... 2 TECHNICAL DETAILS... 2 LOGGING INTO ATRIUM... 3 SETTINGS... 4 NAVIGATION PANEL...
INTRODUCTION TO ATRIUM... 2 SYSTEM REQUIREMENTS... 2 TECHNICAL DETAILS... 2 LOGGING INTO ATRIUM... 3 SETTINGS... 4 CONTROL PANEL... 4 ADDING GROUPS... 6 APPEARANCE... 7 BANNER URL:... 7 NAVIGATION... 8
Designing and Implementing an Online Bookstore Website
KEMI-TORNIO UNIVERSITY OF APPLIED SCIENCES TECHNOLOGY Cha Li Designing and Implementing an Online Bookstore Website The Bachelor s Thesis Information Technology programme Kemi 2011 Cha Li BACHELOR S THESIS
LICENSE4J LICENSE MANAGER USER GUIDE
LICENSE4J LICENSE MANAGER USER GUIDE VERSION 4.5.5 LICENSE4J www.license4j.com Table of Contents Getting Started... 4 Managing Products... 6 Create Product... 6 Edit Product... 7 Refresh, Delete Product...
Sports Management Information Systems. Camilo Rostoker November 22, 2002
Sports Management Information Systems Camilo Rostoker November 22, 2002 Introduction We are in the information age The availability of technology has brought forth a new problem domain how do we manage
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
IT Service Desk Manual Ver. 2.0. Document Prepared By: IT Department. Page 1 of 12
Document Prepared By: Page 1 of 12 INDEX 1. Introduction. 3 2. Home Page..... 4 2.1 My Request Summary..... 4 2.2 Announcement....... 5 2.3 Submit your Request...... 5 2.4 Report a Problem...... 6 2.5
Sending Email on Blue Hornet
Sending Email on Blue Hornet STEP 1 Gathering Your Data A. For existing data from Advance or Outlook, pull email address, first name, last name, and any other variable data you would like to use in the
Getting Started - The Control Panel
Table of Contents 1. Getting Started - the Control Panel Login Navigation Bar Domain Limits Domain User Account Properties Session Management 2. FTP Management Creating and Editing Users Accessing FTP
Using your content management system EXPRESSIONENGINE CMS DOCUMENTATION UKONS
Using your content management system EXPRESSIONENGINE CMS DOCUMENTATION UKONS JOHN MOYLAN UKONS EXPRESSIONENGINE DOCUMENTATION 2 What is ExpressionEngine? ExpressionEngine is a flexible, feature-rich content
ADT: Inventory Manager. Version 1.0
ADT: Inventory Manager Version 1.0 Functional Specification Author Jason Version 1.0 Printed 2001-10-2212:58 PM Document Revisions Revisions on this document should be recorded in the table below: Date
DreamFactory & Modus Create Case Study
DreamFactory & Modus Create Case Study By Michael Schwartz Modus Create April 1, 2013 Introduction DreamFactory partnered with Modus Create to port and enhance an existing address book application created
Vodafone Hosted Services. Getting started. User guide
Vodafone Hosted Services Getting started User guide Vodafone Hosted Services getting started Welcome. Vodafone Hosted Services has been designed to make it as easy as possible to keep control over your
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72 User Guide Contents 1 Introduction... 4 2 Requirements... 5 3 Important Note for Customers Upgrading... 5 4 Installing the Web Reports
TeamViewer 9 Manual Management Console
TeamViewer 9 Manual Management Console Rev 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Table of Contents 1 About the TeamViewer Management Console... 4 1.1 About the
Design and Functional Specification
2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)
Table of Contents INTRODUCTION... 2 HOME PAGE... 3. Announcements... 7 Personalize & Change Password... 8 Reminders... 9 SERVICE CATALOG...
Table of Contents INTRODUCTION... 2 HOME PAGE... 3 Announcements... 7 Personalize & Change Password... 8 Reminders... 9 SERVICE CATALOG... 11 Raising a Service Request... 12 Edit the Service Request...
Website Login Integration
SSO Widget Website Login Integration October 2015 Table of Contents Introduction... 3 Getting Started... 5 Creating your Login Form... 5 Full code for the example (including CSS and JavaScript):... 7 2
S.A.T.E.P. : Synchronous-Asynchronous Tele-education Platform
S.A.T.E.P. : Synchronous-Asynchronous Tele-education Platform Lazaros Lazaridis, Maria Papatsimouli and George F. Fragulis Laboratory of Web Technologies & Applied Control Systems Dept. Of Electrical Engineering
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Introduction Client-Side scripting involves using programming technologies to build web pages and applications that are run on the client (i.e.
Web Page Redirect. Application Note
Web Page Redirect Application Note Table of Contents Background... 3 Description... 3 Benefits... 3 Theory of Operation... 4 Internal Login/Splash... 4 External... 5 Configuration... 5 Web Page Redirect
Installation and Administration Guide
Installation and Administration Guide Release 8 This installation guide will walk you through how to install and deploy Conga Composer, including recommended settings for the application. Contact Support:
IT3504: Web Development Techniques (Optional)
INTRODUCTION : Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence
Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Resource Management Tool (RMT) Help Desk User s Guide. Revision 0.2
Resource Management Tool (RMT) Help Desk User s Guide Revision 0.2 April 23, 2007 Revision History Send document corrections, additions, and suggestions to the Technical Publications Group at [email protected].
vtiger Customer Portal 5.0 User Manual
vtiger Customer Portal 5.0 User Manual Document History Version 5.0.0 Date: August 3, 2006 - 2 - Table of Contents 1. Introduction... 3 2. Installing vtiger Customer Portal... 4 2.1. System Requirements...
Strategic Asset Tracking System User Guide
Strategic Asset Tracking System User Guide Contents 1 Overview 2 Web Application 2.1 Logging In 2.2 Navigation 2.3 Assets 2.3.1 Favorites 2.3.3 Purchasing 2.3.4 User Fields 2.3.5 History 2.3.6 Import Data
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
ECOMMERCE SITE LIKE- GRAINGER.COM
12/19/2012 ITFLEXSOLUTIONS ECOMMERCE SITE LIKE- GRAINGER.COM Developed by : IT Flex Solutions www.itflexsolutions.com *Please note that this is not a final proposal only an estimate of the time and type
IT3503 Web Development Techniques (Optional)
INTRODUCTION Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development
Fasthosts Internet Parallels Plesk 10 Manual
Fasthosts Internet Parallels Plesk 10 Manual Introduction... 2 Before you begin... 2 Logging in to the Plesk control panel... 2 Securing access to the Plesk 10 control panel... 3 Configuring your new server...
Mail Chimp Basics. Glossary
Mail Chimp Basics Mail Chimp is a web-based application that allows you to create newsletters and send them to others via email. While there are higher-level versions of Mail Chimp, the basic application
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
Index. Page 1. Index 1 2 2 3 4-5 6 6 7 7-8 8-9 9 10 10 11 12 12 13 14 14 15 16 16 16 17-18 18 19 20 20 21 21 21 21
Index Index School Jotter Manual Logging in Getting the site looking how you want Managing your site, the menu and its pages Editing a page Managing Drafts Managing Media and Files User Accounts and Setting
vtiger Customer Portal 4.2 User Manual
- 1 - vtiger Customer Portal 4.2 User Manual (Version 2.0) - 2 - Table of Contents 1. Introduction... 3 2. Installing vtiger Customer Portal... 4 2.1. System Requirements... 4 2.2. Installation Prerequisites...
CEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
Smart Business Architecture for Midsize Networks Network Management Deployment Guide
Smart Business Architecture for Midsize Networks Network Management Deployment Guide Introduction: Smart Business Architecture for Mid-sized Networks, Network Management Deployment Guide With the Smart
Learning Management System (LMS) Guide for Administrators
Learning Management System (LMS) Guide for Administrators www.corelearningonline.com Contents Core Learning Online LMS Guide for Administrators Overview...2 Section 1: Administrator Permissions...3 Assigning
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System
Sysax Multi Server User manual
Sysax Multi Server User manual Table of Contents 1. Introduction to Sysax Multi Server... 1 1.1. Introduction to Sysax Multi Server... 2 2. Minimum System Requirements... 4 2.1. System Requirements...
CMP3002 Advanced Web Technology
CMP3002 Advanced Web Technology Assignment 1: Web Security Audit A web security audit on a proposed eshop website By Adam Wright Table of Contents Table of Contents... 2 Table of Tables... 2 Introduction...
AEGEE Podio Guidelines
AEGEE Podio Guidelines EUROPEAN STUDENTS FORUM Contains What is Podio?... 3 Podio vs Facebook... 3 Video Tutorial Podio Basics... 3 Podio for AEGEE-Europe... 3 How to get it?... 3 Getting started... 4
Site Store Pro. INSTALLATION GUIDE WPCartPro Wordpress Plugin Version
Site Store Pro INSTALLATION GUIDE WPCartPro Wordpress Plugin Version WPCARTPRO INTRODUCTION 2 SYSTEM REQUIREMENTS 4 DOWNLOAD YOUR WPCARTPRO VERSION 5 EXTRACT THE FOLDERS FROM THE ZIP FILE TO A DIRECTORY
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
RIT Message Center Compose and Send Messages
RIT Message Center Compose and Send Messages Table of Contents Table of Contents... 2 Logging into Message Center... 3 Category Display... 3 Message Center: Create a Message... 4 Create a New Message without
Using your Drupal Website Book 1 - Drupal Basics
Book 1 - Drupal Basics By Karl Binder, The Adhere Creative Ltd. 2010. This handbook was written by Karl Binder from The Adhere Creative Ltd as a beginners user guide to using a Drupal built website. It
How To Convert A Lead In Sugarcrm
Attract. Convert. Retain. Lead Management in SugarCRM Written by: Josh Sweeney and Matthew Poer www.atcoresystems.com Atcore Systems, LLC 2010 All rights reserved. No part of this publication may be reproduced
Site Maintenance. Table of Contents
Site Maintenance Table of Contents Adobe Contribute How to Install... 1 Publisher and Editor Roles... 1 Editing a Page in Contribute... 2 Designing a Page... 4 Publishing a Draft... 7 Common Problems...
BlackBerry Enterprise Service 10. Universal Device Service Version: 10.2. Administration Guide
BlackBerry Enterprise Service 10 Universal Service Version: 10.2 Administration Guide Published: 2015-02-24 SWD-20150223125016631 Contents 1 Introduction...9 About this guide...10 What is BlackBerry
Law Conferencing uses the Webinterpoint 8.2 web conferencing platform. This service is completely reservationless and available 24/7.
Law Conferencing uses the Webinterpoint 8.2 web conferencing platform. This service is completely reservationless and available 24/7. This document contains detailed instructions on all features. Table
Guide to Setting up Docs2Manage using Cloud Services
COMvantage Solutions Presents: Version 3.x Cloud based Document Management Guide to Setting up Docs2Manage using Cloud Services Docs2Manage Support: Email: [email protected] Phone: +1.847.690.9900
E-Commerce: Designing And Creating An Online Store
E-Commerce: Designing And Creating An Online Store Introduction About Steve Green Ministries Solo Performance Artist for 19 Years. Released over 26 Records, Several Kids Movies, and Books. My History With
Developing an On-Demand Web Report Platform Using Stored Processes and SAS Web Application Server
Paper 10740-2016 Developing an On-Demand Web Report Platform Using Stored Processes and SAS Web Application Server ABSTRACT Romain Miralles, Genomic Health. As SAS programmers, we often develop listings,
About DropSend. Sending Files with DropSend
About DropSend DropSend is a service that allows businesses and individuals to send large files, store files online and collaborate in a quick and easy way. DropSend Business Plan will help your company
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
SelectSurvey.NET User Manual
SelectSurvey.NET User Manual Creating Surveys 2 Designing Surveys 2 Templates 3 Libraries 4 Item Types 4 Scored Surveys 5 Page Conditions 5 Piping Answers 6 Previewing Surveys 7 Managing Surveys 7 Survey
Software Requirements Specification
CSL740 Software Engineering Course, IIT Delhi Software Requirements Specification Submitted By Abhishek Srivastava (2011EEY7511) Anil Kumar (2009CS10180) Jagjeet Singh Dhaliwal (2008CS50212) Ierum Shanaya
ISE Web Portal Customization Options. Secure Access How-to User Guide Series
ISE Web Portal Customization Options Secure Access How-to User Guide Series Author: Jason Kunst Date: July 9, 2015 Table of Contents About this guide... 3 Prerequisite to using JavaScript on your portal
ADT: Bug Tracker. Version 1.0
ADT: Bug Tracker Version 1.0 Functional Specification Author Jason Version 1.0 Printed 2001-10-2212:23 PM Document Revisions ADT: Bug Tracker Version 1.0 Functional Specification Revisions on this document
HELP DESK MANUAL INSTALLATION GUIDE
Help Desk 6.5 Manual Installation Guide HELP DESK MANUAL INSTALLATION GUIDE Version 6.5 MS SQL (SQL Server), My SQL, and MS Access Help Desk 6.5 Page 1 Valid as of: 1/15/2008 Help Desk 6.5 Manual Installation
CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ
CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting
Livezilla How to Install on Shared Hosting http://www.jonathanmanning.com By: Jon Manning
Livezilla How to Install on Shared Hosting By: Jon Manning This is an easy to follow tutorial on how to install Livezilla 3.2.0.2 live chat program on a linux shared hosting server using cpanel, linux
5. At the Windows Component panel, select the Internet Information Services (IIS) checkbox, and then hit Next.
Installing IIS on Windows XP 1. Start 2. Go to Control Panel 3. Go to Add or RemovePrograms 4. Go to Add/Remove Windows Components 5. At the Windows Component panel, select the Internet Information Services
Plesk 11 Manual. Fasthosts Customer Support
Fasthosts Customer Support Plesk 11 Manual This guide covers everything you need to know in order to get started with the Parallels Plesk 11 control panel. Contents Introduction... 3 Before you begin...
5.2.3 Thank you message 5.3 - Bounce email settings Step 6: Subscribers 6.1. Creating subscriber lists 6.2. Add subscribers 6.2.1 Manual add 6.2.
Step by step guide Step 1: Purchasing an RSMail! membership Step 2: Download RSMail! 2.1. Download the component 2.2. Download RSMail! language files Step 3: Installing RSMail! 3.1: Installing the component
Drupal + Formulize. A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module
Drupal + Formulize A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module May 16, 2007 Updated December 23, 2009 This document has been prepared
Set Up and Maintain Customer Support Tools
Set Up and Maintain Customer Support Tools Salesforce, Winter 16 @salesforcedocs Last updated: December 10, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered
Web Application Guidelines
Web Application Guidelines Web applications have become one of the most important topics in the security field. This is for several reasons: It can be simple for anyone to create working code without security
SyncThru TM Web Admin Service Administrator Manual
SyncThru TM Web Admin Service Administrator Manual 2007 Samsung Electronics Co., Ltd. All rights reserved. This administrator's guide is provided for information purposes only. All information included
TAMS Analyzer 3 and Multi-User Projects. By Matthew Weinstein
TAMS Analyzer 3 and Multi-User Projects By Matthew Weinstein 1 I. Introduction TAMS has always had multiple users in mind, ever since TA1 supported signed tags, i.e., tags that had the coder s initials
User Guide for Smart Former (v. 2.3) by IToris Inc. team
User Guide for Smart Former (v. 2.3) by IToris Inc. team Contents Introduction...4 Installation...5 Smart Former Usage...6 Form Manager...6 Form Editor...7 Layout...7 Boxes managing...8 Text input box...9
WhatsUp Gold v16.3 Installation and Configuration Guide
WhatsUp Gold v16.3 Installation and Configuration Guide Contents Installing and Configuring WhatsUp Gold using WhatsUp Setup Installation Overview... 1 Overview... 1 Security considerations... 2 Standard
YOUR FIRST WEBSITE 5 EASY STEPS WEBSITE QUICKSTART
YOUR FIRST WEBSITE WEBSITE QUICKSTART 5 EASY STEPS Anyone can do to get their first website up and running with wordpress the right way in just a few minutes. 5 STEPS TO YOUR FIRST WEBSITE WAVE NETWORKS
