Okay, so I am not 100% certain how best to skuidify a particular page in my environment. We use a product called E2CP (E-mail to Case Premium) to send e-mails to the customer, and they use a VisualForce page that contains all the relevant fields for their product, as well as a simple block of the VF page that allows me to add my own custom fields.
For obvious reasons, I’d like to be able to turn this into a skuid page, but I am not sure how best to approach it. I could clone the VF page and try to edit it to include skuid components, but I fear that would mostly just be a wrapper around the problem.
The E2CP VF page is what (to the best of my understanding) fires off the triggers when I send an e-mail, so simply adding new information into the Body of CaseComment will not fire off an e-mail, and the E2CP SObjects don’t seem to contain a ‘comment’ section.
I’m not sure that I am looking for an answer, so much as guidance on how best to proceed, since I don’t know if anyone else has ever run into this situation.
Korey,
Depending on how you want it to look in the end, you have a couple of different approaches. If you are basically wanting to include this App in a Skuid page, you can iFrame it. Rob recently wrote up a pretty good response to a question concerning a different app, but the approach would be the same.
However, it sounds like what you really want to do is give the E2CP interface a skuidification. Without really getting under the hood, it’s tough to get too specific, because it depends on exactly how they’ve built their app. For instance, any triggers or workflow rules they’ve built should still fire when records are inserted/updated. If you build models on the objects, you should get this functionality automatically. From your question though, it sounds like their Visualforce page is displaying input fields / textareas that are not bound to actual Salesforce fields, with Apex Controller logic behind the scenes (which you more than likely are not able to tap into) that is doing something with this data. This makes things a little trickier.
Assuming that you can tap into the Controller logic outside of the provided Visualforce page, you may be able to write your own Trigger(s) which call the Controller methods that you need when records are inserted/updated. You would basically be trying to replicate the logic in the Controller in your own Trigger(s).
Another approach would be to try to access the Controller methods directly, and call them via your Skuid page. You’ll need to create a new Visualforce page for your Skuid version of the E2CP interface and point it to that Controller. Alternatively, you could try creating a new Controller for the Skuid page, which contains wrapper methods to get at the methods you actually need. Skuid can access any Remoting methods on this Controller, so it would take a bit of Javascript, but that may work (check out our skuid.model API docs for some help on after save actions).
Of course, all of that is pretty high level and comes with the caveat that E2CP may have put something in place that would specifically prevent you from doing any of this. They also may push an update and break it all. Still, I hope that this helps you out, or at least gets you in the right direction.
Thanks for the in-depth response back!
I ended up going with a pop-up with a template iframe (the first option). I looked at the other options, but the time vs reward of having to possibly update everything every time they pushed a new release did not seem worth it. If I find a better method than the iframe, I’ll post it here, but I am going to use that for now, since I have at least one other app that would require the exact same approaches to make work.
No problem! Glad to help, and thank you for being a part of our community.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.