Hi,I have developed workflow with emails using the solution email script (iw_solustion_email.ipl). However, I find that since it uses tpl, it makes the script very complicated and it is hard to manage. I have also used my own custom perl script (in external tasks) to send emails, which was much more manageable and I had full control over it.Currently I am building a workflow that requires emails. However, I want to know which approach (the 2 mentioned above) is used widely by IW developers. I want to get a sense of how people approach it when it comes to email in IW workflows.Please let me know if you have any input,Thanks,Anna
I would recommend to use the Java/XSLT route if you are starting fresh. Because1. TPL is considered obsolete.2. OOTB TS will have less and less Perl in the future.3. Java/XSLT is freely customizable, it won't do less than the Perl solution.4. More scalable.--Michael
1. Ok.2. I am sure we will continue to support both. But just OOTB, we are doing less Perl.3. Answered in the other thread. Thanks for the feedbacks, BTW.4. We do encounter scalability issues when using a full-fledged Perl external task workflow system. In a heavy loaded system, we could see high number of Perl invocations per second. This uses up system resource much faster than a Java threading system.I would want to add #5.5. XSLT is an open standard, while TPL is proprietary. That means you maybe able to reuse your solution here in other places or vice versa.--Michael
Michael & Adam, I like this thread. Hopefuly Sunil is following this as well. My concern is similar to Adam's. I am having trouble doing some of the basic functionality that I depend on in TPL with XSLT, I also notice similar loss of functionality with WFM as compared to WFT. I understand this is bound to happen, because when you have Perl, you can write anything. It is going to take time to get us kicking and screaming into the WFM/XSLT environment. Sounds like a good GearUP topic, when you did this in a TPL, this is how your XSLT will look instead.
Strictly IMO, XSLT is a verbose monstrosity good for (perhaps) performing a limited set of specific transformations upon large volumes of XML encoded data - and little else.
Sure, it is Turing complete and has certain perverse Functional Language elegance comparing to Procedural Languages likePerl. As a general purpose programming language it is (again IMO) plain absurd. Just think DB Request, HTTP (or any other protocol level) Request/Response or DateManip sort of processing in XSLT. Certainly, classical loops can be generalised (to the delight of brain-dead CS College Professors) as recursions. It is shooting sparrows with the cannon though, sillyeven if effective.All that is perhaps one of the reasons why in the new schema we have to do XSLT + Java Data Sources to achieve anything morecomplex than bracketing DCR Item value into an anchor tag. End of day, you have three modules with ~150 lines of code in twolanguages in the place of (former) 15 lines of the original PT Perl - but it is certainly *more scalable*.
The biggest problem I've seen is cases where poorly written Perl was involved (I once got a customer a 60% improvement in performance simply be re-writing their scripts) - however, I'll consider your statement as reasonable advice (though I think if we made use of mod_perl or similar, that the difference wouldn't be that significant... haven't ever tried it though)
Strictly IMO, XSLT is a verbose monstrosity good for (perhaps) performing a limited set of specific transformations upon large volumes of XML encoded data - and little else. Sure, it is Turing complete and has certain perverse Functional Language elegance comparing to Procedural Languages likePerl. As a general purpose programming language it is (again IMO) plain absurd. Just think DB Request, HTTP (or any other protocol level) Request/Response or DateManip sort of processing in XSLT.All that is perhaps one of the reasons why in the new schema we have to do XSLT + Java Data Sources to achieve anything morecomplex than bracketing DCR Item value into an anchor tag. End of day, you have three modules with ~150 lines of code in twolanguages in the place of (former) 15 lines of the original PT Perl - but it is certainly *more scalable*.
I am both a Perl coder and a Java coder too. I need to provide the exact feature in both Perl and Java from time to time. In one case, doing it properly in Perl, I wrote 1 Perl script plus 1 Perl module in 8 kB source code in 2 hours. Doing it properly in Java, I wrote 14 classes in 88 kB source in 6 hours. I totally understand the development difference between them.Then I put them in test, and the Perl script still won the performance in some degree for the execution time. Only when I put them in a system for heavy load tests, there the Java code started to shine.--Michael