This is the “make it look right and behave right” toolbox category—aka the part of CE work where you can ship massive value… or accidentally create a haunted form that only breaks on Tuesdays for users in one security role. 🙂
These tools help you standardize, clone, bulk-edit, and track down where that JavaScript is hiding—without clicking through 47 screens in the Maker portal.
Pick your weapon (quick decision guide)
Web resources & JavaScript inventory
-
Need: Upload/edit/publish web resources efficiently (JS/CSS/HTML) with a sane workflow
Tool: WebResources Manager
Why: Faster iteration + reliable publish loop without UI pain -
Need: Answer “Where is this JS registered?” (forms, events, handlers)
Tool: Scripts Finder
Why: Finds registrations so you stop guessing and start fixing
Forms
- Need: Bulk-manage form libraries, parameters, and field properties across forms
Tools: Form Libraries Manager, Form Parameter Manager, Bulk Form Attribute Manager
Why: Standardize forms fast (required/visible/locked, library attachments, params)
Views
- Need: Standardize columns across multiple views quickly
Tool: View Layout Replicator
Why: “Make all these views match” without manual edits
Columns / attributes
-
Need: Rename / delete / change type of a column (powerful; treat like a chainsaw)
Tool: Attribute Manager
Why: Refactor/cleanup attributes when you really mean it -
Need: Edit attribute metadata (common: choice label tidy-ups)
Tool: Attribute Editor
Why: Clean up labels/settings in bulk for release-note hygiene
Option sets / choices
-
Need: Build a big choice list without manual entry
Tool: CreateOptionSetsFromCSV
Why: CSV becomes the source of truth (and saves your wrists) -
Need: Create a choices reference table for reporting models (Power BI-friendly)
Tool: PowerBI OptionSet Assistant
Why: Stable label/value mappings for semantic models
Pre-flight checklist (read this before you touch anything)
This category is where unmanaged-layer surprises are born.
- Know whether you’re in Dev / UAT / Prod.
(If you’re in Prod, you should feel at least slightly nervous. That’s healthy.) - Work in a solution whenever possible (governance + portability).
- Document what you’re changing (name, date, reason).
“We changed some stuff” is not release notes. - Check dependencies before renaming/deleting/changing types:
- forms, views, business rules, flows, Power Pages, integrations
- Test in a sandbox first if the action is destructive (delete/type change).
Consultant law #3: “Undo” is not a feature in Dataverse.
Web resources & JavaScript inventory
Tool 1: WebResources Manager (web resources without suffering)
What it’s for
WebResources Manager is your “I refuse to publish web resources the slow way” tool. Use it to manage JS/CSS/HTML web resources with a workflow.
When to use it
Use it when you need to:
- Upload new web resources (JS/CSS/HTML)
- Update existing files
- Publish changes reliably
- Keep your edits organized (especially when you’re iterating quickly)
Step-by-step (safe, repeatable workflow)
- Open WebResources Manager.
- Filter to your solution / prefix (don’t browse the entire org like it’s a thrift store).
- Download the current version (optional but smart).
- Make edits locally.
- Upload and publish.
- Smoke test:
- open the form/page that uses the script
- confirm the event fires
- confirm no console errors
Common gotchas
- Forgetting to publish (classic).
- Caching makes you think it didn’t work when it did (or worse: it worked yesterday).
Clear cache / use incognito / bump versioning patterns. - Multiple scripts with similar names (the “final_final_v3.js” problem).
Use naming conventions and keep scripts in a solution.
Validation checklist
- Confirm web resource version/time updated
- Confirm form loads without errors
- Confirm the specific handler behaves as expected
Real scenario
You’re tweaking a portal/form experience and need 5 quick iterations in a day. This tool turns that from “UI clicking marathon” into a normal dev loop.
Tool 2: Scripts Finder (where is this JS registered?)
What it’s for
Scripts Finder answers the question every CE consultant gets asked:
“Where is this JavaScript coming from?”
It helps you locate client events/handlers registered in the org so you can stop guessing.
When to use it
Use it when:
- A form behaves weird and you suspect JavaScript
- You inherited an org and everything is named “new_script.js”
- You’re doing cleanup and need to find unused libraries/handlers
Step-by-step
- Run Scripts Finder.
- Search by:
- web resource name
- function name (if available)
- Review where it’s registered:
- which forms
- which events (onLoad/onSave/onChange)
- which fields (if onChange)
Common gotchas
- Duplicate handlers across multiple forms (same JS, different registrations).
- Handlers pointing to scripts that no longer exist (yes, that’s possible, and yes, it’s annoying).
Validation checklist
- Confirm the form/event listed matches the behavior you’re seeing
- Disable/remove only after confirming it’s not used elsewhere
Real scenario
User says: “This field keeps changing after I save.”
Scripts Finder shows you a handler onSave that updates it. Mystery solved. You look like a wizard. 🪄
Forms
Form-related tools (bulk form work without clicking forever)
What it’s for
These tools help you manage form configurations in bulk:
- Form Libraries Manager (libraries attached to forms)
- Form Parameter Manager (form parameters)
- Bulk Form Attribute Manager (field properties across forms)
When to use it
Use these when you need to:
- Add/remove the same library across many forms
- Standardize field behavior:
- required level
- visibility
- locked/unlocked
- Audit which forms contain a library/parameter
Step-by-step (bulk standardization playbook)
- Identify the “source of truth” form (the one configured correctly).
- Decide what you’re standardizing (fields, libraries, parameters).
- Run the tool across target forms.
- Publish.
- Test:
- main form
- quick create (if applicable)
- mobile (if relevant)
Common gotchas
- Different form types (main vs quick create) behave differently.
- Role-based forms: you standardize one and forget another exists for a different role.
- Unmanaged changes can sneak in if you’re not working solution-first.
Validation checklist
- Confirm the target forms actually changed
- Confirm a user in the correct role sees expected behavior
- Confirm no duplicate library references
Views
Tool: View Layout Replicator (make views consistent, fast)
What it’s for
View Layout Replicator lets you copy/apply a view layout across multiple views. It’s the antidote to:
“Can we make all these views show the same columns?”
When to use it
Use it when you need:
- Consistent columns across:
- multiple system views
- multiple personal views (depending on scope)
- A standardized “support view set” for UAT
Step-by-step
- Pick your golden view (the one with the right columns/order/width).
- Select target views.
- Replicate layout.
- Publish.
- Quick validation: open 2–3 target views and confirm layout matches.
Common gotchas
- Replicating layout doesn’t automatically fix underlying filtering logic—layout ≠ query.
- Some views are owned/managed differently depending on solutions and customization layers.
Validation checklist
- Compare before/after on at least 3 target views
- Confirm the view is still usable (columns exist, no blanks due to security)
Columns / attributes
Tool 1: Attribute Manager (chainsaw mode)
What it’s for
Attribute Manager can rename/delete/change type of an attribute. This is powerful for refactors and cleanup… and also powerful for causing problems if done casually.
When to use it
Use it when:
- You must rename a column (and you understand what that impacts)
- You need to remove dead fields responsibly
- You need a type change (rare; treat carefully)
Step-by-step (do not be a hero edition)
- Identify the attribute and everything it touches.
- Review dependencies:
- forms/views
- business rules
- flows
- Power Pages
- integrations/reporting
- Do the change in Dev first.
- Test UAT scenarios that reference it.
- Deploy intentionally (and communicate clearly).
Common gotchas
- Renaming can break references in:
- integrations
- scripts
- flows (depending on implementation)
- Type changes are the most “surprise!” action in this list.
- Deleting fields can orphan data/mappings.
Validation checklist
- Search solution/components for dependencies
- Test at least one end-to-end business process that touched the field
Tool 2: Attribute Editor (metadata tweaks, often choices)
What it’s for
Attribute Editor helps with attribute editing tasks—commonly used for cleaning up labels/settings. Often this shows up in “release note hygiene” work.
When to use it
Use it when:
- You need to fix labels/metadata in bulk
- You’re cleaning up columns that were created inconsistently
- You’re preparing for a governed release
Gotchas
- UI label changes are easy; downstream consistency is the real work (docs, training, reports).
Option sets / choices
Tool 1: CreateOptionSetsFromCSV (big choice lists without hand entry)
What it’s for
Creates an option set (choice list) from CSV. Perfect when the business hands you:
“Here are 214 values. Please add them by today.”
When to use it
Use it when:
- Large lists (regions, departments, categories)
- You want the list to be version-controlled (CSV becomes the source)
Step-by-step
- Clean the CSV (remove duplicates, confirm spelling, confirm order).
- Import/create option set.
- Validate values and labels.
- Add to solution.
- Deploy.
Gotchas
- Duplicate labels and unexpected whitespace are common (Excel loves sneaking them in).
- Decide governance: who owns future edits to this list?
Tool 2: PowerBI OptionSet Assistant (reporting-friendly choices table)
What it’s for
Creates a table populated with option-set values for reporting models—useful so Power BI can join on numeric values and still show friendly labels.
When to use it
Use it when:
- Your reporting team needs stable label/value mappings
- You’re building a semantic model and want a clean “Choices” dimension table
Gotchas
- If choices change, your reporting table must be updated (build this into your governance process).
Great guide angles (easy “mini-guides” inside this article)
1) Bulk standardization
- Standardize libraries across forms
- Standardize field required levels/visibility
- Standardize view columns
2) Clone/copy patterns
- Golden view → replicate layout
- Golden form → replicate field behaviors
- CSV → create governed choice lists
3) Governance (naming + dependencies)
- Prefix rules
- Solution-first approach
- Dependency checks before refactors
4) Avoiding unmanaged-layer surprises
- Always know what layer you’re editing
- Prefer solution-managed customization
- Document changes like you expect to debug them later (because you will)