I need to have a custom widget on Salesforce Service Cloud Console. I don't really care where it is as long as it's easily accessible (kind of like the Softphone widget).
I need this for two reasons:
I need a quick way for users to change their "status" (a custom field on user).
I need to execute some custom javascript to hide certain elements from some page layouts.
Any idea if this can be done?
Note: when I say "Service Cloud Console" I mean this kind of console:
I think Custom Console Components may be what you are looking for? (Here is how to add them to the console once you made them. Note that after the 11 steps, it says 'Before you can access ...'.)
I have implemented similar thing using a custom console component , there you can add a visual-force page and add a button on it "Change Status". Once user clicks it get who is the logged in user .
String userid = UserInfo.getUserId()
rest is the simple logic to change the status on User record on the page controller.
Related
The question is about the custom visualforce page in Salesforce. The page is created for getting contacts, opportunity, loans all are at a single dynamic link on the account named "Manage portal Access" Which comes under "Customer Portal Access" Tab like details and related list under "Account" Tab.The page was created to Manage the customer account, contacts and opportunities relationship. The page contains Email, Role, Last Login and a Toggle button as "Enabled".When this toggle button is enabled, those users have access to this portal relationship. It has respective apex class also.
The task here is, the toggle button can be enabled/disabled by some users, this want to be changed here by providing Read only access and assign two permission sets for edit access on this portal enable/disable.
" As a user I want Read Only Access to the portal tab. I want to be able to view all information on the tan and click through any dynamic links, but not be able to toggle the portal enable or un-portal enable any contacts. All Salesforce users should have a minimum of read only access to the Customer Portal Access Tab. The two permission below currently and should continue to provide edit access to the customer portal access section.
Create Customer Portal User
Document Manage Portal Admin "
Whether there is any customization option like providing access to objects in Salesforce through (Layouts, Fields FLS, Validation Rule)?
Or
-This can be achieved only through code on Visual force page and it's respective apex class, if this is the case how can I do it, whether there is any certain command or method for providing access or through controller class?
The "normal" object permissions (Create/Read/Update/Delete) and field level security (Read/Update) can be referenced in Visualforce. Something like this might be enough for you:
<apex:commandButton disabled="{!$ObjectType.Contact.fields.Role__c.updateable}">
Check the DescribeFieldResult in Apex reference. There's also something mentioned in VF developer guide but it's bit hidden and not as detailed: https://developer.salesforce.com/docs/atlas.en-us.234.0.pages.meta/pages/pages_variables_global_objecttype.htm
If you need more control than just whether field is editable or not - maybe look into Custom Permissions. They're your own checkboxes you add to Profile/Permission Set and you can check them in pure VF too, no apex required.
So... you decide. If most of the page is supposed to be identical, "just" about the button being enabled/disabled (or maybe even not rendered at all) - it's best to put the condition in the button. If it sounds like you need 2 different layouts - having 2 big blocks of code and one or another rendered might be cleaner to maintain and test.
P.S. Remember that good tester can activate the button using browser's developer tools. You should make similar "is field accessible / is custom permission assigned" check in Apex that runs on button click.
Currently the list component just shows all items (links) but I'm trying to find a way to hide a certain links, based on the logged in user role.
It seems that [Plugin:Equals] and [Plugin:NotEquals] tags allow us to conditionally show/hide the links, so I think this is probably the approach can try. But when it comes to getting the user access role/group info, I feel a bit stuck.
For now, I am only able to find the following fields that are available for use:
${wp.user.cn}
${wp.user.sn}
${wp.user.uid}
${wp.user.preferredLanguage}
And the online document doesn't say much either. https://www.ibm.com/support/knowledgecenter/SSYJ99_8.5.0/dev-theme/themeopt_el_bean_user.html
So is it possible to get the assigned user access group via wp.user? Or perhaps there are other ways to show/hide the links in the list component?
Not via wp.user you would need to use the access control model, but would be better using the attribute based security
WCM Security will hide any links the current user doesn't have access to - be it a Site Area, Content Item / Link. Check your security on the objects which shouldn't be showing. You'll most likely find you haven't restricted access.
I need to implement functionality in which for some visualforce page "xyz" access is available to one user at a time for some specific time, lets say for 5 minutes. And want to display a notification message if some other user tries to access that page in these 5 mins.
Moreover i dont want to create any custom object for this functionality, can i do it with session?
I suggest you to use custom settings.
Create new one with information about user and time. And in controller you can easy check information stored in custom settings and add this notification
We need to add some custom profile properties to user accounts. So we have gone through Site Settings and added the Custom Profile Properties and made sure they are visible to all. What expect is that now a user can go to Edit Profile and those new custom profile properties can be set. It doesnt happen. What are we missing?
Depending on your version of DNN there are a few things that could be happening.
Be sure to clear the cache, and/or restart the application to ensure that the list is current
Check to see if your site is using anything for a custom profile module. (Either customized registration form via Admin -> Site Settings -> User Accounts or possibly using Dynamic Registration or otherwise.) If using a custom form you will need to update it as well
I have been following the salesforce Recruiting App tutorial, and reached the section on creating a public site:
http://www.salesforce.com/us/developer/docs/fundamentals/Content/adg_composite_app_public_sites.htm
I have built a simple page to display open jobs as described here:
http://www.salesforce.com/us/developer/docs/fundamentals/Content/adg_composite_app_create_public_jobs_try_it_out.htm
This is displaying the open jobs correctly when I view it through our "internal" URL: https://c.ap1.visual.force.com/apex/PublicJobs
But when I view this same page through our "external" URL: http://servian-developer-edition.ap1.force.com/careers, the page still renders, except that now the list of jobs is empty.
I don't think this is a permissions error, as if so it would surely prompt me to log in. What do I need to do to make the data show on the "external" URL?
Make sure the "guest" user for the site has Read permission for the Positions object on its profile. You can't access the profile for the guest user through the normal Profile list page in Setup; instead, click on the Public Access Settings button from your site's detail page. On the profile, go all the way to the bottom of the page and make sure the Read permission is checked. If its still not working, ensure the Field Level Security settings also correct for that profile. The FLS settings are controlled about mid-way down on the same page.
In addition to above, ensure the object, if it is a custom object is in "Deployed" status. This fixed the issue for us.
Additional Information (from help.salesforce.com):
While developing a custom object or external object, you might not want users to see and interact with it. Because users might get frustrated with changes in layout or lose data when you delete custom fields, control visibility of the new object until you are finished.
Use the Deployment Status setting in the object definition to control when users can see and use the object and its associated custom tab, related lists, and reports.
Choose “In Development” as the Deployment Status when first creating your custom object or external object. Doing so hides it from users while you are designing and testing it. Only users with the “Customize Application” permission can see the object tab, search results, related lists, and report data types.
Change the Deployment Status to “Deployed” when you want to allow all users to use the object and any associated custom tab, related lists, and reports.
If you make more enhancements after deploying a custom object or external object, you can change the Deployment Status back to “In Development.”