GithubHelp home page GithubHelp logo

force's People

Contributors

amtrack avatar barrythepenguin avatar catsby avatar cwarden avatar dcarroll avatar ddollar avatar devangel avatar easafe avatar haagen avatar jpmonette avatar jrdoane avatar kazuya-s avatar kcshafer avatar kr avatar kthompso avatar mattgoldspink avatar mickle00 avatar mrdos avatar nemonocerater avatar noeticpenguin avatar omarkj avatar palgenadich avatar practicalli-johnny avatar rgalanakis avatar ryanbrainard avatar sangitamohan avatar sfllaw avatar slancio avatar vividboarder avatar yurybond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

force's Issues

Git history rewritten

Every so often I go to pull from this repo's master branch and it creates a merge on my local copy. It seems like there are forced pushes being made to master and that is rewriting the history on this repo. Since it's the canonical repo, all 68 forks are affected.

Parsing the .profile metadata

Has anybody managed to parse the .profile metadata? I've tried the following code using the XML package (and various combinations). The top object gets parsed but not the FLS nor OLS structures.

type OLS struct {
    allowCreate string
    allowDelete string
    allowEdit string
    allowRead string
    modifyAllRecords string
    viewAllRecords string
}

type FLS struct {
    field string `xml:"field"`
    editable string `xml:"editable"`
    readable string `xml:"readable"`
}

type Profile struct {
    XMLName xml.Name `xml:"Profile"`
    Name string
    fieldPermissions []FLS `"xml:fieldPermissions"`
    objectPermissions []OLS
}

pr := Profile{Name: name}
err := xml.Unmarshal(data, &pr)

How do I list all the fields of an Object

When I do

./force sobject list

I get all the object.

Now I would like to see all the fields of an object. How do I do that?

./force sobject account show fields

??

-bash: go: command not found

Cannot seem to figure out what I am doing wrong. I apologize as I am aware this a completely Newb question. Just dying to use this and can't even get it to login.

Using the the code from the hack section and just keep getting the following error

$ export GOPATH=/go
$ export PATH="$GOPATH/bin:$PATH"
$ export GOPATH=
/go
$ go get -u github.com/heroku/force
-bash: go: command not found

Repeated Login Requests

I downloaded force while at #df13 and it worked find there. This morning I ran force update (to see if they really added the 'whoami really' function) and it says it was updated to: 0.19.4

I then ran:
force login (proceeded to login)
force whoami (got requested to login again)

So, I tried to login again:
force login (proceeded to login)
but this time when it came back from OAuth, I got a stacktrace/error:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x10 pc=0x9bb9]
goroutine 1 [running]:
main.(*Force).Whoami(0x0, 0x210665b70, 0x0, 0x0)
/tmp/gopath_I9aaC/src/github.com/heroku/force/force.go:218 +0x39
main.runWhoami(0x4cd560, 0x210600020, 0x0, 0x0)
/tmp/gopath_I9aaC/src/github.com/heroku/force/whoami.go:20 +0x29
main.main()
/tmp/gopath_I9aaC/src/github.com/heroku/force/main.go:40 +0x22d

goroutine 5 [IO wait]:
net.runtime_pollWait(0x22106c4e60, 0x72, 0x0)
/tmp/compile_ywQ9N/go/src/pkg/runtime/znetpoll_darwin_amd64.c:118 +0x82
net.(_pollDesc).WaitRead(0x21062f500, 0x23, 0x210665b10)
/app/go/linux-amd64/src/pkg/net/fd_poll_runtime.go:75 +0x31
net.(_netFD).Read(0x21062f480, 0x210689000, 0x1000, 0x1000, 0x0, ...)
/app/go/linux-amd64/src/pkg/net/fd_unix.go:195 +0x2b3
net.(_conn).Read(0x210563b18, 0x210689000, 0x1000, 0x1000, 0x21061da18, ...)
/app/go/linux-amd64/src/pkg/net/net.go:123 +0xc3
net/http.(_liveSwitchReader).Read(0x21062f538, 0x210689000, 0x1000, 0x1000, 0x1, ...)
/app/go/linux-amd64/src/pkg/net/http/server.go:205 +0x91
io.(_LimitedReader).Read(0x210600b60, 0x210689000, 0x1000, 0x1000, 0x2fdd40, ...)
/app/go/linux-amd64/src/pkg/io/io.go:394 +0xc0
net/http.(_switchReader).Read(0x210629ba0, 0x210689000, 0x1000, 0x1000, 0x0, ...)
/app/go/linux-amd64/src/pkg/net/http/chunked.go:0 +0x62
bufio.(_Reader).fill(0x210686180)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:79 +0x10c
bufio.(_Reader).ReadSlice(0x210686180, 0xa, 0x0, 0x0, 0x0, ...)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:262 +0x202
bufio.(_Reader).ReadLine(0x210686180, 0x0, 0x0, 0x0, 0x22105c0c00, ...)
/app/go/linux-amd64/src/pkg/bufio/bufio.go:293 +0x61
net/textproto.(_Reader).readLineSlice(0x21068a060, 0xe000ceddb, 0x33c9f, 0x21061dc30, 0x2e8a80, ...)
/app/go/linux-amd64/src/pkg/net/textproto/reader.go:55 +0x51
net/textproto.(_Reader).ReadLine(0x21068a060, 0x21061dc30, 0x22105c0d6f, 0x10, 0x2106294f0, ...)
/app/go/linux-amd64/src/pkg/net/textproto/reader.go:36 +0x25
net/http.ReadRequest(0x210686180, 0x21061dc30, 0x0, 0x0)
/app/go/linux-amd64/src/pkg/net/http/request.go:510 +0x86
net/http.(_conn).readRequest(0x21062f510, 0x0, 0x0, 0x0)
/app/go/linux-amd64/src/pkg/net/http/server.go:547 +0x1bc
net/http.(_conn).serve(0x21062f510)
/app/go/linux-amd64/src/pkg/net/http/server.go:1052 +0x398
created by net/http.(_Server).Serve
/app/go/linux-amd64/src/pkg/net/http/server.go:1564 +0x266

goroutine 12 [runnable]:
net/http.(_persistConn).readLoop(0x2106e0180)
/app/go/linux-amd64/src/pkg/net/http/transport.go:761 +0x64b
created by net/http.(_Transport).dialConn
/app/go/linux-amd64/src/pkg/net/http/transport.go:511 +0x574

goroutine 11 [finalizer wait]:

goroutine 13 [select]:
net/http.(_persistConn).writeLoop(0x2106e0180)
/app/go/linux-amd64/src/pkg/net/http/transport.go:774 +0x26f
created by net/http.(_Transport).dialConn
/app/go/linux-amd64/src/pkg/net/http/transport.go:512 +0x58b

This is repeatable as I haven't gotten it to work yet...I should also point out that any force command that would require one to be authenticated is popping up the OAuth flow...

External Id Support

Force.com records can have external ids, which are essentially alternate (usually) unique keys for getting, inserting, updating, and upserting records. For example:

In addition to the upserts, explicit inserts and updates also support external ids, but doesn't look like its documented. This would allow users to do things like this instead of using Salesforce IDs:

$ force record get User username:[email protected]
$ force record update User username:[email protected] LastName:Smith
etc

Export custom fields

When I do force export, it doesn't include custom fields I might have defined on standard objects. Need to add them!

Can't login with username and password command line parameters

When I attempt to login specifying the username and password arguments, I'm redirected to a browser password prompt.

I believe the issue may be this commit:

c2a4b50

The runLogin function calls CurrentEndpoint which calls ActiveCredentials which calls ActiveLogin which calls ForceLoginAndSave (used for OAuth authentication) when there are no logins. I don't quite follow the use case that caused the CurrentEndpoint call to be introduced in runLogin.

force.com export gets LIMIT_EXCEEDED exception

Running force.com export gives the following error:

ERROR: LIMIT_EXCEEDED: Too many files in retrieve call, limit is: 5000

I guess my org is too large, but I'm not sure how to export just the metadata for a single SObject.

Download Blank Page

Try to download binary for CLI and link takes me to a blank page.

I'm on OS X 10.9.4. Using Chrome 36. Tried Safari as well. Tried other binary links as well. All links take me to a blank page where nothing happens.

Governor limit

Just want to confirm.
Are there any governor limits for using this tool ?

`force query` should accept stdin

I'd like to do:

$ force query
SELECT ...<enter>
FROM ...<enter>
^D
-> results

and:

$ pbpaste | force query

Right now I have to worry about bash quoting and editing previous queries can be a PITA.

Rename "accounts" to "users" or "logins"

The name of the accounts command is confusing because in Force.com an "Account" is a object representing a customer, but the command is modeling the "User" object. I think it would be clearer if the command was named users or perhaps logins.

Page (Sub-)Query Results with nextRecordsUrl

If a query result is large (> 200-2000 reccords), it is split into batches with the remaining records at the nextRecordsUrl. force only displays the first batch and ignores the remaining records. This should be fixed at for standard queries, but also applies to child relationship queries, which have their own nextRecordsUrls.

Error logging in with specified credentials

While logging in using the latest build and using -u -p from the command line (Windows 7/64-bit), I get the following stack. When I do a "force login" and follow the oauth flow, all is good.

[signal 0xc0000005 code=0x1 addr=0x0 pc=0x420790]

goroutine 16 [running]:
runtime.panic(0x7ee0e0, 0xa96f22)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/panic.c:279 +0x11f
main.(*Force).httpGet(0x0, 0xc08205d0e0, 0x119, 0x0, 0x0, 0x0, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/force.go:779 +0x1c0
main.ForceSoapLogin(0x0, 0xc0820065c3, 0x18, 0xc082005e33, 0x23, 0xc082067a40, 0x70, 0xc0820ddd80, 0x40, 0xc0820e2400, ..
/app/vendor/lib/go/src/src/github.com/heroku/force/force.go:364 +0x83d
main.ForceLoginAndSaveSoap(0x0, 0xc0820065c3, 0x18, 0xc082005e33, 0x23, 0x0, 0x0, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/login.go:129 +0xa5
main.runLogin(0xa958a0, 0xc082008240, 0x0, 0x0)
/app/vendor/lib/go/src/src/github.com/heroku/force/login.go:75 +0x19c
main.main()
/app/vendor/lib/go/src/src/github.com/heroku/force/main.go:50 +0x2b1

goroutine 19 [finalizer wait]:
runtime.park(0x468d70, 0xa9bef8, 0xa99fc9)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1369 +0xac
runtime.parkunlock(0xa9bef8, 0xa99fc9)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1385 +0x42
runfinq()
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/mgc0.c:2644 +0xdd
runtime.goexit()
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/proc.c:1445

goroutine 23 [IO wait]:
net.runtime_pollWait(0x381d30, 0x72, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/runtime/netpoll.goc:146 +0x6d
net.(_pollDesc).Wait(0xc082080170, 0x72, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_poll_runtime.go:84 +0x4d
net.(_ioSrv).ExecIO(0xc082036040, 0xc082080060, 0x8439b0, 0x7, 0x925848, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_windows.go:188 +0x242
net.(_netFD).Read(0xc082080000, 0xc082074000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/fd_windows.go:458 +0x156
net.(_conn).Read(0xc082036050, 0xc082074000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/net.go:122 +0xee
crypto/tls.(_block).readFromUntil(0xc082054d50, 0x381de0, 0xc082036050, 0x5, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:451 +0xe0
crypto/tls.(_Conn).readRecord(0xc08206e000, 0x17, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:536 +0x206
crypto/tls.(_Conn).Read(0xc08206e000, 0xc08209f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/crypto/tls/conn.go:901 +0x171
net/http.noteEOFReader.Read(0x382248, 0xc08206e000, 0xc08203e318, 0xc08209f000, 0x1000, 0x1000, 0xaaece0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:1203 +0x79
net/http.(_noteEOFReader).Read(0xc0820c64e0, 0xc08209f000, 0x1000, 0x1000, 0xc082068050, 0x0, 0x0)
:124 +0xd1
bufio.(_Reader).fill(0xc082015260)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/bufio/bufio.go:97 +0x1ba
bufio.(_Reader).Peek(0xc082015260, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/bufio/bufio.go:132 +0x108
net/http.(_persistConn).readLoop(0xc08203e2c0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:782 +0x9c
created by net/http.(_Transport).dialConn
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:600 +0x946

goroutine 24 [select]:
net/http.(_persistConn).writeLoop(0xc08203e2c0)
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:885 +0x396
created by net/http.(_Transport).dialConn
/tmp/build_f8ba0f4168b936fea1eb59aef85c032b/go/src/pkg/net/http/transport.go:601 +0x95e

Add a dev install MD file

For someone who doesn't know anything about Go (but is willing to learn) and interested in contributing to the project, trying to rebuild the .go files is challenging. Trying to just run main.go doesn't find the other files, trying to build the project fails because of missing packages (inflect, config and dist)

A MD file explaining how to setup a force.com local to would be useful.

License missing from gemspec

RubyGems.org doesn't report a license for your gem. This is because it is not specified in the gemspec of your last release.

via e.g.

spec.license = 'MIT'
# or
spec.licenses = ['MIT', 'GPL-2']

Including a license in your gemspec is an easy way for rubygems.org and other tools to check how your gem is licensed. As you can imagine, scanning your repository for a LICENSE file or parsing the README, and then attempting to identify the license or licenses is much more difficult and more error prone. So, even for projects that already specify a license, including a license in your gemspec is a good practice. See, for example, how rubygems.org uses the gemspec to display the rails gem license.

There is even a License Finder gem to help companies/individuals ensure all gems they use meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough issue that even Bundler now generates gems with a default 'MIT' license.

I hope you'll consider specifying a license in your gemspec. If not, please just close the issue with a nice message. In either case, I'll follow up. Thanks for your time!

Appendix:

If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), GitHub has created a license picker tool. Code without a license specified defaults to 'All rights reserved'-- denying others all rights to use of the code.
Here's a list of the license names I've found and their frequencies

p.s. In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :). See the previous link or my blog post about this project for more information.

Plugin support

If a user runs force foo and foo is a nonexistent command the main CLI should attempt to delegate to a binary on the PATH named force-foo if it exists.

"force login test" opens login.salesforce.com instead of test.salesforce.com

Just downloaded the latest today to test the "oauth create" (I want to login without a browser).

Anyway, when I tried "force login test" my browser opened-up login.salesforce.com instead of test.salesforce.com.

Modifying the URL inside Safari did allow me to authenticate.

DrozBook:~ tgagne$ force version
dev

Cannot Create Checkbox

Unable to create field type: checkbox

$ force field create Case TestCheckbox:bool
ERROR: unable to create field type: bool
$ force field create Case TestCheckbox:boolean
ERROR: unable to create field type: boolean
$ force field create Case TestCheckbox:checkbox
ERROR: unable to create field type: checkbox

My user has the correct permissions

$ force field create Case Test:text
Custom field created

ConnectEx tcp: The semaphore timeout period has expired - does CLI work over proxy?

I'm using the Windows EXE from https://force-cli.heroku.com.

I login to either dev or live, copy the link to Chrome (because it doesn't seem to work in firefox) - page on chrome tells me auth worked ok then after 30 seconds or so the cmd line updates with an error:

ERROR: Get https://login.salesforce.com/id/[...id removed...]/[...id removed...]
: dial tcp 204.14.233.101:443: ConnectEx tcp: The semaphore timeout period has expired.

We have an internet proxy here - is there any way of telling CLI about this proxy or is this a different issue?

Thanks.

Unable to login on Windows 8.1 when IE11 is default browser and on Chrome on Mac

Issue with export/import on PC

I'm struggling to determine if this is a bug or if I'm doing something incorrectly.

I've defined a number of objects in my DE org. I want to make it easier to reproduce in other orgs, so I thought I'd use the CLI to export the metadata so that, when using a different org, I could import it and get all my custom objects.

Simple tests won't work.

  1. I've tried to run force export metadata_orig then, in the same org, run force import metadata_orig. I figured there'd be conflicts but all I get is:

    Failures - 1
    Successes - 0

  2. I've then logged into a different org and tried it again. Same error.

  3. I've deleted everything but the objects folder and updated the package.xml file so that only the CustomObject type is listed. Same error.

Not sure what else to do. Am I approaching this wrong?

This is the first I've tried it on a PC. I'm pretty sure I've done this on a Mac with no issues.

Simple count() query doesn't seem to work

(venv)spersinger-ltm:Downloads spersinger$ ./force query "select count() from Lead"

Query returns the count in the totalSize attribute of the result. Would be nice to show this from the cli.

Setup

I am having a difficulties with the setup. I downloaded the OS X binaries, opened a terminal window and CD into a folder called force. I'm not sure what the next step is? I tried running the force help command but none of the available commands are found.

show errors on import

Tried to import some metadata containing errors. force import reported:

$ force import
ERROR: Push failed, there were 15 components with errors
ID: 09Si0000002XdlBEAS

I had to zip the metadata and use workbench to get a usable error report. Please show full error report.

Floats not rendered in SOQL results

This happened after the refactor:

$ force query "SELECT Name, Total_Price__c, CreatedById from Invoice__c WHERE Status__c = 'Opened'"
 Name     | Total_Price__c | CreatedById
----------+----------------+--------------------
 INV-0002 | %!s(float64=173) | 005i0000001HxW6AAK

login with username and password no longer working

Hi,

This is a great tool, I really like it.

I had been successfully using the login in the following format:

force login <username> <password>

but I have just downloaded the latest version and this no longer works as I get an error like the following:

ERROR: no such endpoint: <username>

The documentations seem to indicate this is a valid set for params for the login, has this changed?

Many Thanks
Stefan

ERROR: INVALID_OPERATION: rollbackOnError option must be true on a production org

I am trying to import a custom object from my sandbox to production using force cli. I am using the latest executable after building it locally.

  1. Fetched custom object from sandbox
    • force fetch CustomObject Book__c
  2. Trying to import Custom Object into Production org
    • logged into production using force cli
    • force import

I end up with the message "ERROR: INVALID_OPERATION: rollbackOnError option must be true on a production org"

Is there an option that I am supposed to set for this to work. force help import does not suggest any.

import -v bug

If you use -v you need to provide only a folder where the metadata is stored.

Error when calling force field create

Getting a panic error when calling force field create :. Pulled down the newest code and compiled, still getting the same error.

Thoughts?

panic: reflect: call of reflect.Value.Type on zero Value

goroutine 1 [running]:
runtime.panic(0x24e1a0, 0x1123d570)
/usr/local/go/src/pkg/runtime/panic.c:266 +0x9a
reflect.Value.Type(0x0, 0x0, 0x0, 0x11262e00, 0x1)
/usr/local/go/src/pkg/reflect/value.go:1698 +0x6f
main.ValidateOptionsAndDefaults(0xbffffce5, 0x6, 0x0, 0x0, 0x0, ...)
go/src/github.com/heroku/force/metadata.go:242 +0x26c
main.(*ForceMetadata).ValidateFieldOptions(0x1123d550, 0xbffffce5, 0x6, 0x11262da0, 0x1123d560, ...)
/Users/gqehavr/go/src/github.com/heroku/force/metadata.go:315 +0x1c5
main.runFieldCreate(0x1120a018, 0x2, 0x2)
/go/src/github.com/heroku/force/field.go:82 +0x1f8
main.runField(0x587740, 0x1120a010, 0x3, 0x3)
/go/src/github.com/heroku/force/field.go:41 +0xdf
main.main()
/go/src/github.com/heroku/force/main.go:41 +0x1c7

Unable to run on Red Hat 6.4

Having an issue trying to launch the Force.com CLI on RH 6.4.

I can run force help and force help on any command
but running the force login command just hangs.

I have tried using the standard way

force login -i=test
force login -u -p

I used strace and it stops with the following:

clock_gettime(CLOCK_REALTIME, {1410287483, 270182187}) = 0
close(5) = 0
close(6) = 0
close(7) = 0
accept4(3, 0x185a94d0, [112], SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
epoll_wait(4, {}, 128, 0) = 0
epoll_wait(4, ff807c78, 128, 4294967295) = -1 EINTR (Interrupted system call)
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x84899c0) = -1 EINTR (Interrupted system call)
epoll_wait(4,

Has anyone gotten this tool to run on RH? It runs fine on Ubuntu.

Regards,
Mark

Compiling from source not working

Running go get -u github.com/heroku/force produces an error:

github.com/ddollar/config/windows.go:8: (*Config).homeDirectory redeclared in this block
    previous declaration at github.com/ddollar/config/posix.go:9

screen shot 2015-02-17 at 5 38 38 pm

Add ability to set FLS when adding a field

A common use case is adding field(s) to sandbox, setting the FLS by profile with the UI, then writing code that use those fields. Then you need to re-add the fields to prod before deploying code. Can be done with change sets or other methods. Would be awesome if force CLI gave you a quick way to say, add a custom field and set the FLS to be read/write on these XX profiles, read on these XX profiles, and no access on these XX profiles by a list of some sort.

Thanks!

'force push' doesn't properly push static resources

When you run force push src/staticresources/{some zip file}.resource the file is not pushed up instead you get a failure message:

Unknown type name 'staticresources' specified in package.xml.

It seems to think the file type is staticresources rather then StaticResource which is what salesforce expects. I thought it was using the folder name to generate that, but that didn't seem to be it either. I tried putting resources into a folder called StaticResource and just got this error:

"src/StaticResource/{some zip file}.resource", line 0: Error An object '{some zip file}' of type StaticResource was named in package.xml, but was not found in zipped directory.

No Binaries, Build Broken

The build process for OSX fails with the following...

../github.com/ddollar/config/windows.go:8: (*Config).homeDirectory redeclared in this block
previous declaration at ../github.com/ddollar/config/posix.go:9

I did find a working link for the precompiled binary, but the build seems to be broken.

Do not store binaries in Git

Since binaries cannot be diffed by git, a full copy is stored forever in the Git history and it now makes the repo rather large, since each binary is almost 6Mb multiplied by the number of platforms that have binaries, multiplied by the number of versions stored.

Just did a fresh clone of the repo and it was 120Mb.

It would be far better to use Github Releases instead.

Add ability to login to internal Salesforce development instances

First of all, this is a kick-ass tool! Saw it used during the Platform keynote at Dreamforce this year and was really impressed.

This issue is primarily for Salesforce devs who want to use force with non-public instances of Salesforce. Requirements:

  • configurable server name
  • configurable port
  • configurable client id
  • ability to authenticate against a server presenting a self-signed cert

Login doesn't work when Firefox is the default browser

I tried to grant access to my devorg with force. The tool opened up my default browser (Firefox) where I logged into Salesforce and granted access. I then got redirected to /auth/callback but the grant never made it.

When I copied the callback url and pasted it into Chrome I got the "Granted" message from force-cli.herokuapp.com and was able to use the tool.

Push Discussion

One of the things I noticed in all this refactoring and the various flags was that ultimately what I am trying to do is get a list of files. That's all the flags are doing, just specifying different ways to communicate what file-based resource you want to push.

With that in mind, there really only needs to be one flag to specify one or more names for the resources. With the name, we can scan the working directory to find a resource with that name. Based on the either the contents of the file or the location and name of the parent directory (in the case of aura/lightning components) the metadata type can be determined. The metadata type needs to be determined to properly construct the package.xml file.

Use refresh tokens

Store refresh tokens in ~/.force/accounts/<account>, and automatically refresh the access token when the http methods get a 401 response instead of requiring the user to re-authenticate using force login.

In order to get a refresh token, we need to either:

  1. switch to web server flow and store the client secret locally. Each user should then create their own Connected App.
  2. use a fixed port in startLocalHttpServer, instead of passing the port in state, and configure the callback URL to redirect directly back to localhost. We'll need to move the javascript running on https://force-cli.herokuapp.com, which extracts the parameters in the fragment and redirects with them in the query string, to the local webserver.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.