ContributionsMost RecentMost LikesSolutionsRE: Introducing Pipelines - Webinar Q&A "There is going to be no way to modify your pipelines without the visual UI. That said, you will have the capability to export the YAML description of the pipeline and modify it in the developer IDE." What Developer IDE? "Pipelines will not be accessible via API in the near feature. I would love to learn about the use cases where you might need that capability." At the moment? None, but I could see if Pipelines could be uploaded/modified via API calls you could integrate them with other data management tools. ------------------------------ Sam C ------------------------------ RE: Introducing Pipelines - Webinar Q&A Is the Q1 release an Early Access date or a Production release date? Will there be a way to use pipelines without the visual UI (i.e. view/edit as a schema)? Will Pipelines be accessible from the QuickBase API? Will Pipelines be able to trigger API calls, or be triggered from other QuickBase non-table related triggers (i.e. App CRUD, Pages CRUD, users, user groups)? Will there be conditional branching? ------------------------------ Sam C ------------------------------ Re: Download file directly through SSIS in SQL ServerI know you already resolved this issue, but I thought I should mention that by enabling that option you are allowing anyone who gets access to that link to download your attachment files. To authenticate your requests you also need an apptoken if that is enabled for that application. You can also try using Request Headers that include your authentication credentials rather than using just a URL. ------------------------------ Sam C ------------------------------ Re: Modify the add child record button to also change a field on the child recordThis is a bit more of a long/technical answer, but hopefully it helps teach a man to fish more than just giving you the fish :). If you follow the first example you should be able to do what you are asking with no trouble. What you are actually doing here is building a URL with parameters, pointed to your QuickBase database. When you click that button, you are in effect sending a request to QuickBase, which it then interprets. Each piece of the URL is a variable that gives information to the server to process your request. You can read it like: URLRoot() & // At my QuickBase domain "db/" & [_DBID_WORKFLOW] & // At the Workflow Table "?a=API_GenAddRecordForm" & // Do the action "API_GenAddRecordForm" (open a new record page) "&_fid_8=" & // Fill in the field with field ID 8 URLEncode([Record ID#]) & // With the Record ID# from this record. URLEncode the value so it doesn't get jumbled up "&_fid_11=" & // Fill in the field with field ID 11 URLEncode([Action) & // With the Action value from this record. URLEncode the value so it doesn't get jumbled up. "&z=" & Rurl() // And when I save this form, redirect me back the page I'm on right now. Any field you want to pre-populate in the form is added with whatever value you put after it. You can do this for any number of fields, and with static or formulated values. So for example let's say I have a table Prides, and each Pride has many Lions. The Lion table has an field Type, with a field ID of 12. I want a button that lets me add a new Lion to a Pride, and every time fills in the Type of Lion with "Cub". Based on the example above, I know I need to update my Add Lion formula field with a new parameter so it fills in when I open the form. I can add parameters to my search using the "_fid_X=YOUR_VALUE" syntax I mentioned in my first post. My field ID is 12, so first I replace X with 12: "_fid_12=" & YOUR_VALUE Now I need to give it a value. I want the value to always be "Cub". First I'll URLEncode it to make sure its safe to add to my formula: URLEncode("Cub") Then I'll add that to my formula for a complete parameter: "_fid_12=" & URLEncode("Cub") Now that I have my parameter figured out, I need to add it to the rest of my formula. I know each parameter needs to be separated by an ampersand(&) so I'll add one in front, and add the whole thing to my formula: URLRoot() & // At my QuickBase domain "db/" & [_DBID_LIONS] & // At the Lions Table "?a=API_GenAddRecordForm" & // Do the action "API_GenAddRecordForm" (open a new record page) "&_fid_12=" & URLEncode("Cub")" & // We just added this value. "&z=" & Rurl() My button will now open a new Lion form page, and populate my Type field with "Cub". If you've gotten this far, you should now be able to complete your button in the exact same way. It doesn't matter whether the value you add is a static value or not. You can also add as many parameters as you want. In fact, we can even take this a few steps further: First, let's use some variables to make it a bit more readable. Using variables can be helpful to keep things more organized as your formulas get longer, and helps you think about your Formula in more manageable pieces. var text URL = URLRoot() & "db/" & [_DBID_LIONS]; var text action = "?a=API_GenAddRecordForm"; var text redirect = "&z=" & Rurl(); var text lionType = "&_fid_12=URLEncode("Cub")"; $URL & $action & $lionType & $redirect This makes our formula a lot easier to read. Imagine we wanted to add a whole bunch of other pre-filled values to our form, or our values were more complicated: var text URL = URLRoot() & "db/" & [_DBID_LIONS]; var text action = "?a=API_GenAddRecordForm"; var text redirect = "&z=" & Rurl(); var text lionTypeField = "&_fid_12=" var text lionTypeValue = If([Pride Type] = "Evil", URLEncode("A monkey's uncle"), URLEncode("Cub") ); var text lionType = $lionTypeField & $lionTypeValue; var text lionColor = "&_fid_13=" & URLEncode([Pride Color]); $URL & $action & $lionType & $lionColor & $redirect You can see that even though some of our values are starting to get a bit complex, and our formula is getting long, our final URL formula is very easy to read, and each value can be understood quickly. This got a lot longer than I planned so I'm going to end it here...but I hope that helps! Re: Modify the add child record button to also change a field on the child recordField values can be added to these statements using the _fid_X=YOUR_VALUE syntax. In fact, you are already doing this when you enter the Record ID for the parent record here: &_fid_8=" & URLEncode ([Record ID#]) So in your case to add another field you would just another statement like this for your other field: &_fid_11=" & URLEncode ([Action]) Which would end up looking like this: URLRoot() & "db/" & [_DBID_WORKFLOW] & "?a=API_GenAddRecordForm" & "&_fid_8=" & URLEncode ([Record ID#]) & "&_fid_11=" & URLEncode ([Action]) & "&z=" & Rurl() As a sidenote, you may have noticed I split this formula onto multiple lines. This is perfectly fine, and I would suggest doing so when you have longer formulas like this so you can see exactly what's going on. Re: Statistical Process Control ChartsI would recommend Highcharts as that is what QuickBase already uses for its charts, so it's already bundled into the QuickBase code that renders the page and so you avoid additional overhead of having to load even more javascript for another chart library like Google Charts. However, there are a couple things you should know if you do this: QuickBase uses a very old version of Highcharts (3.0.2 compared to the current 5.0.14), so if you are looking at their Docs just be aware certain charts/functionality may not be available due to the version (usually it says the version # the feature was implemented in the docs). It will only load Highcharts on pages where it expects a chart already. So I would suggest creating a chart with the data that you want to create an SPC for, then taking that data from the chart and redrawing it the way you want to see it. See dandiebolt@gmail.com response for some starter code on how to do that. Re: Formula Fields on Dashboard ButtonMatt, Date fields can be filled in automatically without the need to do so via a button if that's all you need. If you go to the field properties of "fid 59" you can set it to have a default value == today. If you specifically want it to be just the month or the year, you could also do this using formula date fields. Make your date field (could probably just use the built-in field Date Created) Make two new formula date fields: "Current Month" and "Current Year" Write formulas to only display the piece of that that you want. For example, "Current Year" would be: Year( [Date Created] ) To answer your question about custom formula buttons on the dashboard, I don't believe this is possible using standard QuickBase methods. You would have to dig into some more elaborate Javascript methods to do this.Re: Populating form field with selected values from shared fieldI believe this is a classic case for what QuickBase calls 'Conditional Dropdowns.' Conditional Dropdowns all you to filter the choices for one dropdown based on the choice in another. In this case, filtering Companies by Company Type. To use this feature, the first step is to make your Company Type field into its own separate table. Once have done that, you need to relate Company Type to Form A. When you have done this, go to the field properties for Related Company and check 'Conditional Dropdown', where 'Related Type' = 'Company: Related Type'. There is a more detailed guide on the QuickBase Help page here: http://help.quickbase.com/user-assistance/#conditional_dropdowns.htmlRe: Need to increase the columns width of Grid Edit ReportIf you are familiar with the IOL technique, then you can restyle the width of the columns within your script. Select each column by its field ID in the table and then set its width to whatever you want, it looks like this: // Insert where needed $('.gridEmbCell [qbfid="148"]').css({'min-width':'400px'}) // insert the field ID you want to make larger after "qbfid=" // set your width with 'min-width' This will restyle each column based on its field ID if you call your IOL script on the grid edit report. I will note that this will not fix the size of the input boxes.Re: Create Logs of Child Records with a Webhook?Hi Dan, I agree that handling it with a script would be straightforward, I was just wondering if there was a more native way to do it. Certainly, I can see how it's confusing. The Mixtures table has a many-to-many relationship with the Materials table through the Components junction table, which keeps track of how much of each Material is in a given Mixture. So using the previous example, Red and Blue would be Materials, Paint 1 is a mixture, and Paint 1 has Components, Red-50%, Blue-50%. The Mixture Logs table has a one-to-many relationship with Mixtures. This is a normal log table, where users would just enter the amount of a Mixture they used. In the example, the user enters _Paint 1, 2 gallons_. But I also need to keep track of how much of each Material is used, and for that I have the Material Logs table. The Material Logs table has a one-to-many relationship with the Materials table, and a one-to-many relationship with the Mixture Logs table. So the goal here is to allow users to make Mixtures, and then enter Mixture Logs, and then when a Mixture Log is created, Material Logs are created for each Component in that Mixture, by multiplying [Component - Portion of Mixture] by [Mixture Use - Volume]. In the example, a _Mixture Log_ __was created for _Paint 1, 2 gallons_, so 2 _Material Logs_ are created: _Blue, 1 gallon ; Red, 1 gallon_. Tables: Mixtures (name: Paint 1) Components: (related mixture: Paint 1, related material: Red, fraction of mixture: 50%) Materials (name: Red) Mixture Logs: (related mixture: Paint 1, volume used: 2 gallons) Material Logs: (related mixture log: 2 gallons of Paint 1, related material: Red, volume used: 2 gallons * 50% = 1 gallon of Red used) Relationships: Mixtures -< Components >- Materials Mixtures -< Mixture Logs Mixture Logs -< Material Logs Materials -< Material Logs I hope that helps clarify things.