Latest revision |
Your text |
Line 368: |
Line 368: |
|
| |
|
| https://gist.github.com/oka-tan/f794a6ac464a09f3581d0ac530e37b92 | | https://gist.github.com/oka-tan/f794a6ac464a09f3581d0ac530e37b92 |
|
| |
| == Page Views ==
| |
|
| |
| The views we use to display data to users from the SQL database or search engine make up the primary mechanism that users interact with the system, with the API being for the most part, reflections of such views.
| |
|
| |
| All anonymous users are authorized only to read the database. A separate API and authentication system is required for admins and moderators to edit the content of the SQL Database through approved mechanisms.
| |
|
| |
| === Pagination ===
| |
|
| |
| Foolfuuka had an abysmal offset based pagination which put more and more stress on the SQL database the further back anons went. However, without a powerful search server on many archives, this was the only way for them to browse further back in the archives without knowing the thread or post number.
| |
|
| |
| * Pagination Methodology: Cursor Pagination - Although 4chan uses offset pagination to provide a set of handy page numbers, page numbers don't make sense on an archive as they are a relative marker that changes every time a new thread is added, and offset pagination becomes more inefficient as the user goes further back.
| |
| * Thread Sort Order (Default: Last Modified) - The thread sort order should be last modified by default, as it is on 4chan and FoolFuuka.
| |
| ** An admin may elect to have the WebUI display sort by thread creation date instead. To ensure disambiguation, specifying the search ordering method is required in the API whichever the default is.
| |
|
| |
| == Queries ==
| |
|
| |
| Queries are methods for users to request arbitrary content that is outside of the page views but doesn't resort to utilizing the search server.
| |
|
| |
| === Post Number ===
| |
|
| |
| There should be an option to find a specific post number whether the user knows the board it was on, or not (a frequent situation when looking up screencaps).
| |
|
| |
| Once submitted:
| |
|
| |
| # If a specific board was defined, it should send the user to https://archive.url/board_name/post/12345678
| |
| # If no specific board was defined (important for looking up a post number from a screencap), it should send the user to https://archive.url/post/12345678
| |
| #* The results should be a post on all boards that matches the post number, of which there may be multiple results or only one.
| |
|
| |
| Also, if the post number points to an OP post, it should direct the user to the thread URL instead of the post url.
| |
|
| |
| These URLs should be usable without having to enter them in the WebUI.
| |
|
| |
| == Experimental Concepts ==
| |
|
| |
| These are experimental concepts which are not yet part of the Ayase standard.
| |
|
| |
|
| === PostgreSQL RBAC Row Permission System === | | === PostgreSQL RBAC Row Permission System === |