Freshmeat page: http://freshmeat.net/projects/myadvogato/
The newest version is 1.1.
About. MyAdvogato is a fully-customizable CGI wrapper for Advogato. In each call it fetches pages from the original web site, modifies them on the fly according to user preferences, and returns the result.
Features. These are the current features of MyAdvogato, note that all of them are optional:
In the home, recentlog, and personalized recentlog it optionally edits boxes associated with diary entries to add three small colored boxes to them (or labels, depending on the settings): the first box corresponds to the level its author is certified at, the second box indicates how the user certified him/her, and the rightmost box (provided for completeness) the level s/he gave to the user. A hole means no certification.
Selected diary entries
In the home it optionally builds a section called Selected diary entries, which looks like Recent diary entries, but consists of just the rows corresponding to a selected list of people. The title of the section is linked to the personalized recentlog (see below).
If the list of selected user names is non-empty the very title Selected diary entries is linked to a recentlog created by MyAdvogato which is a clone of the real recentlog consisting of just the corresponding selected entries.
In the home, it optionally puts a certification summary that shows your current level and sums up in a few numbers the certificates you have given and received.
User name highlighting
In recentlog and personalized recentlog, it optionally highlights the user name (case-insensitive) and links to his personal page in Advogato no matter the actual linked text.
In the home, recentlog, and personalized recentlog, it highlights entries of persons in a given (possibly empty) notify list with a configurable mark.
In the home and recentlog, it hides entries of persons in a given (possibly empty) ignore list.
In the home, it optionally inserts a form to search Advogato with Google, or go directly to pages of persons or projects.
In the home, it optionally removes the introductory text at the top of the right column. You could find this useful if you are using a low-resolution screen, where the header of the recent diary entries section may be displayed near the bottom of the window.
Diary rates hiding
In recentlog, it optionally hides diary rates.
Diary entries threshold
In recentlog, it hides the entries of users whose diary rating is below a given (possibly 0) threshold.
In the personal page, people that have certified the user and have not been certified by him are optionally highlighted with a label.
Finally, it optionally chooses a graphical or textual view of the wrapped pages depending on the browser.
Screenshots. This shot shows the home page in Konqueror with the form at the top, the introduction removed, the certification summary, and the Selected diary entries section. This one shows the same configuration plus certs in elinks. This shot shows a wrapped recentlog with user name highlighting and hidden diary rates, and here you can see how a link to my page at Advogato is highlighted (note the actual URL linked at the bottom of the window).
Origin. There was a point I realized I could no longer remember people I had certified by their usernames, not to mention the level I gave them. I wasted time scanning the lists of certifications looking whether I was already there, so I tried to solve that and share the solution. As time passed more features were added.
Implementation. MyAdvogato is a Perl script, it can be invoked as a CGI or executed from the command line. It is Apache::Registry friendly and uses modules just from the standard distribution.
This project has the following developers:
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!