Jump to content

LWSChad

Caspio Rockstar
  • Posts

    259
  • Joined

  • Last visited

  • Days Won

    34

LWSChad last won the day on October 14

LWSChad had the most liked content!

1 Follower

Recent Profile Visitors

2,807 profile views
  1. When I have needed functionality like this, I have embedded an iframe with the Data Page for the line items into an HTML block in the Data Page with the regular fields. An API based solution would also do the trick
  2. I wonder if a "greater than or equal" paired with a parameter that is earliest date of the week would do the trick?
  3. It will take a couple Data Pages and a couple new fields in your user table. Confirmation code field unique is required random isn't exactly required, but it shouldn't be predictable Confirmation status field i.e. if confirmation_status !== 'confirmed' { do not allow login } An update Data Page to send the email with a link to the confirmation Data Page, set confirmation status to something like sent or pending, and add a unique value to the confirmation code field. Another update Data Page where the email will link members to that filters the user table by email and confirms the followed the magic link using the confirmation code. This Data Page would update confirmation status to "confirmed" Boom Hope this helps
  4. I pair Caspio with 3rd party tools such as Mailgun with great success for emails.
  5. I am experiencing this in one of the five accounts I work in. My experience is slightly different than your description as after about 3 minutes the objects would load and it was not all objects. Data Page editor, app parameters, and table design were all that I can recall. Support knows about this and I would assume are working hard to resolve it - not a minor thing.
  6. Unfortunately, I haven't figured out how to change them... without breaking things. Two work arounds that I use... Iframes I use iframes in most of my Caspio applications that rely on DataPages. <form id="caspioform" ... is not the only duplicated ID. Buttons and fields common to both data pages are also duplicated. Iframes let each data page be the only one in the page. Containers Simply putting the data pages into containers can help with this. <div class="dp-container" id="dp-1"> <script type="text/javascript" src="https://*******.caspio.com/dp/12345***************/emb"></script> </div> <div class="dp-container" id="dp-2"> <script type="text/javascript" src="https://*******.caspio.com/dp/12789***************/emb"></script> </div> This approach won't stop the error for non-unique ids, but you can now at least identify the elements accurately. const form1 = document.querySelector('#dp1 #caspioform'); const form2 = document.querySelector('#dp2 #caspioform'); Hopefully this helps!
  7. Try hiding or disabling the button the data page on the right until the data page on the left is submitted. 1) In the footer of the data page on the right. <script> const submitBtnR = document.querySelector('#datapage-onright-container #Submit'); submitBtnR.disabled = true; </script> ** When you have multiple data pages per web page, the button ids are likely doubled up. So, use document.querySelector to add the containing element to the selector to disable and enable only the submit button you want. 2) Then, in the destination and messaging (submit success page) section of the data page on the left, enable the button in the data page on the right. <script> const submitBtnR = document.querySelector('#datapage-onright-container #Submit'); submitBtnR.disabled = false; </script> Hope this helps!
  8. I don't think you can communicate from a popup window to another browser tab/window, but you can refresh a specific iframe instead of the whole page. <iframe id="my-iframe" src="my-page.html"></iframe> <button onclick="refreshIframe();">Reload Iframe</button> <script> function refreshIframe() { const ifrEle = document.querySelector('#my-iframe'); ifrEle.src = ifrEle.src; } </script>
  9. Thanks for the shout-out @kpcollier! This functionality is the default behavior for file inputs
  10. Indeed this, along with 'Read Data' for the data source did the trick. Caspio tech support was very helpful with this suggestion as well. Thank you
  11. I have been building Caspio applications for my own projects since 2014 and for clients since 2016. My best Caspio applications are DataPages embeded into iframes that are accessed from a parent dashboard and heavily augmented with custom JS and CSS files. They are delivered via AWS CloudFront, hosted by AWS S3, and SSL certified using AWS Certificate manager. Secure API token generation using AWS Lambda functions and AWS Gateway endpoints. Caspio Forum Leaderboard: https://forums.caspio.com/topmembers Some older comments: https://forums.caspio.com/topic/6900-any-programmers-for-hire/#comment-22007 Cheers
  12. Thanks for the reply. I did review these docs and perform the steps outlined in them and mentioned in your post. The issue I'm experiencing is that the external user is able to access the DataPages in my account when they follow the initial invite, however, they can't come back to it. I have tested this with my own external email addresses and experience the same issue. I'll reach out to support. Thanks again
  13. Hello, I am trying to let a 3rd party edit a specific DataPage. I have created a group with "Edit DataPage" permission for the single DP. The issue I am running into is that the user only was able to edit or access the DataPage on the 1st login. After that, they can't navigate to it, search for it using the app key, nor use a link to the dp edit page (https://acctID.caspio.com/ui/apps/app/datapages/dpName/appKey/folder/folderName). They are presented with the following error on any Caspio Bridge action. "Permission denied. Contact your internal administrator for more information." Does anybody know the process for allowing an external user to edit a specific DataPage? Thank You
  14. Great topic! I'll share my process and am would be eager to learn about some other ideas. Also, this approach may not work in all deployments - I use unique html files for every datapage, and use iframes on the main interface for multiple datapages per user interface page. Caspio DataPage folders: FolderName [5-14] // current dev folder for the current project, monthly update, weekly update, feature addition, patch, etc. FolderName [LIVE] FolderName [old-versions] DataPage updates : Revision history! This is a utilized tool when iterations are frequent and quickly live in CI/CD. (optional / not a step, an aid) Duplicate the datapage, append current date, and move it to the current dev folder. FolderName [LIVE]/datapage_newRecord_512, gets copied and renamed to FolderName[5-14]/datapage_newRecord_605 if duplicated on June 5th and during the work window / project / release of [5-14] A folder may have several different date stamped datapages. (dp_newRecord_605 - dp_editRecord_515) Each datapage change should pair with a file update. File structure: Git is an easy way to track and access version history for files and the file structure. It also greatly aids collaboration. GitHub is a great choice. GitLab is as well. Many good choices. (optional / not a step, an aid). Date versioned directories. /p/m-d (production directory dates reflect launch date) /d/m-d (development directory dates reflect start date) /old-versions/p[or]d/m-d File names do not change with the date. Directory names do change with the date. /d/5-14/dashboard.html >> /d/6-5/dashboard.html Development dir-names from project start date. Production dir-names from launch date. App Parameters: Use a parameter for the base URL and live version as the destination after login, and wherever you need. In Overview, find and click Manage in the App Parameters frame Update Cleanup. Live hosted file cleanup Remove the previous rollback directory from production. Leave stable launch being replaced in production as the new rollback. Remove all but the current dev directory. Local file cleanup Copy /p/5-2 and past /old-versions/p/5-2 Delete the previous rollback and keep stable launch as the new rollback. Move the previous dev directory to /old-versions/d/4-17 Caspio cleanup Move the previously live datapges from [LIVE] to [old-versions] Move the live datapges from [current-devFolder] to [LIVE] Delete the empty [currrent-devFolder] Dev > Test > Launch > Cleanup. For new projects / work windows / updates / etc. Copy all the files in the live version to a date-based dev directory (/d/5-14) Duplicate the datapage to update and copy or notate it's app key. Replace the app key in the html file the datapage belongs to with the one for the new datapage . Build and test locally (VSCode Live Server is a good choice). Push dev files to the /d/5-14 directory on the live server. (for online testing) Load application as normal. (log in) In the URL bar, replace the active directory. i.e. your.domain.com/p/5-2 with the dev directory your.domain.com/d/5-14. (load dev files) Test to approval Copy /d/5-14 to /p/6-5. (add the launch files to a new production dir) One last test. Update the app parameter to /p/6-5. (Launch) Wait a satisfactory period of time for live use to flush out any rollback level bugs , then perform a update cleanup. Keeps files backed up! Clearing cache isn't required at updates. EASY rollback if needed. (just update the app parameter Change the domain or subdomain easily across an entire account or set of DataPages using a given app parameter. I hope this help some people and others share their processes.
  15. Want to talk about a Caspio project? Schedule a meeting at https://lightbulb.as.me/new-project

×
×
  • Create New...