Files
smartclone/README.md
T

54 lines
3.1 KiB
Markdown

# Smart Clone - Opportunity Cloner
The purpose of the Smart Clone is to provide the user with the functionality to clone an opportunity, but with added
benefits.
- The ability to select only fields that need to be edited during the cloning
- The ability to select fields that must be cleared of their original value
- The ability to clone other child objects than just Opportunity Products
The Project consists of the following components:
| Item | Description |
| ---- | ----------- |
| OpportunityCloneService | Apex class that contains the Apex functionality |
| OpporutnityCloneserviceTest | Code coverage and unit test class |
| TestCloneUtility | Utilities used in the Code coverage and unit test class |
| SmartCloneChildList custom label | Custom Label used as a setting to store semi-colon separated list of child objects to select from |
| opportunityCustomClone | Lightning web component that is the visual interface |
| OppCustomCloneAura | Aura Lightning Component that is used to wire to a QuickAction |
| Opportunity.SmartClone QuickAction | The QuickAction button to use on the Opportunity Detail Layout |
| Opportunity.ClonedFields fieldset | the fieldet used to configure displayable and cleared fields for input |
### Additional Notes
- This application currently will not support the cloning of a hierarchy of children. This means it is only designed to support
the cloning of direct children to the Opportunity, and the Opportunity itself
- This application will not support RecordType as a field to be edited/updated during the clone.
## Setup
1. Setup List of Opportunity Fields to include in the Cloning process.
- Create a Fieldset named 'ClonedFields'. This fieldset will need to contain the fields to clone on the Opportunity.
- Place fields that need to be cloned in the 'ClonedFields' fieldset
2. Create Action for SmartClone
- Navigate to the Opportunity Object and click on 'Buttons, Links, and Actions'. Click the 'New Action' button.
- *Action Type*: 'Lightning Web Component', *Lightning Web Component*:'c:opportunityCustomClone', *Label*: **Your Choice**, *Name*:**Your Choice**
- Save Action Button
- Navigate to the proper layout and place the Action Button on the Layout.
### Prerequisites
- You need to have the Salesforce CLI installed on your system to follow the install directions.
### Installed Steps
1. Clone this repository to your local filesystem.
2. Navigate to the directory created from the clone.
3. Create a 'build' folder in the directory of this cloned repository
4. Convert the project into deployable Metadata API format using the following command `sfdx force:source:convert -r ./force-app/main/default -d ./build/unpackaged/`
5. Zip the 'unpackaged' directory located in the 'build' folder.
6. Deploy the zip file into your instance using the following command `sfdx force:mdapi:deploy -u <yourinstancealias> -f ./build/unpackaged.zip -w 30 --verbose`
- Optionally, you can use the `-l RunLocalTests` option if installing into a production instance separately.
7. Once the deployment completes successfully, the components will be installed in your instance.
### Setup Steps