function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Brian KesslerBrian Kessler 

Will someone revise the "Define Custom Big Objects" Trailhead unit?

This unit is being pushed as intermediate even though it is missing critical steps towards making use of the material it is presenting, such as step-by-step information how to successfully push the metadata we create and make use of the permissions we are uploading.

As far as I can tell, I am successfully uploading the Customer_interaction_Big_Object.permissionSet through ForceIDE, as I get no errors after save to server, but then this permission set isn't available for me to assign to anyone when I look in the SFDC setup UI for permission sets.

And then I can't upload the data because the object isn't writable, presumably because I don't have permissions.

Morever, the sample "Apex" script isn't even valid Apex.  For examples:
* There shouldn't be any angle brackets in: <Customer_Interaction__b> bo = new Customer_Interaction__b();
* Strings should use single quotes, not double quotes: bo.Account__c = "001R000000302D3";
* Play_Duration__c was defined as a number, not text (and again, double quotes!): bo.Play_Duration__c = "25";

Doesn't anyone give these articles a test drive before publishing them to people who will rely on them?
Medhanie Habte 37Medhanie Habte 37
Yes, I've attempted to upload the file using Workbench and haven't been successful. It's a critical issue that key steps aren't adequartely docmented.
Stephane PlanckeStephane Plancke
Same problem!
gus_ucsfgus_ucsf
Same here... will post something if i found a solution.
gus_ucsfgus_ucsf

As i promised:

The way i founded to successfuly deploy the big object was using ant (force.com migration tool), if you don't know how to use ant please refer to this_article (https://developer.salesforce.com/docs/atlas.en-us.daas.meta/daas/forcemigrationtool.htm) or let me know. Check picture to see the folder structure: 

Folder structure + simple ant script

Like any traditional ant package, i added the Rider_History__b.object inside a 'objects' folder and Ride_History_Big_Object.permissionSet inside a 'permissionsets' folder. I used the same package.xml provided in the trailhead excersise and i used the following ant scripts:

1- build.xml

<project name="Deploy Big Object" default="deployBig" basedir="." xmlns:sf="antlib:com.salesforce">

  <property file="build.properties"/>
  <property environment="env"/>

	<target name="deployBig">
		<sf:deploy 
			username="${sf_target.username}" 
			password="${sf_target.password}" 
			serverurl="${sf_target.serverurl}" 
			deployRoot="${sf.code_folder}" 
			checkOnly="false" 
			runAllTests="false" 
			logType="Debugonly" pollWaitMillis="99999" maxPoll="999"/>
	</target>

</project>
 

2 - build.properties

# build.properties
sf_target.username = USER_NAME_HERE
sf_target.password = Password_and_SecurityToken_HERE
sf_target.serverurl = https://login.salesforce.com
#Retrieved code folder
sf.code_folder = src/

3 - package.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>*</members>
        <name>CustomObject</name>
    </types>
    <types>
        <members>*</members>
        <name>PermissionSet</name>
    </types>
    <version>41.0</version>
</Package>


Hope this colud help you guys!

Medhanie Habte 37Medhanie Habte 37
Hi all, I've been successful in setting up Force.com migration tool, however, with my code it seems to deploy successfully but it doesn't see to recognize my object as I do not see them in the big objects.
gus_ucsfgus_ucsf

There are two possible reasons:

- Check the deployment result on Deployment Status in Setup, see if you really deployed any component (on my first successfull big-object deploy i saw that i wasn't sending any component with my deploy, that's why i used the force.com migration tool over workbench)

- Check if you deployed the permissions for the big object, otherwise you won't have view access

Brian KesslerBrian Kessler
Hi Gus,

Thanks for adding these details, though really they belong in the Trailhead article instead of this information silo.

That said,
1. I'm familiar with ANT; I just used ForceIDE because it was already set up and I was lazy about creating the build script.

2. Is there any reason we shouldn't use ForceIDE to upload this metadata?  So far as I know, both custom permssion and object metadata are supported through ForceIDE.

3. Even using ANT, I'm getting  a silent failure.
More specifically, the new permission set still doesn't display in SFDC UI even though this is the feedback from the migration tool:

C:\training\sfdc\Trailhead12\etc\BigObject>ant deployBig
Buildfile: C:\training\sfdc\Trailhead12\etc\BigObject\build.xml

deployBig:
[sf:deploy] Request for a deploy submitted successfully.
[sf:deploy] Request ID for the current deploy task: 0Af0Y00001E541RSAR
[sf:deploy] Waiting for server to finish processing the request...
[sf:deploy] Request Status: InProgress
[sf:deploy] Request Status: Succeeded
[sf:deploy] *********** DEPLOYMENT SUCCEEDED ***********
[sf:deploy] Finished request 0Af0Y00001E541RSAR successfully.

BUILD SUCCESSFUL
Total time: 1 minute 43 seconds

And these are the Deployment details in Deployment status:

Deployment Succeeded
Name: 0Af0Y00001E541R
Type: API
Deployed By: Brian Kessler
Start Time: 24/10/2017 14:11
End Time: 24/10/2017 14:11

Thanks,
-Brian.
Chris DuarteChris Duarte
Hi Brian - thanks for your feedback. Yes, we "test drive" all of our modules, and we do our best to match modules to testers with enough subject matter expertise to give thoughtful feedback, but not so much that they don't bring the beginner's mind needed to catch things that will trip up new learners. In this case, you're not the only person who's given us this specific feedback, and the writer is already working on revisions. I'll send him this thread now to make sure he's also incorporating this feedback in his revision. Thank you for sharing your detailed comments. 
Matthew EspineliMatthew Espineli
Hi all,

Sorry about the issues. If you're having issues with deployment, can you try redeploying with the "permissionSet" file extension in all lowercase ("permissionset")? We've revised the module (changes are now live) to no longer refer to permissionset as "permissionSet", and all references to the file are now in lowercase. I know that if you deploy a "permissionSet" file through Workbench, the permissions don't get included in the deployment.

I'll look into the Apex example for you as well.
Manoj Kumar TiwariManoj Kumar Tiwari
I am using this forum topic 'Will someone revise the "Define Custom Big Objects" Trailhead unit?' to point out an issue (minor) with respect to the incorrect terminology used. Please refer the attached. In the section "CustomObject Metadata", the third row of the table mentions "Unique API name of a field", whereas it should be "Unique API name of the Object" because the context is that of Custom Big Object. Please look into the issue and if found suitable, please incorporate the change.
Thanks in advance
Manoj Tiwari

User-added image
Manoj Kumar TiwariManoj Kumar Tiwari
In the example on the same page, the API Name is that of an Object as has been highlighted.

User-added image
Evelyn OsinskiEvelyn Osinski
I spent the afternoon trying to finish this module and finally figured out how to make it work.  The instructions say you have to create three XML files. What they don't say is you have to remove the .xml extension from two of the three files to change their file types.  In order to have the custom Big Object correctly deploy to Salesforce I did the following:  1) Copied and pasted the data provided into Notepad and saved each of the three files with an .xml extension; 2) in File Explorer, removed the .xml extension from the Object file which changed its file type to "OBJECT File;" 3) removed the .xml extension from the PermissionSet file which changed its file type to "PERMISSIONSET File;" 4) created an "objects" folder and moved the Object file into it; 5) created a "permissionsets" folder and moved the PermissionSet file into it; 5) zipped the package.xml file, objects folder, and permissionsets folder into a.zip file; 6) in Workbench under migration>Deploy selected my ZIP file, Check Only and Single Package options to test.  When that was successful I went back and unchecked "Check Only" and the custom object was created.  Hope this helps!
Jennifer Harris 20Jennifer Harris 20
Thank you Evelyn. I am super new to development (only need to do this to deploy a big object) and have been going crazy trying to figure out how to save my files in the correct format. Life saver. Sheesh... it shouldn't be this difficult.
Alona KhusidmanAlona Khusidman
Thank you, Evelyn! I've spent hours trying to figure this out. This trail module needs to be updated accordingly as it shoudln't be this difficult to follow the instructions.
JuozJuoz
Evelyn, thank you! 
Jessica Blimbaum 1Jessica Blimbaum 1
I am ALMOST there but I am stuck because I don't know how to perform step #2 by changing them from an XML to an Object data type. In File Explorer, I am unable to do so because my file name does not include XML for me to remove it! I am sure this is an easy solution but I am stuck!