Change CRM SDK so that it supports rendering extension anywhere else in the UI
Blackbaud CRM SDK doesn’t currently support rendering extension anywhere else in the UI. With the “guided experience” or wizard forms, it seems an oversight that extending them wasn’t well thought out.
With RenderStyle = "AfterParent"
• The Extension content renders on the first tab after the parent content
• Nicely, the wizard status bubble image respects required fields from the extension
• BUG: The TabCaption attribute in the extension spec is not being respected, instead it's using the form header from the extension if present, and no value otherwise.
With RenderStyle = "Tab"
• The Extension content renders as a new tab in the UI (the tab is added to the end of the tab list)
• ISSUE: the tab doesn't contain the status bubble - depending on the complexity of the solution, we might classify this as a bug. It could also be classified as a feature request since we've never had an occasion to extend a guided-experience form. Even if we classified as a bug, it may not rise in severity to the level needed to issue a patch.
I think both RenderStyle, AfterParent and Tab, should be treated as bugs, simply because extending the form either way would not yield the desired outcome. Additionally, there is no way to place the additional fields on specific tabs. I believe this behavior is inconsistent with the rest of the SDK and Blackbaud Development Guide.
It’s not so much a problem with wizards, but with the tabbed environment in general. The wizard experience is really nothing more than the tab view with the tabs being rendered slightly differently. It may be that it wasn’t completely thought out, or it might simply be an unforeseen/unanticipated situation. I couldn’t say for sure, but I’d hazard a guess that no one thought that someone would want to add fields to a specific tab, they would either render it after the parent (single form case) or as a new tab. The UI is constantly evolving, and the guided experience is one of the newer ones, and it’s simply not 100% fully extensible as we’d all like. Personally I would like to see an easier way to add fields to specific tabs, but there doesn’t appear to be a good way of going about it with the current platform architecture.