Jump to content
  • 0

Dev > Test > Prod best practice


Gillian

Question

3 answers to this question

Recommended Posts

  • 0
15 hours ago, Gillian said:

Hello fellow Caspio-ers

Has anyone come up with any clever ideas of ring-fencing development work from deployed, production datapages.

I get nervous when I need to make changes to a table or view when the related data pages are in use.

Thanks

Gill

Hi, Caspio actually offers alternative accounts where you can create the same application in your test environment and formally upload a copy in the live environment as soon as it's done. It;s actually having multiple accounts at the same time (speak with your Account Manager for more options). Alternatively, you can also duplicate the application in the same account and mimic everything there. 

Link to comment
Share on other sites

  • 0
5 hours ago, SinJunYoung said:

Hi, Caspio actually offers alternative accounts where you can create the same application in your test environment and formally upload a copy in the live environment as soon as it's done. It;s actually having multiple accounts at the same time (speak with your Account Manager for more options). Alternatively, you can also duplicate the application in the same account and mimic everything there. 

Hi SinJunYoung

That's excellent guidance! thank you.  I see why you are a Caspio Rockstar.

Link to comment
Share on other sites

  • 0

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

image.png.159ac2ade0f254b27ba82ca2b271fc87.png

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.

  1. For new projects / work windows / updates / etc.
  2. Copy all the files in the live version to a date-based dev directory (/d/5-14)
  3. Duplicate the datapage to update and copy or notate it's app key.
  4. Replace the app key in the html file the datapage belongs to with the one for the new datapage .
  5. Build and test locally (VSCode Live Server is a good choice).
  6. Push dev files to the /d/5-14 directory on the live server. (for online testing)
  7. Load application as normal. (log in)
  8. 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)
  9. Test to approval
  10. Copy /d/5-14 to /p/6-5. (add the launch files to a new production dir)
  11. One last test.
  12. Update the app parameter to /p/6-5. (Launch)
  13. 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.

 

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...