blade_bunny (blade_bunny) wrote in lj_dev,
blade_bunny
blade_bunny
lj_dev

LJ at UIC

Hola,

I'm looking for advice on setting up a Live Journal system for the University of Illinois at Chicago. The basic idea we're going for is to have a journal system that all registered students and staff can have accounts on. It will hopefully be a way for students, staff and professors to interact and I'm sure it would be a great for countless student groups.

So the basics of what I'm looking for in a journalling system are:


  • I love the LJ friends system, threaded comments and customizability, all great and I'd probably not get it in another system.

  • I need to pre-populate accounts and not allow users to create their own accounts.

  • LDAP authentication would be nice.

  • It should run on Red Hat Enterprise Linux version 4 or 5 (once it's out).

  • I'd like it to run on Apache 2 with mod_perl 2. I think I can handle the porting, I've ported other (smaller) apps.

  • It's gotta cost nothing. Sorry, I'd love to hire folks to do the work, but I don't have such authority, not at least until I can prove the value to the university.


I've been a fan of LJ for a while now, so I'm having a hard time imagining going with anything else, but to start with, am I crazy? (probably asking the wrong crowd but...) Are there any other open-source journal platforms I should be looking into that would be easier to set up and manage?


To get to a technical question. I've been hacking away at my setup, starting with an svn checkout from the trunk, and now I'm trying to start it up for the first time and I'm getting errors where in serveral places it's trying to use TheSchwartz/Worker.pm. I see LJ/Worker/TheSchwartz.pm but no TheSchwartz/Worker.pm. So I'm a little flummoxed right now. (Part of why I'm questioning my sanity for taking on this project).
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments
We've done LDAP for LiveJournal.... it's quite easy with the auto-vivification stuff. Accounts can just pretend to exist and actually come into being the first time they're acccessed, if valid.

As for your svn problems, you need a lot of svn repos (all checked out into $LJHOME/cvs), and then they overlay on top of each other, using a tool that's provided.

The basic way to check it all out is:


lj@LJ_web:~$ cd $LJHOME
lj@LJ_web:~/test-lj$ mkdir cvs
lj@LJ_web:~/test-lj$ cd cvs/
lj@LJ_web:~/test-lj/cvs$
lj@LJ_web:~/test-lj/cvs$ svn co http://code.sixapart.com/svn/vcv/trunk vcv
lj@LJ_web:~/test-lj/cvs$ svn co http://code.sixapart.com/svn/livejournal/trunk livejournal
lj@LJ_web:~$ cd $LJHOME
lj@LJ_web:~/test-lj$ cvs/vcv/bin/vcv --conf=cvs/livejournal/cvs/multicvs.conf --checkout -c -s

Then in the future, to stay updated:

lj@LJ_web:~$ bin/cvsreport.pl -u -c -s

(cvsreport.pl is just a front-end to vcv)

Look at the vcv options to see how to use it.

Thanks, I think I'm getting further this time. One problem I'm having is a lot of the modules under $LJHOME/src/s2/S2/ don't return true values. It must be for whatever reason that earlier versions of perl must not have cared but 5.8.5 pukes on these so I'm having to hack a bunch of 'em and put in:

1;

at the end of the code. Here's the filelist of what I had to edit:

$LJHOME/src/s2/S2/Compiler.pm
$LJHOME/src/s2/S2/NodeArguments.pm
$LJHOME/src/s2/S2/NodeArrayLiteral.pm
$LJHOME/src/s2/S2/NodeAssignExpr.pm
$LJHOME/src/s2/S2/NodeBranchStmt.pm
$LJHOME/src/s2/S2/NodeClass.pm
$LJHOME/src/s2/S2/NodeClassVarDecl.pm
$LJHOME/src/s2/S2/NodeCondExpr.pm
$LJHOME/src/s2/S2/NodeDeleteStmt.pm
$LJHOME/src/s2/S2/NodeEqExpr.pm
$LJHOME/src/s2/S2/NodeExpr.pm
$LJHOME/src/s2/S2/NodeExprStmt.pm
$LJHOME/src/s2/S2/NodeForeachStmt.pm
$LJHOME/src/s2/S2/NodeFormals.pm
$LJHOME/src/s2/S2/NodeFunction.pm
$LJHOME/src/s2/S2/NodeIfStmt.pm
$LJHOME/src/s2/S2/NodeIncExpr.pm
$LJHOME/src/s2/S2/NodeInstanceOf.pm
$LJHOME/src/s2/S2/NodeLayerInfo.pm
$LJHOME/src/s2/S2/NodeLogAndExpr.pm
$LJHOME/src/s2/S2/NodeLogOrExpr.pm
$LJHOME/src/s2/S2/NodeNamedType.pm
$LJHOME/src/s2/S2/NodePrintStmt.pm
$LJHOME/src/s2/S2/NodeProduct.pm
$LJHOME/src/s2/S2/NodePropertyPair.pm
$LJHOME/src/s2/S2/NodeProperty.pm
$LJHOME/src/s2/S2/NodePropGroup.pm
$LJHOME/src/s2/S2/NodeRange.pm
$LJHOME/src/s2/S2/NodeRelExpr.pm
$LJHOME/src/s2/S2/NodeReturnStmt.pm
$LJHOME/src/s2/S2/NodeSet.pm
$LJHOME/src/s2/S2/NodeStmtBlock.pm
$LJHOME/src/s2/S2/NodeStmt.pm
$LJHOME/src/s2/S2/NodeSum.pm
$LJHOME/src/s2/S2/NodeText.pm
$LJHOME/src/s2/S2/NodeTypeCastOp.pm
$LJHOME/src/s2/S2/NodeType.pm
$LJHOME/src/s2/S2/NodeUnaryExpr.pm
$LJHOME/src/s2/S2/NodeUnnecessary.pm
$LJHOME/src/s2/S2/NodeVarDecl.pm
$LJHOME/src/s2/S2/NodeVarDeclStmt.pm
$LJHOME/src/s2/S2/NodeVarRef.pm

I was about to reply “Those files must return a true value. I've been using them for years!”… but you're right. Half of them are missing their required true value. The mind boggles as to how this has ever worked! (and how LJ is using it in production!)

send in a patch and get it committed!
Forgive me for my newbie-ness here but I don't see where I'm supposed to send patches too. The docs say to use diff -u, but not where to post them.

http://www.livejournal.com/doc/server/ljp.prog-guide.patches.html

So I figured here was a good a place as any.
Hi. You did comment a while ago, but I figure replying now won't hurt. Posting patches to this community, perhaps with a link to a patch, is fine. Given the time elapsed since this entry it seems sensible to just file a ticket in the bugtracker, and attach a patch to it. You can log-in to it using the URL to your LiveJournal in the OpenID field.

A subject line like "[PATCH] S2 modules fail to return true values" make sense I guess. In the ticket you can link to your comment [tinyurl'd: http://tinyurl.com/2ysxrz], if you like. It might be worth linking mart's reply [http://tinyurl.com/ypcyen] in fact, since he's contributed heavily to S2 development e.g. "bug confirmed by Mart Atkins [link] in lj_dev comment".
I am very interested in your port to Apache2. How are you comming? Please keep me posted.

Thanks

Larry