Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Applet Resync
07-07-2012, 11:45 PM, (This post was last modified: 07-09-2012, 12:01 AM by RobertShiplett.)
Applet Resync
If you are running Curl applets in subdomains of a web server, whenever you visit the respective directories, the newest file should be ... that resync file.

Curl RTE simply makes an HTTP request for that file and checks the timestamp in the response header.

Resync by a file's server timestamp is handy if you change a library file and wish to force a resync for multiple curl applets.

Each resync file can serve as an update log for that subdomain and web application.

You may want to Disallow web indexing in the robots.txt file and perhaps construct the resync file as a no-index and no-cache html file with CSS display:none using an effectively cached utf-8 filename, but that risks resync defeat by browsers that cache regardless. A utf8 text file with an extension of len > 3 is surely best. Test by placing the filename each approved browser address bar. For a tool to validate the header timestamp updating as intended, you can use a Curl applet to expose the HTTP response header or a browser extension such as HttpFox. Curl PRO itself has HTTP tools.

If your web host server session has the touch cmd, you can use an image as the file, but you lose the logging opportunity. I have not tried using a directory and adding a logfile per update (a linux directory is a file and should change date for a file addition - but you may want to test.) The touch command through a putty session can also be used just to create an empty "log" file in a directory.

I have not tried using a 404 file and toggling its date.

Note: an OS file system may use 3 or more datestamps for files: creation, modification, last-access are common. The HTTP response header should carry the modification date for the requested resource.

Using a date-named resyc file requires updating the afffected applets - which provides some update audit documentation, but effectively defeats the convenience of the resync file timestamp check - so an applet resync date change and comment probably would make more sense.

I have not used a critical scurl filename or a critical data file name itself as that resync filename, but that may be a one-step solution that works best - especially if that file carries documentation for the update.

Using a documentation file may be even more effective if it says at the top "Policy states that the touch command must not be used to refresh the date of this file. Consult online HR handbook and/or see CM and VC POLICY at some-url."

For Curl information, see the docs on the proc named process-resync-as-of

The separation of version control from configuration management and release management is a big topic as some popular methodologies confound them utterly. Smalltalk Envy was one such. Pharo Smalltalk is currently evolving to separate these, but the issue's effective outcome depends on experience, understanding and leadership. Without experience of failure or knowledge of documented failures, the latter two are not a reliable basis in practice. IT as an applied science has a tendency to exaggerate success and minimize publication of failures even within a team.

Compare: NASA risk oversight recommendations to some textbooks on software engineering.
See: Feynman on experiment and science versus cargo-cults.

Robert Shiplett, Curlr
Fredericton NB


Possibly Related Threads...
Thread Author Replies Views Last Post
  Generating HTML with a Curl applet RobertShiplett 0 2,807 10-13-2012, 03:42 AM
Last Post: RobertShiplett
  Purge Suspended Applet is not enought RobertShiplett 0 2,744 07-12-2012, 11:40 PM
Last Post: RobertShiplett
  Applet HttpResponseHeaders RobertShiplett 0 2,710 07-04-2012, 12:09 AM
Last Post: RobertShiplett
  Applet Memory Footprint RobertShiplett 0 2,476 06-06-2012, 03:17 AM
Last Post: RobertShiplett
Forum Jump:

Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
INSERT INTO mybb_threadviews (tid) VALUES('555')