Simon Fell > Its just code > March 2009

Friday, March 13, 2009

Following on from the filtered object/field list discussion, seems like showing all the fields and highlighting the matching ones seems like the best bet (but filtering the list of objects based on the object name, or the object having a field matching the filter), expect to find this in the next release of SoqlX.

Wednesday, March 11, 2009

I've been thinking about adding a filter widget to the object/field list in SoqlX, right now i have so that the object list is filtered based on whether the object name or any of its fields match the filter criteria, but the actual list of fields for the object remains intact. (as shown on the left). Is that what you would find most useful? should it also filter the field list itself ? something else? (I also thought about leaving it with the full list of fields, but having it highlight the fields that match the filter). Ping me on twitter and let me know what you think.

Thursday, March 5, 2009

Everything you wanted to know about SoqlX but were afraid to ask.


Remember that SoqlX uses the API to connect to Salesforce, and so depending on how your admin configured it, you may need to use your api security token in addition to your password to login (just add the token to your password, so if your password is beerisnice and your security token is abv123, enter beerisniceabv123 as the password). getting a LOGIN_MUST_USE_SECURITY_TOKEN error means you most likely forgot to include your security token (search for security token in the online help for more info)

Let SoqlX store your login credentials on the keychain, you'll be much happier, next time you run soqlX it'll remember your username & password (and if you have multiple logins, tryout trapdoor)


To execute a SOQL query, type the SOQL query into the box at the top, click Query (or Query All), the results will appear in the table, or for count queries, in the bottom left hand corner.

SOQL-R is supported, so you can do both queries that access foreign key relationships (like accessing account from a contact), and also aggregate child queries (like select accounts, and the contacts for each account). Double click the magnifying glass to expand the 2nd query table at the bottom, showing the child rows for that particular parent row.

If you queried the Id column, then you can edit data inline, just double click the cell and type in your new value, when the cell looses focus, the reecord in salesforce will be updated. You can also check the deleted checkbox and hit the delete button to delete row(s). click the Delete column header to quickly toggle the checkbox on all rows.

Using the Window menu, you can open launch the web application, for the user you're currently logged in as. You can also open the recent queries window, which'll show you the last 10 queries you've executed, double click a query to copy it to the SOQL query textbox. Watch the recent queries list animate the changes as you run new queries!.

Use File -> Save Query Results to save the results of your current query as a CSV file.

The list of objects & fields appear in the list view on the left hand side, double click an object to automatically create a query to select all the fields. Use the details button at the bottom left to turn on the details window which shows all the properties for the object or field selected in the list.

Hit the schema button at the bottom right to switch to a graphical view of your schema, showing how objects are related.

Use the +/- widget inside each object to control the set of fields that appear (id + name field, all standard fields, all fields). Double click an object (or select from the list view) to make that the primary object of the view.
Right click on any object in the listview and pick 'generate schema report' to generate the schema report for that object, this contains the graphical schema view, along with a table detailing all the fields for the object, you can print or export to PDF the schema report.

Got questions, or suggestions for new features, catch me on twitter.