This page is intended as a sort of FAQ to consolidate questions that developers often receive into one place. Hopefully it should save us all some time and effort!
You can use the table of contents on the right to jump to a specific topic of interest, or use control F/command F to search for a specific keyword within the page.
In general, if you have any questions that are not included on this page, we would prefer if you post them in the #team-webdev room on Slack. Someone will get back to you as soon as possible! If more than 10 minutes go by with no one answering your question (between approx. 8am - 5pm), you can then use the @webdev tag to ping all web developers to bring attention to your request.
Please do not reach out to an individual developer with general questions if you can avoid it! This allows multiple people to jump in and offer their opinions/answers to your question (rather than your answer being restricted to one person’s limited knowledge), allows knowledge to be spread more quickly between people (any other people in the webdev room will see the question/answer and may learn things they didn’t before), and keeps individual developers from being bombarded with questions. A few small things sound manageable, but when five to six people a day come to you with questions and favors that have been asked before, those little things add up very quickly and it can be very overwhelming!
If you have questions about a specific site or case for which you are already working with a specific developer, you can reach out to the individual developer at that time–we are mainly trying to avoid very general/common questions being sent privately to individual developers.
Reminder: For issues that need the Content Group, please follow steps in the Handling Content Issues PDF and talk with your team lead about creating a Jira ticket.
ADA
Q: Is [thing] ADA compliant?
Please check this page for more info on common ADA compliance questions. If you are still unsure, you can reach out in the #tech-ada-dev-support room on Slack.
Cases
Q: Can you quote [case number] for me?
Create a case in jSource and we would be happy to!
Q: Can someone take [case number]? It’s urgent / the due date has passed / the due date has not passed but the client is asking for an update.
The case queue is probably behind. Post in #team-jsource and/or use the @supportdev tag to ping all support devs if needed.
CMS Questions
Q: The client has provided some script that they want on their site / on a specific page. Do we have to quote for that?
NOTE: When sending scripts to us, either for a case or for a pre-live site, please make sure to include the script inside of a .txt, .rtf, or other such file when sending to development! If it is just pasted into an email, Basecamp, or sent via a Microsoft Word document, characters/text within the file can become corrupted, or invisible special characters can get added that will break the code.
Assuming that this is a script that needs to go in the body of the page, in a sub-ad, etc. rather than in the head or footer of the page–yes, we do need to quote for that. We need to create a new (single-use) template, usually a blank or basic subpage, that contains the provided script sandwiched between two content areas.
If this is a script that needs to go within the
tag of the site or in the footer of the page/doesn’t need to generate content (for example, a tracking pixel), the client can do it themselves in the CMS, either across the entire site or on a page-by-page basis.Q: This script that the client provided is not working. Can you fix it?
Most likely no. Assuming that the script was implemented correctly by the developer, any other updates to the script will need to be made by the third-party in charge of that script.
Q: A page in the CMS was deleted and I need to get it back. Asking for a friend/the client did it/my dog ate it.
We can’t do much about that on the frontend. Fortunately the content folks have got you covered and created a solution! You can see deleted pages if you go into the CMS and view history for any page. It will then let you view the history for the entire site. Occasionally, it snapshots the site and stores it in the history. Click one of those, and put in the URL of your deleted page to recover it. Any other questions will need to go into the #prod-content room on slack!
Q: This asset (PDF/image/etc.) is broken. Can you fix it?
This is not something we can do on the frontend. If you’ve confirmed the file itself is not corrupted in some way, you’ll need to reach out in the #prod-content room with questions.
Q: The content on a page in the CMS is showing fine, but there are no blue outlines so I can’t click anything to edit. Can you fix this?
Probably. This usually means that the content areas are named incorrectly between the JSON (backend) and the HTML (frontend). Reach out to the developer on your site / the developer that did the case to create the new template to get this fixed.
Q: The client wants to place an iframe / embedded YouTube video into their site. Does that need to be hard-coded?
Yes, if:
There is script other than just the iframe included with it It’s from a site like Beaver Creek (these are straight script, different from usual iframe video embeds like youtube)
No, if the client got the script directly from YouTube’s embed feature, or if it’s only an iframe by itself with no other scripts necessary. You can place that directly into a content area (via the code view) and publish the page, and the iframe will work.
Q: The client placed an iframe on a page, but it’s not showing. Why not?
This is most likely something with the hidden-content/remove-blank class that we use. If an iframe is the only thing inside of a content area, our script may not recognize it as content, and still hide the area as if it were completely empty. If you believe this is the case, reach out to the developer on your site (or create a jSource case!) and we can fix it up for you. It takes less than an hour of dev time, but since it is a problem that occurs on our side, it may not need to be billed for.
Q: The iframe that a client placed works fine, but it’s causing horizontal scrolling on mobile. Can you fix it?
Yes, but so can you (or the client)! If you go into the code view for the page and find the line for the iframe, you’ll see a width attribute on that line. It should be something like width=“800”. Simply change the number within the quotation marks to be 100% instead, so it instead says width=“100%“. This will cause the iframe to stretch to the full width of the area, including on mobile.
Q: I did the above, but the client doesn’t like the way it looks
Sorry–it either stretches all the way across like that, or it causes horizontal scrolling! There’s no way around it, and that’s why no one likes iframes
Q: On the flip side, instead of putting an iframe in one of their pages, the client would like to iframe a page from their site into an internal application. However, the x-frame options on their site don’t allow it. Can we change that?
Short answer, nope!
Currently, the xframe setup on our sites is: x-frame-options: SAMEORIGIN. There used to be an option to “allow-from”, but it is now deprecated and shouldn’t be used (and even when it did work, allowed things only from a singular URL).
We will not allow other sites to iframe in any other pages of our sites. This is not under the control of front-end web developers, and the ops devs have stated more than once that they will not change this option.
Q: Can the client embed and host their own videos in the CMS or do they have to use streaming services like Vimeo and YouTube?
The simple answer is, “sort of”. Video can be uploaded and placed but we do not recommend it. Embedding the videos on the site itself involves serving up large files (the CMS has a file size upload limit–so the video would have to be very short or very compressed) which hog resources on the customer front end and on the server. It is best to allow a service like Youtube, Vimeo, or AWS (Amazon Web Services) to host the video so that it can be compressed and streamed properly without additional server load. These services will also allow for smaller video sizes to be served up based on the users internet connection and device. Basically there is no benefit to hosting their own videos and often comes with significant loading issues, SEO score deductions, and lower site speed rankings.
Q: The client wants to add, remove, or rename a category
Disclaimer: Category changes should be quoted out beforehand if pages have already been created. There’s a lot of things to consider here, and it can get pretty tricky
The categories are very important on every site because they are usually hardcoded in, in both dev files and the backend JSON that is part of the CMS itself.
When it comes to categories, these things should be taken into consideration:
The main nav and the menu builder. A category and a category’s verbiage (what it says on the site that site visitors can see) can be two different things. The category verbiage is editable in the CMS, via the Menu Builder, so the client can go in and change it if they wish. A good example of that kind of change would be if the client wants a main nav category to say “Personal Banking” instead of just “Personal” and doesn’t mind if the URLs of pages already created under the Personal category don’t have the word “banking” in them. In that case, no category changes would be needed.
When you create a new page in the CMS, you can choose what category to create a page under, which automatically becomes part of that page’s URL. Because of that, we cannot remove categories unless all pages that were created under that category have either been renamed or deleted. Also that means that we cannot just rename a category (like from Personal to Individual, for example). We actually have to create a new category, and then a lot of editable changes have to follow. Nowadays we can change an existing page’s URL (woo-hoo!) so PC/CWA/client should be able to go into the Page Properties for each page and change the URL to be under a new category. Btw, this means that devs shouldn’t delete the old category until everyone is 100% sure that all old pages have either been removed or renamed.
The list of categories appears on the bottom left in the CMS when you are viewing a site’s list of all pages. Those are hardcoded in by a dev and are in no way editable. Those categories are also what appears in a page’s URL when you create a new page and set its category, like /personal/checking for example. So if we change a category on the bottom left in the CMS, it will also change the category that appears in the drop-down list when you create a new page.
So. Keeping all these things in mind– At what level does the client want to change the categories? Can we get away with just going into the menu builder and changing the verbiage of the main nav categories there? (PCs/CWAs/the client can do that on their own in the CMS)
Does the client want the ability to create pages under the new categories? Or does the client want to do more significant category renaming? Then a dev will have to make some changes on the backend, and also the CWA/PC/client will have to make a lot of editable changes
Web Forms
Glossary of Terms
radio button: Usually round and can only choose one. Example: Yes/No/Not Sure questions
select: Aka dropdown. Should have at least 3 options. Can only choose one. Example: Choose a branch location from this list
field: Something in a form that a user interacts with. Can be a text field, comment box, radio button, checkbox, etc.
checkbox: Usually square and can make more than one choice. Example: Check all that apply
success message: The verbiage that appears after submitting a form. Ex: “Success! We have received your submission” etc
text field: The most common form field. Ex: First name, last name
textarea: A larger type of text field. Ex: Comments, Additional Feedback
Q: Does [change] need to go to the backend? / Do I need to create a Jira ticket for [change]?
No, if:
- It is a label change (fixing a spelling error, for example) on the published form page
- It is a script change (making something show/hide on selection of another item)
- A field needs to be changed to be required or not required
- Options are being added / removed from a select
- Options are being added / removed from a set of radio buttons
- A form answer is not showing up inside a submitted form being viewed in the CMS, even though it was filled out
- A form needs CAPTCHA added or removed
- Any changes to the values on the RIGHT when you are in the CMS looking at a form submission
- Changing how the form submits (like making it go to a page after submit instead of showing the success message. More info below)
- Changing verbiage in a “submit” button
- Changing a text field, textarea, or radio button to any other thing except checkboxes. Example: The bank already has a text field labeled “Branch Location” but they want to change it into radio buttons with all the location options.
Yes, if:
- Adding or removing a checkbox
- Changing the name of the form at the top when you are in the CMS looking at a form submission
- Any changes to the values on the LEFT when you are in the CMS looking at a form submission
- Adding or removing any text or textarea fields
- Adding or removing a whole SET of radio buttons
- Adding or removing an entire select
- Custom setups that we don’t usually do, like making a form email the form submissions upon submit to someone at the bank (which is bad idea for securitys btw) See below for more info on how to get this set up.
- Adding a file upload field
Q: Can we send the user to another page after the form submits, instead of displaying the success message?
Yep! A dev will just need to make a small change in the form’s submit function. The page to send the user to must be hardcoded, so please include the URL of that page in your request to the dev.
Q: Can we display a file (pdf, Word doc, etc) for the client after the form submits?
This is a problematic request because these types of documents tend to require frequent updating, and the client would have to put in a support ticket every time they need to change the file. The easiest solution is this: Form success messages are editable, and the client can simply create link(s) to documents in the success message.
Q: Can we create a setup to send the user an email to let them know they have submitted the form, in addition to them seeing the Thank You message/success message?
Yes. Orrstown and STAR Financial are some examples of our sites that have this functionality. HOWEVER, this is not a front-end developer question. Please consult with your team lead about getting a Jira ticket created.
Q: Can we create a setup to send the CLIENT an email when a form is submitted?
This is already built into the CMS. Here’s how to do it in the CMS!
While logged in to the CMS, click on Forms in the top blue bar. You will see a list of the site’s current forms in a column along the left side. Select the form that you want to work with. In the main area, above the list of submitted entries for that form, you will see a green “Export All” button, and next to that is a white and gray circle icon with two people in it. Click the circle icon, which will bring up a dropdown. At the bottom of that dropdown is a CHANGE option, which you can click to bring up a popup modal. In that modal, there are two text areas where you can add a person’s email, a CMS user’s name, or a CMS user group that should receive emails when this form is submitted.
Make sure to click the green Save button at the bottom of the modal once you’re done!
Note the item at the top of the modal that says “Each user needs permission to view form entries!” If the user you place in the text box is not set as having permission, they may run into errors such as not receiving emails, or not being able to view submitted forms once they log in. Updating that in the Users & Groups section should fix the issue.
If all forms need emails to be sent out, you will need to do each form separately.
Q: Can we create a setup to send the client an email when a form is submitted, that isn’t so generic and contains actual content submitted on the form?
Yes. Orrstown is also doing this. It is an all-or-nothing setup, meaning that the entire content of the form must go through to the email, and it can’t be truncated or only show certain fields.
PCs / CWAs: You will need to request this functionality be set up by creating a Jira ticket. They can set the custom form up to do this. If this IS a global generic form, then you will need to set up a new custom form for them by creating a Jira ticket AND a front-end developer will need to make changes so that the form on the site is using this new custom form.
Developers: If the site is already using a custom form for this, you don’t need to do anything. If the site is using a generic form (ex: a showcase site contact us), you will need to delete and recreate the form in the CMS to use the new form that is created, potentially with some edits to the HTML as well to make the form name / field names match up.
Q: Can we set up the form so that if a user chooses an option from a dropdown, the form will email/notify specific people at the financial institution that the form has been filled out?
Yes. What a dev would do is make a “copy” of the form in the CMS for each dropdown choice. For example: The form has a dropdown that the user can choose a department to inquire about, like Home Loans or Construction Loans or Personal Line of Credit. In the CMS FORMS tab, on the left where all of the forms in the site are listed, there would also be a list of each department in that one form’s dropdown. To associate users/groups for each department, the client would simply go into the CMS and set those up there, as they would for any other form as usual.
Q: Can we add CAPTCHA to this form?
Yes! It is a front-end fix, meaning that a Jira ticket is not required. CAPTCHA for Banno sites is a simple “enter the text within the image” solution. If the client wants another type of CAPTCHA (for example, the checkbox), they will need to most likely purchase a plugin and provide the code to us. Make sure they check with us before purchasing the plugin so that we can confirm that it’s one we can actually implement on our sites!
We can add CAPTCHA to forms with no backend involvement regardless of if it’s an existing form or a brand new one. It takes the same amount of work either way.
Q: Can there be more than one file submit button per form?
Yes, but they need to tell us the maximum number of file uploads they would like. We can show/hide the upload buttons if requested (ie “Add another file”), but this will need to be quoted by a dev/cost extra due to the custom script work that it requires.
Q: What is the file size upload limit that can be uploaded through a Banno CMS form?
50MB. We believe this is 50MB total for all uploads in one form submission, so if the form has two file upload buttons and the user chooses to upload two files that are both 25MB or larger, that would exceed the upload size limit. Files that are too large may fail to submit.
Q: What types of files are allowed to be uploaded through file input fields?
These are the list of valid extensions it will accept.
“txt”, “pdf”, “doc”, “docx”, “rtf”, “html”, “xls”, “xlsx”, “csv”, “zip”, “jpg”, “jpeg”, “png”, “gif”, “mp3”, “wma”, “avi”, “mpg”
If we only allowed benign types it would exclude zip, and all the microsoft office extensions, doc, docx, xls, xlsx as they all can execute code.
Q: Can you restrict the types of files that can be submitted through a file upload button?
Yup! Just let the dev know what file type(s) the client wishes to allow and/or restrict. Examples of common file types: .pdf, .doc, .docx, .txt
Q: Is [new/updated form(s)] ready to be tested yet?
Yes, if the Jira ticket for the form(s)/update(s) has been updated by the forms backend to “On UAT” and “On Production,” AND the developer has told you that they are finished setting up the form/connecting the backend to the frontend.
NOTE: If you are working on a pre-live site, and have a new form or updates to a form, you will need to ensure that the Jira ticket for the form is “On Production” BEFORE the site is pushed live. If the card is still “On UAT” or “DONE,” the form creation/update will not be going live and therefore the form will not work on the live site!
No, if:
- The Jira ticket for the form(s) is “On UAT” or “On Production,” but the developer has not mentioned to you that the forms are ready for testing yet. A way to confirm this for yourself is to go into the CMS, view the forms section, and see if your new form is listed in the left column. If it’s not there, you can at least confirm that your developer has not connected the frontend to the backend yet. If you are still unsure, reach out to your developer to ask!
- The Jira ticket for the form(s) is “BACKLOG,” “BLOCKED,” “SELECTED FOR DEVELOPMENT,” “IN PROGRESS,” “NEEDS MERGE,” or “DONE.”
- NOTE: If your form has a strict deadline or if the site is going live very soon and needs to be “On Production” by a specific date, you will need to reach out to the people in the #org-curry room on Slack to see when it can be completed/deployed to production.
Other/Misc Questions
Q: The client put one of their Online Banking links (enroll, forgot password) in content, but when they click the link it takes them to an error page, unless they have logged in to their online banking previously. Can you fix this?
- Make sure your URL is correct.
- NetTeller Enroll is optional. It is not given to all banks by default. Check and make sure the client has set theirs up with NetTeller.
Here are the two links that SHOULD be used:
Forgot Password: https://www.netteller.com/login2008/Authentication/Views/LoginPasswordSelfReset.aspx?returnUrl=%2fNAMEOFDIRECTORY%2f
The NAMEOFDIRECTORY in the URL comes from the folder URL that they use in NetTeller. You can look at their Online Banking to find it. Here’s an example.
FNCFCU is the NetTeller folder ID in this link: https://www.netteller.com/login2008/Authentication/Views/Login.aspx?returnUrl=%2fncfcu
Q: The client wants to change [thing] to function differently. How much time will that take? / Can you quote [update] for me?
Ask the developer currently working on the site and they will be able to provide an answer for you.
If your developer is out sick/is on PTO/is in another dimension/no longer works for ProfitStars, DO NOT message another developer individually!! Instead, post in the #team-webdev room on Slack and someone will get back to you. If more than 15 minutes go by with no specific response to your question, you can use the @webdev tag to ping all developers.
Q: The client wants to have [cool functionality] on their site. Is that possible?
This depends heavily on the contract value and what functionality you are asking for. This becomes much easier to determine if:
- You have an example of the exact functionality you want to include
- Your example is an existing Banno/ProfitStars site. We VASTLY prefer this rather than sending links around to any old site like Chase.com or whatever, because we have no way to look at their scripts or know how much they paid to set up that functionality. If you provide an example of a site that’s ours already, it’s much easier!
- The example you have is of a similar contract value to the site you are designing
Q: Can you link me to a site that has [functionality]?
Please post these types of questions in the #team-webdev room and we would love to help you out! This is a great example of where reaching out to the team as a whole is better than reaching out to one specific person–one individual developer touches a LOT of sites on a daily basis, so your answer will be limited to whatever that one developer can remember. But if you ask in the team room, you’re getting access to a much larger knowledge base
Q: How much do we charge for [thing]?
If you need a time quote, we can provide that–see above for more info on pre-live updates/quotes that weren’t originally included in the contract, or post-live case quotes. However, we are unequipped to provide actual dollar amounts/pricing info for components. You can reach out in the Project Coordinator room, #team-project-coord on Slack, to get more information on that.
Q: How do I reset my password?
We can’t help you with that on the frontend dev side! Check this link for more information on common password questions. Failing that, you can ask in the #org-ground-control room on Slack
Q: Can you set up these redirects?
We can’t help you with that on the frontend dev side! Reach out to the Ops team in the #org-launch-control or #org-ground-control rooms on Slack (depending on the timing), or assign your case to the BNO_CONOPS group in jSource.