Using own SQLite DB in combination with Data Management

Hi,
Currently on a huge project we're we are using LCDS 3.1 in combination with a AIR 2.5 client.
I've been reading "Using Adobe LiveCycle Data Services ES2 version 3.1" and I have a question. In the chapter "Building an offline-enabled application" it says on the very first line:
"You can use an offline adapter with an AIR SQLite database to perform offline fills when a desktop client is disconnected from the LiveCycle Data Services server. An offline adapter contains the SQL queries for AIR SQLite for retrieving cached items like an assembler on the server retrieves items from the data source."
However, in my experience that AIR SQLite database is not just any DB but one that Datamanagment designs and generates itself, based on the Dto the DataManagement destination is managing. The offline adapter doesn't work like an assembler at all, because the documentation says you can only override the methods pertaining to constructing the WHERE, and ORDER BY parts of the queries, not the SELECT, CREATE, FROM,... parts.
In our case, we have a database on the server, constructed according to a very specific ERD, and we have a SQLite database on the client, also constructed according to a very specific ERD. What we want to do is execute every fill, create, update, delete against the offline cache and only synchronize with the backend when we want it the synchronize (technically possible by playing with the autoMerge, autoSaveCache, autoConnect,... properties). So what part of datamanagement can we customize to use our DB instead of a generated one?
Thx in advance!

You are correct in noting that Data Management does not allow you to use your own database to store offline data.  This data is exclusively managed by the LCDS library for the developer.  The intent is that the local cache is a reflection of the server data, not an independent copy.
If you have an existing database in AIR, then you will have much more direct control over the querying and updating of that data by using the SQLite APIs directly.
That being said, you can in essence replicate the data stored on the server, managed by Data Management, in the offline cache.  In an upcoming release (winter 2011) we will have a few features ('briefcases' and a 'changes-only' fill) that will make this story even more compelling for your use cases.  But even with the 3.1 functionality, you can do something like the following:
Perform a fill() to collect the data you want to have available on the client, save this in the offline cache
Construct an Offline Adapter Actionscript class that implements the fills you want to perform on the local data
Use the DataService.localFill() API to perform all of the client application fills, turn off autoCommit.
When the client is online, call commit() to store client changes and call fill() to refresh the cached data.
This should give you some ideas on how you could go about constructing your app to leverage the offline features of Data Services.
Tom

Similar Messages

  • Is there a Java utility class to help with data management in a desktop UI?

    Is there a Java utility class to help with data management in a desktop UI?
    I am writing a UI to configure a network device that will be connected to the serial port of the computer while it is being configured. There is no web server or database for my application. The UI has a large number of fields (50+) spread across 16 tabs. I will write the UI in Java FX. It should run inside the browser when launched, and issue commands to the network device through the serial port. A UI has several input fields spread across tabs and one single Submit button. If a field is edited, and the submit button clicked, it issues a command and sends the new datum to the device, retrieves current value and any errors. so if input field has bad data, it is indicated for example, the field has a red border.
    Is there a standard design pattern or Java utility class to accomplish the frequently encountered, 'generic' parts of this scenario? lazy loading, submitting only what fields changed, displaying what fields have errors etc. (I dont want to reinvent the wheel if it is already there). Otherwise I can write such a class and share it back here if it is useful.
    someone recommended JGoodies Bindings for Swing - will this work well and in FX?

    Many thanks for the reply.
    In the servlet create an Arraylist and in th efor
    loop put the insances of the csqabean in this
    ArrayList. Exit the for loop and then add the
    ArrayList as an attribute to the session.I am making the use of Vector and did the same thing as u mentioned.I am using scriplets...
    >
    In the jsp retrieve the array list from the session
    and in a for loop step through the ArrayList
    retrieving each CourseSectionQABean and displaying.
    You can do this in a scriptlet but should also check
    out the jstl tags.I am able to remove this problem.Thanks again for the suggestion.
    AS

  • How to use 45W MagSafe 2 Power Adapter with cable management MagSafe 2 power port macbook air 2013

    How to use 45W MagSafe 2 Power Adapter with cable management MagSafe 2 power port macbook air 2013 there's two plugs do I use both for the safety to work or I just one ? Thanks sorry new macbook air 2013 was given to my daughter fir her 18th bday 2 days ago by my brother

    No, the one is just an extension cord,          just use the 45W charger with its attached thin cord and connect the magnetic magsafe to to the connector on the back left of the macbook Air for use and charging it

  • Hash tables in combination with data references to the line type.

    I'm having an issue with hash tables - in combination with reference variables.
    Consider the following:  (Which is part of a class)  -  it attempts to see if a particular id exists in a table; if not add it; if yes change it.   
      types: BEGIN OF TY_MEASUREMENT,
               perfid      TYPE zgz_perf_metric_id,
               rtime       TYPE zgz_perf_runtime,
               execount    TYPE zgz_perf_execount,
               last_start  TYPE timestampl,
             END OF TY_MEASUREMENT.
    METHOD START.
      DATA:  ls_measurement TYPE REF TO ty_measurement.
      READ TABLE gt_measurements WITH TABLE KEY perfid = i_perfid reference into ls_measurement.
      if sy-subrc <> 0.
        "Didn't find it.
        create data ls_measurement.
        ls_measurement->perfid = i_perfid.
        insert ls_measurement->* into gt_measurements.
      endif.
      GET TIME STAMP FIELD ls_measurements-last_start.
      ls_measurement->execount = ls_measurement->execount + 1.
    ENDMETHOD.
    I get compile errors on the insert statement - either "You cannot use explicit index operations on tables with types HASHED TABLE" or "ANY TABLE".      It is possible that.
    If I don't dereference the type then I get the error  LS_MEASUREMENT cannot be converted to the line type of GT_MEASUREMENTS.
    I'm not looking to solve this with a combination of references and work ares - want a reference solution.   
    Thanks!
    _Ryan
    Moderator message - Moved to the correct forum
    Edited by: Rob Burbank on Apr 22, 2010 4:43 PM

    I think it might work when you change it for
    insert ls_measurement->* into TABLE gt_measurements.
    For hashed table a new line here will be inserted according to given table key.
    Regards
    Marcin

  • Use of action links in combination with hierarchy object in analysis

    Hi All,
    From OBI 11g release hierarchy objects are available in the presentation layer of OBI. We make often use of these hierarchy objects. We also make use of action links to drill down to a analysis with more detailed information. This more detailed analysis should inherit the values of the higher-level analysis. In combination with the hierarchy objects this can give problems.
    An example:
    Let's say we have the following atttributes:
    Hierarchy object date (year, quarter, month), a product column and # of units shipped measure. On the column # of units shipped we have defined an action link to a more detailed analysis.
    Now, let's say the user clicks on the year 2011 in the hierarchy object. The quarters for 2011 are shown. The 'normal' product column attributes contains 'Product A'. The user makes use of the action link that is available by clicking on the measure value of # of units shipped. He clicks on the value that is based on quarter 2 of 2011 and 'Product A'. The detailed analysis is set to filter the analysis on the product and date dimension. In this example the analysis is filtered on 'Product A' but not on the value Quarter 2, 2011. Hierarchy object values are not passed through on clicking on a action link.
    Is there any workaround for this issue? We want to make use of the hierarchy object but users expect to also pass the hierarchy object value to the underlying detailed analysis

    I am facing the same issue...
    First check it out:
    http://prasadmadhasi.com/2011/12/15/hierarchicalnavigationinobiee11g/
    http://www.rittmanmead.com/2010/10/oracle-bi-ee-11g-navigation-passing-parameters-using-hierarchical-columns/
    I solved it by using Go URL link. I pass value of hierarchy level (whichever level it is). For Year it is 2012, month: 2012-03.
    Now ugly part: in url I pass 2 parameters that refers to the same value : "Time"."Year"="2012", "Time"."Month"="2012"
    In target report I apply filter: "Time"."Year" "Is Prompted" OR "Time"."Month" "Is Prompted"
    This way in target report only one of filters will work : depending from which level you navigated from source report.
    If you decide use this approach be carefoul with URL syntax, remember about double quotes etc. In my case it was:
    Parameter : value
    PortalGo : [LEAVE EMPTY]
    path : %2Fusers%2Fweblogic%2FMIS%20EVAL%2FT_Target
    options : dr
    Action : Navigate
    col1 : "Time"."Year"
    val1 : [SELECT TIME HIERARCHY COLUMN]
    col2 : "Time"."Month"
    val2 : [SELECT TIME HIERARCHY COLUMN]
    Remember to:
    Remove “=” after PortalGo
    Surround value attribute with double quotes - e.g. @val1=”@{6}”
    After you "adjust" your URL text manually (unfortunatelly it won't be done automatically) it should look like:
    http://10.10.10.100:7001/analytics/saw.dll?PortalGo@{1}&path=@{2}&options=@{3}&Action=@{4}&col1=@{5}&val1=”@{6}”&col2=@{7}&val2=”@{8}”

  • Kernel debugging using git bisection method in combination with abs.

    Is there any way to use git bisection method for kernel debugging in combination with ABS for building the kernel via makepkg?

    Yes, but ABS for kernel uses some patches in order for the kernel to be successfully build.
    ftp://ftp.archlinux.org/other/kernel26/
    I wanted to know is if there is any way to distinguish what particular patch to use in every bisection point.

  • Importing with DATA MANAGER

    While directly importing with the help of data manager it gives me an error.
    It doesnt import data from each and every field, it gives me two kins of error
    1) some fields dont exist
    2) another type of error is unable to find a lookup value.
    And do suggest, even if Import manager exists when can i use this functionality.
    regards
    +
      | Eleana West

    First of all this Functionality can be used whenever u are sure that the data which has to be imported is free of any redundancies then only it is feasible to use this functionality.
    Otherwise u need to use import mgr so that any kind of duplicates records can be eliminated.
    And the errors which u are getting are
    1)  some fields dont exist
         It gives bcoz from the source side the columns names do not match with the names on the destination side i.e.. the field names in the repository structure.
    2)  another type of error is unable to find a lookup value.
         Even if the field names match and if the field on the destination side is a kind of lookup field i.e.. in turn its looking up in some other table then this kind of error arises.
    u can bypass this error while importing thru data mgr by clicking on option button either skip value or skip record.
    Hope dis clears ur doubt.
    If any other queries feel free to ask
    Regards Tejas..............

  • Is it possible to use run-time configuration in conjunction with Session Manager?

    I'm trying to avoid using MAX, basically because it's a pain for users to configure MAX when the application already knows what the configuration is. I actually get the configuration from a database, but that's another story. I've experimented with run-time configuration (see page 4-31 of the 'IVI Driver Toolset' manual) and it works fine. However, when I try to use this in conjunction with Session Manager, session manager complains that my logical name is not a driver session name. I suspect that Session Manager is looking up logical names from a different source, therefore run-time configuration won't work. Any suggestions? I've attached the files I'm working with.
    Attachments:
    SessionMgrTrial.zip ‏41 KB

    Hello Mark:
    The Session Manager GetLogicalNames method does not distiguish between logical names and virtual instrument names. A user of the method cannot ask for just logical names or just virtual instrument names. Right now you always get both. The new function is called InstrSessionMgr.GetNames. Notice that the online help file says Boolean for the flags parameter when it is an enum.
    Hope this helps. If you have any further queries, please let us know.
    -NI support
    National Instruments - Software IS the instrument!
    Attachments:
    help.gif ‏22 KB

  • Using formulas in combination with dates

    I'm a salesman and I track my daily sales on numbers. I have 5 columns: date, sales number, sales amount, then other stuff. I need a formula to track on the sales for a certain 2 weeks pay period for another table. I need one that sums the total $ amount of the sales and one that just counts the number of sales. Any help would be greatly appreciated.
    Thanks

    to get the count, I had to use the countif and the concatenate command together.
    If my compare date was in A1 and my information was in Table 2.. Column A was dates and B was Dollars.. modify to fit your final data, it would look like this:
    =countif(Table 2::A,concatenate(">=",A1))
    And the sum of the Column B in table 2 for the same condition would be:
    =Sumif(Table 2::A,concatenate(">=",A1),Table 2::B)
    Jason

  • Using dynamic VI referencing in combination with Application Builder

    Hi.
    In this thread (http://forums.ni.com/t5/LabVIEW/How-to-access-a-known-control-in-a-VI-reference/td-p/1255244) I attempted to modify our under development test system, so that we didn't have to change the same main VI for every test that we are adding, since we are several persons who'll be adding tests (i.e. conflicts would arise, that we would have to iron out manually every time).  The solution in the thread above works very well, by opening a reference to the test sub VI and calling the reference.  I then can pass data to the sub VI, and can get the test results from the sub VI.  Great!
    The problem came when running the program through the Application Builder.  The test system starts up fine, but the above method fails miserably, since the sub VI files are no longer there.  It seems that the sub VI's are not a part of the exe binary file coming from the Application Builder.
    So I'm drawing a blank here.  Does anyone have a suggestion on how to to this?  I'm only seeing the two options.  Either adding the sub VI's in the same main VI file, but then we have to be very careful on not getting conflicts (or fix the conflicts manually when they arise).  Or use the dynamic VI referencing, but then the system doesn't work with the Application Builder (which means that this method is out).  Is there a third method of doing this?

    Hi Mike.
    I use LabVIEW 2009.
    Well, I actually *can* use the dynamic call solution now.  The problem was that (1) the files weren't included in the exe file (fixed by adjusting the Application Builder settings), and (2) the Check if File or Folder Exist VI doesn't work if I try to check if the sub VI is present inside the exe file.  The solution here was basically to ommit the whole Check if File or Folder Exist VI, and just do an error check on the Open VI Reference VI.  The Open VI Reference VI will fail if trying to open a reference to a file that doesn't exist, so I just wired that to a case loop around the Call By Reference VI.

  • Error/fault when using reader and digitial signatures combined with dropdown list

    I'm working on a time card form for my company and they want me to have the form calculate the dates for the two week pay period when the ending day of the pay period is selected, that part I have down through code.  The problem I am running into though is that when the user is using Adobe reader to digitally sign and send the file to their supervisor the file is changing the selection date field back to the first selection in the drop down list after the first digital signature is applied and the file saved.  This error does not occur when the user is utilizing Adobe Pro though.  Does anyone have any ideas?  I'm wondering if it is something to do with the dropdown list settings or some kind of locking feature not working properly with the reader version.  I am editing/creating the form through LiveCycle Designer ES4. 

    Hi,
    The drop down list box, by default will have a blank value. If you can declare that as obligatory then the report will force the user to enter the value in it.
    Regards,
    Ravi
    Note : Please mark the helpful answers

  • Can i use OEM to automaticaly fill tables with data ?

    Hi currently, i have tables that contains data on our databases such as the characteristics of the servers where these DB are stored, the user enter these data manually via an interface. I know that OEM has these information, i want to use it to automatically fill the tables with it. Is that doable ?

    Apparently you know nothing of OEM architecture. The obvious would be to look up documentation, sadly you belong to the majority of people here refusing to read any documentation.
    OEM comes in the flavors Grid Control (monitoring multiple databases) and Database Control (monitoring one database).
    OEM needs a repository. Using Grid Control this is located in a separate database, and each server has the Intelligent Agent installed to collect information from that server, provided the database is registered against grid control.
    Using Database Control, the repository is in the monitored database.
    Having OEM 'feed' your 'repository' would be about the poorest solution you can implement. Converting your 'repository' in views on the OEM schema would be the only viable solution, as Grid Control automatically has the most recent info.
    And obviously, for those who read, the OEM info is in the SYSMAN schema.
    Sybrand Bakker
    Senior Oracle DBA

  • Using Sony's IDC in combination with Lightroom

    I would like to use Sony's IDC Raw converter that comes with the Sony A700 camera, to be able to process through Sony IDC the RAWs with DRO's (Dynamic Range Optimalization) applied (as shot with the A700).
    However I would like to keep LightRoom as my archiving base.
    Question:
    Can I bring RAWs after importing in LightRoom, to IDC?
    Can I after converting the RAWs in IDC, bring the resulting PSDs (or JPEGs) from IDC back to Lightroom (for archiving)?
    I appreciate your help!

    Yes, and No!
    Lightroom won't allow you to use IDC on the Raw file, Lightroom only allows ACRaw to be used to "develop" a raw file. However, you can use Lightroom's ranking and review functions to help you decide which files you want to work with. Then right click and select show in explorer. Then select the file you want to develop, and tell Explorer to open in IDC. You then can develop, save as a Tiff and import.
    Pain in the Arse isn't it?
    Frankly if you have access to Bridge then this is faster and more convenient. Import the ARW and use IDC to make Tiffs.
    But why do you want to do this?
    Frankly DRO only becomes special when you use DRO Advanced. Anything else can be easily duplicated in Lightroom. DRO Advanced can not be done by IDC,(it's like Lightzone on Steroids) it's done by the camera, the processor looks at each pixel and compares it with adjacent pixels and makes adjustments in the jpg. So the only way to utilise DRO Advanced (and it's astonishing what is achieved) is to shoot in Jpg (and probably in cRaw + Jpeg) I shoot everything in cRaw only but have a MR setting to utilise DRO Advanced - cRaw + Jpeg, ISO 200 (remember that DRO advanced effectively locally amplifies the pixels, so if you start at say ISO 800 certain pixels could be amplified to ISO 6400!
    I can then import both the cRaw and the Jpeg.
    Hope this makes sense.
    Peter

  • Using iPlanet Web Server 6.0 (with ASP or JSP), is it possible to create a StarOffice, Word or Acrobat document using a template and merging it with data from a database (say Oracle)?

     

    Hi,
    It is possible, But it has to be done through codes and iPlanet Web Server has nothing to do with it. But if you want to create the word document by ASP you have to install ASP plugin like ChilliASP (from Chilisoft) with iPlanet Web Server.Merging with database can be done through your code.
    To know more abt creating word doc through ASP try this link
    http://web.ukonline.co.uk/vance/code/aspworddoc.pdf
    Regards,
    T.Raghulan.

  • Using Mac Terminal window in combination with X11

    I'm trying to log into a remote computer and bring up X11 applications
    to display on my laptop, from within the Mac Terminal window. I
    was able to get it to work on MacOSX10.3 by typing in
    "export DISPLAY=:0.0" on the remote computer after logging in, but
    the same trick isn't working on my MacOSX10.4 machine. I'm using
    the "-Y" option to ssh on the 10.4 machine, following an earlier query
    on that topic. If I do the ssh -Y from an X11 xterm, everything works fine.
    Thanks,
    Catherine

    Set DISPLAY=:0.0 on the local shell (verify that 'xterm' brings up a local-machine window) before ssh'ing to the remote machine. When you use a local xterm, the DISPLAY is already set to the local screen by default (duh...xterm is an x11 thing:), but Terminal is not an x11 thing so you have to set DISPLAY manually. W11-forwarding works by having the remote machine's x11 come back to "wherever the local shell had its x11 directed".

Maybe you are looking for

  • Sorting music on ipod

    I just got my first ipod, an 80GB classic. I have two folders of various artists. one for rock and one for country. If I don't have any full cds of an artist, I just put the one or two songs on the various folder. How can I easily find these various

  • MIGO posting

    Dear Experts, In PO if we have given freight charges, A/c updating at the time of MIGO are Stoxk of material 100 debit GR/IR a/c 95-credit Delivery Charges a/c 5-credit Our requirement is at the time of MIGO Stock A/C 100 debit GR/IR A/C 100 credit I

  • Cannot Pre order and charge to the account...ouch (bound to happen)

    Will this put a hamper in peoples plans to pre order the iphone next week?  Esp those paying full retail? Well not I, thats for sure.

  • How can I benchmark my refurbished iMac i7?

    Don't get me wrong, I love my new iMac and maybe I am being paranoid because this is my first refurbished Mac, I want to run a speed test. Before my purchase I had played around with the 27" Core Duo model in an Apple Store. I was really impressed wi

  • Status ready for pickup but item is not in store??

    Pre-ordered Hardline Deluxe (PS4).  My order details says it's ready to be picked up in store (Montebello, CA - 1537).  I go to the store location and the sales rep says they haven't recieved any Deluxe Editions.  I was instructed to return later or