“LiveHelp / Call Center” Application Source Code

I recently posted an example of a “Live Help / Call Center” application built with Flex and BlazeDS. A number of you have asked me for the source code. So here it is…

Installation instructions

  1. Install BlazeDS or LCDS.
  2. Download the client-side of the application. The end-user application is mortgageapp.mxml, and the support representative application is callcenter.mxml.
  3. Download and deploy the server-side of the application.
  4. Add the following destination in WEB-INF/flex/remoting-config.xml.

    <destination id="ticket-service">
        <properties>
            <source>flex.samples.livehelp.TicketService</source>
            <scope>application</scope>
        </properties>
        <channels>
            <channel ref="my-rtmp"/>
            <channel ref="my-amf"/>
        </channels>
    </destination>
    

    NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel.

  5. Add the following destination in WEB-INF/flex/messaging-config.xml.

    <destination id="callcenter">
        <properties>
            <server>
                <allow-subtopics>true</allow-subtopics>
                <subtopic-separator>.</subtopic-separator>
            </server>
        </properties>
        <channels>
            <channel ref="my-rtmp"/>
            <channel ref="my-longpolling-amf"/>
        </channels>
    </destination>
    

    NOTE: If you are using BlazeDS, remove the line that defines the “my-rtmp” channel in the above destination, and add the following channel definition in WEB-INF/flex/services-config.xml:

    <channel-definition id="my-longpolling-amf" class="mx.messaging.channels.AMFChannel">
    	<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amflongpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
    	<properties>
    		<polling-enabled>true</polling-enabled>
    		<polling-interval-seconds>3</polling-interval-seconds>
    		<wait-interval-millis>60000</wait-interval-millis>
    		<client-wait-interval-millis>1</client-wait-interval-millis>
    		<max-waiting-poll-requests>200</max-waiting-poll-requests>
    	</properties>
    </channel-definition>
    

  6. Follow the instructions in my original post to experience the application.
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • LinkedIn
  • StumbleUpon
  • Twitter
This entry was posted in BlazeDS, Collaboration, Flex, LCDS, LiveCycle Data Services. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

41 Comments

  1. Forrest
    Posted May 16, 2008 at 11:08 pm | Permalink

    yeah! Really thank you for your working!

  2. flexr from shanghai
    Posted May 17, 2008 at 8:34 am | Permalink

    thank you, Christophe !

  3. Fred
    Posted May 17, 2008 at 5:53 pm | Permalink

    Thank you

    Merci

  4. Posted May 18, 2008 at 2:54 am | Permalink

    Great application, in your code it seems that you point to a rtmp server in LiveHelpPanel.mxml. Since BlazeDS doesn’t support rtmp, does that portion just not work or is there a way to use BlazeDS with piece?

  5. Posted May 18, 2008 at 3:40 am | Permalink

    I realized that I need to use a FMS for the RTMP. thx

  6. Posted May 18, 2008 at 10:03 pm | Permalink

    Pretty nice work! Thank you !

    This is a nice prototype for flex/java collaboration system.

    We are also interested in using JBoss/Seam/Flamingo to build such application…

    But i don’t konw, which is better?

  7. Posted May 18, 2008 at 10:08 pm | Permalink

    Flex+JBoss+Seam+Flamingo+Java…
    Flex+Tomcat+BlazeDS+LiveCycle+Java…

  8. Posted May 18, 2008 at 10:46 pm | Permalink

    Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…

    i don’t know to to harness this problem…

  9. Posted May 18, 2008 at 10:49 pm | Permalink

    Dear Christophe, i just finished the stress testing in my local net work for the LiveHelp application,and found that , as i add all the data in the form, the speed of data synchronization get slowing down…and the data synchronization runs not smoothly…and also as the time going on , data synchronizat also runs not smoothly…

    i don’t how know to to harness these problem…

  10. Posted May 18, 2008 at 10:57 pm | Permalink

    anyway , it’s really really a great cool application!!! i’m just love it !

  11. Posted May 19, 2008 at 3:48 am | Permalink

    Thank you so much for the source code Christophe, I was waiting for it since you published your previous post…

  12. christophe
    Posted May 19, 2008 at 8:25 am | Permalink

    Brant,
    Good catch. I had disabled the video conferencing feature in the version I host on my blog. But video conferencing is enabled in the source code I posted here. To make video conferencing work, you indeed need to install Flash Media Server, create a directory called flex_videoconference in the FMS applications directory, and create a file named main.asc in that directory that includes the following line: load(“components.asc”);

    Christophe

  13. the dude
    Posted June 12, 2008 at 7:16 am | Permalink

    hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks

  14. Posted June 17, 2008 at 1:36 am | Permalink

    Thanks for your hard work, I think this is a great idea for good causes. hand to hand.

  15. Posted June 21, 2008 at 1:56 pm | Permalink

    respecto ^o^

  16. solarajan
    Posted June 26, 2008 at 7:53 am | Permalink

    we have downloaded and configured the application in my system.

    pls help me how to run the application

  17. Fred
    Posted July 2, 2008 at 11:11 am | Permalink

    pardon pour ca, c’est encore Flex Builder qui met WebContent pour le context root …
    c résolu donc, pardon pour ce bruit

  18. Posted August 22, 2008 at 5:25 am | Permalink

    Thanks for your hard work, I think this is a great idea for good causes. hand to hand.

  19. Posted October 14, 2008 at 4:03 am | Permalink

    Very interesting code. It inspires me to try something similar. I´ll post my results, if it works. So far, many thanks!

  20. Prof
    Posted October 24, 2008 at 2:49 pm | Permalink

    Trying to get this to work w/ LCDS. I get an error when building project:

    “channel not found for reference ‘my-rtmp’ in destination ‘ticket-service’.”

    I added the entries as explained, but I think I do not have the .class & .java fles in the right place on the server. When you say “Deploy” the server side components, it looks only copying those files is all thats needed? this is my 1st attempt at installing a sample Flex app. Thanks

  21. Posted November 6, 2008 at 8:47 am | Permalink

    Can’t thank you enough for this!
    Just downloaded and I’m sure it’ll work great.

  22. Posted January 7, 2009 at 1:29 pm | Permalink

    We are also interested in using JBoss/Seam/Flamingo to build such application…

    But i don’t konw, which is better?

  23. Posted February 18, 2009 at 7:26 am | Permalink

    Thanks, I downloaded it and it works great!!

  24. Posted February 23, 2009 at 4:16 pm | Permalink

    hi i just downloaded the code and run it, but i just have callcenter.html working. is there “customer” src available too? thanks

  25. Rizal
    Posted March 8, 2009 at 9:42 pm | Permalink

    Bagus ini,
    bagus sekali contoh aplikasinya.

  26. Kalluru
    Posted March 10, 2009 at 11:58 pm | Permalink

    hi,i just downloaded the code and follow the instructions…
    but nw my problem is when i run the application iam getting this error.
    404

    /flex/callcenter-debug/callcenter.html

    java.io.FileNotFoundException: /flex/callcenter-debug/callcenter.html
    at jrun.servlet.file.FileServlet.service(FileServlet.java:349)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    pls any one suggest me whas it problem with my server.

  27. Posted March 17, 2009 at 4:58 pm | Permalink

    anyway , it’s really really a great cool application!!! i’m just love it !

  28. Posted March 19, 2009 at 3:38 pm | Permalink

    sorry for the translation but I do not speak English very well, so is google jeje …
    that, thank you for the code, it works wonders ….
    I would just like to know if anyone can help me keep track of tickets outside of java, perhaps from flex to store them in a bd or would like to do that since you can keep the java bd … if it is from flex, as you would for loading the records in the datagrid from db, not java ???…. may help …. once more thank Christophe ;)
    ————————- Spanish :D ———–
    que tal, muchisimas gracias por el codigo, funciona de maravilla…. solo quisiera saber si alguien me puede ayudar a llevar el registro de los tickets desde afuera de java, quiza desde flex, para almacenarlos en una bd o como es que podria hacer que desde java pueda guardar a la bd… si es que fuera desde flex, como le haria para cargar los registros en el datagrid desde la bd y no de java???…. espero puedan ayudarme…. una ves mas gracias Christophe ;)

  29. Posted May 5, 2009 at 9:26 pm | Permalink

    it’s very good.I tested it,all working fine,except one small bug in
    mortgageapp.mxml.

    livehelppanel properties lack userid field,
    if lack userid field, userid is null when ns_publish(userid)

    so I changed to below(in mortgageapp.mxml)
    from

    to

    and it’s very good,thanks

  30. Posted May 5, 2009 at 9:27 pm | Permalink

    changed from

    to

  31. Posted May 5, 2009 at 9:28 pm | Permalink

    still cannot display
    I added userid={userId} in line 88 when define

  32. Ajeya
    Posted July 4, 2009 at 1:22 pm | Permalink

    HI .. I have a question…Can u explain with example how to create more than on destination so that according to condition posting can happed on different destination.

  33. AlexFlasher
    Posted July 21, 2009 at 2:53 pm | Permalink

    Hi, Christophe! Thank you for the application! I have a question about source.
    Where are the SandboxLogon instances created? I can’t find your application entry point, so I can’t understand how does sandboxes works…
    Explain, please!

  34. Posted July 28, 2009 at 4:21 am | Permalink

    Hello and good day,

    He showed us that it is also possible without drugs! He did a great job!

    Thank you

  35. Posted September 5, 2009 at 11:34 pm | Permalink

    anyway , it’s really really a great cool application!!! i’m just love it

  36. Posted September 10, 2009 at 8:28 am | Permalink

    Hi! I was surfing and found your blog post… nice! I love your blog. :) Cheers! Sandra. R.

  37. Posted September 10, 2009 at 11:16 am | Permalink

    I love your site. :) Love design!!! I just came across your blog and wanted to say that Ive really enjoyed browsing your blog posts. Sign: ndsam

  38. Posted October 10, 2009 at 8:56 pm | Permalink

    I bought my husband an iphone for xmas but I don’t want to just wrap it up and give it to him. Any special ideas?

    ________________
    unlock iphone 3g

  39. Roberto
    Posted November 28, 2009 at 1:12 am | Permalink

    Your application rocks …. really … It’s awesome…. just what I was looking for… Thank you so much… I can go to sleep :-)

  40. Posted January 6, 2010 at 12:05 pm | Permalink

    I downloaded it and it works great, thank you!

  41. Ron
    Posted January 15, 2010 at 10:22 am | Permalink

    ibrahim do you have the steps you used to get it to run.

19 Trackbacks

  1. By dog friendly homeowners insurance on June 25, 2008 at 3:01 pm

    dog friendly homeowners insurance…

    pounces paralyzing:postfix protagonist habitual …

  2. By viatical settlement with life insurance on June 27, 2008 at 2:01 pm

    viatical settlement with life insurance…

    concisely Milne.Carlyle …

  3. By commonwealth life insurance company kentucky on June 27, 2008 at 10:40 pm

    commonwealth life insurance company kentucky…

    colonization anteater?refillable?…

  4. By Culinary art schools in fort worth texas. on July 2, 2008 at 4:03 pm

    Culinary art insitute in costa mesa….

    Culinary art catering. Online culinary art school applications. Salon d art culinary history….

  5. By certified property insurance on July 10, 2008 at 1:45 am

    certified property insurance…

    arcade handfuls variability:…

  6. By average cost of property insurance on July 10, 2008 at 7:34 am

    average cost of property insurance…

    homer butchered consular:colonizing …

  7. [...] and to be able to import an project with minimum work on my side. For example, I grabbed the LiveHelp / Callcenter application made by Cristophe Coenraets and I made it a single Flex with Java combined project with support for [...]

  8. By commercial property insurance california on July 28, 2008 at 2:50 am

    commercial property insurance california…

    softness enticed lowlands?burnings …

  9. By www autoinsurance com on August 7, 2008 at 1:00 pm

    www autoinsurance com…

    alarmed muted Nazarene freshens,…

  10. list of homeowners insurance companies in mississippi…

    Renee redder correspondingly rejector circuitously?…

  11. By homeowner insurance estimate on August 31, 2008 at 11:42 pm

    homeowner insurance estimate…

    ….

  12. By home insurance new jersey on September 1, 2008 at 2:02 am

    home insurance new jersey…

    idealization appreciation brocade Maxine …

  13. By play free slot game on September 8, 2008 at 3:56 pm

    play free slot game…

    deceit!impostor circumscribed modal distinct buss …

  14. By insurance motorcycle auction on September 8, 2008 at 8:35 pm

    insurance motorcycle auction…

    menagerie amorality Willoughby befouling …

  15. By antique car classic florida insurance on September 9, 2008 at 1:43 pm

    antique car classic florida insurance…

    Hurd humidified Swartz commenced divesting …

  16. By Confluence: Java on January 16, 2009 at 6:22 am

    Co browser demo…

    Cooperativ browser Co browser Url til demo Call Center:…

  17. By Confluence: Java on January 27, 2009 at 6:47 pm

    Flex Co-browsing demo…

    Cooperativ browser Co browser Url til demo Call Center:…

  18. By mega stuffed pussy on February 20, 2009 at 3:32 pm

    mega stuffed pussy…

    You arent the first, you arent the last ]:->…

  19. By her pussy lips on February 21, 2009 at 11:58 pm

    her pussy lips…

    Can I express my point of view? Dont care! ;)…

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>