It has been very quiet on this forum lately. That’s fine with me!
Personally, I have been working on a completely new type of sample project for Rubicon, which combines many interesting technologies (below). I am working up to explaining all this to the Oregon Delphi User Group on August 17th, and very much hoping that people can get some new ideas about how to build custom search engines with Delphi.
All the source code will be in the webhubdemos project which is open source and in subversion on sourceforge. The project is still being fine-tuned and the source code probably will not fully settle for another couple of weeks.
FireDAC with Postgresql for the TEXT and WORDS, hosted on Amazon AWS RDS.
The sample content is a blog ( my blog, as it happens ) with very little data but a full-featured custom search engine, so that we can show some of what Rubicon can do.
The main web site content was done in the simplest possible way, essentially as static .html files hosted on S3 and then surfaced with AWS CloudFront for speed. There is a database-driven engine behind this, which does the exporting. That was coded with Delphi and WebHub. In spite of the content being static, the searching is fully dynamic, going against a separate URL over https. The basic idea can be implemented with any web framework.
The RAD REST executable runs on a AWS EC2 instance (t2.nano with Windows). It runs securely over https on port 8080 (only to avoid conflict with other things that run on ports 80 and 443 already on the machine). The secure certificate was provided by LetsEncrypt (free) and hooked into the Indy IOHandler. The certificate was generated by WACS (aka win-acme, win-acme.com which is my favorite LetsEncrypt client on Windows.
We have implemented a dynamic version of the blog site using Go in addition to WebHub, and we (Ann and Manya) worked out a way to share the syntax across both of those systems. We shared both the SQL queries themselves plus the HTML markup that generated all the pages.
The Rubicon TEXT is surfaced via a SQL view making use of a Postgresql feature that I only just learned about, namely STRING_AGG.
For details about the presentation including getting the Zoom link on the day, please visit https://odug.org/2022-08