diff --git a/.github/workflows/build-deploy-docs.yml b/.github/workflows/build-deploy-docs.yml new file mode 100644 index 0000000..e819a32 --- /dev/null +++ b/.github/workflows/build-deploy-docs.yml @@ -0,0 +1,28 @@ +name: "DOC - Build and deploy with sfdx-hardis" +on: + push: + branches: + - main + - master + +jobs: + # Build & deploy docs + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.3.4 + # Build doc with sfdx-hardis + - uses: actions/setup-node@v1 + with: + node-version: "12.x" + - run: yarn + - run: yarn prepack + - run: npm i sfdx-cli -g + - run: echo y|sfdx plugins:install sfdx-hardis + - run: sfdx hardis:doc:plugin:generate + # Deploy docs with mkdocs-material + - uses: actions/setup-python@v2 + with: + python-version: 3.x + - run: pip install mkdocs-material mdx_truly_sane_lists json-schema-for-humans + - run: mkdocs gh-deploy --force diff --git a/.gitignore b/.gitignore index d0711fe..01e1d42 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ dump.rdb mshanemc-* commandInventory.json heroku-xo* + +hardis-report/ diff --git a/README.md b/README.md index 56876b0..4e52f69 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Way, way down [at the bottom](#How-to-Contribute). check out [this repo](https://github.com/mshanemc/awesome-sfdx-plugins) for other people's plugins (and share via PR if you've created one) -# Usage +## Usage @@ -40,7 +40,7 @@ USAGE -# Commands +## Commands diff --git a/docs/data/sosl/query.md b/docs/data/sosl/query.md new file mode 100644 index 0000000..7979119 --- /dev/null +++ b/docs/data/sosl/query.md @@ -0,0 +1,31 @@ + +# data:sosl:query + +## Description + +Runs a sosl query. SOSL Reference: https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_syntax.htm + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|query
-q|option|SOSL query|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx force:data:sosl:query -q "find {something}" + +``` + +```shell +sfdx force:data:sosl:query -q "find {Jack} returning User(Name), Account(Name),Contact(FirstName,LastName,Department)" -u platformers +// search across several objects with different results fields on a specified org + +``` + + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..590c88c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,332 @@ + + +# shane-sfdx-plugins + +## install + +sfdx plugins:install shane-sfdx-plugins + +You'll be prompted that this, like any plugin, is not officially code-signed by Salesforce. If that's annoying, you can [whitelist it](https://developer.salesforce.com/blogs/2017/10/salesforce-dx-cli-plugin-update.html) + +## docs + +what all is in here and how does it work? + +install and run this `sfdx shane -h` + +but you like README, you say? Good thing oclif auto-generates all this for me. :) + +## Contribute + +Way, way down [at the bottom](#How-to-Contribute). + +## More plugins + +check out [this repo](https://github.com/mshanemc/awesome-sfdx-plugins) for other people's plugins (and share via PR if you've created one) + +## Usage + + + +```sh-session +$ npm install -g shane-sfdx-plugins +$ sfdx COMMAND +running command... +$ sfdx (-v|--version|version) +shane-sfdx-plugins/4.43.0 darwin-x64 node-v12.14.0 +$ sfdx --help [COMMAND] +USAGE + $ sfdx COMMAND +... +``` + + + +## Commands + +### data:sosl + +| Command | Title | +| :---------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | +| [**data:sosl:query**](data/sosl/query.md) | Runs a sosl query. SOSL Reference: https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_syntax.htm | + +### shane:ai + +| Command | Title | +| :------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------ | +| [**shane:ai:auth**](shane/ai/auth.md) | get an access token from an email and a .pem file, either passed in or from environment variables | +| [**shane:ai:dataset:delete**](shane/ai/dataset/delete.md) | delete a dataset | +| [**shane:ai:dataset:get**](shane/ai/dataset/get.md) | get an access token from an email and a .pem file, either passed in or from environment variables | +| [**shane:ai:dataset:upload**](shane/ai/dataset/upload.md) | upload a dataset | +| [**shane:ai:playground:setup**](shane/ai/playground/setup.md) | upload .pem file from local encrypted copy, setup username and secret key in custom setting | +| [**shane:ai:playground:setupHeroku**](shane/ai/playground/setupHeroku.md) | provisions a new einstein.ai account and sets up the org | + +### shane:analytics + +| Command | Title | +| :-------------------------------------------------------------------------- | :-------------------------------------------- | +| [**shane:analytics:app:share**](shane/analytics/app/share.md) | share an analytics app by name | +| [**shane:analytics:community:enable**](shane/analytics/community/enable.md) | Activate a community using a headless browser | +| [**shane:analytics:dataflow:start**](shane/analytics/dataflow/start.md) | start an analytics dataflow by name/label/id | +| [**shane:analytics:dataset:download**](shane/analytics/dataset/download.md) | download a dataset as csv | +| [**shane:analytics:dataset:list**](shane/analytics/dataset/list.md) | what analytics datasets are in my org? | +| [**shane:analytics:dataset:upload**](shane/analytics/dataset/upload.md) | upload a dataset from csv | + +### shane:cdc + +| Command | Title | +| :------------------------------------------ | :---- | +| [**shane:cdc:create**](shane/cdc/create.md) | | +| [**shane:cdc:prep**](shane/cdc/prep.md) | | +| [**shane:cdc:stream**](shane/cdc/stream.md) | | + +### shane:cert + +| Command | Title | +| :---------------------------------------------------- | :--------------------------------------------------------------------------------- | +| [**shane:cert:unhardcode**](shane/cert/unhardcode.md) | modify local xml files with data from org to work around hardcoded metadata issues | + +### shane:communities + +| Command | Title | +| :-------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------ | +| [**shane:communities:activate**](shane/communities/activate.md) | Activate a community using a headless browser | +| [**shane:communities:describe**](shane/communities/describe.md) | tell me about the communities in the org, and optionally store the description | +| [**shane:communities:json:modify**](shane/communities/json/modify.md) | Manipulate community ExperienceBundle JSON files, using REST or Tooling queries to an org to get metadata IDs | +| [**shane:communities:publish**](shane/communities/publish.md) | Publish a community using a headless browser | +| [**shane:communities:selfreg**](shane/communities/selfreg.md) | set the self-registration account for a community | +| [**shane:communities:url**](shane/communities/url.md) | get me the login for a community from an org | + +### shane:concierge + +| Command | Title | +| :---------------------------------------------------------------- | :------------------------------------------------------------- | +| [**shane:concierge:chat:enable**](shane/concierge/chat/enable.md) | Modify custom settings to enable live agent chat for Concierge | + +### shane:connectedapp + +| Command | Title | +| :-------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [**shane:connectedapp:attributes**](shane/connectedapp/attributes.md) | Set attributes on a connected app. Attributes for salesforce mobile app at https://github.com/gabesumner/mobile-security/blob/master/customAttributes.json | +| [**shane:connectedapp:uniquify**](shane/connectedapp/uniquify.md) | modify a clientId/consumerKey on a local connected app to guaranatee uniqueness | + +### shane:contentasset + +| Command | Title | +| :------------------------------------------------------------ | :-------------------------------------------- | +| [**shane:contentasset:create**](shane/contentasset/create.md) | create a ContentAsset from a local image file | + +### shane:data + +| Command | Title | +| :---------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | +| [**shane:data:dates:update**](shane/data/dates/update.md) | go through a folder of csv files and modify all the dates relative to a given date | +| [**shane:data:favorite**](shane/data/favorite.md) | query records and set the match as a favorite | +| [**shane:data:file:download**](shane/data/file/download.md) | save a file from the org to the local filesystem | +| [**shane:data:file:upload**](shane/data/file/upload.md) | upload a file from local resources, optionally as a chatter post or attached file on a record | +| [**shane:data:id:query**](shane/data/id/query.md) | query some object and get back the id of the matching record | +| [**shane:data:search**](shane/data/search.md) | sosl search | +| [**shane:data:tree:import**](shane/data/tree/import.md) | similar to the original tree:import, but handles more than 200 records at a go, while still preserving relationships. Takes longer. | + +### shane:events + +| Command | Title | +| :------------------------------------------------ | :---- | +| [**shane:events:stream**](shane/events/stream.md) | | + +### shane:github + +| Command | Title | +| :------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- | +| [**shane:github:action**](shane/github/action.md) | adds an action to test your repo against https://github.com/mshanemc/deploy-to-sfdx using github actions | +| [**shane:github:deploybutton**](shane/github/deploybutton.md) | modify your local readme file to include a deployer link/button | +| [**shane:github:package:install**](shane/github/package/install.md) | installs a package from github using the sfdx-project.json file (v43+) OR the latestVersion.json file convention | +| [**shane:github:src:install**](shane/github/src/install.md) | installs a package from github from mdapi src | + +### shane:group + +| Command | Title | +| :-------------------------------------------- | :------------------------------------------ | +| [**shane:group:photo**](shane/group/photo.md) | Set the photo for a user by first/last name | + +### shane:heroku + +| Command | Title | +| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------- | +| [**shane:heroku:connect**](shane/heroku/connect.md) | set up heroku connect on an existing app to an existing org (that you may have just created) | +| [**shane:heroku:externalobjects**](shane/heroku/externalobjects.md) | set up heroku connect on an existing app with external objects | +| [**shane:heroku:repo:deploy**](shane/heroku/repo/deploy.md) | deploy a heroku app that has a valid app.json. | + +### shane:iot + +| Command | Title | +| :-------------------------------------------------- | :------------------------------------ | +| [**shane:iot:activation**](shane/iot/activation.md) | Activate an iot orchestration by name | + +### shane:label + +| Command | Title | +| :---------------------------------------- | :------------------------------------------------------------------------- | +| [**shane:label:add**](shane/label/add.md) | create a remote site setting in the local source. Push it when you're done | + +### shane:listview + +| Command | Title | +| :-------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [**shane:listview:favorite**](shane/listview/favorite.md) | favorite a listview | +| [**shane:listview:secure**](shane/listview/secure.md) | Find list views that are shared everywhere and makes them shared internally only. Local source modification only--to use this command to fix an entire org, retrieve all your objects and then deploy the updated files | + +### shane:lwc + +| Command | Title | +| :------------------------------------------------ | :------------------------------------------------------------------------------------------------------ | +| [**shane:lwc:create**](shane/lwc/create.md) | create a lwc locally without need for sfdx project | +| [**shane:lwc:css:merge**](shane/lwc/css/merge.md) | take css from existing file(s), extract component-level relevant selectors and save to a LWC's css file | + +### shane:mdapi + +| Command | Title | +| :-------------------------------------------------------- | :---------------------------------------------------------------------------------------------------- | +| [**shane:mdapi:describe**](shane/mdapi/describe.md) | what's in the org? | +| [**shane:mdapi:list**](shane/mdapi/list.md) | what's in the org? | +| [**shane:mdapi:package:get**](shane/mdapi/package/get.md) | Gets package from an org, converts, and merges it into the local source | +| [**shane:mdapi:package:xml**](shane/mdapi/package/xml.md) | gets metadata form an org based on a local package.xml, converts, and merges it into the local source | +| [**shane:mdapi:pull**](shane/mdapi/pull.md) | gets unpackaged metadata for you | +| [**shane:mdapi:push**](shane/mdapi/push.md) | convert and deploy the packaged source | + +### shane:msgchannel + +| Command | Title | +| :-------------------------------------------------------- | :----------------------------------------- | +| [**shane:msgchannel:create**](shane/msgchannel/create.md) | create a lightning message channel locally | + +### shane:object + +| Command | Title | +| :------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------- | +| [**shane:object:create**](shane/object/create.md) | create an object in local source. Only **c (limited support), **b (big objects) and events \_\_e are currently supported | +| [**shane:object:fat**](shane/object/fat.md) | add or update a field audit trail retention policy on an object. Modifies local source--you still need to push/deploy | +| [**shane:object:field**](shane/object/field.md) | create or add fields to an existing object | +| [**shane:object:fields:describe**](shane/object/fields/describe.md) | what fields are on the object? | +| [**shane:object:perms:align**](shane/object/perms/align.md) | align profiles with | +| [**shane:object:powerofone**](shane/object/powerofone.md) | add a "power of one" formula field to any object | +| [**shane:object:recordtype**](shane/object/recordtype.md) | create a new record type for an object | +| [**shane:object:tab**](shane/object/tab.md) | create a tab from a custom object, and you have to pick an icon | +| [**shane:object:unperm**](shane/object/unperm.md) | remove references to an object from profiles/permsets (all or a specific one) | + +### shane:org + +| Command | Title | +| :-------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | +| [**shane:org:componentlibrary**](shane/org/componentlibrary.md) | opens the lightning component library for the specified org | +| [**shane:org:create**](shane/org/create.md) | create an org with a friendly username. wraps force:org:create | +| [**shane:org:delete**](shane/org/delete.md) | delete the default scratch org. Won't prompt you for confirmation | +| [**shane:org:domain:cors**](shane/org/domain/cors.md) | whitelist the org's domain as a CORS | +| [**shane:org:domain:csp**](shane/org/domain/csp.md) | whitelist the org's domain as a CSP Trusted Site | +| [**shane:org:domain:verify**](shane/org/domain/verify.md) | Verifies that a domain was successfully setup with MyDomain | +| [**shane:org:metadatacoverage**](shane/org/metadatacoverage.md) | opens the metadata coverage report page | +| [**shane:org:reauth**](shane/org/reauth.md) | reauthenticates (generates a new authinfo) for a scratch org, optionally insisting on custom domain being ready. Requires a hub | +| [**shane:org:refreshtoken**](shane/org/refreshtoken.md) | Outputs a refresh token from an org that you've already authenticated sfdx to. PLEASE BE CAREFUL WITH THIS AND TREAT IT AS A PASSWORD | + +### shane:package2 + +| Command | Title | +| :---------------------------------------------------------------- | :---------------------------------------------------------- | +| [**shane:package2:version:bump**](shane/package2/version/bump.md) | bump the major/minor version number in the packageDirectory | + +### shane:permset + +| Command | Title | +| :-------------------------------------------------- | :--------------------------------------------------- | +| [**shane:permset:check**](shane/permset/check.md) | who has access to what | +| [**shane:permset:create**](shane/permset/create.md) | create or add stuff to a permset with maximum access | + +### shane:profile + +| Command | Title | +| :---------------------------------------------------- | :--------------------------------------------------------------------------------------- | +| [**shane:profile:allowip**](shane/profile/allowip.md) | allow the whole internet for a profile (no ip verification or 2FA/OTP challenges in dev) | +| [**shane:profile:convert**](shane/profile/convert.md) | convert a profile into a permset | + +### shane:project + +| Command | Title | +| :-------------------------------------------------- | :---------------------- | +| [**shane:project:create**](shane/project/create.md) | creates an sfdx project | + +### shane:remotesite + +| Command | Title | +| :-------------------------------------------------------- | :------------------------------------------------------------------------- | +| [**shane:remotesite:create**](shane/remotesite/create.md) | create a remote site setting in the local source. Push it when you're done | + +### shane:source + +| Command | Title | +| :-------------------------------------------------- | :-------------------------------------- | +| [**shane:source:replace**](shane/source/replace.md) | replace a string in a file with another | + +### shane:static + +| Command | Title | +| :------------------------------------------------ | :------------------------------- | +| [**shane:static:create**](shane/static/create.md) | create a static resource locally | + +### shane:tab + +| Command | Title | +| :---------------------------------------------- | :------------- | +| [**shane:tab:favorite**](shane/tab/favorite.md) | favorite a tab | + +### shane:theme + +| Command | Title | +| :-------------------------------------------------- | :----------------------------------------------------------------------------------------------- | +| [**shane:theme:activate**](shane/theme/activate.md) | Activate a LightningExperienceTheme via metadata api. Makes no permanent changes to local source | + +### shane:tsp + +| Command | Title | +| :------------------------------------------------------------ | :------------------------------------------------------- | +| [**shane:tsp:username:update**](shane/tsp/username/update.md) | change the username on all transaction security policies | + +### shane:uiapi + +| Command | Title | +| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [**shane:uiapi:objectinfo**](shane/uiapi/objectinfo.md) | get a ui api response from the objectinfo endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_object_info.htm | +| [**shane:uiapi:record**](shane/uiapi/record.md) | get a ui api response from the getrecord endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_get.htm | +| [**shane:uiapi:recordui**](shane/uiapi/recordui.md) | get a ui api response from the record-ui endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_ui.htm | + +### shane:user + +| Command | Title | +| :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | +| [**shane:user:allPhotos**](shane/user/allPhotos.md) | set the chatter photos of anyone who has not set theirs already to encourage them to do so | +| [**shane:user:lightning:debug**](shane/user/lightning/debug.md) | set the user to debug mode | +| [**shane:user:loginurl**](shane/user/loginurl.md) | generate a long-lived shareable login url for the org | +| [**shane:user:password:set**](shane/user/password/set.md) | Set the password for a user by first/last name | +| [**shane:user:permset:assign**](shane/user/permset/assign.md) | Assign a permset to a user by first/last name, or just the default user. Does not error if permset is already assigned | +| [**shane:user:photo**](shane/user/photo.md) | Set the photo for a user by first/last name | +| [**shane:user:psl**](shane/user/psl.md) | Assign a permset license already in an org for a user | + +### streaming:list + +| Command | Title | +| :-------------------------------------- | :--------------------------------------- | +| [**streaming:list**](streaming/list.md) | What kinds of things can I subscribe to? | + +### streaming:pushtopic + +| Command | Title | +| :---------------------------------------------------------------------- | :--------------------- | +| [**streaming:pushtopic:create**](streaming/pushtopic/create.md) | Create push topics | +| [**streaming:pushtopic:deactivate**](streaming/pushtopic/deactivate.md) | deactivate push topics | +| [**streaming:pushtopic:delete**](streaming/pushtopic/delete.md) | Delete a push topic | +| [**streaming:pushtopic:update**](streaming/pushtopic/update.md) | Update push topics | + +### streaming:subscribe + +| Command | Title | +| :------------------------------------------------ | :---- | +| [**streaming:subscribe**](streaming/subscribe.md) | | diff --git a/docs/javascripts/gtag.js b/docs/javascripts/gtag.js new file mode 100644 index 0000000..4bb097e --- /dev/null +++ b/docs/javascripts/gtag.js @@ -0,0 +1,27 @@ +/* +location$.subscribe(function(url) { + window.dataLayer = window.dataLayer || []; + function gtag() { + dataLayer.push(arguments); + } + gtag("js", new Date()); + + gtag("config", "G-3DM50255LC"); +}); +*/ +var gtag_id = "G-XXXXXXXXXX"; + +var script = document.createElement("script"); +script.src = "https://www.googletagmanager.com/gtag/js?id=" + gtag_id; +document.head.appendChild(script); + +location$.subscribe(function (url) { + window.dataLayer = window.dataLayer || []; + + function gtag() { + dataLayer.push(arguments); + } + + gtag("js", new Date()); + gtag("config", gtag_id); +}); diff --git a/docs/javascripts/tables.js b/docs/javascripts/tables.js new file mode 100644 index 0000000..513f93e --- /dev/null +++ b/docs/javascripts/tables.js @@ -0,0 +1,6 @@ +document$.subscribe(function () { + var tables = document.querySelectorAll("article table") + tables.forEach(function (table) { + new Tablesort(table) + }) +}) diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 0000000..3cf4af8 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,4 @@ +{% extends "base.html" %} + + + diff --git a/docs/shane/ai/auth.md b/docs/shane/ai/auth.md new file mode 100644 index 0000000..ccf21ee --- /dev/null +++ b/docs/shane/ai/auth.md @@ -0,0 +1,27 @@ + +# shane:ai:auth + +## Description + +get an access token from an email and a .pem file, either passed in or from environment variables + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|certfile
-f|option|path to your private key from when you signed up|||| +|email
-e|option|email address you used when you signed up for your einstein.ai account|||| +|json|boolean|format output as json|||| +|level
-l|option|where to store this config|local||local
global| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|tokentime
-t|option|time in minutes that you want your token to be valid for|1440||| + +## Examples + +```shell +sfdx shane:ai:auth -e shane.mclaughlin@salesforce.com -f ~/code/certs/einstein_platform.pem + // reauths, and takes what it can get + +``` + + diff --git a/docs/shane/ai/dataset/delete.md b/docs/shane/ai/dataset/delete.md new file mode 100644 index 0000000..d5e3a68 --- /dev/null +++ b/docs/shane/ai/dataset/delete.md @@ -0,0 +1,23 @@ + +# shane:ai:dataset:delete + +## Description + +delete a dataset + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|dataset
-n|option|dataset id|||| +|email
-e|option|email address you used when you signed up for your einstein.ai account|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| + +## Examples + +```shell +sfdx shane:ai:dataset:delete -n 57 +``` + + diff --git a/docs/shane/ai/dataset/get.md b/docs/shane/ai/dataset/get.md new file mode 100644 index 0000000..4cc3d15 --- /dev/null +++ b/docs/shane/ai/dataset/get.md @@ -0,0 +1,25 @@ + +# shane:ai:dataset:get + +## Description + +get an access token from an email and a .pem file, either passed in or from environment variables + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|dataset
-n|option|dataset id|||| +|email
-e|option|email address you used when you signed up for your einstein.ai account|||| +|json|boolean|format output as json|||| +|language
-l|boolean|use the language endpoint instead of vision|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|poll
-p|boolean|poll for the status to be completed|||| + +## Examples + +```shell +sfdx shane:ai:dataset:get -n 57 +``` + + diff --git a/docs/shane/ai/dataset/upload.md b/docs/shane/ai/dataset/upload.md new file mode 100644 index 0000000..82cbd8a --- /dev/null +++ b/docs/shane/ai/dataset/upload.md @@ -0,0 +1,29 @@ + +# shane:ai:dataset:upload + +## Description + +upload a dataset + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|email
-e|option|email address you used when you signed up for your einstein.ai account|||| +|file
-f|option|Path to the .zip (image) or .csv/.tsv/.json (language) file on the local drive (FilePart). The maximum file size you can upload from a local drive is 50 MB for images, 25 MB for text|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|Name of the dataset. Optional. If this parameter is omitted, the dataset name is derived from the .zip file name. |||| +|path
-p|option|URL of the .zip (image) or .csv/.tsv/.json (language) file. The maximum file size you can upload from a web location is 2 GB (images), 25MB (text) |||| +|train|boolean|train a model on the dataset|||| +|type
-t|option|Type of dataset data. Valid values are:|image||image
image-detection
image-multi-label
text-intent
text-sentiment| +|verbose|boolean|emit additional command output to stdout|||| +|wait
-w|option|how long to wait for this to process (minutes)|10||| + +## Examples + +```shell +sfdx shane:ai:dataset:upload -e shane.mclaughlin@salesforce.com -f ~/myPics.zip -n AwesomeDataset +``` + + diff --git a/docs/shane/ai/playground/setup.md b/docs/shane/ai/playground/setup.md new file mode 100644 index 0000000..ca4a08e --- /dev/null +++ b/docs/shane/ai/playground/setup.md @@ -0,0 +1,26 @@ + +# shane:ai:playground:setup + +## Description + +upload .pem file from local encrypted copy, setup username and secret key in custom setting + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|email
-e|option|email address you used when you signed up for your einstein.ai account. Defaults to EINSTEIN_EMAIL from the environment|||| +|file
-f|option|encrypted file from local filesystem|||| +|json|boolean|format output as json|||| +|key
-k|option|encoding key used to encrypt/decrypt the file. Defaults to AI_PLAYGROUND_SETUP_KEY from the environment|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:ai:playground:setup -f my.pem -e shane.mclaughlin@salesforce.com -k yay9HVn68GzXrqhT0HWkoQ== +``` + + diff --git a/docs/shane/ai/playground/setupHeroku.md b/docs/shane/ai/playground/setupHeroku.md new file mode 100644 index 0000000..78b810c --- /dev/null +++ b/docs/shane/ai/playground/setupHeroku.md @@ -0,0 +1,41 @@ + +# shane:ai:playground:setupHeroku + +## Description + +provisions a new einstein.ai account and sets up the org + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|app
-a|option|name of the heroku app that we attach add-ons to|||| +|create
-c|boolean|create the app|||| +|json|boolean|format output as json|||| +|keepauth
-k|boolean|save the refresh token for einstein.ai to the local sfdx store for future cli use|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + +```shell +sfdx shane:ai:playground:herokuSetup -a my-existing-app + // creates addons to existing app + +``` + +```shell +sfdx shane:ai:playground:herokuSetup -c + // creates an app with whatever name heroku feels like + +``` + +```shell +sfdx shane:ai:playground:herokuSetup -a non-existing-app -c + // creates a new app with the name of your choice (usually build dynamically!) + +``` + + diff --git a/docs/shane/analytics/app/share.md b/docs/shane/analytics/app/share.md new file mode 100644 index 0000000..41bdbb8 --- /dev/null +++ b/docs/shane/analytics/app/share.md @@ -0,0 +1,31 @@ + +# shane:analytics:app:share + +## Description + +share an analytics app by name + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|allcsp|boolean|share with all customer portal users|||| +|allprm|boolean|share with all partner users|||| +|apiversion|option|override the api version used for api requests made by this command|||| +|community
-c|boolean|enable community sharing|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the analytics app|||| +|org|boolean|share with all internal users|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|type
-t|option|access level|View||View
Edit
Manage| + +## Examples + +```shell +sfdx shane:analytics:app:share -n SharedApp --allprm -c +// share the standard SharedApp with all partners view level perms (default) and check the "enable sharing with communities" box for this app + +``` + + diff --git a/docs/shane/analytics/community/enable.md b/docs/shane/analytics/community/enable.md new file mode 100644 index 0000000..d8cc2da --- /dev/null +++ b/docs/shane/analytics/community/enable.md @@ -0,0 +1,20 @@ + +# shane:analytics:community:enable + +## Description + +Activate a community using a headless browser + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + + diff --git a/docs/shane/analytics/dataflow/start.md b/docs/shane/analytics/dataflow/start.md new file mode 100644 index 0000000..54822f3 --- /dev/null +++ b/docs/shane/analytics/dataflow/start.md @@ -0,0 +1,27 @@ + +# shane:analytics:dataflow:start + +## Description + +start an analytics dataflow by name/label/id + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|id
-i|option|the id of the dataflow|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name or label of the analytics app (will match either)|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:analytics:dataflow:start -n MyDataFlowName +// enqueue a job for the the analytics dataflow with name/label MyDataFlowName (will not wait for completion of the dataflow) + +``` + + diff --git a/docs/shane/analytics/dataset/download.md b/docs/shane/analytics/dataset/download.md new file mode 100644 index 0000000..2d6e056 --- /dev/null +++ b/docs/shane/analytics/dataset/download.md @@ -0,0 +1,34 @@ + +# shane:analytics:dataset:download + +## Description + +download a dataset as csv + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|batchsize
-b|option|maximum batchsize. Splits query in parts of this size.|1000000000||| +|id
-i|option|dataset id|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|dataset name|||| +|offset
-o|option|offset for rows|||| +|rows
-r|option|how many rows?|1000000000||| +|target
-t|option|where you want to save the file|.||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|versionid|option|specify a version|||| + +## Examples + +```shell +sfdx shane:analytics:dataset:download -n YourDataSetName -t myLocalFolder +``` + +```shell +sfdx shane:analytics:dataset:download -i 0Fb6A000000gDFxSAM --versionid 0Fc6A000002d8GwSAI -t myLocalFolder -r 10000 -b 5000 +``` + + diff --git a/docs/shane/analytics/dataset/list.md b/docs/shane/analytics/dataset/list.md new file mode 100644 index 0000000..e0e2e2d --- /dev/null +++ b/docs/shane/analytics/dataset/list.md @@ -0,0 +1,23 @@ + +# shane:analytics:dataset:list + +## Description + +what analytics datasets are in my org? + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:analytics:dataset:list +``` + + diff --git a/docs/shane/analytics/dataset/upload.md b/docs/shane/analytics/dataset/upload.md new file mode 100644 index 0000000..1d26cd1 --- /dev/null +++ b/docs/shane/analytics/dataset/upload.md @@ -0,0 +1,35 @@ + +# shane:analytics:dataset:upload + +## Description + +upload a dataset from csv + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|app
-a|option|app name|||| +|async|boolean|do not wait for successful completion of the dataset upload...just return and hope for the best. If omitted, will poll the analytics rest API for job processing status until complete|||| +|csvfile
-f|option|local csv file containing the data|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|metajson
-m|option|path to json file for describing your upload (highly recommended)|||| +|name
-n|option|dataset name--no spaces, should be like an api name|||| +|operation
-o|option|what to do with the dataset if it already exists. See https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_ext_data.meta/bi_dev_guide_ext_data/bi_ext_data_object_externaldata.htm|Overwrite||Append
Overwrite
Upsert
Delete| +|serial|boolean|chunks are uploaded with no parallelization to prevent locking issues|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|uploadinterval
-d|option|milliseconds between uploaded chunks...increase this if you get strange errors during file uploads like "write EPIPE"|500||| + +## Examples + +```shell +sfdx shane:analytics:dataset:upload -n someName -f data/myFile.csv -m myMetaFile.json +``` + +```shell +sfdx shane:analytics:dataset:upload -n someName -f data/myFile.csv -m myMetaFile.json -a SharedApp --async +``` + + diff --git a/docs/shane/cdc/create.md b/docs/shane/cdc/create.md new file mode 100644 index 0000000..ee1b894 --- /dev/null +++ b/docs/shane/cdc/create.md @@ -0,0 +1,21 @@ + +# shane:cdc:create + +## Description + + + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|batchsize|option|how many records to insert in a batch|200||| +|dir
-d|option|folder to upload, containing /cdc/records|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + + diff --git a/docs/shane/cdc/prep.md b/docs/shane/cdc/prep.md new file mode 100644 index 0000000..4c0fb37 --- /dev/null +++ b/docs/shane/cdc/prep.md @@ -0,0 +1,20 @@ + +# shane:cdc:prep + +## Description + + + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|dir
-d|option|folder to upload, containing /cdc/records|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + + diff --git a/docs/shane/cdc/stream.md b/docs/shane/cdc/stream.md new file mode 100644 index 0000000..0d661ff --- /dev/null +++ b/docs/shane/cdc/stream.md @@ -0,0 +1,34 @@ + +# shane:cdc:stream + +## Description + + + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|dir
-d|option|stream the events to a folder instead of the console|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|subscribe to change events for only a single object (api name, including __c)|||| +|replay
-r|option|replay Id to begin from|-1||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:cdc:stream // get all the change events +``` + +```shell +sfdx shane:cdc:stream -o Account // get all the change events on a single object +``` + +```shell +sfdx shane:cdc:stream -d myDir // stream change events to myDir/cdc, organized into folders by object api type +``` + + diff --git a/docs/shane/cert/unhardcode.md b/docs/shane/cert/unhardcode.md new file mode 100644 index 0000000..26bb7dd --- /dev/null +++ b/docs/shane/cert/unhardcode.md @@ -0,0 +1,22 @@ + +# shane:cert:unhardcode + +## Description + +modify local xml files with data from org to work around hardcoded metadata issues + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|label
-l|option|masterLabel of the cert whose Id you need|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|samlfile
-f|option|full path to the samlssoconfig file. Will be modified by this process|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + + diff --git a/docs/shane/communities/activate.md b/docs/shane/communities/activate.md new file mode 100644 index 0000000..175d59a --- /dev/null +++ b/docs/shane/communities/activate.md @@ -0,0 +1,21 @@ + +# shane:communities:activate + +## Description + +Activate a community using a headless browser + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the community to activate|||| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + + diff --git a/docs/shane/communities/describe.md b/docs/shane/communities/describe.md new file mode 100644 index 0000000..7453321 --- /dev/null +++ b/docs/shane/communities/describe.md @@ -0,0 +1,24 @@ + +# shane:communities:describe + +## Description + +tell me about the communities in the org, and optionally store the description + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|store|boolean|store the community description in externalApps.json|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:communities:describe +``` + + diff --git a/docs/shane/communities/json/modify.md b/docs/shane/communities/json/modify.md new file mode 100644 index 0000000..b036a7d --- /dev/null +++ b/docs/shane/communities/json/modify.md @@ -0,0 +1,51 @@ + +# shane:communities:json:modify + +## Description + +Manipulate community ExperienceBundle JSON files, using REST or Tooling queries to an org to get metadata IDs + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|file
-f|option|full path to the file|||| +|id
-i|option|unique id of the component. ex: 69c03077-932a-4c08-b932-46baec5a7c86|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|property
-p|option|property that will be updated (or contains JSON or what will be updated|||| +|query
-q|option|soql query for a field to pass to the value|||| +|queryfield|option|field from the record returned by --query that you want to use the value from|Id||| +|subproperty
-s|option|if the property is a json object, or json-like string, the subproperty inside that that needs updating|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|tooling
-t|boolean|using tooling api for query instead of normal sobjects|||| +|truncate|boolean|truncate ids to 15 characters on queried record|||| +|value
-d|option|new value for the property/subproperty|||| +|variable|option|assign one of the variables to the property|||OrgId
InstanceUrl
Username| +|verbose|boolean|emit additional command output to stdout|||| +|wavename|option|name to match from wave api|||| +|wavetype|option|part of the wave api endpoint|||dashboards| +|write
-w|boolean|write over the original file with its new version. omit to see what will be written|||| + +## Examples + +```shell +sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i 69c03077-932a-4c08-b932-46baec5a7c86 -p someProp -v NewValue +// find the component and set a new hardcoded value for the property but don't write to the file + +``` + +```shell +sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i 69c03077-932a-4c08-b932-46baec5a7c86 -p orgId -q "select id from organization" --write +// find the component and set a new value from a query to the org and update file locally + +``` + +```shell +sfdx shane:communities:json:modify -f force-app/main/default/experiences/employeebots1/views/home.json -i 69c03077-932a-4c08-b932-46baec5a7c86 -p someUnconvertedJSON -s actualPropInsideTheJSON -q "select id from organization" -t --write +// find the component and set a new value from a query onto a property contained within unconverted JSON using the tooling api and update file locally + +``` + + diff --git a/docs/shane/communities/publish.md b/docs/shane/communities/publish.md new file mode 100644 index 0000000..0e4e4ef --- /dev/null +++ b/docs/shane/communities/publish.md @@ -0,0 +1,32 @@ + +# shane:communities:publish + +## Description + +Publish a community using a headless browser + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the community to publish (case sensitive!)|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:communities:publish +// publishes all the communities in the org + +``` + +```shell +sfdx shane:communities:publish -n customer +// finds a community named customer, publishes it. + +``` + + diff --git a/docs/shane/communities/selfreg.md b/docs/shane/communities/selfreg.md new file mode 100644 index 0000000..9853189 --- /dev/null +++ b/docs/shane/communities/selfreg.md @@ -0,0 +1,25 @@ + +# shane:communities:selfreg + +## Description + +set the self-registration account for a community + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|account
-a|option|Name of the account. Wrap in quotes if there are spaces or weird characters|||| +|apiversion|option|override the api version used for api requests made by this command|||| +|community
-c|option|name of the community. Wrap in quotes if there are spaces or weird characters|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:communities:selfreg -a Salesforce -c "Trailblazer Community" +``` + + diff --git a/docs/shane/communities/url.md b/docs/shane/communities/url.md new file mode 100644 index 0000000..cc6513f --- /dev/null +++ b/docs/shane/communities/url.md @@ -0,0 +1,24 @@ + +# shane:communities:url + +## Description + +get me the login for a community from an org + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|prefix
-p|option|community prefix (thing after the slash in the url)|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:communities:url --prefix dealers +``` + + diff --git a/docs/shane/concierge/chat/enable.md b/docs/shane/concierge/chat/enable.md new file mode 100644 index 0000000..15be8c3 --- /dev/null +++ b/docs/shane/concierge/chat/enable.md @@ -0,0 +1,20 @@ + +# shane:concierge:chat:enable + +## Description + +Modify custom settings to enable live agent chat for Concierge + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + + diff --git a/docs/shane/connectedapp/attributes.md b/docs/shane/connectedapp/attributes.md new file mode 100644 index 0000000..bc22053 --- /dev/null +++ b/docs/shane/connectedapp/attributes.md @@ -0,0 +1,26 @@ + +# shane:connectedapp:attributes + +## Description + +Set attributes on a connected app. Attributes for salesforce mobile app at https://github.com/gabesumner/mobile-security/blob/master/customAttributes.json + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|attributes
-a|option|json formatted file of key/values|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the connected app|||| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:connectedapp:attributes -n AppAPIName -a attributes.json +``` + + diff --git a/docs/shane/connectedapp/uniquify.md b/docs/shane/connectedapp/uniquify.md new file mode 100644 index 0000000..99dec5d --- /dev/null +++ b/docs/shane/connectedapp/uniquify.md @@ -0,0 +1,25 @@ + +# shane:connectedapp:uniquify + +## Description + +modify a clientId/consumerKey on a local connected app to guaranatee uniqueness + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|app
-a|option|full path to your connected app locally|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|prefix
-p|option|add a prefix to the connected app's consumerKey|||| + +## Examples + +```shell +sfdx shane:connectedapp:uniquify -a force-app/main/default/connectedApps/myConnectedApp.connectedApp-meta.xml -p 5h4n3 +// update the consumerKey of myConnectedApp to be unique, but start with 5h4n3 + +``` + + diff --git a/docs/shane/contentasset/create.md b/docs/shane/contentasset/create.md new file mode 100644 index 0000000..d6b0d08 --- /dev/null +++ b/docs/shane/contentasset/create.md @@ -0,0 +1,27 @@ + +# shane:contentasset:create + +## Description + +create a ContentAsset from a local image file + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|file
-f|option|the file you want to turn into an asset|||| +|json|boolean|format output as json|||| +|language
-l|option|language code like en_US|en_US||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|api name for the contentAsset|||| +|target
-t|option|where to find the contentassets folder (will create if it doesn't exist already)|force-app/main/default||| + +## Examples + +```shell +sfdx shane:contentasset:create -f ~/somefile.jpg -n MyContentAsset +// create a contentAsset called MyContentAsset from the local file + +``` + + diff --git a/docs/shane/data/dates/update.md b/docs/shane/data/dates/update.md new file mode 100644 index 0000000..ca60575 --- /dev/null +++ b/docs/shane/data/dates/update.md @@ -0,0 +1,26 @@ + +# shane:data:dates:update + +## Description + +go through a folder of csv files and modify all the dates relative to a given date + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|datafolder
-d|option|Where is all this data?|data||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|outputfolder
-o|option|where to output the modified CSV files|data-modified||| +|relative
-r|option|the date to adjust all other dates relative to. example: if "relative" is 8 days ago, then all dates are moved forward 8 days|||| + +## Examples + +```shell +sfdx shane:data:dates:update -r 1-1-2020 +// move all dates in .csv files in /data by the difference between now and 1-1-2020 + +``` + + diff --git a/docs/shane/data/favorite.md b/docs/shane/data/favorite.md new file mode 100644 index 0000000..d60a880 --- /dev/null +++ b/docs/shane/data/favorite.md @@ -0,0 +1,29 @@ + +# shane:data:favorite + +## Description + +query records and set the match as a favorite + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-l|option|the label you want to appear in the favorites menu|||| +|object
-o|option|object API name (including __c if custom)|||| +|start|boolean|add the favorite at the beginning of the menu|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|where
-w|option|SOQL where clause to match a single record|||| + +## Examples + +```shell +sfdx shane:data:favorite -o Account -w "name='Salesforce.com'" +// finds the matching record and adds it to the end of the favorites menu + +``` + + diff --git a/docs/shane/data/file/download.md b/docs/shane/data/file/download.md new file mode 100644 index 0000000..f2a9009 --- /dev/null +++ b/docs/shane/data/file/download.md @@ -0,0 +1,48 @@ + +# shane:data:file:download + +## Description + +save a file from the org to the local filesystem + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|directory
-o|option|optional output path to save the file, if omitted will save to current directory, if directory then it will keep the filename and save into that directory|.||| +|filename
-f|option|optional filename. Defaults to the filename of the contentVersion to download|||| +|id
-i|option|optional ContentDocument ID or ContentVersion ID that should be downloaded|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the file in Salesforce that you want to download|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:data:file:download -i 0691k000000MXfkAAG -o ./files/ + // save a ContentDocument from the org to the files directory, keeping the existing filename +``` + +```shell +sfdx shane:data:file:download -i 0691k000000MXfkAAG -o ./files/King.jpg + // save a ContentDocument from the org to files/King.jpg +``` + +```shell +sfdx shane:data:file:download -i 0691k000000MXfkAAG + // save a ContentDocument from the org to the current working directory, keeping the existing filename +``` + +```shell +sfdx shane:data:file:download -i 0681k000000MXfkAAG -o ./files/King.jpg + // save a ContentVersion from the org to files/King.jpg +``` + +```shell +sfdx shane:data:file:download -n King + // go find the file named kind and download the latest version of it. +``` + + diff --git a/docs/shane/data/file/upload.md b/docs/shane/data/file/upload.md new file mode 100644 index 0000000..a60647e --- /dev/null +++ b/docs/shane/data/file/upload.md @@ -0,0 +1,47 @@ + +# shane:data:file:upload + +## Description + +upload a file from local resources, optionally as a chatter post or attached file on a record + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|chatter
-c|boolean|attach as a chatter content post instead of just as a file|||| +|file
-f|option|path to file on local filesystem|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|set the name of the uploaded file|||| +|parentid
-p|option|optional record ID that the file should be attached to|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:data:file:upload -f ~/Downloads/King.png + //uploads file from local filesystem as a file + +``` + +```shell +sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF + //uploads file from local filesystem as a file and attaches to a record + +``` + +```shell +sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF -c + //uploads and attaches it to the indicated record, but as a chatter file post + +``` + +```shell +sfdx shane:data:file:upload -f ~/Downloads/King.png -p 0011900000VkJgrAAF -n CustomName -c + //uploads and attaches it to the indicated record, but as a chatter file post with a name that's not the same name as the local filesystem used + +``` + + diff --git a/docs/shane/data/id/query.md b/docs/shane/data/id/query.md new file mode 100644 index 0000000..84ade37 --- /dev/null +++ b/docs/shane/data/id/query.md @@ -0,0 +1,27 @@ + +# shane:data:id:query + +## Description + +query some object and get back the id of the matching record + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|object|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|where
-w|option|SOQL where clause for your query|||| + +## Examples + +```shell +sfdx shane:data:id:query -o User -u platformers -w "Firstname = 'Shane' and Lastname = 'McLaughlin' and username = 'shane@platformers.org'"' + // returns the id of the user. Use these ids between `` in other commands + +``` + + diff --git a/docs/shane/data/search.md b/docs/shane/data/search.md new file mode 100644 index 0000000..2a6e08f --- /dev/null +++ b/docs/shane/data/search.md @@ -0,0 +1,24 @@ + +# shane:data:search + +## Description + +sosl search + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|query
-q|option|valid sosl query|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:data:search -q "find {stuff}" +``` + + diff --git a/docs/shane/data/tree/import.md b/docs/shane/data/tree/import.md new file mode 100644 index 0000000..7eeb493 --- /dev/null +++ b/docs/shane/data/tree/import.md @@ -0,0 +1,25 @@ + +# shane:data:tree:import + +## Description + +similar to the original tree:import, but handles more than 200 records at a go, while still preserving relationships. Takes longer. + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|filesfolder
-d|option|folder that the plan lives in|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|plan
-p|option|location of plan file|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:data:tree:import -p data/myPlan.json -d data/ // run all the data in the plan, and files mentioned are relative to ./data +``` + + diff --git a/docs/shane/events/stream.md b/docs/shane/events/stream.md new file mode 100644 index 0000000..8c9f3bc --- /dev/null +++ b/docs/shane/events/stream.md @@ -0,0 +1,30 @@ + +# shane:events:stream + +## Description + + + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|dir
-d|option|stream the events to a folder instead of the console|||| +|event
-e|option|the platform event's api name|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|replay
-r|option|replay Id to begin from|-1||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:events:stream -e SomeEvent__e // subscribe to an event stream +``` + +```shell +sfdx shane:events:stream -e SomeEvent__e -d myDir // stream events to myDir +``` + + diff --git a/docs/shane/github/action.md b/docs/shane/github/action.md new file mode 100644 index 0000000..e91c315 --- /dev/null +++ b/docs/shane/github/action.md @@ -0,0 +1,25 @@ + +# shane:github:action + +## Description + +adds an action to test your repo against https://github.com/mshanemc/deploy-to-sfdx using github actions + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|skipprerel
-r|boolean|omit the pre-release deployer|||| +|skipprod
-p|boolean|omit the production deployer|||| + +## Examples + +```shell +sfdx shane:github:action +// tests against both prod and prerel(gs0) deployers + +``` + + diff --git a/docs/shane/github/deploybutton.md b/docs/shane/github/deploybutton.md new file mode 100644 index 0000000..7b993b9 --- /dev/null +++ b/docs/shane/github/deploybutton.md @@ -0,0 +1,19 @@ + +# shane:github:deploybutton + +## Description + +modify your local readme file to include a deployer link/button + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|button
-b|option|the public url where your button lives|https://raw.githubusercontent.com/mshanemc/deploy-to-sfdx/master/client-src/resources/images/sfdx_it_now.png||| +|deployer
-d|option|the base url for your deployer|https://hosted-scratch.herokuapp.com/||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| + +## Examples + + diff --git a/docs/shane/github/package/install.md b/docs/shane/github/package/install.md new file mode 100644 index 0000000..66f4409 --- /dev/null +++ b/docs/shane/github/package/install.md @@ -0,0 +1,27 @@ + +# shane:github:package:install + +## Description + +installs a package from github using the sfdx-project.json file (v43+) OR the latestVersion.json file convention + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|githubuser
-g|option|github username where the package lives|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|repo
-r|option|repo where the packages lives|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:github:package:install -g someUser -r someRepo -u someOrg +// installs packageVersion (04t) from https://github.com/someUser/someRepo/sfdx-project.json or https://github.com/someUser/someRepo/latestVersion.json + +``` + + diff --git a/docs/shane/github/src/install.md b/docs/shane/github/src/install.md new file mode 100644 index 0000000..f61056d --- /dev/null +++ b/docs/shane/github/src/install.md @@ -0,0 +1,36 @@ + +# shane:github:src:install + +## Description + +installs a package from github from mdapi src + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|convert
-c|boolean|the path folder is sfdx format, not mdapi, and should be converted first|||| +|githubuser
-g|option|github username where the package lives|||| +|json|boolean|format output as json|||| +|keeplocally
-k|boolean|keep the cloned repo in local source instead of deleting it|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|path
-p|option|folder where the source lives|src||| +|repo
-r|option|repo where the packages lives|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:github:src:install -g someUser -r someRepo -u someOrg +// pulls mdapi-formatted code from https://github.com/someUser/someRepo/src and deploys to the org + +``` + +```shell +sfdx shane:github:src:install -g someUser -r someRepo -u someOrg -p my/folder/tree +// pulls mdapi-formatted code from https://github.com/someUser/someRepo/my/folder/tree and deploys to the org + +``` + + diff --git a/docs/shane/group/photo.md b/docs/shane/group/photo.md new file mode 100644 index 0000000..c4b8e35 --- /dev/null +++ b/docs/shane/group/photo.md @@ -0,0 +1,34 @@ + +# shane:group:photo + +## Description + +Set the photo for a user by first/last name + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|banner
-b|option|local path of the chatter banner photo to use|||| +|file
-f|option|local path of the photo to use|||| +|group
-g|option|the name of the group name you want to set the photo/banner for|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:group:photo -g AwesomePeople -f ~/Downloads/King.png +// sets the chatter photo for the group named AwesomePeople using the local file + +``` + +```shell +sfdx shane:group:photo -b ~/Downloads/King.png -g AwesomePeople +// sets the chatter banner photo for the group named AwesomePeople using the local file + +``` + + diff --git a/docs/shane/heroku/connect.md b/docs/shane/heroku/connect.md new file mode 100644 index 0000000..244d491 --- /dev/null +++ b/docs/shane/heroku/connect.md @@ -0,0 +1,38 @@ + +# shane:heroku:connect + +## Description + +set up heroku connect on an existing app to an existing org (that you may have just created) + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|app
-a|option|name of the heroku app|||| +|configfile
-f|option|path to the json file exported from Heroku Connect|||| +|environment
-e|option|environment of the salesforce org|custom||sandbox
production
custom| +|instance
-i|option|salesforce instance for making login easier. Will be read from org:display if exists...this is the override|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|password
-p|option|pass in a password to override the one associated with your org in sfdx, or if you don't have one set properly (like you used `shane:user:password:set` instead of `force:user:password:generate|||| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + +```shell +sfdx shane:heroku:connect -a prosaic-samurai-4564 -f assets/myConfig.json +// auth the heroku app to the current default org, assuming password is available from force:org:display, then import the json config file + +``` + +```shell +sfdx shane:heroku:connect -a prosaic-samurai-4564 -f assets/myConfig.json -p p455w0rd -u myother@scratch.org +// same, but not the default org, with a specified password + +``` + + diff --git a/docs/shane/heroku/externalobjects.md b/docs/shane/heroku/externalobjects.md new file mode 100644 index 0000000..b32d25f --- /dev/null +++ b/docs/shane/heroku/externalobjects.md @@ -0,0 +1,44 @@ + +# shane:heroku:externalobjects + +## Description + +set up heroku connect on an existing app with external objects + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|app
-a|option|name of the heroku app|||| +|createdir
-c|option|creates an external data source in the chosen directory|||| +|json|boolean|format output as json|||| +|label
-l|option|label that will appear for the external data source you create|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|tables
-t|option|comma separated list of postgres table names to share. If omitted, you want them all!|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|updatefile
-f|option|updates an existing external data source with username/password/url|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + +```shell +sfdx shane:heroku:externalobjects -a sneaky-platypus + // enables external objects on all tables + +``` + +```shell +sfdx shane:heroku:externalobjects -a sneak-platypus -t corgis -c force-app/main/default/dataSources -l theDataSource + // enables external objects on the postgres table called corgis and creates an external data source locally + +``` + +```shell +sfdx shane:heroku:externalobjects -a sneak-platypus -f force-app/main/default/dataSources/existingXDS.dataSource-meta.xml + // enables external objects on all tables and modifies the local file specified + +``` + + diff --git a/docs/shane/heroku/repo/deploy.md b/docs/shane/heroku/repo/deploy.md new file mode 100644 index 0000000..18390c9 --- /dev/null +++ b/docs/shane/heroku/repo/deploy.md @@ -0,0 +1,34 @@ + +# shane:heroku:repo:deploy + +## Description + +deploy a heroku app that has a valid app.json. + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|branch
-b|option|heroku branch to deploy|master||| +|days
-d|option|days you want the heroku app to live (does nothing locally)|1||| +|envpassword|option|grab the default scratch org password and set it to this Heroku environment var|||| +|envuser|option|grab the default scratch org username and set it to this Heroku environment var|||| +|githubuser
-g|option|github username where the app lives|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|what do you want to Heroku app to be named|||| +|overrides
-o|option|an array of key-value pairs, like SOME_VAR="some Value" (use quotes where string have spaces!)|||| +|repo
-r|option|repo where the app lives|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|team
-t|option|assign this new app to an existing heroku team|||| + +## Examples + +```shell +sfdx shane:heroku:repo:deploy -g someUser -r someRepo +// deploys code from https://github.com/someUser/someRepo that has a valid app.json + +``` + + diff --git a/docs/shane/iot/activation.md b/docs/shane/iot/activation.md new file mode 100644 index 0000000..56bf37e --- /dev/null +++ b/docs/shane/iot/activation.md @@ -0,0 +1,34 @@ + +# shane:iot:activation + +## Description + +Activate an iot orchestration by name + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|deactivate
-d|boolean|deactivate the orchestration|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|API name of the orchestration|||| +|reset
-r|boolean|reset all instances of the orchestration|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:iot:activate -n orchName -r +// activates the orchestration, including the context if necessary, optionally resetting all the instances + +``` + +```shell +sfdx shane:iot:activate -n orchName -d +// deactivates the orchestration, without resetting all the instances + +``` + + diff --git a/docs/shane/label/add.md b/docs/shane/label/add.md new file mode 100644 index 0000000..ab0d6b1 --- /dev/null +++ b/docs/shane/label/add.md @@ -0,0 +1,31 @@ + +# shane:label:add + +## Description + +create a remote site setting in the local source. Push it when you're done + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|bundle|option|label bundle when you want to organize them more|CustomLabels||| +|categories|option|categories to add to your custom label|||| +|description
-d|option|description for your label|||| +|json|boolean|format output as json|||| +|language
-l|option|language code|en_US||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|api name for your label|||| +|protected|boolean|mark as protected (packaged, subscribers cannot change the label|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|text
-t|option|the text you want to turn into a label|||| + +## Examples + +```shell +sfdx shane:label:add -t "This is some Text" +// create a custom label with the displayed text and all the defaults + +``` + + diff --git a/docs/shane/listview/favorite.md b/docs/shane/listview/favorite.md new file mode 100644 index 0000000..64c0854 --- /dev/null +++ b/docs/shane/listview/favorite.md @@ -0,0 +1,29 @@ + +# shane:listview:favorite + +## Description + +favorite a listview + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-l|option|the label you want to appear in the favorites menu|||| +|object
-o|option|object API name (including __c if custom)|||| +|start|boolean|add the favorite at the beginning of the menu|||| +|target
-t|option|API name of the list view you want to favorite|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:listview:favorite -o Account -t Awesome_Accounts +// finds the matching listview and adds it to the end of the favorites menu + +``` + + diff --git a/docs/shane/listview/secure.md b/docs/shane/listview/secure.md new file mode 100644 index 0000000..5cc2f9d --- /dev/null +++ b/docs/shane/listview/secure.md @@ -0,0 +1,33 @@ + +# shane:listview:secure + +## Description + +Find list views that are shared everywhere and makes them shared internally only. Local source modification only--to use this command to fix an entire org, retrieve all your objects and then deploy the updated files + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|noprompt
-p|boolean|Do not prompt for confirmation|||| +|object
-o|option|only modify list views for a single object. Api name, including __c if custom|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + +```shell +sfdx shane:listview:secure -o Account +// add 'all internal users' sharing to any list view on Account without defined sharing + +``` + +```shell +sfdx shane:listview:secure +// add 'all internal users' sharing to any list view in local source without defined sharing + +``` + + diff --git a/docs/shane/lwc/create.md b/docs/shane/lwc/create.md new file mode 100644 index 0000000..fc304c3 --- /dev/null +++ b/docs/shane/lwc/create.md @@ -0,0 +1,25 @@ + +# shane:lwc:create + +## Description + +create a lwc locally without need for sfdx project + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|where to create the new lwc's folder|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name it headsDownCamelCase|||| + +## Examples + +```shell +sfdx shane:lwc:create -n someLWC -d modules/namespace +// creates lwc in the given folder path + +``` + + diff --git a/docs/shane/lwc/css/merge.md b/docs/shane/lwc/css/merge.md new file mode 100644 index 0000000..0ef7648 --- /dev/null +++ b/docs/shane/lwc/css/merge.md @@ -0,0 +1,32 @@ + +# shane:lwc:css:merge + +## Description + +take css from existing file(s), extract component-level relevant selectors and save to a LWC's css file + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|component
-c|option|component directory where template and js live|||| +|file
-f|option|file containing all css selectors to select from|||| +|json|boolean|format output as json|||| +|localcss
-l|option|local css file to merge with contents of --file|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| + +## Examples + +```shell +sfdx shane:lwc:css:merge -c modules/namespace/myComp -f some/big_file.css +// overwrites modules/namespace/myComp/myComp.css with relevant css selectors from big_file.css + +``` + +```shell +sfdx shane:lwc:css:merge -c modules/namespace/myComp -f some/big_file.css -l modules/namespace/myComp/local.css +// overwrites modules/namespace/myComp/myComp.css with relevant css selectors from big_file.css PLUS any relevant selectors from modules/namespace/myComp/local.css + +``` + + diff --git a/docs/shane/mdapi/describe.md b/docs/shane/mdapi/describe.md new file mode 100644 index 0000000..3bcb180 --- /dev/null +++ b/docs/shane/mdapi/describe.md @@ -0,0 +1,25 @@ + +# shane:mdapi:describe + +## Description + +what's in the org? + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:mdapi:describe -u someOrg +// list the metadata available in the org + +``` + + diff --git a/docs/shane/mdapi/list.md b/docs/shane/mdapi/list.md new file mode 100644 index 0000000..04f9bf9 --- /dev/null +++ b/docs/shane/mdapi/list.md @@ -0,0 +1,26 @@ + +# shane:mdapi:list + +## Description + +what's in the org? + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|type
-t|option|pull only a specific type. See the metadata api docs for type names|||| + +## Examples + +```shell +sfdx shane:mdapi:list -u someOrg -t CustomObject +// what metadata exists for a specific type + +``` + + diff --git a/docs/shane/mdapi/package/get.md b/docs/shane/mdapi/package/get.md new file mode 100644 index 0000000..e552ea3 --- /dev/null +++ b/docs/shane/mdapi/package/get.md @@ -0,0 +1,33 @@ + +# shane:mdapi:package:get + +## Description + +Gets package from an org, converts, and merges it into the local source + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|packagename
-p|option|the name of the package you want to retrieve|||| +|target
-t|option|where to convert the result to...defaults to force-app|force-app||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:mdapi:package:get -p MyPkg -u someOrg +// pulls a package from the org and converts/merges it into force-app + +``` + +```shell +sfdx shane:mdapi:package:get -p MyPkg -u someOrg -t someDir +// pulls a package from the org and converts/merges it into /someDir + +``` + + diff --git a/docs/shane/mdapi/package/xml.md b/docs/shane/mdapi/package/xml.md new file mode 100644 index 0000000..bac3e33 --- /dev/null +++ b/docs/shane/mdapi/package/xml.md @@ -0,0 +1,33 @@ + +# shane:mdapi:package:xml + +## Description + +gets metadata form an org based on a local package.xml, converts, and merges it into the local source + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|target
-t|option|where to convert the result to...defaults to force-app|force-app||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|xmlpath
-p|option|the location of the package.xml you want to use|||| + +## Examples + +```shell +sfdx shane:mdapi:package:xml -p someFolder/package.xml -u someOrg +// pulls a metadat from the org and converts/merges it into force-app + +``` + +```shell +sfdx shane:mdapi:package:xml -p someFolder/package.xml -u someOrg -t someDir +// pulls a package from the org and converts/merges it into /someDir + +``` + + diff --git a/docs/shane/mdapi/pull.md b/docs/shane/mdapi/pull.md new file mode 100644 index 0000000..783a4df --- /dev/null +++ b/docs/shane/mdapi/pull.md @@ -0,0 +1,40 @@ + +# shane:mdapi:pull + +## Description + +gets unpackaged metadata for you + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|all|boolean|Pulls just about everything. Don't use this flag with any other subset of metadata. Not recommended for really large metadata orgs because it'll overflow stdout|||| +|apiversion|option|override the api version used for api requests made by this command|||| +|code
-c|boolean|ApexClass,ApexTrigger,ApexComponent,ApexPage,AuraDefinitionBundle,StaticResource|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|pull metadata for a single object|||| +|perms
-p|boolean|PermissionSet,Profile,Role,CustomPermission,Group|||| +|reporting|boolean|Report,Dashboard|||| +|schema
-s|boolean|ExternalDataSource,CustomMetadata,RecordType,GlobalValueSet,CustomField,CustomObject,StandardValueSet|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|type
-t|option|pull only a specific type. See the metadata api docs for type names|||| +|ui
-i|boolean|CompactLayout,Layout,ListView,CustomTab,AppMenu,CustomApplication,CustomPageWebLink,HomePageComponent,HomePageLayout,PathAssistant,WebLink,CustomLabels,FlexiPage,QuickAction|||| +|wave|boolean|WaveApplication,WaveDashboard,WaveDataflow,WaveLens,WaveTemplateBundle,Wavexmd,WaveDataset|||| + +## Examples + +```shell +sfdx shane:mdapi:pull -c -u someOrg +// pulls code kinda stuff from the org and converts/merges it into your project's default pkgDir + +``` + +```shell +sfdx shane:mdapi:pull -u someOrg +// pulls all the external data source metadata from the org and converts/merges it into your project's default pkgDir + +``` + + diff --git a/docs/shane/mdapi/push.md b/docs/shane/mdapi/push.md new file mode 100644 index 0000000..cf6d925 --- /dev/null +++ b/docs/shane/mdapi/push.md @@ -0,0 +1,29 @@ + +# shane:mdapi:push + +## Description + +convert and deploy the packaged source + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|convertedfolder
-d|option|where to store the mdapi-converted source|mdapiout||| +|deploymenttimelimit
-w|option|How many minutes to wait for the deployment to finish|200||| +|json|boolean|format output as json|||| +|keepconverted
-k|boolean|Don't automatically delete the converted source|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|source
-r|option|deploy a specific folder that's not force-app|force-app||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:mdapi:push -u someOrg +// convert to mdapi format and push to the given org + +``` + + diff --git a/docs/shane/msgchannel/create.md b/docs/shane/msgchannel/create.md new file mode 100644 index 0000000..0435297 --- /dev/null +++ b/docs/shane/msgchannel/create.md @@ -0,0 +1,28 @@ + +# shane:msgchannel:create + +## Description + +create a lightning message channel locally + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|description
-d|option|optional description so you can remember why you added this and what it's for|added from sfdx plugin||| +|exposed
-e|boolean|accessible outside your namespace (this is PERMANENT!)|||| +|fields
-f|option|fields to create on the message channel|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name it (Salesforce API compliant name)|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| + +## Examples + +```shell +sfdx shane:msgchannel:create -n wkrp -d "it's a message channel, yo" -f Field1,Field2,Field3 +// creates a messageChannel with the given name, description, and fields + +``` + + diff --git a/docs/shane/object/create.md b/docs/shane/object/create.md new file mode 100644 index 0000000..dc8520a --- /dev/null +++ b/docs/shane/object/create.md @@ -0,0 +1,60 @@ + +# shane:object:create + +## Description + +create an object in local source. Only __c (limited support), __b (big objects) and events __e are currently supported + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|activities|boolean|the enableActivities flag on an object (invalid for __b, __e)|||| +|api
-a|option|api name. Ends with one of the supported types: [__b, __e]|||| +|autonumberformat|option|the display format for the autonumbering|||| +|description|option|optional description so you can remember why you added this and what it's for|added from sfdx plugin||| +|directory
-d|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|enterprise|boolean|enable bulk/sharing/streaming|||| +|feeds|boolean|the enableFeeds flag on an object (invalid for __b, __e)|||| +|highvolume|boolean|high volume, valid only for platform events (__e)|||| +|history|boolean|the enableHistory flag on an object (invalid for __b, __e)|||| +|interactive
-i|boolean|fully interactive--ask me every possible question.|||| +|json|boolean|format output as json|||| +|label
-l|option|label for the UI|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|namefieldlabel|option|the label for the name field|Name||| +|nametype|option|name field type|||Text
AutoNumber| +|plural
-p|option|plural label for the UI|||| +|reports|boolean|the enableReports flag on an object (invalid for __b, __e)|||| +|search|boolean|the enableSearch flag on an object (invalid for __b, __e)|||| +|sharingmodel|option|sharing model|ReadWrite||Read
ReadWrite
Private| +|type
-t|option|type of object|||custom
cmdt
big
event| +|visibility|option|visibility for custom metadata types|Public||Public
Protected
PackageProtected| + +## Examples + +```shell +sfdx shane:object:create +// without any params, the cli is going to ask you questions to generate your object interactively + +``` + +```shell +sfdx shane:object:create --label "Platypus" --plural "Platypi" --api Platypus__b --directory /my/project/path +// label, plural, api name specified so the tool doesn't have to ask you about them. Creates in a non-default path + +``` + +```shell +sfdx shane:object:create --label "Platypus" --plural "Platypi" --api Platypus__b --directory /my/project/path +// label, plural, api name specified so the tool doesn't have to ask you about them. Creates in a non-default path + +``` + +```shell +sfdx shane:object:create --label "Signal" --plural "Signals" --api Signal__e +// create a platform event + +``` + + diff --git a/docs/shane/object/fat.md b/docs/shane/object/fat.md new file mode 100644 index 0000000..245d151 --- /dev/null +++ b/docs/shane/object/fat.md @@ -0,0 +1,46 @@ + +# shane:object:fat + +## Description + +add or update a field audit trail retention policy on an object. Modifies local source--you still need to push/deploy + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|archiveaftermonths
-m|option|archive after this number of months|18||| +|archiveretentionyears
-y|option|Archive for this many years|10||| +|description|option|optional friendly description for the policy|||| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|object to manage the policy for|||| + +## Examples + +```shell +sfdx shane:object:fat -o Account +// set the retention policy on Account to the defaults (archive after 18 months, archive for 10 years) + +``` + +```shell +sfdx shane:object:fat -o Account -m 4 -y 5 +// archive history for 5 years, after being in regular history for 4 months + +``` + +```shell +sfdx shane:object:fat -o Account -m 4 -y 5 -d myDir +// same as 2nd example, except metadata is in myDir instead of the default force-app/main/default + +``` + +```shell +sfdx shane:mdapi:pull -o Account -u realOrg && sfdx shane:object:fat -o Account -m 4 -y 5 -d myDir && sfdx shane:mdapi:push -u realOrg +// get some object you don't have locally, create the policy, and push that back up to where it came from + +``` + + diff --git a/docs/shane/object/field.md b/docs/shane/object/field.md new file mode 100644 index 0000000..3a9b2b8 --- /dev/null +++ b/docs/shane/object/field.md @@ -0,0 +1,69 @@ + +# shane:object:field + +## Description + +create or add fields to an existing object + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|api
-a|option|API name for the field|||| +|default|option|required for checkbox fields. Express in Salesforce formula language (good luck with that!)|||| +|deleteconstraint|option|delete behavior|||SetNull
Restrict
Cascade| +|description|option|optional description for the field so you remember what it's for next year|||| +|directory
-d|option|Where is this object metadata? defaults to force-app/main/default|force-app/main/default||| +|externalid|boolean|use as an external id|||| +|helptext|option|optional inline help text|||| +|indexappend|boolean|put next in the big object index|||| +|indexdirection|option|sort direction for the big object index|||ASC
DESC| +|indexposition|option|put in a specific position in the big object index (0 is the first element). You're responsible for dealing with producing a sane array|||| +|interactive
-i|boolean|fully interactive--ask me every possible question.|||| +|json|boolean|format output as json|||| +|length
-l|option|length (for text fields and text area)|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|lookupobject|option|API name of the object the lookup goes to|||| +|name
-n|option|Label for the field|||| +|noindex|boolean|do not add this field to the index|||| +|object
-o|option|API name of an object to add a field to|||| +|picklistdefaultfirst|boolean|use the first value in the picklist as the default|||| +|picklistvalues|option|values for the picklist|||| +|precision|option|maximum allowed digits of a number, including whole and decimal places|||| +|rellabel|option|label for the child relationship (appears on related lists)|||| +|relname|option|API name for the child relationship|||| +|reparentable|boolean|the master detail is parentable|||| +|required
-r|boolean|field is required|||| +|scale
-s|option|places right of the decimal|||| +|trackhistory|boolean|enable history tracking on the field|||| +|type
-t|option|field type. Big Objects: Text,Number,DateTime,Lookup,LongTextArea. Events: Text,Number,DateTime,Date,LongTextArea,Checkbox. Regular Objects: Text,Number,DateTime,Date,Time,LongTextArea,Checkbox,Url,Email,Phone,Currency,Picklist,Html,Location,Lookup,MasterDetail|||| +|unique
-u|boolean|field must be unique|||| +|writerequiresmasterread|boolean|the master detail is parentable|||| + +## Examples + +```shell +sfdx shane:object:field +// without any params, the cli is going to ask you questions to generate your field interactively + +``` + +```shell +sfdx shane:object:field --api My_Field__c -l 255 -n "My Field" -t Text -o BigTest__b --noindex +// create new text field called My Field (My_Field__c) on BigObject BigTest__b + +``` + +```shell +sfdx shane:object:field --api My_Index_Field__c -l 255 -n "My Index Field" -t Text -o BigTest__b --indexdirection ASC --indexposition 1 +// create new text field called My Field (My_Field__c) on BigObject BigTest__b, add it to the existing index as the second field + +``` + +```shell +sfdx shane:object:field --api My_Field__c -l 255 -n "My Field" -t Text -o EventTest__e +// create new text field called My Field (My_Field__c) on Platform Event EventTest__e + +``` + + diff --git a/docs/shane/object/fields/describe.md b/docs/shane/object/fields/describe.md new file mode 100644 index 0000000..7b7a6bf --- /dev/null +++ b/docs/shane/object/fields/describe.md @@ -0,0 +1,26 @@ + +# shane:object:fields:describe + +## Description + +what fields are on the object? + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|the object to describe|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:object:fields:describe -o Account -u someOrg +// list the fields (with type/label) on account + +``` + + diff --git a/docs/shane/object/perms/align.md b/docs/shane/object/perms/align.md new file mode 100644 index 0000000..7258c79 --- /dev/null +++ b/docs/shane/object/perms/align.md @@ -0,0 +1,24 @@ + +# shane:object:perms:align + +## Description + +align profiles with + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|Where is all this metadata?|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| + +## Examples + +```shell +sfdx shane:object:perms:align +// go through all the profiles/permsets in force-app/main/default and remove references to stuff that isn't in local source + +``` + + diff --git a/docs/shane/object/powerofone.md b/docs/shane/object/powerofone.md new file mode 100644 index 0000000..f5033ae --- /dev/null +++ b/docs/shane/object/powerofone.md @@ -0,0 +1,28 @@ + +# shane:object:powerofone + +## Description + +add a "power of one" formula field to any object + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|api
-a|option|api name (will include the __c for you if you don't add it here|Power_Of_One__c||| +|description
-d|option|optional description so you can remember why you added this and what it's for|Power of one is used for formulas, reporting, etc||| +|json|boolean|format output as json|||| +|label
-l|option|label|Power Of One||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|API name of the object to add the field to|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| + +## Examples + +```shell +sfdx shane:object:powerofone -a Poo -l "Power of One" -o User +// create a field with api name Poo__c and label "Power of One" on the user object with the default description in the default folder + +``` + + diff --git a/docs/shane/object/recordtype.md b/docs/shane/object/recordtype.md new file mode 100644 index 0000000..adaf9b1 --- /dev/null +++ b/docs/shane/object/recordtype.md @@ -0,0 +1,28 @@ + +# shane:object:recordtype + +## Description + +create a new record type for an object + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|description
-d|option|optional description so you can remember why you added this and what it's for|Created by shane:sfdx:plugins||| +|json|boolean|format output as json|||| +|label
-l|option|label|Power Of One||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|Name for the record Type (defaults to label if not provided)|||| +|object
-o|option|API name of the object to add the record type to|||| +|target
-t|option|where to create the file...defaults to force-app/main/default|force-app/main/default||| + +## Examples + +```shell +sfdx shane:object:recordtype -o Something__c -l 'MyRecordType' +// create a recordtype named MyRecordType and label MyRecordType on the Something__c object with the default description in the default folder + +``` + + diff --git a/docs/shane/object/tab.md b/docs/shane/object/tab.md new file mode 100644 index 0000000..7fa3832 --- /dev/null +++ b/docs/shane/object/tab.md @@ -0,0 +1,26 @@ + +# shane:object:tab + +## Description + +create a tab from a custom object, and you have to pick an icon + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|icon
-i|option|icon number from https://lightningdesignsystem.com/icons/#custom but only up to 100|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|object api name|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| + +## Examples + +```shell +sfdx shane:object:tab -o SomeObject__c -i 86 +// create a tab for the object using icon #86 from https://lightningdesignsystem.com/icons/#custom + +``` + + diff --git a/docs/shane/object/unperm.md b/docs/shane/object/unperm.md new file mode 100644 index 0000000..c1561bd --- /dev/null +++ b/docs/shane/object/unperm.md @@ -0,0 +1,26 @@ + +# shane:object:unperm + +## Description + +remove references to an object from profiles/permsets (all or a specific one) + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|remove all references to an object from profiles or permsets|||| +|specific
-s|option|specify a profile or permset by name to only remove it from that one|||| + +## Examples + +```shell +sfdx shane:object:unperm -o OpportunitySplit +// go through all the profiles/permsets in force-app/main/default and remove the object, field, recordtypes and layout assignments (profile only) for the named object + +``` + + diff --git a/docs/shane/org/componentlibrary.md b/docs/shane/org/componentlibrary.md new file mode 100644 index 0000000..c615aa4 --- /dev/null +++ b/docs/shane/org/componentlibrary.md @@ -0,0 +1,31 @@ + +# shane:org:componentlibrary + +## Description + +opens the lightning component library for the specified org + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:componentlibrary +// opens /componentReference/suite.app on the default scratch org + +``` + +```shell +sfdx shane:org:componentlibrary -u someOrgAlias +// opens library for specified org + +``` + + diff --git a/docs/shane/org/create.md b/docs/shane/org/create.md new file mode 100644 index 0000000..62da35a --- /dev/null +++ b/docs/shane/org/create.md @@ -0,0 +1,40 @@ + +# shane:org:create + +## Description + +create an org with a friendly username. wraps force:org:create + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|clientid
-i|option|connected app consumer key|||| +|definitionfile
-f|option|path to a scratch org definition file. Default = config/project-scratch-def.json|config/project-scratch-def.json||| +|durationdays
-d|option|duration of the scratch org (in days) (default:7, min:1, max:30)|7||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|noancestors
-c|boolean|do not include second-generation package ancestors in the scratch org|||| +|nonamespace
-n|boolean|creates the scratch org with no namespace|||| +|setalias
-a|option|set an alias for for the created scratch org|||| +|setdefaultusername
-s|boolean|set the created org as the default username|||| +|userdomain
-o|option|last part of the generated username (after the @ sign). Example: 'demo.org' produces shane1@demo.org, shane2@demo.org|||| +|userprefix|option|first part of the generated username. Example: 'shane' produces shane1@demo.org, shane2@demo.org|||| +|verbose|boolean|emit additional command output to stdout|||| +|wait|option|the streaming client socket timeout (in minutes) (default:20, min:2)|20||| + +## Examples + +```shell +sfdx shane:org:create --userprefix shane -o org.test +// creates an org from the default project config/project-scratch-def.json but with username shane[i]@org.test where i is a unique sequence number for that -u/-o combination + +``` + +```shell +sfdx shane:org:create --userprefix shane -o org.test -a sydneyBristow -d 30 -v myOtherHub -f config/thatOtherFile.json +// above, but with an alias, a longer duration, and not the default hub, and not the default config file + +``` + + diff --git a/docs/shane/org/delete.md b/docs/shane/org/delete.md new file mode 100644 index 0000000..09ea1e8 --- /dev/null +++ b/docs/shane/org/delete.md @@ -0,0 +1,23 @@ + +# shane:org:delete + +## Description + +delete the default scratch org. Won't prompt you for confirmation + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:delete // deletes the current default scratch org +``` + + diff --git a/docs/shane/org/domain/cors.md b/docs/shane/org/domain/cors.md new file mode 100644 index 0000000..6cbba7f --- /dev/null +++ b/docs/shane/org/domain/cors.md @@ -0,0 +1,26 @@ + +# shane:org:domain:cors + +## Description + +whitelist the org's domain as a CORS + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|all|boolean|do all of Salesforce, not just this org's custom domain|||| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|liveagent|boolean|whitelist all of LiveAgent urls|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:domain:cors +``` + + diff --git a/docs/shane/org/domain/csp.md b/docs/shane/org/domain/csp.md new file mode 100644 index 0000000..c4ed7dc --- /dev/null +++ b/docs/shane/org/domain/csp.md @@ -0,0 +1,26 @@ + +# shane:org:domain:csp + +## Description + +whitelist the org's domain as a CSP Trusted Site + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|all|boolean|do all of Salesforce, not just this org's custom domain|||| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|liveagent|boolean|whitelist all of LiveAgent urls|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:domain:cors +``` + + diff --git a/docs/shane/org/domain/verify.md b/docs/shane/org/domain/verify.md new file mode 100644 index 0000000..a5d9ac2 --- /dev/null +++ b/docs/shane/org/domain/verify.md @@ -0,0 +1,23 @@ + +# shane:org:domain:verify + +## Description + +Verifies that a domain was successfully setup with MyDomain + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:domain:verify +``` + + diff --git a/docs/shane/org/metadatacoverage.md b/docs/shane/org/metadatacoverage.md new file mode 100644 index 0000000..bf3ea24 --- /dev/null +++ b/docs/shane/org/metadatacoverage.md @@ -0,0 +1,31 @@ + +# shane:org:metadatacoverage + +## Description + +opens the metadata coverage report page + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:metadatacoverage +// opens /mdcoverage/report.jsp on the default scratch org + +``` + +```shell +sfdx shane:org:metadatacoverage -u someOrgAlias +// opens report for specified org + +``` + + diff --git a/docs/shane/org/reauth.md b/docs/shane/org/reauth.md new file mode 100644 index 0000000..95e2b11 --- /dev/null +++ b/docs/shane/org/reauth.md @@ -0,0 +1,33 @@ + +# shane:org:reauth + +## Description + +reauthenticates (generates a new authinfo) for a scratch org, optionally insisting on custom domain being ready. Requires a hub + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|requirecustomdomain
-r|boolean|keep trying until you get back an org with a custom domain on it|||| +|targetdevhubusername
-v|option|username or alias for the dev hub org; overrides default dev hub org|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:reauth + // reauths, and takes what it can get + +``` + +```shell +sfdx shane:org:reauth --requirecustomdomain + // will try each minute, up to 60 minutes, until an org with a valid mydomain is ready + +``` + + diff --git a/docs/shane/org/refreshtoken.md b/docs/shane/org/refreshtoken.md new file mode 100644 index 0000000..964c2ef --- /dev/null +++ b/docs/shane/org/refreshtoken.md @@ -0,0 +1,25 @@ + +# shane:org:refreshtoken + +## Description + +Outputs a refresh token from an org that you've already authenticated sfdx to. PLEASE BE CAREFUL WITH THIS AND TREAT IT AS A PASSWORD + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:org:refreshtoken -u someAliasOrUsername +// prints the refresh token for some org that you've already connected to + +``` + + diff --git a/docs/shane/package2/version/bump.md b/docs/shane/package2/version/bump.md new file mode 100644 index 0000000..464f02c --- /dev/null +++ b/docs/shane/package2/version/bump.md @@ -0,0 +1,61 @@ + +# shane:package2:version:bump + +## Description + +bump the major/minor version number in the packageDirectory + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|create
-c|boolean|create a new packageVersion from the new versionNumber|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|major
-M|boolean|Bump the major version by 1, sets minor,build to 0|||| +|minor
-m|boolean|Bump the minor version by 1|||| +|patch
-p|boolean|Bump the patch version by 1|||| +|release
-r|boolean|set the newly version as released (out of Beta). Implies create whether you flag it or not :)|||| +|target
-t|option|name of your package directory (defaults to force-app)|force-app||| +|targetdevhubusername
-v|option|username or alias for the dev hub org; overrides default dev hub org|||| + +## Examples + +```shell +sfdx shane:package2:version:bump -m +// bump the minor version up by one (and set patch to 0) + +``` + +```shell +sfdx shane:package2:version:bump -M +// bump the major version up by one (and set minor/patch to 0) + +``` + +```shell +sfdx shane:package2:version:bump -p +// bump the patch version up by one + +``` + +```shell +sfdx shane:package2:version:bump -M -t myDir +// bump the major version up by one for a particular directory that's not the default + +``` + +```shell +sfdx shane:package2:version:bump --minor --create +// bump the minor version up by one and create a new package2version + +``` + +```shell +sfdx shane:package2:version:bump --minor --release +// bump the minor version up by one and create a new package2version, then set that as released + +``` + + diff --git a/docs/shane/permset/check.md b/docs/shane/permset/check.md new file mode 100644 index 0000000..60a9ca5 --- /dev/null +++ b/docs/shane/permset/check.md @@ -0,0 +1,44 @@ + +# shane:permset:check + +## Description + +who has access to what + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|field
-f|option|what field to check|||| +|fieldlevel|option|what level of perms are you looking for|Read||Read
Edit| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|what object to check perms on|||| +|objectlevel|option|what level of perms are you looking for|Read||Read
Edit
Create
Delete
ViewAll
ModifyAll| +|permsets|boolean|return names/ids of permission sets|||| +|profiles|boolean|return names/ids of profiles|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|users|boolean|return names/ids of users with those profiles and/or permission sets|||| + +## Examples + +```shell +sfdx shane:permset:check -o Project__c --profiles --permsets + // list the profiles and permsets that have Read access to the object + +``` + +```shell +sfdx shane:permset:check -o Project__c -f Due_Date__c --fieldlevel Edit --profiles --permsets + // list the profiles and permsets that have Edit access to the field on the object + +``` + +```shell +sfdx shane:permset:check -o Project__c -f Due_Date__c --users + // list the users that have Read access to the field on the object, and the profile/permset(s) that are granting it + +``` + + diff --git a/docs/shane/permset/create.md b/docs/shane/permset/create.md new file mode 100644 index 0000000..4e7c3d9 --- /dev/null +++ b/docs/shane/permset/create.md @@ -0,0 +1,58 @@ + +# shane:permset:create + +## Description + +create or add stuff to a permset with maximum access + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|application
-a|option|API name of an application to add perms for. If blank, then you mean all the applications|||| +|checkpermissionable
-c|boolean|some fields' permissions can't be deducted from metadata, use describe on org to check if field is permissionable|||| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|field
-f|option|API name of an field to add perms for. Required --object If blank, then you mean all the fields|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|path to existing permset. If it exists, new perms will be added to it. If not, then it'll be created for you|||| +|object
-o|option|API name of an object to add perms for. If blank, then you mean ALL the objects and ALL their fields and ALL their tabs|||| +|recordtype
-r|option|API name of a record type to add perms for. Required --object If blank, then you mean all the record types|||| +|tab
-t|boolean|also add the tab for the specified object (or all objects if there is no specified objects)|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|verbose|boolean|emit additional command output to stdout|||| + +## Examples + +```shell +sfdx shane:permset:create -n MyPermSet1 -o Something__c -f Some_Field__c + // create a permset in force-app/main/default for the object/field. If MyPermSet1 doesn't exist, it will be created. + +``` + +```shell +sfdx shane:permset:create -n MyPermSet1 -o Something__c + // create a permset in force-app/main/default for every field on Something__c. + +``` + +```shell +sfdx shane:permset:create -n MyPermSet1 + // create a permset in force-app/main/default for every field on every object! + +``` + +```shell +sfdx shane:permset:create -n MyPermSet1 -t + // create a permset in force-app/main/default for every field on every object. If there's a tab for any of those objects, add that tab to the permset, too + +``` + +```shell +sfdx shane:permset:create -n MyPermSet1 -c + // create a permset in force-app/main/default for every field on every object, checking on org that all fields are permissionable + +``` + + diff --git a/docs/shane/profile/allowip.md b/docs/shane/profile/allowip.md new file mode 100644 index 0000000..b8b020d --- /dev/null +++ b/docs/shane/profile/allowip.md @@ -0,0 +1,25 @@ + +# shane:profile:allowip + +## Description + +allow the whole internet for a profile (no ip verification or 2FA/OTP challenges in dev) + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|profile name|||| + +## Examples + +```shell +sfdx shane:profile:allowip -n Admin +// add loginIpRanges of 0.0.0.0 to 255.255.255.255 to an existing profile, or create one if it doesn't exist + +``` + + diff --git a/docs/shane/profile/convert.md b/docs/shane/profile/convert.md new file mode 100644 index 0000000..7c986b2 --- /dev/null +++ b/docs/shane/profile/convert.md @@ -0,0 +1,34 @@ + +# shane:profile:convert + +## Description + +convert a profile into a permset + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|editprofile
-e|boolean|remove metadata from original profile|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|path to existing permset. If it exists, new perms will be added to it. If not, then it'll be created for you|||| +|profile
-p|option|API name of an profile to convert. If blank, then you mean ALL the objects and ALL their fields and ALL their tabs|||| +|skinnyclone
-c|boolean|create a new profile that's the original profile less permset (does not modify original profile)|||| + +## Examples + +```shell +sfdx shane:profile:convert -p Admin -n MyNewPermSet -e +// create a permset in force-app/main/default from the Admin profile (profiles/Admin). If MyNewPermSet doesn't exist, it will be created. Content is removed from Admin profile (-e) + +``` + +```shell +sfdx shane:profile:convert -p Admin -n MyNewPermSet -c +// create a permset in force-app/main/default from the Admin profile (profiles/Admin). If MyNewPermSet doesn't exist, it will be created. Leaves the original Admin profile and creates an Admin_Skinny profile that has everything in the permset removed (-c) + +``` + + diff --git a/docs/shane/project/create.md b/docs/shane/project/create.md new file mode 100644 index 0000000..5cacd43 --- /dev/null +++ b/docs/shane/project/create.md @@ -0,0 +1,27 @@ + +# shane:project:create + +## Description + +creates an sfdx project + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|gitremote
-g|option|full github url for the remote...overrides the default generated from git config user.name and project name|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name and path for the project|||| +|targetdevhubusername
-v|option|username or alias for the dev hub org; overrides default dev hub org|||| + +## Examples + +```shell +sfdx shane:project:create -n myProject +// create a project in the folder with all the default structure + +``` + + diff --git a/docs/shane/remotesite/create.md b/docs/shane/remotesite/create.md new file mode 100644 index 0000000..8ae624d --- /dev/null +++ b/docs/shane/remotesite/create.md @@ -0,0 +1,33 @@ + +# shane:remotesite:create + +## Description + +create a remote site setting in the local source. Push it when you're done + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|description
-d|option|optional description so you can remember why you added this and what it's for|added from sfdx plugin||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name it (Salesforce API compliant name)|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|url
-u|option|url that you want to allow callouts to|||| + +## Examples + +```shell +sfdx shane:remotesite:create -n Test -u https://www.google.com +// create a remote site setting in force-app/main/default + +``` + +```shell +sfdx shane:remotesite:create -n Test -u https://www.google.com -d "my description" -t myOtherDirectory/main/default +// create a remote site setting in myOtherDirectory/main/default with a description + +``` + + diff --git a/docs/shane/source/replace.md b/docs/shane/source/replace.md new file mode 100644 index 0000000..a5b6fb3 --- /dev/null +++ b/docs/shane/source/replace.md @@ -0,0 +1,20 @@ + +# shane:source:replace + +## Description + +replace a string in a file with another + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|file
-f|option|file to modify|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|new
-n|option|the text you want it changed to|||| +|old
-o|option|the text you want to change|||| + +## Examples + + diff --git a/docs/shane/static/create.md b/docs/shane/static/create.md new file mode 100644 index 0000000..dd71149 --- /dev/null +++ b/docs/shane/static/create.md @@ -0,0 +1,34 @@ + +# shane:static:create + +## Description + +create a static resource locally + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|description
-d|option|optional description so you can remember why you added this and what it's for|added from sfdx plugin||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name it (Salesforce API compliant name)|||| +|public
-p|boolean|mark the cache control public|||| +|target
-t|option|where to create the folder (if it doesn't exist already) and file...defaults to force-app/main/default|force-app/main/default||| +|type
-y|option|choose one of the following: zip, css, js, text, xml|||zip
css
js
text
xml| + +## Examples + +```shell +sfdx shane:static:create -n myJSResource -y js +// creates /staticresources/myJSResource.js (empty file) and /staticresources/myJSResource.resource-meta.xml + +``` + +```shell +sfdx shane:static:create -n myZipResource -y js -d "my description" -t myOtherDirectory/main/default +// create an empty folder (zips when pushed), the meta.xml, with a description in a non-default directory. + +``` + + diff --git a/docs/shane/tab/favorite.md b/docs/shane/tab/favorite.md new file mode 100644 index 0000000..ba964bc --- /dev/null +++ b/docs/shane/tab/favorite.md @@ -0,0 +1,34 @@ + +# shane:tab:favorite + +## Description + +favorite a tab + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-l|option|the label you want to appear in the favorites menu|||| +|start|boolean|add the favorite at the beginning of the menu|||| +|target
-t|option|API name of the tab you want to favorite|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:tab:favorite -t Tab_API_Name'" +// creates a favorite + +``` + +```shell +sfdx shane:tab:favorite -t someNamespace__Tab_API_Name'" +// creates a favorite for a tab in a namespace + +``` + + diff --git a/docs/shane/theme/activate.md b/docs/shane/theme/activate.md new file mode 100644 index 0000000..aa3617f --- /dev/null +++ b/docs/shane/theme/activate.md @@ -0,0 +1,21 @@ + +# shane:theme:activate + +## Description + +Activate a LightningExperienceTheme via metadata api. Makes no permanent changes to local source + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the theme to activate|||| +|showbrowser
-b|boolean|show the browser...useful for local debugging|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + + diff --git a/docs/shane/tsp/username/update.md b/docs/shane/tsp/username/update.md new file mode 100644 index 0000000..19b4926 --- /dev/null +++ b/docs/shane/tsp/username/update.md @@ -0,0 +1,39 @@ + +# shane:tsp:username:update + +## Description + +change the username on all transaction security policies + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|directory
-d|option|Where is all this metadata? defaults to force-app/main/default|force-app/main/default||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|newusername
-n|option|manually specify the username, ignoring your default or any -u|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:tsp:username:update -n newusername@example.com +// updates the username for executionUser and all notifications in all transaction security policies + +``` + +```shell +sfdx shane:tsp:username:create +// updates the username for executionUser and all notifications in all transaction security policies to the default org's username + +``` + +```shell +sfdx shane:tsp:username:create -u someAlias +// updates the username for executionUser and all notifications in all transaction security policies to the specified target org's username + +``` + + diff --git a/docs/shane/uiapi/objectinfo.md b/docs/shane/uiapi/objectinfo.md new file mode 100644 index 0000000..0dff1a4 --- /dev/null +++ b/docs/shane/uiapi/objectinfo.md @@ -0,0 +1,33 @@ + +# shane:uiapi:objectinfo + +## Description + +get a ui api response from the objectinfo endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_object_info.htm + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|object
-o|option|object api name|||| +|outputfile|option|local path to save the output to|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:uiapi:objectinfo -o Account --json + // returns ui-api objectinfo for Account + +``` + +```shell +sfdx shane:uiapi:objectinfo -o Account --json --outputfile accountObjectInfo.json + // returns ui-api objectinfo for Account and saves it to a local file + +``` + + diff --git a/docs/shane/uiapi/record.md b/docs/shane/uiapi/record.md new file mode 100644 index 0000000..2f6a90f --- /dev/null +++ b/docs/shane/uiapi/record.md @@ -0,0 +1,29 @@ + +# shane:uiapi:record + +## Description + +get a ui api response from the getrecord endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_get.htm + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|fields
-f|option|fields to return. Specify with the object API name, like Account.Name, Account.Phone, etc. If not visible to the running user, an error is thrown|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|optionalfields|option|optional fields to return. If not visible to the running user, the field is just omitted|||| +|outputfile|option|local path to save the output to|||| +|recordid
-r|option|single recordId to generate the data/metadata|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:uiapi:record -r 001R0000003I6CoIAK -f Account.Name --optionalfields Account.AnnualRevenue,AccountAccount.Number --json +// default ui-api response for a getrecord. + +``` + + diff --git a/docs/shane/uiapi/recordui.md b/docs/shane/uiapi/recordui.md new file mode 100644 index 0000000..44f8dab --- /dev/null +++ b/docs/shane/uiapi/recordui.md @@ -0,0 +1,30 @@ + +# shane:uiapi:recordui + +## Description + +get a ui api response from the record-ui endpoint: https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_record_ui.htm + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|layouttypes
-l|option|which layout (Compact, Full or both)|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|modes
-m|option|which mode (Create, Edit, View, or combo)|||| +|outputfile|option|local path to save the output to|||| +|recordid
-r|option|single recordId to generate the data/metadata|||| +|recordids|option|array of recordIds to generate the data/metadata|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:uiapi:recordui -r 001R0000003I6CoIAK --json +// default ui-api response for a single recordId + +``` + + diff --git a/docs/shane/user/allPhotos.md b/docs/shane/user/allPhotos.md new file mode 100644 index 0000000..0f8e5e3 --- /dev/null +++ b/docs/shane/user/allPhotos.md @@ -0,0 +1,25 @@ + +# shane:user:allPhotos + +## Description + +set the chatter photos of anyone who has not set theirs already to encourage them to do so + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|folder
-f|option|optional local folder of photos. Overrides --repo|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|repo
-r|option|optional alternate repo of photos, which contains a folder of photos named /img|https://github.com/mshanemc/badProfilePhotos||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:allphotos -u someAlias +``` + + diff --git a/docs/shane/user/lightning/debug.md b/docs/shane/user/lightning/debug.md new file mode 100644 index 0000000..e2c0b90 --- /dev/null +++ b/docs/shane/user/lightning/debug.md @@ -0,0 +1,33 @@ + +# shane:user:lightning:debug + +## Description + +set the user to debug mode + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|firstname
-g|option|first (given) name of the user--keeping -f for file for consistency|||| +|json|boolean|format output as json|||| +|lastname
-l|option|last name of the user|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:lightning:debug + // puts the default user in lightning debug mode + +``` + +```shell +sfdx shane:user:lightning:debug -g Sarah -l McLaughlin + // puts the named user in lightning debug mode + +``` + + diff --git a/docs/shane/user/loginurl.md b/docs/shane/user/loginurl.md new file mode 100644 index 0000000..9629dbf --- /dev/null +++ b/docs/shane/user/loginurl.md @@ -0,0 +1,32 @@ + +# shane:user:loginurl + +## Description + +generate a long-lived shareable login url for the org + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|starturl
-p|option|url to open|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:loginurl + // generates a url including un and pw query strings to simplify logging into the scratch org + +``` + +```shell +sfdx shane:user:loginurl -p /lightning/setup/ObjectManager/home + // same, but sets the start url to ObjectManager + +``` + + diff --git a/docs/shane/user/password/set.md b/docs/shane/user/password/set.md new file mode 100644 index 0000000..8880433 --- /dev/null +++ b/docs/shane/user/password/set.md @@ -0,0 +1,28 @@ + +# shane:user:password:set + +## Description + +Set the password for a user by first/last name + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|firstname
-g|option|first (given) name of the user--keeping -f for file for consistency|||| +|json|boolean|format output as json|||| +|lastname
-l|option|last name of the user|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|password
-p|option|the password you want the user to have|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:password:set -p sfdx1234 -g User -l User +// sets the password for User User to sfdx1234 + +``` + + diff --git a/docs/shane/user/permset/assign.md b/docs/shane/user/permset/assign.md new file mode 100644 index 0000000..d5f3a3f --- /dev/null +++ b/docs/shane/user/permset/assign.md @@ -0,0 +1,26 @@ + +# shane:user:permset:assign + +## Description + +Assign a permset to a user by first/last name, or just the default user. Does not error if permset is already assigned + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|firstname
-g|option|first (given) name of the user--keeping -f for file for consistency|||| +|json|boolean|format output as json|||| +|lastname
-l|option|last name of the user|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|the value of the permset name or label field|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:permset:assign -n thePermSet -g User -l User +``` + + diff --git a/docs/shane/user/photo.md b/docs/shane/user/photo.md new file mode 100644 index 0000000..4a77ea0 --- /dev/null +++ b/docs/shane/user/photo.md @@ -0,0 +1,41 @@ + +# shane:user:photo + +## Description + +Set the photo for a user by first/last name + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|banner
-b|option|local path of the chatter banner photo to use|||| +|file
-f|option|local path of the photo to use|||| +|firstname
-g|option|first (given) name of the user--keeping -f for file for consistency|||| +|json|boolean|format output as json|||| +|lastname
-l|option|last name of the user|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:photo -f ~/Downloads/King.png -g User -l User +// sets the chatter photo for the user named User User using the local file + +``` + +```shell +sfdx shane:user:photo -b ~/Downloads/King.png -g User -l User +// sets the chatter banner photo for the user named User User using the local file + +``` + +```shell +sfdx shane:user:photo -f ~/Downloads/King.png -b ~/Downloads/OtherPhoto.jpg -g User -l User +// sets the chatter banner photo AND user photo at the same time + +``` + + diff --git a/docs/shane/user/psl.md b/docs/shane/user/psl.md new file mode 100644 index 0000000..6958940 --- /dev/null +++ b/docs/shane/user/psl.md @@ -0,0 +1,28 @@ + +# shane:user:psl + +## Description + +Assign a permset license already in an org for a user + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|firstname
-g|option|first (given) name of the user--keeping -f for file for consistency|||| +|json|boolean|format output as json|||| +|lastname
-l|option|last name of the user|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|developer name or label of the PermSetLicense|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx shane:user:psl -n SomePSL -g User -l User +// assign the PSL named 'somePSL' for the user named User User + +``` + + diff --git a/docs/streaming/list.md b/docs/streaming/list.md new file mode 100644 index 0000000..9c64c8e --- /dev/null +++ b/docs/streaming/list.md @@ -0,0 +1,28 @@ + +# streaming:list + +## Description + +What kinds of things can I subscribe to? + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|types
-t|option|optional specify which types to query|cdc,event,topic||| + +## Examples + +```shell +sfdx streaming:list // list everything +``` + +```shell +sfdx streaming:list -t cdc,topic // list CDC and PushTopic but not standard and custom PlatformEvents +``` + + diff --git a/docs/streaming/pushtopic/create.md b/docs/streaming/pushtopic/create.md new file mode 100644 index 0000000..bb49e13 --- /dev/null +++ b/docs/streaming/pushtopic/create.md @@ -0,0 +1,36 @@ + +# streaming:pushtopic:create + +## Description + +Create push topics + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|description
-d|option|add a description to the push topic|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name for the push topic|||| +|notifyforfields
-f|option|Specifies which fields are evaluated to generate a notification|Referenced||All
Referenced
Select
Where| +|operations
-o|option|which operations should produce a notification|create,update,delete,undelete||| +|query
-q|option|The SOQL query statement that determines which record changes trigger events to be sent to the channel.|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx streaming:pushtopic:create -n myTopic -q "select Id,Name from account" + // creates the push topic + +``` + +```shell +sfdx streaming:pushtopic:create -n myTopic -q "select Id from account" -f All -o create,update + // creates the push topic and sets operations and watches all fields + +``` + + diff --git a/docs/streaming/pushtopic/deactivate.md b/docs/streaming/pushtopic/deactivate.md new file mode 100644 index 0000000..2fa8904 --- /dev/null +++ b/docs/streaming/pushtopic/deactivate.md @@ -0,0 +1,24 @@ + +# streaming:pushtopic:deactivate + +## Description + +deactivate push topics + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name for the push topic|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx streaming:pushtopic:deactivate -n myTopic +``` + + diff --git a/docs/streaming/pushtopic/delete.md b/docs/streaming/pushtopic/delete.md new file mode 100644 index 0000000..c3ebac9 --- /dev/null +++ b/docs/streaming/pushtopic/delete.md @@ -0,0 +1,24 @@ + +# streaming:pushtopic:delete + +## Description + +Delete a push topic + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name for the push topic|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx streaming:pushtopic:delete -n myTopic +``` + + diff --git a/docs/streaming/pushtopic/update.md b/docs/streaming/pushtopic/update.md new file mode 100644 index 0000000..82e4790 --- /dev/null +++ b/docs/streaming/pushtopic/update.md @@ -0,0 +1,36 @@ + +# streaming:pushtopic:update + +## Description + +Update push topics + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|description
-d|option|add a description to the push topic|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name for the push topic|||| +|notifyforfields
-f|option|Specifies which fields are evaluated to generate a notification|||All
Referenced
Select
Where| +|operations
-o|option|which operations should produce a notification|||| +|query
-q|option|The SOQL query statement that determines which record changes trigger events to be sent to the channel.|||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| + +## Examples + +```shell +sfdx streaming:pushtopic:update -n myTopic -q "select Id,Name from account" + // modifies the push topic + +``` + +```shell +sfdx streaming:pushtopic:update -n myTopic -q "select Id from account" -f All -o create,update + // modifies the push topic and sets operations and watches all fields + +``` + + diff --git a/docs/streaming/subscribe.md b/docs/streaming/subscribe.md new file mode 100644 index 0000000..095e953 --- /dev/null +++ b/docs/streaming/subscribe.md @@ -0,0 +1,42 @@ + +# streaming:subscribe + +## Description + + + +## Parameters + +|Name|Type|Description|Default|Required|Options| +|:---|:--:|:----------|:-----:|:------:|:-----:| +|apiversion|option|override the api version used for api requests made by this command|||| +|json|boolean|format output as json|||| +|loglevel|option|logging level for this command invocation|warn||trace
debug
info
warn
error
fatal| +|name
-n|option|name of the topic/event/dataEvent|||| +|replay
-r|option|replay Id to begin from|-1||| +|targetusername
-u|option|username or alias for the target org; overrides default target org|||| +|type
-t|option|the type of thing you want to subscribe to|event||event
topic
cdc| + +## Examples + +```shell +sfdx streaming:subscribe -t cdc -n ChangeEvents // subscribe to all CDC +``` + +```shell +sfdx streaming:subscribe -t cdc -n AccountChangeEvent // subscribe to cdc for a standard object +``` + +```shell +sfdx streaming:subscribe -t event -n Something__e // subscribe to platform event +``` + +```shell +sfdx streaming:subscribe -t event -n Something__e -r 6744 // subscribe to platform event with a replay ID +``` + +```shell +sfdx streaming:subscribe -t topic -n myTopic // subscribe to a push topic +``` + + diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000..8503fe4 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,8 @@ +/* stylelint-disable SelectorFormat */ +.md-typeset__table { + min-width: 100%; +} + +.md-typeset table:not([class]) { + display: table; +} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..068365d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,212 @@ +site_name: Shane sfdx plugins +site_url: https://mshanemc.github.io/shane-sfdx-plugins +repo_url: https://github.com/mshanemc/shane-sfdx-plugins +edit_uri: tree/master/docs +site_author: Shane McLaughlin +site_description: Salesforce DX Plugin by Shane McLaughlin. +copyright: >- + Doc generated by sfdx-hardis +theme: + name: material + custom_dir: docs/overrides + features: + - navigation.instant +# logo: assets/images/salesforce-logo.png +# favicon: assets/images/salesforce-icon.png + palette: + primary: light blue +markdown_extensions: + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.snippets: + base_path: docs + check_paths: true + - mdx_truly_sane_lists + - attr_list +extra_javascript: + - https://cdnjs.cloudflare.com/ajax/libs/tablesort/5.2.1/tablesort.min.js + - javascripts/tables.js + - javascripts/gtag.js +extra_css: + - stylesheets/extra.css +extra: + social: + - icon: fontawesome/regular/question-circle + link: https://github.com/mshanemc/shane-sfdx-plugins/issues + title: Need help ? Post an issue :) + - icon: fontawesome/brands/github + link: https://github.com/mshanemc/shane-sfdx-plugins + - icon: fontawesome/brands/twitter + link: https://twitter.com/mshanemc + generator: false +nav: + - Home: index.md + - Commands: + shane: + ai: + auth: shane/ai/auth.md + dataset: + delete: shane/ai/dataset/delete.md + get: shane/ai/dataset/get.md + upload: shane/ai/dataset/upload.md + playground: + setup: shane/ai/playground/setup.md + setupHeroku: shane/ai/playground/setupHeroku.md + analytics: + app: + share: shane/analytics/app/share.md + community: + enable: shane/analytics/community/enable.md + dataflow: + start: shane/analytics/dataflow/start.md + dataset: + download: shane/analytics/dataset/download.md + list: shane/analytics/dataset/list.md + upload: shane/analytics/dataset/upload.md + cdc: + create: shane/cdc/create.md + prep: shane/cdc/prep.md + stream: shane/cdc/stream.md + cert: + unhardcode: shane/cert/unhardcode.md + communities: + activate: shane/communities/activate.md + describe: shane/communities/describe.md + json: + modify: shane/communities/json/modify.md + publish: shane/communities/publish.md + selfreg: shane/communities/selfreg.md + url: shane/communities/url.md + concierge: + chat: + enable: shane/concierge/chat/enable.md + connectedapp: + attributes: shane/connectedapp/attributes.md + uniquify: shane/connectedapp/uniquify.md + contentasset: + create: shane/contentasset/create.md + data: + dates: + update: shane/data/dates/update.md + favorite: shane/data/favorite.md + file: + download: shane/data/file/download.md + upload: shane/data/file/upload.md + id: + query: shane/data/id/query.md + search: shane/data/search.md + tree: + import: shane/data/tree/import.md + events: + stream: shane/events/stream.md + github: + action: shane/github/action.md + deploybutton: shane/github/deploybutton.md + package: + install: shane/github/package/install.md + src: + install: shane/github/src/install.md + group: + photo: shane/group/photo.md + heroku: + connect: shane/heroku/connect.md + externalobjects: shane/heroku/externalobjects.md + repo: + deploy: shane/heroku/repo/deploy.md + iot: + activation: shane/iot/activation.md + label: + add: shane/label/add.md + listview: + favorite: shane/listview/favorite.md + secure: shane/listview/secure.md + lwc: + create: shane/lwc/create.md + css: + merge: shane/lwc/css/merge.md + mdapi: + describe: shane/mdapi/describe.md + list: shane/mdapi/list.md + package: + get: shane/mdapi/package/get.md + xml: shane/mdapi/package/xml.md + pull: shane/mdapi/pull.md + push: shane/mdapi/push.md + msgchannel: + create: shane/msgchannel/create.md + object: + create: shane/object/create.md + fat: shane/object/fat.md + field: shane/object/field.md + fields: + describe: shane/object/fields/describe.md + perms: + align: shane/object/perms/align.md + powerofone: shane/object/powerofone.md + recordtype: shane/object/recordtype.md + tab: shane/object/tab.md + unperm: shane/object/unperm.md + org: + componentlibrary: shane/org/componentlibrary.md + create: shane/org/create.md + delete: shane/org/delete.md + domain: + cors: shane/org/domain/cors.md + csp: shane/org/domain/csp.md + verify: shane/org/domain/verify.md + metadatacoverage: shane/org/metadatacoverage.md + reauth: shane/org/reauth.md + refreshtoken: shane/org/refreshtoken.md + package2: + version: + bump: shane/package2/version/bump.md + permset: + check: shane/permset/check.md + create: shane/permset/create.md + profile: + allowip: shane/profile/allowip.md + convert: shane/profile/convert.md + project: + create: shane/project/create.md + remotesite: + create: shane/remotesite/create.md + source: + replace: shane/source/replace.md + static: + create: shane/static/create.md + tab: + favorite: shane/tab/favorite.md + theme: + activate: shane/theme/activate.md + tsp: + username: + update: shane/tsp/username/update.md + uiapi: + objectinfo: shane/uiapi/objectinfo.md + record: shane/uiapi/record.md + recordui: shane/uiapi/recordui.md + user: + allPhotos: shane/user/allPhotos.md + lightning: + debug: shane/user/lightning/debug.md + loginurl: shane/user/loginurl.md + password: + set: shane/user/password/set.md + permset: + assign: shane/user/permset/assign.md + photo: shane/user/photo.md + psl: shane/user/psl.md + streaming: + list: streaming/list.md + pushtopic: + create: streaming/pushtopic/create.md + deactivate: streaming/pushtopic/deactivate.md + delete: streaming/pushtopic/delete.md + update: streaming/pushtopic/update.md + subscribe: streaming/subscribe.md + data: + sosl: + query: data/sosl/query.md