๐พ Archived View for bbs.geminispace.org โบ u โบ jsreed5 โบ 19570 captured on 2024-12-17 at 15:34:58. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Re: "geminiprotocol.net: Gemini app developer's guide published..."
Excellent writeup! One thing I learned about CGIs is that user state is very important, and one should consider carefully how to handle it. My chess service used a full database to retain player state across requests. Meanwhile, my todo.txt service manages it with only a user certificate and the contents of flat text files. Sometimes one can get away with storing a state within a query string if the user is not expected to modify the query manually; some examples of this are Minesweeper by @Acidus or my twisty puzzles, where users alter the state by selecting links that contain query strings modified according to the rules of the puzzle.
Sep 10 ยท 3 months ago
โ freezr ยท Sep 13 at 22:54:
Thank you guys you're the best! ๐
๐น๏ธ skyjake [OP/mod...] ยท Sep 15 at 18:07:
Thanks for the feedback so far, everyone! When I find a suitable moment I'll make a few edits and additions to the guide. This will probably be after the Lagrange v1.18 release, though.
๐ jsreed5 ยท Oct 05 at 14:18:
Here's a neat trick for CGIs I forgot to mention. Sometimes you may want to send a value as a query string but only have that value act on a certain location. For example, you may want to edit just the Nth line of a file, or return the Nth page of search results. One way to do this is to build a base CGI file, then create a symlink to the file, with the link name being the location you want to act on. The CGI can then use its own filename as a location parameter, without the user needing to specify a location in the query along with a value. I use this trick in both my todo.txt service and the OEIS mirror.
โ geminiprotocol.net: Gemini app developer's guide published
Thank you @Solderpunk for giving me the chance to contribute some official Gemini documentation in the form of a new developer guide. I look forward to hearing from @Acidus, @mbays, @gritty, @stack and all other Geminauts who have been working on interactive Gemini apps! I'm sure we can keep improving this guide further with your insights and/or comments and corrections.
๐ฌ skyjake [mod...] ยท 9 comments ยท 10 likes ยท Sep 08 ยท 3 months ago