The Customer Portal allows your customers self-serve access 24/7. With customization, you can make the portal align with your business practices.
This document will not walk you through a whole scenario, but it will start you off so you know what to take into consideration.
Portal Navigation
The customer portal uses the Customer Portal nav menu within the navigation object which allows your users to navigate the different screens in the portal.
For more information on how to edit this menu (or create your own menu), please see our article "Portal Navigation" within the reference section of our customization documents.
Which Screen Do I Customize?
Pages used for a portal are known as guest pages. When trying to find a page used for a portal, Method has all guest pages pre-pended with the word "Guest-".
Below is the screens listing for the Contacts App. Note the guest pages:
Furthermore, guest pages for portals can be made in any app. The above guest pages are related to the Contacts app, however, you can have guest pages for transactions as well. If you have been in the portal, you may recall looking at your transaction list and seeing guest pages for invoices or estimates.
These guest pages will be in their appropriate app. For example, the portal guest page for viewing an invoice is found in the Invoices app. In the below example, you can see the "Guest - View Invoice" screen when looking at the screens of the Invoices app:
If you decide you need to create new screens for your portal, best practices suggest you create them in the associated app.
Security Permissions and Versions
When editing screens within the portal, it is common to forget how permissions work and which screen version is being used. Failing to do so will result in errors or no visible changes to the portal screens.
In order for your screen to be visible to your portal guests, keep in mind two things:
Screens must have its security permissions set to guest access - If you set it to public access, then anyone on the internet can access it. Setting it to guest access restricts it to a specific customer you share the link with. For more information on security permissions for the screen, see our Screen Management article.
If you are making edits to our stock screens, screens should be set to the Live Version. If you make a copy of the screen, or make any edits, you may be making changes and modifications to a test version. Test versions are not viewable by your customers, and when they log into the portal, they will only see the live version. Once you are finished and satisfied with edits you make to your portal screens, remember to set them to the live version. For more information on versions, please see our article on Screen Versions.
Testing a Custom Customer Portal
When customizing the customer portal, you will need to test your changes. However, in order to test the portal, you will need to make the version live. Guest and public pages only show live versions. You will need to publish the version in order to see it as a customer sees it.
However, you don't want to publish it, because you're still testing it.
What you'll need to do is create a button or a link with a Go To Screen action to the portal screen you are customizing. Instead of viewing the portal screen as if you are on the portal, you are viewing the portal screen within Method.
Example Scenario
In the below image, a Test Portal link has been added to the View Contact page.
This link has a Go To Screen action, and this link sets the Active RecordID to the current Screen Active Record ID.
This is because we want to emulate the contact looking at the Guest - Customer Home portal screen as themselves. Remember, when viewing the contact, the Screen Active Record ID is set to the Record ID of the contact we are viewing.
So, when going to the portal screen, we will also set its Screen Active Record ID to the Record ID we are viewing.
However, there's still a problem.
When you try the link, it will go to the screen and give you this error:
This is because the portal screen will overwrite what you set. It will set the Screen Active Record ID to the session value: Guest - Contact Record ID.
You can see this if you go to the Guest - Customer Home's Focus Event. At the top is the action that sets the Screen Active Record ID to the Guest - Contact Record ID.
So even though you passed the value in the previous screen, it will get overwritten.
And because you are testing this screen, you are not on the actual customer portal and there is no 'guest' logged in. So the Guest - Contact Record ID is blank, which makes the Screen Active Record ID blank, and thus this error occurs.
To fix this, you will need to put in a Conditional Statement to only set the Screen Active Record ID if the Guest - Contact Record ID is greater than 0 (ensure it's set to a Record iD).
Once you do that, your link will work, and you will be able to view your draft portal screen within Method itself. Note the blue notification at the top stating the draft version is being used.
When you are finished testing, remove that conditional statement to revert the Focus event back to how it originally was.
NOTE: Not every screen in the customer portal uses the Contact's Record ID for the Screen Active Record ID. For example, the Guest - View Estimate screen requires the Estimate Record ID.
Before customizing the portal, you should have an advanced understanding of customization and the screen itself. It is important to know what values the screen requires in order to function.