Page 1 of 1

How about Optional channel synching?

Posted: Fri Jul 16, 2004 5:36 am
by squeg
I really like the channel syncing feature. I sync out to an FTP server to keep my home and office computers the same and it saves me a ton of time. As far as it goes it works perfectly.

However, there are some things that are not work related that i'd like to only view at home.

What i'd like to have is a channel specific option for "do not sync." When set, it would cause the sync routine to ignore it all together... It wouldn't get deleted and it wouldn't get copied.

I could see this as especially useful for users sitting behind office proxyservers/firewalls. It would prevent channels that work at home but are blocked at the office from attempting to update and erring out. It would also prevent needless error flags being raised by the proxyservers/firewalls for attempts to access blocked content.

This way you could sync the majority of the channels, but have a few that were office only or home only. Any individual items added to the workpad would of course sync with the rest of the workpad items. Since the workpad is capable of holding items that do not exist in any active channel, this should be a problem.

Re: How about Optional channel synching?

Posted: Sat Jul 17, 2004 5:24 am
by support
You can do this already although it requires some messing around (I was waiting to see if there was any demand for it before adding more switches to an already-overcluttered UI). You may want to have a dead chicken handy for waving at some point...

The way sync works is like this: Awasu analyzes the config files (channel and the global CONFIG.INI) on the local and remote machines and generates a list of actions that need to be done to bring the local machine in sync with the remote one. For example, it will generate actions to create channels that exist on the remote machine but not the local one (i.e. have been recently created) and delete ones that exist on the local machine but not the remote one. For channels that already exist on both machines, Awasu will generate actions to copy over config file sections and keys.

To see what's happening, you can create a DEBUG.INI in your users home directory that looks like this:

Code: Select all

[Debug]
ReportDisabledSyncActions=1
[MessageLog]
SyncSave=1
SyncLoad=1
SyncLoadDetail=1
DisabledSyncActions=1


This will log what's happening in AWASU.LOG. The ReportDisabledSyncActions switch logs disabled sync actions to the report you usually see after a sync load or save and will be handy later.

Once the action list has been generated, Awasu then steps through the list executing each action. However, it is possible to specify that certain actions be disabled and this is how you can configure channels (and even specific options) to not get synced.

Create a file called SYNC.DISABLE in your users home directory that looks something like this:

Code: Select all

    [XXX]
    1=...
    2=...
    etc...


The ellipses are commands that specify which sync actions are to be disabled (see below). You can have multiple sections. When you do a sync load, each section will appear in the list of things that you can optionally not synchronize. As you select each one, the corresponding commands will be activated and any matching actions will not get executed.

The available commads are:

Code: Select all

DisableSyncChannelAction: CHANNEL-URL
DisableCopyConfigFileKeyAction: [SECTION-NAME]:KEY-NAME
DisableDeleteConfigFileKeyAction: [SECTION-NAME]:KEY-NAME
DisableCopyConfigFileSectionAction: [SECTION-NAME]
DisableDeleteConfigFileSectionAction: [SECTION-NAME]


Each of the command parameters are (PCRE) regular expressions. So to disable sync'ing all channels that are coming from your intranet, you might have a SYNC.DISABLE that looks like this:

Code: Select all

[Intranet channels]
1=DisableSyncChannelAction: http://intranet/rss/.*\.xml


However, this only disables *sync'ing* of channels. While I was testing all of this, I realized that what you need is a DisableCreateChannelAction command - I'll get a new build out to you in the next day or so.

For reference, the standard list of things that you can choose to not synchronize are generated by the following commands:

Code: Select all

[Blackout times]
1=DisableCopyConfigFileKeyAction: [Global Options]:BlackoutTimes

[Proxy authentication details]
1=DisableCopyConfigFileKeyAction: [Global Options]:ProxyAuthType
2=DisableCopyConfigFileKeyAction: [Global Options]:ProxyAuthUserName
3=DisableCopyConfigFileKeyAction: [Global Options]:ProxyAuthPassword

[Auto-detect an Internet connection]
1=DisableCopyConfigFileKeyAction: [Global Options]:EnableRasCheck

[Channel favorites]
1=DisableDeleteConfigFileKeyAction: [Channel Favorites]:.*
2=DisableCopyConfigFileKeyAction: [Channel Favorites]:.*
3=DisableCopyConfigFileSectionAction: [Channel Favorite Hotkeys]

[Channel filters]
1=DisableDeleteConfigFileSectionAction: [Channel Filter \\d+]
2=DisableCopyConfigFileKeyAction: [Channel Filter \\d+]:.*
3=DisableCopyConfigFileSectionAction: [Channel Filter Hotkeys]

[Channel reports]
1=DisableDeleteConfigFileSectionAction: [Channel Report Config \\d+]
2=DisableCopyConfigFileKeyAction: [Channel Report Config \\d+]:.*
3=DisableCopyConfigFileSectionAction: [Channel Report Hotkeys]

[Read-me list]
1=DisableDeleteConfigFileKeyAction: [Read-me List]:.*
2=DisableCopyConfigFileKeyAction: [Read-me List]:.*