Package: orcaflex-cloudsync
OFX Cloud SyncTool which allows syncing of OrcaFlex simulation files to the cloud and back to local drives.RequirementsTo use this you will need:Python 3.6+ installed on all servers and local machinesCloud Key ID, Secret and Bucket (these can either be from your ownAWS accountoryou can request some from us)InstallingUsing pippipinstallorcaflex-cloudsyncUser guideIntroductionThis tool tries to solve the problem of running OrcaFlex simulations on remote servers but then wanting to have the simulation files on a local machine for viewing/processing. There are a few reasons you might want this:remote desktop wars with other userscorporate VPN making everything terriblecloud servers within a private network with no remote accessOur solution to this comes in the form of a command line tool calledofxcscombined with apost calculation actionscript in OrcaFlex.ConfiguringIf you have successfully installed the tool with pip then you should be able to type:ofxcsand see something like:Usage: ofxcs [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

  Command line interface to orcaflex-cloudsync.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  add        add a folder to sync
  configure  configures orcaflex-cloudsync
  keygen     generates a keyfile used to encrypt simulation data
  remove     stop syncing a folder
  show       shows the current config
  sync       sync files from cloud to local driveConfiguringYOU WILL NEED TO INSTALL AND CONFIGURE ON EVERY MACHINE THAT YOU WANT TO RUN SIMULATIONS OR SYNC SIMULATIONS LOCALLYTheofxcstool will guide you through configuration:ofxcs configureWill ask a series of questions:It will ask you to enter your cloud key details, bucket and the region that your bucket is based inIt will ask you where you want to copy the post calculation action script. You will need to point to this from all your modelsIt will ask where you want to save local simulations when they are synced back to your local driveIt will ask you if you have a key file. Seesection belowfor more details.EncryptionAccess to your bucket is restricted only to people who have access to the cloud key and secret and the administrator of the cloud account. Encryption allows you to ensure that your stored simulation files can only ever be read by people in your company.This is done with akey file, you can generate these with:ofxcs keygenThis will save a key file and optionally it will update the local config to point to the key file.IMPORTANT: You should only do this once for your company and then share the key file internally and have each user configure their system with this key file. If you lose the key file there will be no way to decrypt the simulation files stored in the cloud.Now you have configuredofxcsyou can start to sync simulations to the cloud.Post-calculation actionsIn every model you want to sync you must specify aPost calculation action. Action type needs to beIn-process Pythonand version must bePython 3.The Script File Name is wherever you saved the file during theofxcs configureprocess above.NOTE: The default location forpca_ofx2cloud.pyis based on your local user profile and may be different on remote computers. It might be easier to move the file to somewhere like C:\pca_ofx2cloud.py so it will be consistent on all machines.You also need to add a tag on General ofFOLDERin every model. This is how your simulations will be organised in the cloud. The folder name can contain only alphanumeric and the following special characters:! - _ . * ' ( )Withofxcsconfigured and post calculations specified, simulations run in batch processing or distributed OrcaFlex will be automatically uploaded to the cloud.Local syncNow you want to sync them to you local machine. You start by adding the folders that you specified in the models:ofxcs add --folder my_ofx_projectThere is no need to add the folders every time you start the sync, it will remember which folders you want.You can then run the sync command:ofxcs syncThe syncing operation will continue until you stop it by killing the process or pressingCRTL+C.If you want to see what folders are currently set to sync:ofxcs show{'bucket': 'xxx000',
 'root_folder': 'C:\\Users\\username\\AppData\\Local\\agiletek\\ofx-cloudsync\\ofxsync',
 'sync': ['my_ofx_project']}To remove a folder (stop syncing it)ofx remove --folder my_ofx_projectwill stop syncing but not delete the local files, whereas:ofxcs remove --delete --folder my_ofx_projectdeletes the folder locally.RoadmapNext steps for development:Proper loggingSimple GUIHelp/supportIf you have any questions or need any help with this package then contactofxcs@agiledat.co.uk