Forum OpenACS Development: To whom it may concern, phigita-star in github

I have just published my code in github (https://github.com/neophytos-sk/phigita-star). It is still in development and there are no docs whatsoever. Yet it worked for many years for me and it will remain a work in progress for some time.

Among others, it includes applications for blogs, bookmarks, forums, maps, personal poll questions (ala okcupid), wiki, and notepad (ala workflowy).

All of them work on top of the new templating system I wrote, which transforms pages into C code and compiles them (see A simple templating system for TCL using C).

Most packages have multiple groups of pages (zones). For instance, the blog app has a private zone (www-pvt), a shared zone (www-shared), and a global zone (www-global). In combination with a persistence layer that partitions data (horizontal partitioning / sharding) based on different scopes, this reduces permissions checking to a minimum. In most cases, you don't even have to check for permissions and just return the data for the given logged in user for private stuff (e.g. /my/blog/, /my/media/, /my/bookmarks/, /my/wiki/) or the context user for shared stuff (e.g. /~someuser/blog/ /~someuser/media/, /~someuser/bookmarks/, /~someuser/wiki/). Tilde processing is taken care of in the request processor.

My most recent work is a news aggregator (see lib/feed_reader) that works with html pages directly just as well as with RSS and atom feeds. It makes use of an adapted version of the k-means algorithm for article clustering (see lib/document_clustering) and naive byes for article classification (lib/naivebayes).

There are also modules for detecting languages, tidying html, geoip location, critbit trees, search, json parsing, technical analysis (based on ta-lib), and my beloved structured_text for converting StructuredText (similar to the markdown format) into html.

Most of the code makes use of a modified critcl package to compile the C code in TCL/C libraries that are automatically loaded when you import a module.

I would not rush to install it if I were in your shoes. I post it here as it is relevant to OpenACS as it is still using some very old code for bootstrapping, which I plan to rewrite along the lines of the Gentoo Portage System in order to support USE flags, overlays, masked packages and the like.

Just a heads up.

Collapse
Posted by Antonio Pisano on
Thanks for sharing, with my compliments for having implemented Naive Bayes in tcl! Not something you see everyday! This goes in the direction of spreading the word a bit more about your promising templating system!

You may consider including those utilities OpenAcs still lacks into the common codebase.

Collapse
Posted by Neophytos Demetriou on
Hi Antonio and thanks. About contributing to OpenACS, I will, very gladly.
Collapse
Posted by Neophytos Demetriou on
The repository includes mediabox, a storage solution. You can upload your camera photos.