Handling protected projects in Copia
If projects are password protected (or encrypted) is there a workflow or process to use to still take advantage of project rendering and code review?
When working with Copia, projects that are protected or encrypted may not be possible to render changes and diffs. As a result, code review and review prior to commit is limited. As a result, Copia recommends that password protection or encryption of files (or portions of files) should be avoided during active development. Instead, password protection or encryption should only be applied as part of the release process.
This document outlines the steps for managing password-protected or encrypted files in Copia to ensure a smooth workflow and secure releases.
Tips:
- If using Siemens Step7 TIA Portal v17 (or later), an Anonymous User feature is available, which will allow “read only” access to Copia (for rendering) and others, while protecting your code from changes.
- If you would like to limit internal access to unprotected files, this can be done via Teams and limiting who has access to those repositories
Workflow Guidelines
- Active Development Stage:
- During active development, ensure that binary files are not password-protected or encrypted.
- This allows Copia to:
- Track changes effectively.
- Provide insightful diffs and other advanced version control features.
- Enable seamless collaboration among team members.
- Branch Management:
- Utilize separate branches for development and releases.
- The release branch should be used for deployment or distribution of the code.
- When development is complete and ready for release, create a Pull Request (PR) from the development branch to the release branch.
- PR Review and Approval Process:
- A reviewer should:
- Validate the code changes to ensure they meet quality and functional requirements.
- Confirm that all necessary binary files are properly password-protected or encrypted.
- Once the PR is reviewed and approved, merge the changes into the release branch.
Of course, it is recommended to document the encryption/password protection process in your SOP, including the methods used and the credentials required.
Example Workflow
- A developer works on an unprotected Rockwell Studio 5000 ProjectName.ACD on a dev branch.
- Changes are committed and pushed (or a branching, review and approval development process is used).
- A PR is created from the dev branch to the release branch.
- During the PR process:
- The developer requests a code review.
- Reviewer reviews, and if ready for approval, requests encryption be added
- The developer encrypts this file, and requests final approval.
- Reviewer confirms encryption and approves the code change
- PR is merged into the release branch.
- Release branch is used for deployment and distribution.
By adhering to this process, you can ensure effective use of Copia while maintaining security for your files during release.