Skip to main content

I’m trying to make a mobile version of a series of Objects and (skuid) Pages that I refer to as the Portal. This portal uses Opportunities and 4-5 custom objects, and is used very often by our brokers and sales support reps. The first question I had, was do I develop this in Salesforce1 or Skuid mobile? I decided to do both! I love skuid’s ability to add custom actions, which Salesforce1 is lagging behind in. I can also reuse a lot of my Javascript from the desktop pages. I also love the way Salesforce1 looks, which (no offense) looks a lot prettier than skuid mobile. I am trying to use Salesforce1 for most of the look and feel, and use Skuid mobile for all of the custom actions that we use. My first question is, is this a good idea? Socondly I’m trying to add custom publisher actions as visualforce pages that redirect to my skuid mobile pages. I keep getting an ugly looking half page thingy that looks like this:



How can I control the height? My VF page is simply a Javascript redirect to the skuid mobile page. Why is the height weird? Also I have been using page titles to display messages with the following code:

var pageTitle = $('#UtilityAccountErrorPageTitle');<br>var editor = pageTitle.data('object').editor;<br>editor.handleMessages(s{message:'The following Utility Account Numbers have an incorrect format: ' + errorStringS0], severity: 'ERROR'}]); 

This syntax doesn’t seem to work in the mobile version. Are there any other major API differences I should be aware of?

Anyone?


Hi Moshe, I haven’t experimented with Publisher Actions much myself, but have you tried to use the skuid:page component in the Visualforce page instead of the javascript redirect? That might work better.


I forgot to answer your question about the API differences between Standard Skuid and Skuid Mobile.  Most of the API is exactly the same.  You will find a few cases where there are holes in Skuid Mobile.  We’re working on plugging those as we get to them, but the idea is to make the APIs the same wherever we can.


OK how would I use the skuid:page tag? My page name is “Mobile_CreateOpportunity”.


I think <skuid:page page=“Mobile_CreateOpportunity”/> should work.


It doesn’t seem to be working… I wrapped that in a skuid:page tag.
apex:page

<skuid:page page=“Mobile_CreateOpportunity”/>

</apex:page>


Sorry for doubting you Ben, I had the page spelled wrong… But I still can use some help on including a Skuid page as a VF page as a global action! I have the global action set up like so:

f2b0a5b00d1eac8b49398e9c60e5a1e88cb4d958.jpg
I have the Skuid mobile page showing up but it’s still in this little box that looks like this:



I’m setting the height on the global action to “700px” which is bigger than that… Is there a height attribute on the “skuid:page” element? Is it not recommended to include Skuid mobile pages inside Salesforce1? Any ideas on what I can do here?


Hi Moshe,

I think later this afternoon I’ll have some time to try to build out something similar to what you’re trying and see where I get.  It would be great to be able to do this with Skuid Mobile and Publisher Actions.  I’ll let you know what I find once I get started.


Thanks Ben, I understand that skuid mobile was designed to run as a complete standalone mobile framework, but I just think it would be really cool to be able to mix the best parts of Skuid and Salesforce1.


Hi Moshe,

I just put together a setup pretty similar to yours.  I’m getting the same behavior for pubisher actions in Salesforce1.  It looks like Salesforce1 is trying to figure out the height of the visualforce page before it’s totally ready.  We can’t fix the height that Salesforce1 allots after the fact since our code is in an iFrame from a different domain “skuid.instance.visual.force.com” from Salesforce1 “instance.salesforce.com”.  I think this is something that Salesforce would have to fix on their end, or provide a way for the Visualforce page to let it know when it’s done rendering.

Another thing you should be aware of… If you are planning on having iOS users, there is a pretty nasty bug with Visualforce inside Salesforce one that has to do with input fields.  There’s a small description here.

https://success.salesforce.com/issues_view?id=a1p30000000T5l1AAC

The bug is actually a lot worse than is described there.  Basically, any time you tap on an input that is already selected, that input will stop working.  Personally, I’m not recommending putting any Visualforce into Salesforce1 until Salesforce and Apple work this one out.


Thanks Ben I actually ended up putting my VF page containing the skuid page into a VF Tab, which I pulled into my navigation menu. It works pretty nicely.



When you click on the VF tab it loads the skuid page nicely (it looks even better on an actual phone…)



From here I have a couple more steps/pages that I redirect to, all within Salesforce1!

One question I have remaining is URL based, I am redirecting from one skuid page to another via a URL like this:  “/apex/skuid__ui?page=MyPage&id=MyId”. It works great in SF1, it’s just that when I redirect from one of those pages to “/MyId”, instead of showing the SF1 version of the record, I’m getting sent back to the Desktop page view. This is probably a URL thing, but anyway it would be really cool to have separate page assignment options for mobile users or desktop users (assuming that they all have the same profile…).



We have had “separate device” page assignments on the list since we started working on Mobile last year.  However in the mean time,  you just need to make sure you have the full link to the Skuid page in your redirects.