Skuid deep dive: using Skuid with Salesforce Communities

– [Ben] Okay, hey everybody this is the first Skuid dev talk that we’ve done And today I’m Ben Hubbard and I’m a developer here at Skuid and I’m going to talk about Salesforce communities and then do a little bit of a dive-in to how we use Skuid on that Salesforce community So I’m going to go ahead and log into my dev work And this is a brand new org I spun up and the first thing I did when I got this org is I went to customize And there’s this community link here that says new Now some orgs, you won’t even see this, a lot of older orgs, you don’t get this option, especially if you’ve already enabled a Customer Portal or a Partner Portal I think you have to call support and get them to do a bunch of stuff in your org for that to happen But if you haven’t enabled a portal before or this is a newer org, you’ll get this community button Typically you’ll click on Settings and it’ll ask you to Move to using communities in your org and this is a non-reversible process, so once you do it in your org, you can never go back and you have communities in your org One of the things it does is it gives you this header up here That is a little different than the normal Salesforce header You can edit your, go to your setup menu, contact information, so it’s basically all the same stuff that was here But it’s now a different layout in your Chatter pictures, it shows up here in the corner I kind of find it a little I find the vertical space on your screen kind of important, so I don’t know how I feel about this header always being there, whether you’re internal or not, but it’s there So if we go to communities, we can click Manage Communities and then um There won’t be any communities here to start but you can click on New Community and you can create a new community I called my Skuidmunity And you can go ahead and edit the community here When you first setup the community, it asks you a couple things like give a URL And a couple other things, but this is the UI for working with your communities The first big advantage of communities over regular portals is the fact that you can you don’t actually specify individual members to be members of the community You specify member profiles or member permission sets So if anyone has the system administrator Profile or the customer community user profile, they will be in this community, they’ll be a member And when you save this, any new members that you’ve added will get e-mails immediately saying hey, you’re part of this community, you can sign in You can also do it based on permission sets The next thing is tabs and this is exactly the same functionality as our old Customer Portals So you can say which tabs you want available to your community Branding lets you pick colors and all this stuff for your community There’s color schemes that you can pick, so you can do tan or Aloha Blue if we want, but I’m gonna stick with tan for now Save that Bottom page, there’s a little bit of customize ability for your login page Change the header and doing interesting things here And then you can edit your e-mail, but this is basically the admin, point-and-click admin area for communities It’s pretty simple The things that communities add, which I’ll go into a little later, is now your portal users have access to Chatter, they can post to Chatter and be part of groups and all that

And there are a few other advantages that I’ll get into in a little bit But now that we have our community set up, which when I did it, it took me like five minutes to get all the settings setup in the lab, logged in and all that I’m going to go ahead and ah, I keep clicking on the wrong thing If you click here, it takes you to community, but if you click Edit So right now it’s offline, I’m going to click Publish and put it online So right now we have our members, our people, who have the customer community user profile or this administrator profile so let’s see how we add a new member to our To our community Let’s look at some of our contacts Now how portals work in Salesforce, and the same with communities, is they allow your contacts to become users of your system So how it’s always worked is you first have to have a contact, no one can log into a portal without having a contact record So you first have to generate a contact, then you click on a contact And when you have a portal enabled, you get this additional button over here that says Manage External User You can click Enable Customer Users So now what this is doing is actually creating a user account that’s linked to the contact records And this is where we can talk a little bit about user licenses for communities There are actually a lot more user licenses than this, but they’ve all been deflacated or are no longer it Salesforce will not sell anymore of those other license types But the ones they are still currently selling are authenticator websites, customer community, customer community login, which is the same thing as customer community, but it’s a charge-per-login type license Customer portal manager And I’m not going to go through all of these, but The authenticator websites can use communities, but the big difference about authenticated website is it’s quite a bit cheaper than the other licenses, but also, the big feature that it doesn’t have is it doesn’t have access to sharing settings So with an authenticator website, it can only see items that have a sharing mode of global public Or it’s the owner of a record So if you think of when you’re designing your apps, or when you think about what license do I need to build the functionality I want? Is this portal something where members of the portal or community will never be sharing access to records that other people don’t have access to? So they can share records to things that are publicly available, but if you ever want a group of people seeing a certain record, but other groups of people not seeing that record, then authenticator website is not the license type for you Customer community has all that functionality A couple things the customer community doesn’t have, I believe Also, read the documentation if you really want to be sure that this is kind of I just did some cursory read-throughs on the documentation, so I could be wrong on some of these, but I believe they don’t have access to some of the standard objects, like opportunities and assets and things like that But for now, we’re just going to give our new users the customer community license and Profile of customer community user and let’s change her e-mail to something that I’m gonna actually get, so I can log in Well, let’s see Ashley At Skuidify.com You can leave all that And go ahead and enter in this user Okay, so Ashley James is now a user and I should be able to check my e-mail and see that Ashley got invited to the Skuidmunity And her username is AJames@uig.com and she can click here, set a new password And now she’s logged into our community

Notice since she’s just a community user and not an internal user, she doesn’t have any access to other communities or the internal stuff like Like I did, logged into my internal org But as you can see here, there’s not much here in this community, there’s just a home screen with my pass that really doesn’t have anything here So what we can do is we can go back to our Manage Communities Um, where is it? Click Manage Communities Edit and then go to Tabs and we can add some more tabs So let’s go ahead and add Chatter to our community and click Save so that Actually lists let’s log in a different profile for Ashley so that we don’t get things confused All right, so what we can do to get the login for this community, we can click Edit again Go ahead and copy this And right here paste it Okay so there’s AJames@ what is it? – U-O-G – [Ben] uog.com (talking off microphone) Okay So now we know that she has the Chatter tab as well – [John] Well one thing that’s really interesting too about from the other portal, the portal look in general It made it look much more like a standard Salesforce – [Ben] Yeah that– – [John] As opposed to the other are really boxy, really ugly This is – Yeah Yeah (laughs) – Less stuff – [Ben] They have improved the look quite a bit And I mean they basically made your communities look a lot, like what John said, look like a standard Salesforce except you get a couple more color schemes that you can add So yeah, now we have Chatter so AJames can say Chatter Test Share and nothing written but Chatter on this community Okay, so now let’s dive into putting Skuid into this community Because we want to use a lot of the rich functionalities Skuid has and what we want to see here in this community So we can go back here And what I did, is I installed Skuid into this org I created a page called Contacts Tab And this is just the default template for a tab page I have not made any customizations to it, but it looks like this on the internal use And the other thing I did was I went to Setup And I created a custom Visualforce tab called Contacts Tab And we edit this, you can see that it pulls in the Visualforce page SkuidTab and let’s go view that Visualforce page There it is And what this Visualforce page does is called the Skuid page component and pull the Skuid contacts tab So yes, you have to write a little bit of Visualforce here, but it’s pretty simple Visualforce It’s calling Skuid And this is one way that you would add a regular Skuid page to your internal app So it basically works the same way So let’s go back to Setup And let’s go to Customize Communities, Manage Communities We’ll edit this So tabs and now what we can do is add our Contacts Tab Okay, so now I’m going to go back here and refresh and it’s not gonna work because– (talking off microphone) Well what color was I on? – Red – It was on red? – Yeah – [Ben] Okay Well if I refresh here

Now when I click here, it’s gonna give me a, probably a big mess here, a message, we’ll see what happens And it did That’s because portals don’t give you nice error messages, for one There are some permissions issues with this user that don’t let it access Skuid yet So we’re gonna have to go fix those and if you really want to know what errors are going on, you’d have to go to debug blog and figure it out But if you just follow some of the procedures in the Skuid, there’s a Skuid tutorial on giving permissions to other people and it’s basically the same for that So I will go through that real quick So the first thing we have to do is We need to give Allison a Skuid license – [John] Ashley – [Ben] Ashley, yeah – [John] She’d be very insulted (Ben laughs) – [Ben] All right, so let’s pull up Ashley James’ records and let’s give her a Skuid license So if I’m using a trial I get five Probably if you’re using communities extensively, you may want to talk to our sales guys and get a site like this so that everyone already has the Skuid license and you don’t have to deal with creating or provisioning all this stuff The next thing you can do is you need to give them a permission set of Skuid page viewer We’ll add that, click Save Now, close that So now if I go to the Contacts Tab I can see the Contacts page that I built in Skuid and I get all of the functionality of Skuid inside of the community Now one thing to be careful about is your sharing settings because if you had your old sharing settings for all your internal users and you decided to Make a community and you didn’t adjust your sharing settings then they’re still the same and actually this person now has access to all the contacts in your database So you need to be careful about thinking about your sharing setting before you setup a community And a cooler feature coming in Winter ’14 is you can have actually two different sharing settings for internal and external users, which is, I think, a really big plus for people using portals or communities So the next thing we’re going to do is we’re gonna, let’s say that you have some really picky people at your company and they want to totally customize this look and feel and Don’t want anything standard here They just want Skuid and A custom look and feel, so I actually haven’t tested this yet so this is gonna be me trying to do this in (laughs) yes (John talking off microphone) Doing this in real time, so let’s see how this works Let’s go back to our community Edit and let’s take off all those other tabs We’ll get rid of the Home Save that – [John] Oh, you can actually take the Home tab off now? – Yeah, I guess so – That’s a new feature, that’s awesome – [Ben] And I think there’s somewhere you do the Landing tab, but Where did that go? Maybe not So let’s go back to our community – [John] The login page (talking off microphone) – [Ben] Yeah, yeah, I’m tryna think about where that goes. I’ll have to refresh Okay, so all we have is the Contacts Tab So let’s go ahead and turn the header off in Skuid for this Contacts Tab Show header, default (talking off microphone) Oh yeah, that’s an excellent point by John it has definitely saved me just now

(laughter) So let’s go back to the Visualforce page That’s a good point If you’re using the Skuid component and not the other way of using overrides, or using the page actions to invoke Skuid, you have to do your header stuff inside the Visualforce page, so Where is it? Right here? – Yeah – [Ben] Yeah, there we go So we’ll set up this And do Save that (talking off microphone) The sidebar won’t show up if If you don’t have the header still Okay, so now we have just the Skuid, no header, but now our margins are kind of ugly and stuff like that So we want to go in and make this pretty So now this is the point where you need someone who’s familiar with HTML, DSS and JavaScript to go ahead and make your page look pretty So let’s just write some quick HTML JavaScript just so you can see how that works So we can do that right here on our Visualforce page and probably, if you’re doing this right, you’ll want to use a template or a Visualforce component to make your code more modular and stuff like that But we’re not going to do that right now We’re just gonna wrap this in a div and call it Wrapper And then we can just do an inline script tab This is not how you should write code, by the way, there we are But it works for a demo – [Zack] You can also edit the NX page file within that inline PSF in Skuid – [Ben] Oh yeah (talking off microphone) That’s true I’m gonna do this for now, but Zack is right You could do that (talking off microphone) – [Zack] A style text, a script text (laughter) – [Ben] Well that’s not exactly piling on (talking off microphone) There actually is right and wrong in that scenario (laughter) So we’ll do a quick save there and then go back to here and As you can see, we put some padding around it, we can put our company’s logo up top and we can do all kinds of things And we’ve seen some people do some really, just recently We’ve seen people do some awesome stuff restyling Skuid and just making it look exactly how they wanted it But yeah, this is Skuid in a customer community without all of the community Salesforce stuff And let’s just go ahead and add some more features to our page Just to show off a little more – [John] You can grab that (talking off microphone) – [Ben] That is true Then I have to do, that sounds like too much work for me right now – [John] It’d make our viewers sick (laughter) – [Ben] Okay, so I’m gonna add a little bit more functionality to this (mumbles) It’s not gonna be all that Useful, but it’ll show the power of Skuid here So we can add a tab set Down here and we could add a couple tabs Name them different things One thing in here, that you’re a little bit familiar with how Skuid works, so this isn’t necessarily a Skuid demo, this is using Skuid in a community Let’s go back to this page Refresh and we have our tabs sitting on the bottom – [John] How does it work with like going to other records? Is that any different in a community? Where like clicking on like on James Gray’s name, what does that do? Is that the same or? – [Ben] That’s a good question, let’s see what happens And this, I’m thinking this is probably just gonna take you to a standard page and bring your header back or it’s gonna tell you you don’t have privileges So you’d have to do a little bit more setup in your community to give them access to certain records and things like that A lot of times with portals, we don’t necessarily override the individual objects, we do a little more custom stuff with custom lengths and since– – [John] Are you trying to essentially encapsulate the entire screen – Yeah – [John] As opposed to relying on the underlying defaults – [Ben] Yeah, but I have done overrides and they work if all the permissions are set up right

– [John] But the implication of that is you also override it from the underlying org, as well – [Ben] Yeah – [Zack] What you could use, you could a definement to just override it for the community profile and so then it would only go to one For that profile, it would go to a certain thing That’s one of the ways to do it (talking off microphone) – [Ben] Yeah, I can – [John] With the caveat that it’s very, very, very, very custom (laughter) – [Ben] Sure Yeah, here’s I’m going to login to a portal that we’re working on with one of our customers All right, as you can see here this is a custom login page This is not using communities, by the way, this is using regular customer portals But from what it looks like, you can do all this custom stuff with communities as well So this is just a Visualforce page that we wrote, this is not using Skuid here We just did a lot of CFS and JavaScript Let me make sure Just click Log In This is a sandbox, so the SSL search not there And then this is the first portal page Now this is using Skuid models to pull data from Salesforce There’s no apex pulling any of this data in What it’s not using is standard Skuid components, these are all custom Skuid components that were built and custom JavaScript and CFS was written But as you can see, with Skuid you really can do Whatever you want So whatever you can do with JavaScript and CFS and HTML, you can do with Skuid And you can use Skuid as just your server binding Or you can pull in some more standard components, too So like we can search for different things If we search for that, we can pull in different charities (talking off microphone) Yeah, like if we go here (talking off microphone) Yeah, this is actually a Skuid tab set on the side that’s been restyled These are all Skuid tables that have been restyled We’ll actually have a lot more styling work to do here on this table, this is not done This is another tab set that’s been restyled Yeah, there’s just a lot of custom functionality This is running on a Salesforce portal, this is not front external, this is all native You can go ahead and edit profile settings for this person (talking off microphone) (laughs) Yeah we can’t do that, but So yeah, this is just some of the power of portals and Skuid that you can do You guys have any other questions or anything that you think it would be cool to go over um, with communities? (talking off microphone) I don’t, I haven’t’ researched that (talking off microphone) Yeah, it’s probably the same differences, the difference between a Customer Portal and a Partner Portal I think they kind of just upgraded those together So I guess to recap, the big advantages to communities over Portals, and I guess I should say differences Some of them are I wouldn’t say are advantages But the one thing is is you get this header that’s always there, whether you’re in the community or not I don’t know if Salesforce is going to do more with this later, but I’m pretty sure you’re stuck with this header if you enable communities in your org The advantages to communities is You get Chatter, so that was a big, big request that now we have You get– – You can remove the Home tab – [Ben] Yeah, you can remove the Home tab You get more standard Salesforce-looking styling instead of the 1995 portal stuff The other really big thing is you don’t assign people

to communities on an individual basis like you do portals You assign them based on profile or permission sets and so it can make admining a lot easier – [John] And actually the setup looks to be quite a bit more streamlined, too They thought about (talking off microphone) – [Zack] Yeah, I like that quite a bit – [Ben] Yeah, it is kind of weird that it’s like a totally different design paradigm than the rest of Salesforce I don’t know if they’re working on maybe unifying that so that everything looks like this or if it’s just gonna (talking off microphone) Seems kind of (talking off microphone) Set the default what? – [John] The default nav that (mumbles) – [Ben] Oh, it’s probably just the first But we can test that out though Let’s log out and log back in with the– (talking off microphone) No, I want to see if it’s comes, yeah (talking off microphone)