Login  Register       

         Search The Blog!                                      Welcome to the new SDG Blog. Please sign up and start posting!


    Categories:     Archives:
September 2004
« Aug   Nov »

    Person's Posts:


Hey guys, I’m making the design for our VDC (we ‘ll give it a different name later). Right now, I’m working on the layout and the structure, however for that I need to know all the basic features that it should have. If you could list them here, that would be great. Thanks.

 Comments (22) | Posted by: Zoran @ 2:46 pm |


The VDC project so far…

Here is a little write-up on the VDC project so far, the problems that I ran into and the stuff that I ‘ve learned.

The first problem I ran into was the “missing packages". Not knowing enough about “yum” and being hinted by some stuff members (Joe, Aaron) that many packages that VDC depends on are missing & corrupted, I went through the Harvard repositores and google and downloaded/installed around 30-35 extra packages and got the thing running. However, after reading up on “yum” I went and checked the yum config file supplied by the VDC and realized that one of the repositories had an invalid path, and that caused the whole process of downloading packages to be stopped. After giving it the correct the path in the yum config file (or just commenting it out), the packages got downloaded and installed automatically (except for 2-3 rpm’s not found in those repositories).

The next bug I ran into after running the VDC configurator, was that httpd could not be started. This is were Mona helped me out, we simply opened the perl file (startup.pl) causing the error and commented out the line that gaves us the headache. I had no perl knowledge (and still don’t) but I’m pretty sure that it had something to do with verifying the system name/password in the LDAP database.

After that, most of the pages wouldnt work, simply because the LDAP database was not rebuilt from scratch. I ran the configurator again and rebuilt LDAP and postgresql databases. The next couple of days I ended up hunting for the admin user name which can be found in the vdc.ldif file. This brings me to the point where I am right now, being unable to create a study. I e-mailed the guys at Harvard, and they told me that there is a bug in the Repository Database connection. Fixing that is beyond my skills since the bug is in the actual software so the guys at Harvard are working on it right now.

Summary about LDAP:

I ‘ll keep it short, just enough to get you started. The first link posted below goes in a lot more detail.Anyways here we go, LDAP stands for Lightweight Directory Access Protocol. It is pretty much a protocol for accessing the directory. What is a directory? It is a specialized database optimized for reading, browsing and searching (e.g. DNS). The directory is structured as a tree where every path from the leaf node to the root is an “entry” (think of an SQL entry e.g. name=Zoran, lname=Vujcic…).

An entry is referenced by its DN(distinguished name); e.g. “fn=Mona,proj=Game,team=SDG” (path leaf-root). Every entry also belongs to a class e.g. organizationalUnit, printer, person… and as in any OO language, belonging to a certain class requires that you maintain certain attributes. E.g. person must have its first name, surname, b-day… The classes (of objects) are defined in schema files. Some of them are predefined, but schema can also be extended by the classes of our own.

LDAP’s stand-alone server is called slapd and as a database backend is usually ldbm (lightweight dbm). In its config file (slapd.conf) there are 2 special entries: rootdn (e.g. “cn=Manager, o=vdc") which represents a unique DN which need not be in the tree but it is needed in order to add/delete entries from the command line. The other entry which is a rootpw is the password to the database. By using slapd we can add, remove and search in the database. The easiest way to add the entries is to use the files of the .ldif format which is specified in the first link posted below. Commands: ldapadd, ldapsearch and ldapdelete. For more info check the man pages and the following links:

VDC links

Here are some neat rpm commands:
Determine the package dependencies: rpm -qp -requires packageName.rpm
Remove the package while ignoring the dependencies: rpm -e -nodeps packageName
Get the description of the package: rpm -qip packageName.rpm
Get the files included in the package: rpm -qlp packageName.rpm
packageName = name of the package being queried.

That is all for now, I ‘ll keep posting as I go.

 Comments (3) | Posted by: Zoran @ 2:00 pm |