RsyncOSX supports read and write configurations and logs as JSON files. The user will have the option to convert existing configurations and logs from plist to JSON.

Cross plattform

The JSON support is part of work to make a cross-plattform version of RsyncOSX. Which tool to use for a cross-plattform is difficult to choose. It is important to commence the project with the correct tools. I have to invest a lot of time and effort to teach myself new languages and tools. Because of that I have spend some time study the alternatives.

My new IDE (Integrated Development Tool) will be either Visual Studio or Visual Studio Code. For the moment the following might be the languages:

If there will be a cross-plattform version of RsyncOSX in 2021 remains to see. It depends on how much work there is and if I am able to learn how to make apps with the new language.

For the moment only RsyncOSX support JSON, the menu-app does not. The menu-app will support JSON after next release again. Before converting to JSON, in userconfig, make a backup of the current configuration files. The current configurations is backed up in the catalog $Home/Documents/RsyncOSXcopy-$date-suffix.

Enabling JSON

To enable JSON support is a two step process. There are three parts in the File menu dedicated for JSON support:

  • Verfiy (JSON) (shortcut ⌘V) - verify either converted JSON or PLIST files
  • View output (shortcut ⌘O) - after a verify open the output and select Logfile
  • Transform (shortcut ⌘J) - enables the transform button for either JSON or PLIST

Firs task is select the Transform (or shortcut ⌘J). The main view shows a JSON button (or a PLIST button). Selecting the button executes the transformation. The existing plist or JSON configurations are not changed.

  • JSON button if RsyncOSX is reading PLIST files
  • PLIST button if RsyncOSX is reading JSON files

Transforming to JSON

After transforming, the second task is to enable JSON support by selecting the JSON option in the user config.

JSON enablet

RsyncOSX will automatically quit and after a restart JSON support is enablet. For new users only select the JSON option to enable JSON support.

A yellow label indicates JSON support is enablet. The JSON files are stored in:

  • ./rsyncosx/macserial/configurations.json for configurations (add profilename if profile is used)
  • ./rsyncosx/macserial/schedules.json for schedules

Example of what the JSON files looks like, see here. The JSON files are a transformation of the xml (plist) files. The files are used as test of RsyncOSX after code changes.

Returning to PLIST

You can anytime go back to plist format. Select Transform or ⌘J and select the PLIST button in main view. It saves the current configurations and schedules as plist format. In userconfig disable the JSON support and after restart plist is enablet.