I made progress on several Airtable management tools and also added an entirely new Cloud Research dashboard.

I started with my Projects and Subprojects system. Project searching was working, but the Subprojects field never returned anything. After reviewing how the Subprojects table was structured in Airtable, I corrected the connection and got subproject searching to work properly. I then expanded the interface so I could edit records instead of only viewing them. I also added a Date Completed field.

Next, I applied the same general editing system to my Issues table. Because I use the Issue ID to track how much time I spend on each issue, I made sure that field was included prominently. I also added a Date Resolved, Closed, or Cancelled field. One problem was that the Issues table did not work properly on mobile: unlike most of my other tables, part of it was cut off and I could not scroll horizontally. I corrected the mobile layout so the complete table could be reached.


An installation problem came up when WordPress rejected one of the theme ZIP files and said it was missing style.css. The files had been packaged at the wrong directory level, so WordPress did not recognize the archive as a theme. I corrected the package structure and produced a properly installable ZIP. I then had the same mobile and editing improvements applied to Task Manager.

Later, I shared the Google Sheets dashboard I built for my Cloud Research transactions. I reviewed its full layout, including payments received, pending payments, bonuses, realized revenue, approval rate, hourly yield, assignment statuses, revenue trends, duration analysis, researcher rankings, project rankings, search, date filtering, and the complete transaction ledger.

I built a Cloud Research window for the Windows 95 theme using the latest theme ZIP that already contained the Daily Logs nesting fix. The new dashboard received its own desktop icon, Start-menu entry, taskbar button, and a normal draggable, resizable, minimizable, and maximizable window. It includes four sections: Executive Overview, Duration and Time, Researchers and Projects, and Assignments Ledger.


One important technical issue was discovering that the original Google Sheets link pointed to the visual dashboard Canvas, whose sheet ID was ####59, rather than the underlying transaction worksheet. After opening “View data,” I found that the actual transaction worksheet ID was 1####3#5. I then mapped the real columns, including Project ID, Project Name, Researcher Name, Completion Code, Payment Received, Payment Pending, Amount Bonused, Start Time, Completion Time, and Status.

The first version used a public CSV connection. It worked conceptually, but I stopped to ask whether it was safe to leave the sheet publicly accessible. I determined that “Anyone with the link” would expose the underlying transaction information to anyone who obtained the URL. That included researcher names, project names, completion codes, timestamps, and payment information. Even though the WordPress dashboard itself was protected, the Google Sheet would not have been truly private.

I decided to keep the spreadsheet Restricted. I replaced the public connection with a private, read-only Google Sheets API connection using a Google service account. The new version requests a short-lived access token from the WordPress server, caches the results, and makes the dashboard available only to signed-in WordPress users. The service-account credentials will remain in wp-config.php; they are not included in the theme files, page source, browser JavaScript, or dashboard response.

The completed secured theme is version 1.6.0, and it has been saved in my Library. The JavaScript passed its syntax checks, and the finished ZIP passed its archive-integrity test. A PHP command-line checker was unavailable in the development environment, which was the one validation limitation.
The remaining work is setup rather than dashboard development.

Later this week, I need to create a Google Cloud project, enable the Google Sheets API, create a service account and JSON key, share the restricted spreadsheet with the service-account email as a Viewer, and add the service-account email and private key to wp-config.php. I should not paste or share the private key in chat.

I accomplished a great deal today. My Projects, Subprojects, Issues, and Task Manager tools are more functional, editable, and mobile-friendly, and I now have a substantial Cloud Research analytics dashboard ready to connect privately. I am shutting everything down for the night and will pick up with the secure Google connection later this week.


Discover more from JohnHigginbotham.com

Subscribe to get the latest posts sent to your email.

Author:

Leave a Reply