I've seen the following question asked earlier wit...
# sdf
m
I've seen the following question asked earlier with no replies. Any ideas? I'm hitting the same issue:
All term references must be to terms in translationcollection objects in the same SuiteCloud project. Terms cannot be referenced in other SuiteCloud projects, bundles, or SuiteApps.
Thanks!
👍 1
r
The error you're encountering typically occurs when there's an attempt to reference terms that are not included in the SuiteCloud Development Framework (SDF) project. In SDF, all term references must be to terms included in the
translationscollection
objects within the same SDF project. Unfortunately, terms cannot be shared across different SDF projects, bundles, or SuiteApps. To resolve this, ensure that all term references within your SDF project point to terms defined in the
translationscollection
of the same project. If the terms are defined in a separate project, you'll need to include them in your current project's
translationscollection
. If you're working with terms that need to be shared across multiple projects, you'll have to include these terms in each individual project or consider centralizing where these terms are managed.
j
Thanks, Ryan. I received this error when I validated a project with a single customworkbook against the very same environment I imported it from. To investigate the issue, I imported the translationcollection objects that were referenced in the manifest. I found they do nothing more than provide the names of the workbook and the two tabs it contains. After refreshing the dependencies, I am now able to validate against the original environment. Likely I am naive, but I was surprised that: 1. Something as straightforward as the names of a workbook and its tabs are structured as separate referenced objects. 2. The project wouldn't validate against the very environment I imported the workbook and its dependencies from. It may be that I shouldn't expect to use SDF for import and deployment of workbooks and datasets?
m
@Jeff Subat - you description matches exactly my case. I'm unable to import an object back to the environment I downloaded it from. Moreover, since I've also performed a SB refresh, now that I want to import this object into the refreshed environment, I don't have the "separate referenced objects", as you say, and they were not marked as dependences when I downloaded the main objects. Now these translationcollection objects are gone, so not sure what I can do about them. I can't upload a simple custbody field, which doesn't even have any (other) dependencies
r
@Milcho Dimkov, To add the missing terms to your sandbox manually, you’ll need to: a. Identify all the terms that are missing from the sandbox environment. You can compare the terms in the production environment with those in the sandbox to determine which ones are missing. b. Export these terms from the production environment. You can use the SuiteCloud Development Framework (SDF) command-line interface to perform this action. c. Import the terms into your sandbox environment using SDF. Ensure that you include them in your project’s manifest file so that they’re recognized as dependencies. d. After the terms have been added, try validating or importing your custbody field again. If you’re not familiar with using SDF for exporting and importing terms, here’s a quick rundown of the commands you might need: To export terms from the production environment:
Copy code
sdfcli exportobjects -type translationcollection -scriptid custom_translation_id -destination /path/to/destination
To import terms into the sandbox environment:
Copy code
sdfcli importobjects -type translationcollection -scriptid custom_translation_id -path /path/to/source
Make sure to replace custom_translation_id with the actual script ID of your translation collection and set the correct paths. Always back up your data before performing these operations.
@Jeff Subat, It seems like there might be an issue with how the dependencies are referenced in your project’s manifest file. Here’s what you can do: a. Review the Manifest: Make sure that all dependencies, including workbooks and their tabs, are correctly listed in your manifest file. b. Check Object Dependencies: Verify that all objects referenced in your project are present in the NetSuite environment where you’re trying to validate or import your project. c. SDF Validate: Use the SDF validate command to check for any missing dependencies before attempting to deploy. If you’ve already tried these steps, you might also want to: a. Check for Updates: Make sure that all your tools are up to date, as there may be updates or fixes related to dependency handling. b. Consult the Logs: Review the detailed logs provided by the SDF operation to find specific items or dependencies that might be causing issues.
j
Thanks for the advice. I've tried all that and the results are the same. This is an extremely simple project with a single workbook imported to it directly from my sandbox, and dependencies added via project:adddependencies. I've done nothing other than that. • When I validate or do a deploy --dryrun, it posts the "All term references ..." error for each of the translationcollection dependencies referenced in the manifest. • If I import one of those translationcollection objects and remove its dependency in the manifest, one of the errors goes away. • If I import all three translationcollection objects and remove their dependencies, it validates successfully (no errors).
r
It appears to be a sequence issue with the term dependencies. They need to be deployed to the environment first, as the other project elements are reliant on these terms. Once established, you can proceed with deploying your customizations that reference these terms without including them in the manifest dependencies. Here’s sort of a step-by-step deployment guide for a smooth setup without creating a dependency loop. 1. Manually deploy your term objects to NetSuite to establish them in your environment. 2. Remove the term objects from your manifest’s dependencies section since they’re now part of the baseline environment. For guidance on generating manifests by change logs, you can refer to this GitHub repository. 3. Proceed with deploying your customization project, which should now recognize the pre-existing term objects without any errors. This approach ensures that dependencies are resolved in a logical sequence, avoiding any circular references.
a
I was able to resolve this by importing the translationcollection objects into my project. It seems like a bug that sdf does not accept simply adding the references as dependencies in
manifest.xml
(Even
project:adddependencies
adds them just fine, but the vaidation still fails)
j
Yes, that's what I found, too. Agree that it seems like a bug.
👍 1
k
I will say though that the error you were getting is possibly due to you having actual XLF translations files within the translations folder in the src directory but those translation strings don’t exist in your project anymore or are not listed in deploy.xml
526 Views