Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

New Modeler for Flash Builder 4.5 Available

Avatar

Level 3

Modeler 3.11 works with Flash Builder 4.5 and Livecycle Data Services 3.1. It is available for download here:

https://www.adobe.com/cfusion/entitlement/index.cfm?e=lc_app_model

Modeler 3.11 Release Notes

Install Modeler 3.11 into Flash Builder 4.5

Mac-only preliminary setup

Note: These steps are only required when you run Flash Builder in stand-alone mode.

  1. Shut down Flash Builder if it is running.
  2. Open up the Flash Builder installation directory in Finder.
  3. Open up the FB_INSTALL_DIR\eclipse\configuration folder.
         Note: There are two configuration folders, one in the FB_INSTALL_DIR and one in
  4. FB_INSTALL_DIR\eclipse. Make sure you use the configuration folder in FB_INSTALL_DIR\eclipse.
  5. Edit the config.ini file in a text editor.
  6. Remove the following lines from the file:
         osgi.configuration.area=@user.home/Documents/Adobe Flash Builder Burrito Preview/cascaded/286922/configuration
         osgi.shared.configuration.area=file\:configuration
         osgi.configuration.cascaded=true
  7. Start Flash Builder.

Installing the Modeler on Mac or Windows

  1. Open Flash Builder 4.5. On Windows 7, you must run Flash Builder as admininstrator.
  2. Open the Help > Install New Software… menu.
  3. Click on the Add button.
  4. Click on the Archive button
  5. Navigate to the directory that contains the FB4.5_Adobe_Application_Modeling_plugin_3.1.1.zip file.
  6. Select the FB4.5_Adobe_Application_Modeling_plugin_3.1.1.zip file.
  7. Click Open.
  8. Click OK.
  9. Check the checkbox next to Adobe Data Model Components for Flash Builder.
  10. Click Next.
         Flash Builder has some of the components already, so the request is modified so that these components will be updated instead.
  11. Click Next again.
  12. Accept the License Agreement.
  13. Click Finish.
  14. If prompted with a security warning about unsigned software, click OK to continue with the installation.
  15. When prompted, restart Flash Builder.
  16. Complete the workaround to the first item in Known Issues below.

Configuring RDS in Flash Builder

  1. Start Flash Builder.
  2. Open up the preferences screen from the menu option.
         Windows: Help > Preferences
       Mac: Flash Builder > Preferences
  3. Navigate to Adobe > RDS Configuration in the left-hand tree.
  4. Select the LCDS (localhost) RDS Server under Currently Configured RDS Servers.
  5. Change the context root to be lcds-samples or whatever web app you are using.
  6. Click the Test Connection button. If RDS is set up correctly, you should see a dialog that says "Test connection was successful".

Known Issues

  • The fiber.swc file in LiveCycle Data Services 3.1 is incompatible with Modeler 3.11.

    By default, new Flex projects for LiveCycle Data Services in Flash Builder use the fiber.swc file in the WEB-INF\flex\libs directory of the target web application. This version of the fiber.swc file is missing a new method that is required for ActionScript code generation when working with Modeler 3.11. This version of the fiber.swc file is missing a new method that is required for using the model-driven form. When you try to use the model-driven form in an application, you will get an error that contains the following text:

    Method marked override must override another method.

    To work around this issue, replace the the fiber.swc file in the WEB-INF\flex\libs directory with a copy of the fiber.swc file from the FB_INSTALL_DIR\eclipse\plugins\com.adobe.flexbuilder.project_4.5.0.308971\fiberSwcs\4.5\libs directory.

  • Deploying a model that contains one of the following  objects results in an XML parsing error from the LiveCycle Data Services server, and the model cannot be deployed:
    • A service  that contains a function with parameters (arguments); this includes  a service  generated from an introspected remoting destination
    • An entity that contains a method with parameters
            

Message was edited by: Mike Peterson

7 Replies

Avatar

Level 1

Hi Mike, thanks for this post.  Any work arounds for the second known issue ?

Avatar

Former Community Member

Dear Mike,

Have you ever encountered the issue about FB 4.5 channel set authentication to work with model driven?

In my test code,  it calls "channelSet.login" before data service dynamic method generated, for instance "getAll()".   It produces an error "Could not initialize DataService." But when I try to not call channelSet.login then getAll works.

LCDS debug console, service destination description will be automatically loaded for first time call getAll without any problem but if we call channelSet.login before getAll method, the destination description won't be loaded so getAll method cannot be fired.

Same test code is working well with FB 4.1.

By the way,  the new modeler 3.11 interface seems missing custom "filter method" for entity as we got in prior version.

Best,

Timmy

Avatar

Level 3

Can you please send me a private message with a  zip file (as an attachment) of the Flex project that demonstrates the issue with ChannelSet.login?

I'm not sure what you are mean about a filter method. Do you mean the filter element of the modeling language? If so, you can definitely use filters in Modeler 3.1.1.  In Design view, you can drag them from the tool palette or right click on an entity to add them.

- Mike

Avatar

Former Community Member

Dear Mike,

Here is simple test code.  On server side, just config tomcat custom authentication.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx"
      xmlns:ds="asclass.ds.*"
      minWidth="955" minHeight="600"
      creationComplete="application1_creationCompleteHandler(event)"
     >
<fx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.events.FlexEvent;
   import mx.messaging.ChannelSet;
   import mx.messaging.config.ServerConfig;
   import mx.rpc.AsyncResponder;
   import mx.rpc.AsyncToken;
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
  
   [Bindable]
   public var cs:ChannelSet = ServerConfig.getChannelSet("my-rtmp");
    
   protected function application1_creationCompleteHandler(event:FlexEvent):void
   {

    //csResponder.token=cs.login('tomcat','tomcat');
   
   }
  
   protected function button1_clickHandler(event:MouseEvent):void
   {
    // TODO Auto-generated method stub
    getAllResult.token = usersService.getAll();
   }
  
   protected function button2_clickHandler(event:MouseEvent):void
   {
         csResponder.token=cs.login('tomcat','tomcat');

   }
  
  ]]>
</fx:Script>
<fx:Declarations>

  <s:CallResponder id="csResponder"  />
  <s:CallResponder id="getAllResult" />
  <ds:UsersService id="usersService" channelSet="{cs}"
       fault="Alert.show(event.fault.errorID+'\n'+event.fault.faultCode+'\n'+event.fault.faultString + '\n' + event.fault.faultDetail)"/>
 
</fx:Declarations>
<mx:DataGrid id="dataGrid" x="0" y="10" width="100%" height="100%" >

  <mx:columns>
    <mx:DataGridColumn dataField="version" headerText="version"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="id" headerText="id"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="createdDate" headerText="createdDate"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="password" headerText="password"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="updatedDate" headerText="updatedDate"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="username" headerText="username"></mx:DataGridColumn>
    <mx:DataGridColumn dataField="role" headerText="role"></mx:DataGridColumn>
  </mx:columns>
  <s:AsyncListView list="{getAllResult.lastResult}"/>

</mx:DataGrid>
<s:Button x="10" y="202" label="Get" click="button1_clickHandler(event)"/>
<s:Button x="109" y="202" label="login" click="button2_clickHandler(event)"/>
</s:Application>

Thanks

Timmy

Avatar

Former Community Member

Total newbie with LCDS and Flash Builder.

Running FB 4.5 with SDK 4.5.1 and Modeler 3.1.1 for a Flex Mobile Project. I installed lcds31 for Windows with integrated Tomcat server. I did not find folder FB_INSTALL_DIR\eclipse\plugins\com.adobe.flexbuilder.project_4.5.0.30 8971\fiberSwcs\4.5\libs but did find what appears to be the equivalent (FB_INSTALL_DIR\eclipse\plugins\com.adobe.flexbuilder.project_4.5.1.313231\fiberSwcs\4.5\libs) so I copied in that folder's fiber.swc to LCDS.

My project is still getting the following errors:

Unable to resolve resource bundle "data" for locale "en_US". TBOB-POC Unknown Flex Problem

Unable to resolve resource bundle "fiber" for locale "en_US". TBOB-POC Unknown Flex Problem
Google search reveals that this is not an unknown problem, but I have not found a definitive explanation of how I can resolve this. Are there updated SWCs that need to be copied into the WEB-INF/flex/locale/en_US folder or do I need to add another folder to my compile path or what?
Any help is much appreciated as the POC for using Adobe for mobile development at my company depends on getting this working.

Avatar

Employee

Hello,

You are missing the swc resource bundle libraries, which can be found along with the rest of the LCDS Actionscript libraries in lcds\resources\lcds_swcs\FlexSDK4\frameworks.  Specifically you need the files in the "locale" directory on your link line in Flash Builder - fds_rb.swc and fiber_rb.swc.

If you create a new Flex project and on the second panel ("Server Settings") select the "Java" type, and the LiveCycle Data Services ES radio button, you can then point to the default LCDS web application and Flash Builder will correctly set up all the libraries you need to do LCDS development in Flex.

Hope that helps.

Tom

Avatar

Former Community Member

Thanks for the quick reply!

That does seem to have resolved the issue. If that was in the installation and configuration info, I did not find it.

Much obliged!