Hey I have been deploying using SDF for a while an...
# sdf
t
Hey I have been deploying using SDF for a while and have done some 6-7 deployments recently, ranging from 100s to 1000s+ of objects. I as a developer still not fully convinced that SDF is good, I mean repeated boring thing, takes real big time for deployment, took me 1-1.5 to 2 weeks on some projects. Functionals still put there time in arranging objects in a cutover google sheet. I heard from a functionals, they said they could do it sooner just by bundling and moving. and the control is shifted from functionals to developers. Netsuite is also pushing SDF nowadays, what do you think? Sometimes, I myself do a Copy of Account if an object irritates too much, come back to SDF if fails too, which is does mostly. What are your thoughts? Is abandoning SuiteBundler for this SDF a good idea?
a
suitebundler is deprecated and it was always awful anyway, while SDF is also annoying its better than suitebundler, you're right that it does move some responsibility to developers and off of functionals, in my opinion that's a price worth paying
that said I primarily use it for suiteapps deployed to many different unrelated accounts, which is a very different use case from migrating a single account from sandbox to prod.
t
I think for suiteapp, that might be good, you might not be doing it that often. I work for a consulting company, and we use it for almost every project now. To move our custom objects from SBX to prod.
a
SDF works perfectly fine for me, one thing you need to be aware of is that SDF without CD / CI custom scripting pipelines would not handle well monolithic code bases. I always go by per project/business problem repos, which are handled fairly well by SDF. I never have 100 or 1000 objects or scripts in a single repo.
If you want to keep a more monolithic approach with your code base you are going to need some scripting around your deploy.xml to dynamically update it only with what you need to deploy or validate.
t
I track different types of objects using branches, so list will have one branch, custom-entity-fields another one, searches and so on. But they are all in one repo. I get these projects specifically for deployment to PROD, so overall the number goes up to 1000s, consider 100 lists, 200 fields(all custom), 80 forms, 150 searches, and so on. I use VS code IDE plugin, and have the tracker handy that tells me what to import and then I mark ‘done’ in import column and I move on. They are per project repos only, but still it is repeated( boring) and frustrating(some unknown errors 😞 ) and time consuming work. I am thinking to switch to CLI and then I’ll be able to do some scripting, right now with vs code suitecloud ide plugin, it is not.
a
The VS Code or WebStorm plugin will be driven by your deploy.xml, in VSCode or WebStorm you could use node and do some scripting to manipulate that file as needed.
My advise is still to stick to repo by project or business problem. A lot more manageable and plays well with SDF without major issues other than tedious multi-step process if you need to deploy 5 different repos. But again, that is defined by the development process or lifecycle, in some scenarios a customization / project would only have the scripts and objects that were created for that customization, nothing more and nothing less. And of course everything has downsides depending on how you look at it.
t
Sorry I misread that, deploy.xml is not problem as such, I usually keep a temp folder in my To Deploy folder, I keep moving objects to that and continue, I have to go smaller number of objects as little as 1 in some cases. Resolve issues on that one and then go, it’s not a simple hit validate and deploy and they are deployed, there are issues with dependencies, the standard add dependency command is not good enough yet, and there are other dependencies that we have to deploy first, I built an order now , but still sometimes, we have to go out of order to deploy some objects. and some are really pain in the ass, takes forever to deploy, there are limitations like customer, vendor, employee center roles can’t be deployed. I was deploying my own customizations earlier, so never did it using SDF, but now I am taking pure SDF deployment projects to learn it better and oh boy not a piece of cake. I am trying to build something with SDF cli(new to me) so I’ll experiment first and then I can automate atleast some of it using scripting, like modifying files atleast for dependency, removing locked bundles. I just checked one project I deployed 1767 objects, and it was pain. It feels good though after it’s done./s 😈