Implementation of a no-JS searx-space #196
glanham-jr
started this conversation in
General
Replies: 1 comment
-
Here is some more analysis from another standpoint
With this, I'd actually say lets ditch the idea of Django Distill, and just use Django Server Side rendering and cache the results. Don't think there is a huge benefit to static generation unless there are some strict limiting requirements on the server I'm not aware of. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Wanted to move the conversation from #9 into a dedicated thread, since implementation details don't seem necessary on the issue thread.
First, I'd like to review some technology choices we can use. Then, after having some agreement on the technology, I'd like to write a high level design of how I'd propose to work with the technology chosen + a rollout plan (if we want to go 100% new site, or have both sites running at the same time, we can discuss). After that, I'd try to start a prototype.
To review, dalf has provided an initial investigation on some possible technologies for frameworks.
Along with this, I've provided a suggestion for the technologies to choose.
I think the two main benefits of using Django + Django Distill is that more of the code lives closer to Python (which seems to be the focused language of the overall project), and that we can likely omit using any JavaScript framework from the project. I see many benefits of reducing 3rd party client side code: will let us easily write JS that is LibreJS compatible, remove reduce attack surface of introducing possible errors and auditing imported source code, and also allow users to audit our source code with higher confidence.
The downside is that this will involve more up-front development work, as we will need to convert the site to work with Django Templates. But I also don't think the lift is huge - there are a total of 4 tables we need to populate, and these have not significantly changed over the years from what I've seen.
Some more things to consider is the current backlog of issues. Whatever is chosen, it should not add any additional friction in resolving issues. Ideally, these issues should become more approachable and easier to fix/update/maintain.
Finally, in my opinion, the goal is not to change the current design of the site to the extend that we can populate a no-JS site. We should try to maintain almost the same level of UI/UX. After migration to the new technology, then we can consider making more changes. However, a complete re-design + new technology framework is just a complete re-write at that point.
Beta Was this translation helpful? Give feedback.
All reactions