Discussions

Expand all | Collapse all

IOL Technique

  • 1.  IOL Technique

    Posted 07-27-2021 13:15

    So with the changes coming next month,  does that kill the IOL technique?     

    I've noticed a lot of threads about it are gone now.



    ------------------------------
    Jeff Peterson
    ------------------------------


  • 2.  RE: IOL Technique

    Posted 07-27-2021 14:03
    The short answer is Yes.

    ------------------------------
    Blake Harrison
    bharrison@datablender.io
    DataBlender - Quickbase Solution Provider
    Atlanta GA
    404.800.1702 / http://datablender.io/
    ------------------------------



  • 3.  RE: IOL Technique

    Posted 07-27-2021 16:00
    I know for a long time now Service Workers have been advocated for on the off chance that Quickbase did decide to do something like this. I believe they are a potential answer here.

    https://community.quickbase.com/communities/community-home/digestviewer/viewthread?MessageKey=49e8f748-b9fe-4c80-9086-e42dd4e7bf58

    https://community.quickbase.com/communities/community-home/digestviewer/viewthread?MessageKey=d49c95ef-0fb9-4e2d-b215-f0e1378c1cc5

    https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&r=vp&rl=nie

    Might be something that is worth looking into if you really need JavaScript to continue to function in some way. In one of the posts above Dan mentions a bunch of posts labeled "Service Worker Travel Log" and if you just Google "quickbase Service Worker Travel Log" you should get to most of them.


  • 4.  RE: IOL Technique

    Posted 07-27-2021 16:10
    Hi Jeff,

    Quickbase has been making changes to how we handle JavaScript and other content being inserted into the platform outside of code pages (where it is supported and will be even after these changes). Starting in April we have been working to close 3 separate loopholes that were used to insert JavaScript where it was unsupported starting with Rich Text manual entry fields, then app and realm branding, and finally in our upcoming August release next month we will be closing the last area which is formula fields. 

    With this upcoming release, builders will no longer be able to save changes to any formula rich text fields that contain unsupported content such as JavaScript. Instead, builders will see an error message warning them that unsupported content has been detected and changes will not save. This will not remove existing JavaScript but will prevent any further edits or changes to what is in the field. Builders will only be able to save changes to these fields after our August Release (tentatively scheduled for 08-15-2021) after they have removed any unsupported content.  

    With this series of changes, we will not intentionally disable any existing solutions that leverage inserted JavaScript. However, it is impossible for us to test inserted JavaScript as we make changes to the Quickbase platform. A routine upgrade to an open-source library, a change to styling, or a change to our document object model (DOM) may cause these custom solutions to break without warning. This has always been a risk of using such unsupported techniques. However, as we progress with projects like modernizing our interface in 2021 and beyond, these kinds of changes will become more frequent. And if a solution stops working for one of these reasons after the area has been closed, app builders will not be able to edit the JavaScript to fix it. What this means is that techniques like IOL you have in place are not being intentionally broken but going forward from the release new IOL will not be possible and any places where it is today will be able to be removed and replaced with supported features but won't be able to be changed. You can learn more about our full plan, the reason these changes are important, and the earlier loopholes we have closed in our blog post here 



    ------------------------------
    Evan Martinez
    Community Marketing Manager
    Quickbase
    ------------------------------



  • 5.  RE: IOL Technique

    Posted 07-27-2021 18:10
    My main reason for pursuing this is to find a way to hide the native buttons in mobile view.   The only method I've been able to come across uses the IOL technique,  but I'm wary to use it if that will no longer work shortly.

    ------------------------------
    Jeff Peterson
    ------------------------------



  • 6.  RE: IOL Technique

    Posted 07-29-2021 17:21
    Edited by Giuseppe Macri 07-30-2021 08:34
    Will service workers be impacted by these changs?


  • 7.  RE: IOL Technique

    Posted 08-20-2021 08:06
    Hi Evan,

    I was facing issue using IOL but as i read your reply, it's pretty understood IOL will not work now.So i wanted to ask if IOL is not valid anymore how will i include my code pages in formula fields.Earlier was including my code pages like this =>

    ""&[iol] & "button.js" & [/iol]&""

    for example i had a button.js code page where i had written some onclick() functionality.Can you please suggest some solution as i am stuck here and not able to include my code pages and no longer able to include them in forms as well.

    ------------------------------
    Adis Kljajic
    ------------------------------



  • 8.  RE: IOL Technique

    Posted 07-30-2021 12:19
    I think the only thing they could really do is prevent you from using JavaScript to trigger them in code pages but then code pages would be pretty useless. At this time doing it in a code page is even in line with what Quickbase wants, they only want JavaScript ran in there. So I see it as following their rules and still getting to have your JavaScript usage in the apps.


  • 9.  RE: IOL Technique

    Posted 08-05-2021 13:35
    Hi G,

    These changes do not change service workers as that functionality lives in your browsers. Service workers in your browser are changing the information delivered by Quickbase on your end very much like how an Ad Blocker works by finding the ads in a page after it has been delivered and extracting them. Service Workers is not something we recommend or support though in a similar vein to JavaScript inserted outside of code pages.

    Since it changes things via your browser its use opens up concerns around your security and displaying your data with integrity. Beyond that because it is a browser add on that looks for things within the pages being delivered and executes changes it is vulnerable to breaking or causing strange behaviors when we update or change elements in Quickbase since we can't and don't test for these add ons. A great example would be a Service Worker today that alters your old table reports could break or cause a strange display in new table reports that might go unnoticed by your users for a time. Between the security concerns and the possibility of change we don't recommend them but this program isn't changing them since they happen on the browser side.

    ------------------------------
    Evan Martinez
    Community Marketing Manager
    Quickbase
    ------------------------------



  • 10.  RE: IOL Technique

    Posted 08-20-2021 09:46
    Hi Adis,

    What are you trying to accomplish with this code page and the button where you were previously using IOL? In some instances there aren't one to one replacements if they were using some of the functionality that was specifically problematic. It is often a bit easier to look at what you are trying to accomplish and see if there is now a supported alternative or technique. 

    To my understanding in general it is no longer possible to insert JavaScript code to run in a formula field. We encourage JavaScript to be used in Code Pages, but those code pages must be loaded in a separate tab or window for security purposes. So you would create your flow to open up the code page in that new window, have it run the code it was running, and then return your user back to the form. We have some great examples of that kind of flow in our Code Page sample app, you might want to check the examples on using it to run a delay before reloading the page to see how they built that flow. It wouldn't be the exact same flow you have today but depending on what that code page was doing there might be alternatives that have come out since (for example we changed over the last few months the way redirects work and added some new formula functions to solve for some of the common uses of JS). 

    ------------------------------
    Evan Martinez
    ------------------------------



  • 11.  RE: IOL Technique

    Posted 08-23-2021 12:30
    HI Adis,

    I realized I left a little bit out from my previous response. One option depending on the JavaScript you are trying to run is to use our new Popup functionality in our formula fields to call the code page in that pop up to run and then refresh the page. There are examples of options like that in the Code Page sample app.

    ------------------------------
    Evan Martinez
    ------------------------------