Hi Paolo

I’ve done the necessaries to give you permission. I’ve really got to automate that.

I don’t really see that there’s really any other way to develop software. Windows isn’t a server platform. I’ve had Linux in my house since I hand-compiled a version 0.99 from a floppy disk image distribution (although nowadays we are an an all-Mac house except for the server, but Mac OSX is at it’s heart, BSD Unix). My choice of Python was somewhat pragmatic: it’s not the language I’ve got the most experience (that’s Java) but I know enough of it - and its competitors like Ruby - to know it’s a good choice for a site like de commentariis. Also I enjoy writing with it. Java, not so much anymore. Ruby is too slow. Perl (I spent some years writing a system in Perl) too silly and obtuse to be anything other than a write-only language. PHP is a positively insane idea which no real programmer should ever countenance.  I’m sure I like the idea of Javascript on the server (i.e. node.js).

As for the server load, I think it will take 8 simultaneous users OK. It seems to run between 10 and 20 database connections at the same time, and I’ve got the total number of Apache threads well-throttled to stop that become too saturated. CPU utilisation seems to be pretty low with only occasional peaks over 30%, it’s otherwise database-bound, and not even at the disk i/o level (which would be its fundamental throughput capacity) - just the number of connections the free AWS RDS server instance will allow me to have open at once. At the end of my free year of AWS I will upgrade everything to a configuration that will will cost ~= $15/mo to host, but which requires about $400 up front payment (for three year’s worth of two ‘reserved’ servers); I’ll be researching what funding opportunities I have to get that cost covered. I’d actually run the database (postgres) on a second EC2 instance I think, rather than use Amazon’s RDS service, which is more expensive (a pity that). 

More to the point, apart from all the techie talk about database i/o (I can just feel everyone’s eyes glazing over),  is that the site needs, and I am planning, for a number of features:
  1. Users in Groups/Cohorts (i.e. classes)
  2. A Group Owner who adds/removes users to the cohort (i.e. the instructor)
  3. Instructor creates a new group (i.e. starts a new class for a term) and adds the cohort.
  4. Ability for the cohort to filter commentary such that only the cohort’s own commentary is visible, at instructor’s preference.
But, before I get there, I’ve got some existing features I still have to add to the site:
  1. Edit your saved commentary (in train - will edit the commentary ‘in place')
  2. Delete your own saved commentary
  3. Voting on individual commentary items (the point being the best commentary items will be more visible)
  4. Better sorting of the commentary items
  5. Filter out a user’s commentary (e.g say you decide my commentary is worthless, a selection to make it possible that you never see my commentary ever again)
Most of those above I want to get done before I start work on the groups/cohorts stuff

Then there are some features it needs around collating commentary items into a single coherent text:
  1. Collate all your own commentary items into a single page, grouped by edition/work
  2. Collate a selection of your and other’s commentary items (for a given edition) into a single page (i.e. "build your own commentary” function)
  3. For instructors and their cohorts, the previous item would be automatically available for any given cohort.
There are also a number of other longer-term things I see need of doing which are slightly more complex:

Currently, your commentary is tied to an individual piece, i.e.
  1. If you comment on Caesar B.G. 1.1.1 it’s directly tied to that section’s data.
  2. If you view Caesar 1.1 or 1., you won’t see commentary for the 1.1.1 section.
  3. Clearly that’s junk, it has to recognise that commentary for “child” sections that are visible in current scope should also be shown; and that those child section items have an order of display that’s different to commentary on the whole parent. I’m already showing links to the child and parent on the page itself.
  4. Also similarly, if you are looking at 1.1.1 there may be commentary attached to 1.1 that is potentially applicable (I probably won’t default to showing it, more to indicate “other relevant commentary”
  5. Your commentary may apply to a specific range of sub items (e.g. 1.1.2-4), and to specific words.
Also applicable, each edition of a work is separate.
  1. Let’s pretend that we have lots of Livy in the site (I can dream)
  2. If I commented on section 21.22 of Wiessenborn and Mueller’s edition of the text (21.22.6-9 is “Hannibal’s Dream”)
  3. And you commented on section 21.22 of B.O. Foster’s edition of the text
  4. Someone else commented on 21.22 of the Conway and Walter’s text edition
  5. They would not currently be cross-visible.
Anyway, enjoy!

--
Scot Mcphee
Computer Programmer, Classics PhD.
p +61 412 957414
e [log in to unmask]
http://autonomous.org/

From: Paolo Monella Paolo Monella
Reply: The Digital Classicist List [log in to unmask]
Date: 08 March 2014 at 00:31:22
To: [log in to unmask] [log in to unmask]
Subject:  Re: [DIGITALCLASSICIST] new digital classics resource - in 'alpha' test - decommentariis.net
Kudos - this looks very interesting! Plus, I love the Python+DIYish+Open Source combination (Linux user here). I just logged in with username 'ilbuonme'. Could you please give me permission to create a commentary?

I am actually thinking of making use of this in my high school teaching of Latin. The largest class I have, though, is of 16 people. If, say, 8 of them were logging in together (i.e. 16 people from 8 different computers), would your servers stand it?

All best,
Paolo