Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

463 total results found

October 8

Development Updates, pre-launch 2024

Hi all, hope you're doing well. My health is still awful, so I've been very slow, but trying to chip away at things when I can. Got a lot of hospital appointments and stuff coming up, so I don't know how much will be in the next update, but will see. Bookmar...

October 22

Development Updates, pre-launch 2024

Hi all, hope you're doing well ^^ Styling: explanation sections To create clearer explanations for users in various sections of the site, I realised a specific "explanation template" would be helpful for things where a user needs to be aware of information w...

Setting up rate limiting via WAF

Infrastructure (AWS) WAF

If your infrastructure setup is such that all of your site visitors are coming to your website through a CloudFront distribution as the first point of contact, then you can use WAF to reliably rate limit requests from visitors. Adding a rate limit rule To ad...

November 9

Development Updates, pre-launch 2024

Hi all, hope you're doing well. Updates below. My health is getting worse and worse, so fairly short update today. Gallery SQL performance improvements When searching for artworks, the gallery SQL stored procedure now uses a set list of mime types to compar...

Database Structure

Implementing Searches / Galleries Introduction

The tables, etc involved.

Overview

Implementing Searches / Galleries Introduction

Optimising the SQL query

Implementing Searches / Galleries Efficiency: SQL and caching

Optimising a query of this size can seem a very daunting task. In reality, there are a handful of important points you can keep in mind to make optimisation decisions to make your query run faster. SQL Wildcards In general, leading wildcards in SQL queries w...

Caching results

Implementing Searches / Galleries Efficiency: SQL and caching

If your gallery SQL query is run every time a user performs a search or loads a gallery, it's going to cripple your database server fairly fast given the scale of said query. Caching results helps to massively reduce load on your database server, and for it to...

Caching dangers (user safety)

Implementing Searches / Galleries Efficiency: SQL and caching

Because retrieving data specific to the requesting user is a huge caching inefficiency, we need to be sure that when we get results back from the database, that any artworks from artists who are blocked by the requesting user are removed before being sent to t...

Query explanation

Implementing Searches / Galleries Deserted Chateau's Gallery SQL

December 12

Development Updates, pre-launch 2024

Hi all, hope you're doing well. No second update last month, as I've been out of action due to my worsening illnesses; not a big update this time. Account verification system I've finished making the verification system for users, and now the submit artwork ...

January 23

Development Updates, pre-launch 2025

Hi all, hope you're doing well. I'm quite badly ill, so I haven't been able to do much of anything at all - which is also why I took six weeks to publish this update, rather than the usual two. I might document my recent health problems in the next update as a...

April 9

Development Updates, pre-launch 2025

Hi all, hope you're doing well. Video encoding tests I did some extra testing of HEVC / H.265 video encoding to see the performance differences when used with AWS MediaConvert, as I realised that for videos with a lot of views, the bandwidth savings will out...

Minification and Merging

Efficiency & Performance CSS and JavaScript efficiency

When deploying your website to a production environment, i.e. running it live for people to use, you should optimise your frontend scripts so that they load as fast as possible and use as little bandwidth as is necessary. This has two benefits: It cuts down...

Troubleshooting & Pitfalls

Code Standards: Frontend TinyMCE Standards & Overrides

Errors "Node cannot be null or undefined" While this error can signify a lot of problems, I've often found it occurs when an editor is still bound to an element on the page, but that element no longer exists. Make sure both to remove any unused editor insta...

November 3

Development Updates, pre-launch 2025

Hi all, hope you're doing well. This update is very, very late; I keep meaning to return to a two-weekly schedule or some other consistent schedule, but my health has stopped almost everything for the last several months, and that doesn't look likely to change...

Session Management

Code Standards: Backend

Session Handling Deserted Chateau uses phpredis as a session handler, both for improved performance (versus storing sessions on the webservers themselves) and to enable centralised session management across multiple webservers. Session regeneration and expir...

The SpaStateManager class

Code Standards: Frontend

Deserted Chateau's SPA is implemented via this class, and can be enabled or disabled by users via their navigation settings. Registering page render params Each JavaScript class that runs for a given page (e.g. DisplayArtwork.js, UserProfile.js), on page loa...

Less

Tech stack Languages

Homepage https://lesscss.org/ What is it? An extension of CSS, that allows for functions and other features that normal CSS doesn't have. Why did we choose it? It helps with making our compiled CSS code less repetitive. What do we use it for? Writing De...

snuffleupagus

Third-party libraries Backend libraries

Homepage https://snuffleupagus.readthedocs.io/ What is it? A PHP module for increasing the security of websites using PHP. Why did we choose it? It's well maintained and does the job well. What do we use it for? Improving security on our webservers.