Project Fresco

Add-ons for Pale Moon and other applications
General discussion, compatibility, contributed extensions, themes, plugins, and more.

Moderators: FranklinDM, Lootyhoof

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 582
Joined: 2017-01-14, 02:40
Location: Philippines

Project Fresco

Unread post by FranklinDM » 2023-08-18, 15:21

1692401578.png
This is the official announcements/feature requests/suggestions thread for Project Fresco, which was initially developed as a temporary measure back when the add-ons site went down. I've made a few improvements to it recently and figured that it'd be nice to gather some feedback and make a post about it, documenting the changes and how it differs from Phoebus in its current form:
  • Full add-on name/description/keywords/author search. Just type Lootyhoof and all of his extensions will show-up in the results. Partial matches also work!
  • User pages. There is now a dedicated page that show every add-on associated with a specific user. Here's an example.
  • Random add-ons listing in the home page. Since writing a recommendation algorithm introduces some bias and privacy implications that I'd rather not deal with, the Fresco project home page now shows random applications, extensions, themes, and dictionaries that might be of interest. It does change with every refresh.
  • Pagination. Add-on categories don't show everything at once and the listing is now separated by numbered pages.
  • Release notes.
  • Site themes. Right now, there are 3 site themes to choose from: Default (modern AMO style), Cavendish (classic Mozilla style), and Blue (APMO style).
  • Dedicated discussion section. Shown on each add-on page. Hosted via GitHub discussions and supports "reactions".
The only downside that it has is it requires JavaScript to work, but the improvements here might make its way to Phoebus if I've the time in the future.
Some technical details: Fresco uses the GitHub API for nearly every add-on entry, which is why it does not require manual changes if a specific add-on releases a new update. Since it sits on top of GitHub Pages, it cannot use PHP or any other tech that would produce static pages with data from the GitHub API, unless we'd (a) go with the manual route, that is, to manually update each and every page with every add-on update; or (b) host it in a separate, independently-hosted site. This isn't practical and is something that I'm not willing to do for a site that acts as a mirror, which is why I've went with a JS approach in accessing the GitHub API and in building the add-on pages and lists.
Source code for both the main site and add-ons metadata is hosted here.
You do not have the required permissions to view the files attached to this post.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1537
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Project Fresco

Unread post by athenian200 » 2023-08-18, 16:24

Even though Fresco unfortunately can't act as a replacement for Phoebus now, I am impressed by what it can do and hope that eventually it will evolve into something that can reduce our dependency on PHP. In my past experience, PHP-based projects are notoriously difficult to maintain, especially if they have a lot of bespoke code that doesn't come from externally maintained libraries. It's hardly pressing right now, of course, but it might be a problem as newer major PHP versions come out. If nothing else, a backup is always nice to have.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
Basilisk-Dev
Lunatic
Lunatic
Posts: 323
Joined: 2022-03-23, 16:41
Location: Chamber of Secrets

Re: Project Fresco

Unread post by Basilisk-Dev » 2023-08-18, 21:01

athenian200 wrote:
2023-08-18, 16:24
In my past experience, PHP-based projects are notoriously difficult to maintain, especially if they have a lot of bespoke code that doesn't come from externally maintained libraries. It's hardly pressing right now, of course, but it might be a problem as newer major PHP versions come out. If nothing else, a backup is always nice to have.
I've been doing PHP development professionally for almost 8 years now and this has not been my experience if best practices are followed. If best practices are not followed, then yeah it can get difficult pretty quickly. If there is any help needed with maintenance and updates to the Phoebus codebase I'm happy to help out.
Basilisk Project Owner

viewtopic.php?f=61&p=230756

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 666
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: Project Fresco

Unread post by RealityRipple » 2023-08-19, 21:46

I like PHP, but their versioning is terrible. Minor version bumps have breaking changes constantly. Especially since PHP 7 - every release since 7.0 has changed the functionality or parameters of at least one commonly used function.

User avatar
therube
Board Warrior
Board Warrior
Posts: 1651
Joined: 2018-06-08, 17:02

Re: Project Fresco

Unread post by therube » 2023-08-21, 19:48

From a "foreign" browser, "Download" on a search ('Find') page (https://projectfresco.github.io/addons/?q=+Lootyhoof), is more like an "Install".

From a "foreign" browser, "Download" on an extension page (https://projectfresco.github.io/addons/ ... ome-styler), can either be installed (left click) or downloaded (right click, save link).

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 582
Joined: 2017-01-14, 02:40
Location: Philippines

Re: Project Fresco

Unread post by FranklinDM » 2023-08-23, 04:52

therube wrote:
2023-08-21, 19:48
From a "foreign" browser ... is more like an "Install".
This is only the case if the "foreign" browser is Mozilla-based (e.g., Firefox and other forks). This behavior can't be avoided since they still recognize it as an XPI package despite being incompatible and I can't control the MIME type that the server sends since it's all externally hosted.