Forum Discussion

JeffPeterson1's avatar
JeffPeterson1
Qrew Captain
4 years ago

IOL Technique

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
------------------------------
  • 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
    ------------------------------
    • AdisKljajic's avatar
      AdisKljajic
      Qrew Trainee
      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
      ------------------------------
      • EvanMartinez's avatar
        EvanMartinez
        Quickbase Staff
        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
        ------------------------------
      • EvanMartinez's avatar
        EvanMartinez
        Quickbase Staff
        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
        ------------------------------
    • JeffPeterson1's avatar
      JeffPeterson1
      Qrew Captain
      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
      ------------------------------
  • AustinK's avatar
    AustinK
    Qrew Commander
    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.
  • The short answer is Yes.

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