(The original site didn't store, just emailed, which was why this was not an option historically.) I just recently replaced the whole thing with an API call made from the back-office to the Wordpress site to access the stored data. Reconciling information between the front-end and the mail box showed not all emails were being delivered, and authentication to gmail was becoming more and more of a burdensome moving target. In the last year or so it was getting more and more onerous though. Things evolved, the front-end web site got replaced with a Wordpress site, but the email message queue kept working for a long time. They were looking to automate this with a minimum of changes to too many of the moving parts at once, so I reformatted the sent email to contain an XML payload so the new back-office automation could read and process it (and in a pinch, a human could still review any problem applications) using Java's mail APIs. It basically evolved from when applications from their original customer facing site were emailed and manually entered into the back-office system by a human. This worked quite well for close to a decade I think. One of my customers used email (a gmail account, no less) as a message queue between their front end site and the back-office processor. I really like it, but I shudder to think of the complaining I'd hear from other developers if I ever used it in a work project, just because it's not whatever they've ever seen before and would require a moment of two of thinking on their behalf to get over ingrained habits. I use it to configure little sub-projects in my personal website. And you could conceivably TAR up the whole thing if you wanted to transmit it somewhere. You don't have to load the whole configuration just to access one field. You can see when a specific config value was changed by checking the file update time. I don't need any special viewing or editing tools, just a file manager and text editor. The file extension is a hint about the data type contained within (.txt is obvious, but I also liked. I've experimented with using the file system for storing configuration data where each config value is a single file. File systems come with so much useful metadata. I really feel like file systems aren't used for enough things. They added descriptive tutorial text, guides for users, and branded the application well beyond built-in functionality. They ended up completely modifying the application interface through this interface by editing text, adding HTML elements, and injecting CSS blocks. One customer figured this out and, due to the naming, was easily able to identify the text for all screens and dialogs. As a convenience, both the import/export and edit screen were capable of editing these strings. Since this functionality worked so well, we also used it internally for all text in the application. Both of these were made easier by the fact that the strings had semantic identifiers like "/survey/question/choice" or similar. To make translation easier for our customers to translate surveys outside of the application, there were ways to export/import the text strings as well as a standalone screen that allowed finding and editing them. A big feature we implemented was the ability to create surveys to support multiple languages. One of the craziest cases of this I've seen was with a web-based survey application I was the principal engineer on in the mid to late 2000's. This is an important lesson - if someone is using your tool in unexpected ways don’t just shut them down there’s likely a business case that could be identified and specialized in.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |