Using Nested Subforms can Crash Designer
Category Bitching Lotus TechnicalWhile trying to help me figure out a PIA problem with DDE yesterday, one of my co-workers found this on IBM's site: IBM LO58909.
Yes, you read it correctly. Using nested subforms can crash DDE. Wow. I don't know about you, but to me, this is a big deal. If you think it is a big deal to IBM, and that perhaps they have top men working on it right now, you are sadly mistaken:
Problem conclusion
A programming error was found but will not be corrected. It will be a permanent restriction.
Very interesting. This isn't a big enough deal for IBM to bother fixing. It is their product after all, and they do have limited resources. If they're not going to fix this bug then there must be a simple work around, right? Wrong again:
Local Fix
Do not use nested subforms.
<bitching>
Whaaaat?
They can't be serious, can they? Do not use nested subforms.
Wow.......I am just....stunned.
Perhaps I'm wrong. Perhaps this just isn't that big of a deal. Perhaps I'm just overreacting. Perhaps I'm the only developer out there who uses nested subforms on a regular basis. Perhaps using this technique is a newbie mistake. I've only been a Notes developer for 16 years -weaning myself from nested subforms must be something that just comes with experience.
Effectively ceasing all maintenance development on thousands of production applications can't be that big of a deal, right?
</bitching>
<doing>
- Freeze the design of all your existing applications. Do not use nested subforms for all future development. Tell your users that their existing applications must remain as they are, and that no future enhancements will occur. Your users will probably complain, but who cares what users want?
- Migrate everything to XPages. XPages rock and are awesome! Everything else ever created sucks and should be replaced anyway. Start planning your migration now. Your users will love the new UI, and I will appreciate your consulting dollars. --Seriously though: if you are considering migrating to XPages then do yourself a favor and find out how we can help.
- Do not use nested subforms. This means changing your current development patterns, re-working all templates for future development, and completely re-developing any existing applications you have. I realize this is not going to be popular and may cost hundreds of thousands of dollars, but it is the IBM recommended Local Fix.
- Use computed subforms. Yes this is a PIA and involves very similar effort to the previous option, but it avoids a complete re-design of pretty much every form and subform in your arsenal. Instead of actually embedding the nested subform(s), use a computed subform formula. The up side of this is that DDE won't crash. The down side is that your application will now run slower than before, but who cares about performance?
- Downgrade to an older version of DDE. I do almost all of my development in VMs, and very rarely need to "bust out DDE" on my main work environment. So I can use the latest / greatest Notes Client for my non-development work, and then fire up a VM with version of Notes installed appropriate for that development engagement. This allows me to effectively support any client who might still be using older (even really older) versions of Notes. Replication and design refresh still work just fine. The only real down side with this solution is the licensing costs for the various clients and OS installations for all of the VMs. This solution -while not optimum, will work. Unless of course you want to work on an NSF that uses both XPages and Nested Subforms. In that case you're screwed.
For those of you who do use nested subforms, I offer the following options:
-Devin

The Pridelands
Chris Byrne
Show n' Tell Thursdays



Comments
Rats, I think I use these in the Sessions db. The one that now has XPages. Argh!
Posted by Ben Langhinrichs At 11:42:03 AM On 12/22/2011 | - Website - |
Wow! That is unbelieveable! Will you be bringing this up at Ask the Developers?
BTW, I think you need to change that <doing> tag to <bitchingANDdoing>
Dan
Posted by Dan Soares At 11:44:18 AM On 12/22/2011 | - Website - |
Posted by Devin Olson At 12:57:36 PM On 12/22/2011 | - Website - |
Posted by Steve At 01:44:10 PM On 12/22/2011 | - Website - |
Taking the technote at face value this is certainly unacceptable.
Posted by Kevin Pettitt At 05:01:00 PM On 12/22/2011 | - Website - |
Oh. Except that the DXL import might crash. Sorry, never mind.
Still a bit taken aback that they know it's a bug, and know why it's a bug, but have decided they're just not going to fix it. In their defense, though, I can see why they might not consider it a priority... subforms have essentially been a legacy feature for three years now.
Posted by Tim Tripcony At 05:34:34 PM On 12/22/2011 | - Website - |
Unfortunately the SPR was incorrectly categorized and was not actually assigned to the Domino Designer team. We do operate as a part of a large team (Notes/Domino/Admin/Designer) so unfortunately sometimes issues that come in from the field are miscategorized and can sometimes be closed out without the correct people viewing the issue. That was the case here. It should not happen, inevitably some issues do fall through the cracks. I reassigned it back to the Designer team.
However, looking at the SPR history, the issue was first reported against Domino Designer 7.0 (yes, 7.0 - 2005). At that time a crash stack was provided. The issue has been reported to IBM support twice since then. So in 6.5 years this has been reported to support three times. The stack provided is not conclusive, so it is not obvious where this failure is occurring. If you have experienced this issue I would urge you to call support, as it is a lot easier to justify spending time on issues if there is customer 'weight' behind them. As it currently stands there is a minimal amount of 'weight' on this issue.
We understand that subforms are important, and if this is a widely reproducible (or even reproducible) issue we will certainly look at fixing it. But judging from the development comments in the SPR history this bug has been difficult to reproduce, so I do suspect that it is a far more intermittent problem than the support APAR would leave you to believe?
Posted by Dan O'Connor At 08:11:06 PM On 12/22/2011 | - Website - |
Yes, I can reproduce the issue. I will contact "my people" and have them contact "your people" so we can get some weight behind this.
Posted by Devin Olson At 07:46:30 AM On 12/23/2011 | - Website - |
Have a good one!
Posted by Dan O'Connor At 10:03:19 AM On 12/23/2011 | - Website - |
Any chance any of the relevant subforms might have an "InputEnabled" formula on them? That particular control has some "issues".
Posted by Nathan T. Freeman At 12:27:32 AM On 12/24/2011 | - Website - |
Briefly: expandLevel property in a view control in XPages doesn't work properly.
The masterminds came up with this local fix and apparently that's it.
Local fix:
Remove any one of these three factors:
- The readers fields from the documents.
- The "Don't show empty categories" property from the view.
- The 'expandLevel' property from the view control.
Posted by Vitor Pereirat At 04:31:12 PM On 01/02/2012 | - Website - |