[{"data":1,"prerenderedAt":340},["ShallowReactive",2],{"site-search-nav-scaleArticles":3,"\u002Fscale\u002Farticles\u002Fcustomize-a-copy-not-the-base":47,"\u002Fscale\u002Farticles\u002Fcustomize-a-copy-not-the-base-surround":337},[4],{"title":5,"path":6,"stem":7,"children":8,"page":46},"Scale","\u002Fscale","scale",[9],{"title":10,"path":11,"stem":12,"children":13,"page":46},"Articles","\u002Fscale\u002Farticles","scale\u002Farticles",[14,18,22,26,30,34,38,42],{"title":15,"path":16,"stem":17},"Removing the Rogue Semicolon in SCALE’s Web UI","\u002Fscale\u002Farticles\u002Fremove-rogue-semicolon-scale-ui","scale\u002Farticles\u002F1.remove-rogue-semicolon-scale-ui",{"title":19,"path":20,"stem":21},"Using SCALE for years? Check this to avoid production crashing.","\u002Fscale\u002Farticles\u002Fprevent-scale-identity-column-overflow","scale\u002Farticles\u002F2.prevent-scale-identity-column-overflow",{"title":23,"path":24,"stem":25},"SCALE config changes not applying? Clear the cache without downtime.","\u002Fscale\u002Farticles\u002Fscale-cache-config-not-updating","scale\u002Farticles\u002F3.scale-cache-config-not-updating",{"title":27,"path":28,"stem":29},"Enable Text Copying in SCALE Insight Tables with This Small Tweak","\u002Fscale\u002Farticles\u002Fscale-insight-copy-fix","scale\u002Farticles\u002F4.scale-insight-copy-fix",{"title":31,"path":32,"stem":33},"5 Times You Should Bring in Help for Manhattan SCALE","\u002Fscale\u002Farticles\u002Fwhen-to-bring-in-help","scale\u002Farticles\u002F5.when-to-bring-in-help",{"title":35,"path":36,"stem":37},"How to Find Your Manhattan SCALE Database Connection Information","\u002Fscale\u002Farticles\u002Ffind-scale-database-server","scale\u002Farticles\u002F6.find-scale-database-server",{"title":39,"path":40,"stem":41},"How to Modify Default System Text in Manhattan SCALE","\u002Fscale\u002Farticles\u002Fmodify-default-system-text","scale\u002Farticles\u002F7.modify-default-system-text",{"title":43,"path":44,"stem":45},"Customize a Copy, Not the Base: Upgrade-Safe SCALE Changes","\u002Fscale\u002Farticles\u002Fcustomize-a-copy-not-the-base","scale\u002Farticles\u002F8.customize-a-copy-not-the-base",false,{"id":48,"title":43,"body":49,"cta":318,"description":321,"extension":322,"image":323,"meta":327,"navigation":328,"path":44,"publishDate":329,"seo":330,"stem":45,"tags":331,"updateDate":335,"__hash__":336},"scaleArticles\u002Fscale\u002Farticles\u002F8.customize-a-copy-not-the-base.md",{"type":50,"value":51,"toc":302},"minimark",[52,57,61,64,67,70,74,77,80,83,86,90,93,98,106,149,152,159,163,166,177,185,189,196,199,202,206,209,212,215,219,222,225,245,253,256,260,263,266,270,273,293,296,299],[53,54,56],"h2",{"id":55},"an-upgrade-overwrote-a-clients-customizations","An Upgrade Overwrote a Client's Customizations",[58,59,60],"p",{},"A SCALE client upgraded recently. When the upgrade scripts completed, a set of their base reports, labels and screens looked exactly the way Manhattan shipped them.",[58,62,63],{},"Every change the team had made to those objects was gone.",[58,65,66],{},"Nobody made a mistake during the upgrade. It did what upgrades are designed to do: it replaced SCALE's base objects with the new version's base objects. The trouble was that the base objects were where the customizations lived.",[58,68,69],{},"Someone had edited the base report. Someone had changed the base label. Someone had modified the base Insight screen. Each change worked fine until the upgrade overwrote all of them in one pass.",[53,71,73],{"id":72},"why-in-place-changes-dont-survive-an-upgrade","Why In-Place Changes Don't Survive an Upgrade",[58,75,76],{},"SCALE treats its base objects as its own. Reports, label formats, Insight screens, scripts and stored procedures all ship with the product, and a patch or upgrade overwrites each one with the new version.",[58,78,79],{},"That's the right behavior. Manhattan can only fix and improve the product if it controls its own files.",[58,81,82],{},"So a change made directly to a base object has a shelf life. It lasts until the next patch or upgrade touches that object.",[58,84,85],{},"An overwritten customization doesn't throw an error. The report still prints and the screen still loads. They just behave the way they did before anyone changed them, and unless you've documented every customization and reapply it during the upgrade cycle, the first person to notice is usually someone on the floor asking where their column went.",[53,87,89],{"id":88},"the-rule-copy-first-then-customize","The Rule: Copy First, Then Customize",[58,91,92],{},"Every time you customize a SCALE object, take a copy and customize the copy. Never the base.",[94,95,97],"h3",{"id":96},"prefix-every-copy-with-your-companys-identifier","Prefix every copy with your company's identifier",[58,99,100,101,105],{},"The standard is to prefix every custom file with a short identifier that's unique to your company. If your company is Jacob Thompson Logistics, your prefix is ",[102,103,104],"code",{},"JTL",".",[107,108,109,125,136],"ul",{},[110,111,112,116,117,120,121,124],"li",{},[113,114,115],"strong",{},"Reports."," ",[102,118,119],{},"AllocationPickList.rdl"," stays untouched. Your customized version is ",[102,122,123],{},"JTL_AllocationPickList.rdl",", and SCALE's report configuration points at it.",[110,126,127,116,130,120,133,105],{},[113,128,129],{},"Labels.",[102,131,132],{},"RecCont.lbl",[102,134,135],{},"JTL_RecCont.lbl",[110,137,138,141,142,105],{},[113,139,140],{},"Stored procedures and code."," Same pattern: copy the base object under a prefixed name and change the copy. Better still, favor exit points and extensions so there's less to copy at all. More on that in ",[143,144,148],"a",{"href":145,"rel":146},"https:\u002F\u002Fwww.linkedin.com\u002Ffeed\u002Fupdate\u002Furn:li:activity:7333522465274437632\u002F",[147],"nofollow","these tips for keeping SCALE customizations upgrade-safe",[58,150,151],{},"The prefix does two jobs. Nobody on your team, and no upgrade, can mistake your copy for a base object. And anyone looking at a folder of reports can tell at a glance which ones are yours.",[58,153,154],{},[155,156],"img",{"alt":157,"src":158},"A reports folder with the base AllocationPickList.rdl left untouched next to the customized copy, JTL_AllocationPickList.rdl","\u002Fimage\u002Fcustomize-a-copy-not-the-base\u002Freports-folder-base-and-copy.png",[94,160,162],{"id":161},"insight-screens-a-new-row-not-a-new-name","Insight screens: a new row, not a new name",[58,164,165],{},"Insight screens work differently. A customized screen doesn't get a new name. It's a new row in the database, flagged as a custom version, and the base screen's row stays exactly as Manhattan shipped it.",[58,167,168,169,172,173,176],{},"In recent SCALE versions, you create that copy in Insight Architect. Your user group needs the ",[113,170,171],{},"Customize Screen"," permission in Global Security. Then filter to the base screen, select it, and click ",[113,174,175],{},"Create Custom",". Make your changes to the custom version. SCALE marks the base screen inactive and serves your copy in its place.",[58,178,179,180,105],{},"If you haven't explored what an Insight screen can do, ",[143,181,184],{"href":182,"rel":183},"https:\u002F\u002Fwww.linkedin.com\u002Fposts\u002Fjacobthompsondev_manhattanscale-activity-7322988146600591360-yH7a",[147],"it's more than most teams think",[94,186,188],{"id":187},"system-text-let-the-tooling-do-it","System text: let the tooling do it",[58,190,191,192,195],{},"System text is where the rule only half applies, because SCALE's tooling already enforces it. The ",[143,193,194],{"href":40},"System Text Editor"," writes a custom record that overrides the default. It never modifies the base record.",[58,197,198],{},"The way to break that is to go around the tooling. In theory, someone could update the base system text directly in the database. Don't. Use the editor and let it write the override.",[58,200,201],{},"When the next upgrade lands, it replaces the base objects and leaves your copies alone. The customizations survive because they were never in the upgrade's path.",[53,203,205],{"id":204},"what-the-copy-doesnt-do-for-you","What the Copy Doesn't Do for You",[58,207,208],{},"A copy protects your customization from being overwritten. It doesn't keep it current.",[58,210,211],{},"If Manhattan fixes a bug or adds a field to the base report in a new version, your copy won't have it. After every upgrade, someone has to compare each customized copy against the new base and decide what to bring forward.",[58,213,214],{},"That's still work. But it's work you can plan: a known list of objects, compared against a known baseline, on a schedule you control. The alternative is finding out what you lost after it's already gone.",[53,216,218],{"id":217},"document-every-customization","Document Every Customization",[58,220,221],{},"A copy keeps a customization safe from the upgrade. Documentation is what keeps it maintainable after.",[58,223,224],{},"For every customization, write down:",[107,226,227,233,239],{},[110,228,229,232],{},[113,230,231],{},"What changed."," Every object it touches: the base object it was copied from, the name of the copy, and any configuration that points at the copy.",[110,234,235,238],{},[113,236,237],{},"Why it exists."," The business requirement behind it, in terms your operations team would recognize.",[110,240,241,244],{},[113,242,243],{},"How to test it."," What a correct result looks like, so someone can verify it after the next upgrade.",[58,246,247,248],{},"That record is the known list your post-upgrade comparison runs from. It's also what lets someone other than the person who built a customization answer \"do we still need this?\" when the business changes. That's the same question to ask before building any customization: ",[143,249,252],{"href":250,"rel":251},"https:\u002F\u002Fwww.linkedin.com\u002Ffeed\u002Fupdate\u002Furn:li:activity:7338550660927299586\u002F",[147],"what happens when this changes again?",[58,254,255],{},"Without documentation, every upgrade starts with someone working out what was customized and why, from folders and memory.",[53,257,259],{"id":258},"what-it-costs-when-you-skip-the-copy","What It Costs When You Skip the Copy",[58,261,262],{},"If you own the upgrade budget, here's the short version: in-place customization turns every upgrade into an unplanned redevelopment project.",[58,264,265],{},"Every overwritten object has to be found, rebuilt and retested, usually while the team is also trying to validate the upgrade itself. None of that was in the plan, because nobody knew those customizations were sitting in the upgrade's path.",[53,267,269],{"id":268},"before-your-next-upgrade-find-whats-already-modified","Before Your Next Upgrade: Find What's Already Modified",[58,271,272],{},"If you can't say for certain that every customization was made on a copy, find out before the upgrade does.",[107,274,275,281,287],{},[110,276,277,280],{},[113,278,279],{},"Compare base files against a clean install of the same version."," Any base report, label or script that differs from the vendor copy was modified in place. With a prefix convention, the rule is simple: a modified file without your prefix is a problem.",[110,282,283,286],{},[113,284,285],{},"Check modified dates."," A base file modified after your last install or upgrade is worth a closer look.",[110,288,289,292],{},[113,290,291],{},"Ask whoever built your customizations,"," consultants included. \"Did you change the base object or a copy?\" should have a quick answer.",[58,294,295],{},"For each one you find: copy it, move the customization to the copy, point SCALE at the copy, put the base object back the way it shipped, and document it. Do it in a test environment first, and verify it before the upgrade, not after.",[58,297,298],{},"Start with the list. Can you name every customized object in your environment, and the base object each one came from?",[58,300,301],{},"If not, build that list before your next upgrade builds it for you.",{"title":303,"searchDepth":304,"depth":304,"links":305},"",2,[306,307,308,314,315,316,317],{"id":55,"depth":304,"text":56},{"id":72,"depth":304,"text":73},{"id":88,"depth":304,"text":89,"children":309},[310,312,313],{"id":96,"depth":311,"text":97},3,{"id":161,"depth":311,"text":162},{"id":187,"depth":311,"text":188},{"id":204,"depth":304,"text":205},{"id":217,"depth":304,"text":218},{"id":258,"depth":304,"text":259},{"id":268,"depth":304,"text":269},{"title":319,"description":320},"Upgrading SCALE soon?","I help teams plan and deliver SCALE upgrades, from first assessment to go-live.","Edit a base SCALE report, label or Insight screen in place and your next upgrade overwrites it. Copy the object first, then customize the copy so it survives.","md",{"src":324,"width":325,"height":326},"\u002Fimage\u002Fcustomize-a-copy-not-the-base\u002Fthumbnail.png",1536,864,{},true,"2026-11-02",{"title":43,"description":321},[332,333,334],"SCALE","Customization","Upgrades",null,"cft2c9UP--mcAnoISEglKvPpzHBSQfvCADTBIUJgYJY",[338,335],{"title":39,"path":40,"stem":41,"description":339,"children":-1},"Step-by-step guide to renaming generic labels like 'User Defined 3' into meaningful field names using Manhattan SCALE's System Text feature.",1793675538033]