New Version of SalesBuilder using LiveCycle Data Services

I have often felt that we needed a more real-life/complex sample application to adequately demonstrate LiveCycle Data Services, and specifically the Data Management Service. So, I wrote a new version of Salesbuilder that uses LCDS to persist data at the server side. “Salesbuilder LCDS” demonstrates advanced LCDS features such as associations, lazy loading, etc.

This application will also be packaged as a sample in the next version of LiveCycle Data Services currently in private beta.

Here is a quick look at the destinations and associations used in the application:

<destination id="account">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.AccountAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="accountId" undefined-value="0"/>
            <many-to-one property="salesRep" destination="sales-rep" lazy="true"/>
            <many-to-one property="industry" destination="industry" lazy="true"/>
            <many-to-one property="category" destination="account-category" lazy="true"/>
            <many-to-one property="state" destination="state" lazy="true"/>
        </metadata>
    </properties>
</destination>

<destination id="contact">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.ContactAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="contactId" undefined-value="0"/>
            <many-to-one property="account" destination="account" lazy="true"/>
            <many-to-one property="manager" destination="contact" lazy="true"/>
            <many-to-one property="salesRep" destination="sales-rep" lazy="true"/>
        </metadata>
    </properties>
</destination>

<destination id="opportunity">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.OpportunityAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="opportunityId" undefined-value="0"/>
            <many-to-one property="account" destination="account" lazy="true"/>
            <many-to-one property="salesRep" destination="sales-rep" lazy="true"/>
        </metadata>
    </properties>
</destination>

<destination id="industry">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.IndustryAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="industryId" undefined-value="0"/>
        </metadata>
    </properties>
</destination>

<destination id="sales-rep">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.SalesRepAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="salesRepId" undefined-value="0"/>
        </metadata>
    </properties>
</destination>

<destination id="account-category">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.AccountCategoryAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="categoryId" undefined-value="0"/>
        </metadata>
    </properties>
</destination>

<destination id="state">
    <adapter ref="java-dao" />
    <properties>
        <source>com.salesbuilder.assembler.StateAssembler</source>
        <scope>application</scope>
        <metadata>
            <identity property="stateId"/>
        </metadata>
    </properties>
</destination>

Installation instructions:

Prerequisite: You need to have LiveCycle Data Services installed on your system before executing the steps below.

  1. Download salesbuilderlcds.zip
  2. Unzip salesbuilderlcds.zip in /salesbuilderlcds

  3. Copy the content /salesbuilderlcds/webapp/WEB-INF/classes to the WEB-INF/classes directory of your web application
  4. Add the destinations defined in /salesbuilderlcds/webapp/WEB-INF/flex/data-management-config.xml to the data-management-config.xml file of your web application
  5. Start the salesbuilder database
    1. Open a command prompt and go to /salesbuilderlcds/db
    2. Run startdb.bat (Windows) or startdb.sh (Unix-based systems)
  6. Start your application server
  7. Double-click /salesbuilderlcds/salesbuilderlcds.air to install the air application
  8. Run the application

Configuration Note:

By default, the application tries to connect to the localhost server using the RTMP protocol on port 2037. If your server configuration is different, edit config.xml in the salesbuilder installation directory (“Program Files\Salesbuilder LCDS” on Windows).

If you are not familiar with the Salesbuilder application, here is a quick walkthrough:

Sales Pipeline
The sales pipeline features many “direct manipulation” options:

  1. Grab the background of the chart with your mouse and scroll it left and write to navigate along the time axis.
  2. Grab a vertical grid line, and move it left and right to zoom-out/zoom-in.
  3. To modify your pipeline directly, grab a bubble with your mouse and move it up and down or left and right to adjust the probability and the expected closing date respectively. The projected revenue is automatically updated in the chart title. When you release the mouse button, the opportunity is automatically updated (probability and close date) in the database.
  4. You can also double click a bubble to open a details view for the opportunity.

Search and Summary Screens

  1. Type a few letters in the search box (upper right corner): matching accounts, contacts, and opportunities appear.
  2. Use the arrow keys to navigate in the search results popup.
  3. Use the Enter key to open the selected item.
  4. Alternatively, you can also open the summary screens (“Accounts”, “Contacts”, and “Opportunities” buttons in the menu bar), and open individual items from there.

Working with Data

  1. Open the “Alpha Corp” account.
  2. Make some changes to the Alpha Corp data (for example, change the phone number), and click “Save””.
  3. In the Contacts view of the Alpha Corp tab, you can grab an org chart item with your mouse and move the org chart around.
  4. To open the details view for a contact, either double-click an org chart item or click the Grid button (lower left corner) and double-click a contact in the datagrid.
  5. Add a contact by clicking “Quick Contact”. Make sure you select a manager, click save and notice that the org chart is updated automatically.
  6. Continue to add and modify accounts, contacts, and opportunities. The data is persisted using the Data Management Service.

Native drag-and-drop

  1. Click the “Opportunities” menu button.
  2. Drag the dashboard title on the desktop: the chart is saved as a JPG on the desktop. Note: it can take a few seconds before you actually see the drag icon.
  3. Open a Word document, drag the dashboard title again, and, this time, drop it directly in the Word document.
  4. Select some rows in the datagrid, and, without releasing the mouse button, drag the selected rows and drop them on the desktop. The rows are saved as an Excel document on the desktop.
  5. Double-click the Excel document to open the spreadsheet.
  6. Drag some rows from the Datagrid again, and, this time, drop them directly somewhere in the Excel spreadsheet.


  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • LinkedIn
  • StumbleUpon
  • Twitter
This entry was posted in Air, Flex, LiveCycle Data Services. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

68 Comments

  1. Posted September 14, 2009 at 3:32 pm | Permalink

    thanks !! very helpful plugin

  2. Posted September 21, 2009 at 5:10 am | Permalink

    kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar

  3. Posted September 21, 2009 at 5:19 am | Permalink

    giydirme oyunları, giydirme, giysi giydirme oyunları, puanlı giysi giydirme, makyaj oyunları, komik oyunlar

  4. Posted September 21, 2009 at 5:21 am | Permalink

    zeka oyunları, okul oyunları, eğitici oyunlar, matematik oyunları, bebek oyunları, komik oyunlar, fark oyunu, beceri oyunları

  5. Posted September 21, 2009 at 5:22 am | Permalink

    tank oyunları, ben 10, ben10 oyunları, ben ten, benten, uçak oyunları, macera, spor, futbol oyunları

  6. Posted September 23, 2009 at 1:36 pm | Permalink

    dizi izle, filim izle, fragman izle, müzik dinle, şarkı sözü

  7. Posted September 23, 2009 at 2:00 pm | Permalink

    saç şekilleri, saç modelleri, saç stilleri

  8. Posted September 28, 2009 at 4:00 pm | Permalink

    Dont know but tha -ks alot

  9. Posted September 28, 2009 at 5:19 pm | Permalink

    Thank for the cool and usefull posting. Looking to see more in the future.

  10. Posted October 6, 2009 at 5:24 pm | Permalink

    The mission of The Thank You Foundation is to show appreciation and express
    gratitude for members of the U.S. Military both past and present
    wedding songs زفات – موقع زفات – زفات بدون موسيقى – زفات بالاسماء – زفات راشد الماجد – زفات حزين الجسمي

  11. Posted October 10, 2009 at 7:42 am | Permalink

    Welcome to our website,http://www.progiftstore.com, we are professional watch maker who can provide you with a variety of replica watches, these replica watches are high quality and are sold at a cheap price.

  12. Posted October 26, 2009 at 6:37 pm | Permalink
  13. Posted December 14, 2009 at 3:03 pm | Permalink

    en güzel oyunlar, güzel oyunlar, en yeni güzel oyunlar, puanlı güzel oyunlar, yeni en güzel oyunlar, güzel oyunları, güzel oyun oyna

  14. Posted January 24, 2010 at 3:07 pm | Permalink

    felt that we needed a more real-life/complex sample application to adequately demonstrate LiveCycle Data Services, and specifically the

  15. Posted January 24, 2010 at 3:07 pm | Permalink

    provide you with a variety of replica watches, these replica watches are high quality and are sold at a cheap price.

  16. Posted February 1, 2010 at 2:56 pm | Permalink

    araba oyunları araba oyunlari arabaoyunları oynamak için ne duruyon oyun oyna araba oyun hahaha

  17. Posted February 1, 2010 at 2:58 pm | Permalink

    kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar

  18. Posted February 1, 2010 at 2:59 pm | Permalink

    kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunuacıgölfm, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar kız oyunları, kız oyunları oyna, kız oyunu oyna, kız oyunu, giydirme oyunları, kızoyunlarıoyna, güzel oyunlar acıgöl fm

13 Trackbacks

  1. [...] New Version of SalesBuilder using LiveCycle Data Services : Christophe Coenraets – I have often felt that we needed a more real-life/complex sample application to adequately demonstrate LiveCycle Data Services, and specifically the Data Management Service. So, I wrote a new version of Salesbuilder that uses LCDS to persist data at the s [...]

  2. By homeowners insurance for mobile homes on May 25, 2008 at 10:29 am

    homeowners insurance for mobile homes…

    Poseidon popularizes blackmails specks …

  3. By earthquake insurance on May 30, 2008 at 7:59 am

    earthquake insurance…

    banally Liverpool fidget …

  4. [...] Now you app will work no matter the installation. Instead of inputting from a TextInput, you can now read from a config file that you can add with your app like Christophe has done with the SalesBuilder App. [...]

  5. By bet betting gamble gambling on June 18, 2008 at 11:56 pm

    bet betting gamble gambling…

    obeying Rushmore steeling:cognizant,baritones …

  6. By quick auto insurance quote online on July 16, 2008 at 8:18 pm

    quick auto insurance quote online…

    admirer Carolinians deteriorates transcripts:…

  7. By boat insurance rate on August 3, 2008 at 11:13 am

    boat insurance rate…

    badgering select teethes …

  8. By insurance life online quote on August 5, 2008 at 10:28 am

    insurance life online quote…

    lovable gnaw cheeky.hard!differentiates,discipline …

  9. By flood insurance rate map louisiana on August 30, 2008 at 9:58 pm

    flood insurance rate map louisiana…

    smaller mitigating familiarness Babel hog …

  10. By florida homeowners insurance replacement on September 1, 2008 at 2:09 am

    florida homeowners insurance replacement…

    Hertzog:hiss mechanisms …

  11. By commercial building insurance on September 10, 2008 at 1:00 am

    commercial building insurance…

    computing?concurrently herrings …

  12. By nebraska health insurance quote on October 4, 2008 at 9:27 am

    nebraska health insurance quote…

    Oakley Harlem needless compatibles kiloblock beaten …

  13. By blind raise on October 26, 2008 at 6:50 am

    blind raise…

    cancers!compressing Budweisers delighted …

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>