sfdx-isv / sfdx-falcon-template Goto Github PK
View Code? Open in Web Editor NEWExtended Salesforce DX project directory template, designed to support complex projects and managed packages.
License: BSD 3-Clause "New" or "Revised" License
Extended Salesforce DX project directory template, designed to support complex projects and managed packages.
License: BSD 3-Clause "New" or "Revised" License
When trying to setup my Falcon project using no browser opens tpo Login to my DevHub org. Instead I get an error.
robert$ ./dev-tools/setup-project-org-auth
\nLocal configuration variables set by ./dev-tools/lib/local-config.sh\n
PROJECT_ROOT --------------> /Users/robert/dev/projects/travelexpenses
NAMESPACE_PREFIX ----------> UP2GO_ITE
PACKAGE_NAME --------------> Travel Expenses
DEFAULT_PACKAGE_DIR_NAME --> /Users/robert/dev/projects/travelexpenses/sfdx-source/UP2GO_ITE
TARGET_ORG_ALIAS ---------->
DEV_HUB_ALIAS -------------> <%%-userAnswers.devHubAlias%>
SCRATCH_ORG_ALIAS ---------> UP2GO_ITE-SCRATCH
PACKAGING_ORG_ALIAS -------> UP2GO_ITE-PACKAGING
SUBSCRIBER_ORG_ALIAS ------> UP2GO_ITE-SUBSCRIBER
METADATA_PACKAGE_ID -------> 033F00000001hRi
PACKAGE_VERSION_ID --------> 04t0G000000T48F
SCRATCH_ORG_CONFIG --------> /Users/robert/dev/projects/travelexpenses/config/project-scratch-def.json
GIT_REMOTE_URI ------------> https://github.com/Up2Go/travelexpenses.git
ECHO_LOCAL_CONFIG_VARS ----> true
Do you want to setup org authentication/aliases for this project?
(type YES to confirm, or hit ENTER to cancel) YES
Step 1 of 3: Setup authentication for this project's Dev Hub
Do you want set/replace the auth info for the <%%-userAnswers.devHubAlias%> alias?
(type YES to confirm, or hit ENTER to cancel) YES
\nWeb authentication in progress using default browser. Press CTRL+C to cancel.\n
ERROR: Unexpected token ] in JSON at position 88.
WARNING: The web authentication request was canceled (or timed out).
Trying to set up my project , when running
./dev-tools/setup-project-org-auth
result with :
Step 3 of 3: Setup authentication for this project's Subscriber Sandbox Org
Do you want set/replace the auth info for the alias?
(type YES to confirm, or hit ENTER to cancel) YES
\nWeb authentication in progress using default browser. Press CTRL+C to cancel.\n
▸ Unexpected argument https://test.salesforce.com
WARNING: The web authentication request was canceled (or timed out).
Issue is here :
SUBSCRIBER_SANDBOX_ALIAS
in order to follow all reference in the codeWe took the Falcon template and adjusted it for ou purposes:
What happens now when the repo is updated by Salesforce? The simple answer is we have to manually find and merge any change. Sure. But isn't there a better way to keep consumers of the template upgradable?
An idea could be to minimize the script parts to a minimum and provide a SFDX Falcon Plugin which only needs a ISV package specific configuration.
I've noticed that splitting up apps into separate directories is unreliable - compilation fails with references not being found from across the package. Not sure what is a good way to replicate, but encountered few times before abolishing this approach completely.
The idea is to use default
for common stuff such as helpers and objects, and AppA
, AppB
folders for any new features added to org. Is this approach not feasible?
It took me a while to find out that the template is NOT storing secrets in Environment variables but in Contexts.
What's the difference and why did you decide to do so? From reading the docs it sounds like Environment variables on a specific project a more suitable.
Need to add option to set installationkey in tools/install-pkg-in-sandbox .
This can be part of the info in 'local-config.sh'
something like :
PACKAGE_INSTALLATIONKEY=""
And them in tools/install-pkg-in-sandbox
Use
if [ -n "$PACKAGE_INSTALLATIONKEY" ]; then
PACKAGE_INSTALLATIONKEY="--installationkey $PACKAGE_INSTALLATIONKEY"
fi
...
(cd $PROJECT_ROOT && exec sfdx force:package:install \
$PACKAGE_INSTALLATIONKEY \
--package $PACKAGE_VERSION_ID \
...
see
i'm not sure the point of the flag -c 1000
and in fact the man page (https://www.systutorials.com/docs/linux/man/1-xxd/) states that the max is 256
Trying to install my packege , when running
./tools/install-pkg-in-sandbox
result with :
▸ Unexpected argument --ID
ERROR: Package installation was not successful.
Issue is here :
package
and not id
in order preform the installation see DocumentationI've setup the folder structure for a new project following the patterns identified here. When I add e.g. a new SObject in the scratch org and use:
sfdx force:source:pull
the new components are put in a fixed folder "main/default" - there is no option to nominate the correct folder. So the folder structure is compromised.
(When components are already present locally in folders other than "main/default" the pull does place the changes correctly.)
Is there a work-around for this problem? If there isn't this multiple folder approach needs revising. So far I've wasted several hours trying to find a work around.
(Same question posted here https://salesforce.stackexchange.com/questions/206847/how-to-use-sfdx-forcesourcepull-when-folders-other-than-main-default-are-u.)
I am wondering what type of date each of the folders under the Schema folder should contain. For example, Custom Metadata Types are stored in the customMetadata
folder in DX, and it is confusing when I see customMetadata
and customMetadataTypes
folders in the Schema folder.
Another question is where should I keep data for applications
(.app-meta.xml) of layouts?
It seems like the **.md entry in .forceignore is interfering with processing the custom metadata records.
The file extension for the MDAPI files is .md, and the DX files are .md-meta.xml
I changed the entry to: *README.md to ignore the readme files and was able to pull/push/convert them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.