Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several improvements to resilient-sdk #15

Open
Res260 opened this issue Mar 17, 2021 · 0 comments
Open

Several improvements to resilient-sdk #15

Res260 opened this issue Mar 17, 2021 · 0 comments

Comments

@Res260
Copy link

Res260 commented Mar 17, 2021

Hello Resilient devs! We are currently using Resilient where I work, and I've been developping a lot of customizations lately.
Because we versionize our customizations, we had to do a private fork of resilient-sdk to suit our needs and tweak it a bit. I'd like to submit some of the changes we made internally here so others can benefit from it.

The changes include:

  1. Deterministic exports using codegen --reload: When regenerating customize.py and export.res, the output currently changes the order of the customizations, which is problematic from a VCS standpoint (diffs are very very ugly). The change we made makes it so the data is ordered before the files are generated, resulting in way, way cleaner diffs.
  2. Reloading workflow documentation files: Once generated, the workflow documentation files (wf_my_workflow.md) are not re-generated when doing "codegen --reload" after initial creation. This results in incomplete documentation and it's harder to review changes in a PR that changes an existing workflow. Our changes make it so everytime codegen --reload is executed, the these files get regenerated.
  3. Removing the "id" fields in export.res: The Resilient export exports all fields in the customizations (including the ID field). However, Resilient does not seem to use this field anymore. When two different dev environments are set up, there can be differences in the IDs of the same customizations, resulting in a weird "back-and-forth" phenomenon that makes some pretty ugly diffs in a PR. Our change remove these fields, and everything seems to be still working perfectly fine.
  4. Exporting layouts: Resilient-sdk receives the layouts information in the export, but strips it and doesnt include it in the export.res file. Our change make it so the layouts can be exported the same way fields and workflows can, so we can versionize them.

Please tell me if you are interested in any of these changes, and I'll make PRs!

PS: I really love this product and the way it is architectured. It's very powerful and allows devs to do awesome things with it. Keep up the great work :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant