Code highlighting

Monday, March 05, 2007

AxPromptDBSync - a simple project that allows to choose whether to synchronize the AOT with the database at the moment or not.

This should be used with extreme caution and only by experienced developers (people, who know what they are doing)

Get the tool at axaptapedia

Someone may ask - why would I need to prevent syncronization? Isn't it what should be done at all times?
And the answer is, of course, YES.

But just stop for a minute and remember the amount of time you have to wait till syncronization is over after adding just a single EDT or tablefield. Or, what most people do, Break the operation and (if you managed to actually break it) do it for every field being added. Or, which is even better, export the project, modify the xpo file and then import it back into DAX. :) A nice way, no doubt.

Well, here is a small and simple solution. When syncronization is about to begin, a dialog will popup asking if it should continue. If not, the syncronization will not be performed.
Actually, you can specify the exact way the system should behave through your user settings. The 2 checkboxes are added to the SysUserInfo table: one specifies if the syncronization should be performed, the second - if the user should be prompted with a dialog.

My settings are: 1 - not checked (means should go on with Sync), 2 - checked (means the prompt dialog is going to pop up)
This thing really saves a lot of time.

1 comment:

  1. Hi Kashperuk Ivan,

    Good modification. Anyway, about the synchronization after adding single EDT, we can avoid synchronization. You can follow these steps to avoid the synchronization:
    1. Create EDT (don't change the name)
    2. Fill in "Extends" or "StringSize" (if it is string EDT) property first
    3. Change the name andother general properties
    4. Save it, it won't synchronize the DB.

    The cause why AX will synchronize DB is because of the changing of the property which will affect other table structures, for example: "Extends", "Adjustment", "StringSize" properties.

    This is just for additional info to you and I have seen your modification it is great.

    Cheers,

    ReplyDelete

Please don't forget to leave your contact details if you expect a reply from me. Thank you