Staff Directory for K-12 Site

Events happening in the community are now at Drupal community events on www.drupal.org.
Anonymous's picture

I am working on a K12 District site and need advice on how to implement a staff directory. What do you all recommend? Thanks!!

Comments

In D6: CCK, with

bonobo's picture

In D6:

CCK, with Filefield/Imagefield/Imagecache/ImageAPI. Use this to create a "Staff" content type that include a photo, first name, last name, and brief bio field.

Then: Views; create a summary view that sorts by first name or last name, or both, whatever you prefer.

Add taxonomy if you need to organize by dept/grade level/school/etc.

Feel free to ping back with additional details, but this will get you started, and possibly all the way there.

Cheers,

Bill


FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education

What Bill says is exactly

dwees's picture

What Bill says is exactly what I was going to suggest. I am doing this exact procedure, except that the content type in question is the profile of the staff member, which makes the staff member responsible for updating their personal information. Also, I've got the email field of each staff member set up so it links to the personal contact page for that staff member (my view is only visible for authenticated users however, for obvious reasons I wouldn't suggest doing this for anonymous users).

Dave

Summitt Dweller's picture

I'm doing much the same thing for a K-12 district (pre-production site is at http://stc09.TamaToledo.net) and in my case all staffers are also site users who carry profile data (as nodes). In addition, I've defined a CCK data type called "Job" and each job carries a title, description, taxonomy and naturally a list of one or more users who fill the role. For my staff list (not much data in the system yet) I'm creating a few pages using Panels so that Jobs sort into appropriate panes (based on taxonomy) and provide links both to the job descriptions/data and the users who fill the jobs.

Best place to see the effect thus far is at http://stc09.tamatoledo.net/?q=node/241. But remember, this is a pre-production copy without a lot of data behind it, and is subject to frequently updates/maintenance at this point.

Mark

Mark

Thanks!

anndar's picture

What theme are you using for your site? Is that Newsflash? It has the the style elements I am looking for too with the suckerfish menus. Thanks for the advice on the directory!

Theme = Newsflash

Summitt Dweller's picture

Yes, the theme in question is Newsflash. We selected it largely because of appeal and it met all our criteria...suckerfish menus, variable width, others.

Mark

Mark

Very nice!

pdcarto's picture

I've learned a lot by exploring your pre-production site - not just about your staff page (which I need to study some more!), but other stuff as well. I'm going to try adapting your taxonomy to my situation - it's a great scheme. I'm particularly grateful for your sandbox pages. Thanks!

I’m following the procedure

jggarley's picture

I’m following the procedure of what Bill suggested and everything seems pretty good. I’m also trying to do what you suggested about making the content type the profile of the staff member so that they can be responsible for updating their own personal information. How do I go about achieving this scenario you mentioned? Any steps/procedures will be appreciated. By the way, I’m a Drupal student.

@Bill – thanks for your simple straight forward steps and your input to the community. Hope your book will expand my Drupal’s knowledge.

@gmasky – I just purchased Bill’s book Drupal for Education and E-Learning after going through the table contents and can’t wait to get my hands on it.

Go with Content profile

tommyent's picture

I would just use ImageCache Profile, Content Profile, and Views. Content profile will allow the user to create and maintain their profile.

http://drupal.org/project/content_profile
http://drupal.org/project/imagecache_profiles

Can you please show some

jggarley's picture

Can you please show some steps as to how you will go about it. Any help will be appreciated.

Super easy. Just install both

tommyent's picture

Super easy.
Just install both modules Content Profile creates the content type "Profile" you then go to the "Profile" type and select "Use this content type as a content profile for users". Save then you can go to the content profile tab and set it up to whatever you like. I usually do "Show a link to the content profile creation page, if there is no profile", "Show a secondary tab below the user's edit tab","Use on Registration", and "Use on administrative user creation form".

ImageCache Profile will create image cache presets as follows, user_100x100, user_130x130, and user_75x75 you can then set these under user settings. It will allow you to set Profile, comment, and default picture sizes.

Set the permissions like create profile content, edit own profile content, and delete own profile content. Oh plus permissions to view all the necessary imagecache.

Hope that helps

Thanks to everyone :)

anndar's picture

Thanks for helping the newbie out! :) I am pretty overwhelmed figuring all this out but am keeping at it!

Bill's Drupal Ed Book

gmasky's picture

I got myself Bill's Drupal Ed book http://www.packtpub.com/drupal-for-education-and-e-learning and it was a big help. Get it.

Two questions:
1. In D6 and views it is fairly simple to group by node title or taxanomy term or whatever. How can I do this in D5 and Views?

  1. I have a directory by taxonomy term. I cannot figure how to have a node count for each taxonomy term and sub-term
    like

Term1 (5)
--sub term 1(2)
--sub term 1(3)

there's no doubt CCK+Views

skimmerboi's picture

there's no doubt CCK+Views are the key modules on most sites running on Drupal, im using it on my site too. and now im planning to develop a tool for school's office, lets say an enrollment system.. just a simple structure anyway where you keep records of students (using CCK+views), view records, and generate payments per quarter, and generate reports. also sorting them by level with taxonomy.. what confuses me is i want a student node (permanent one) in which it has a separate payment node which keeps updating the balance of payment in every quarter and also keeping the history of the transaction.. is there a module for it? any suggestions can help a lot... thanks so much..

Von
Skimmerboi

A few more fields

lsommerer's picture

Lots of good suggestions here. I'd like to add a few more bits of information that we've found useful:

1) We flag former/current faculty and have a directory of former teachers
2) Teacher websites are thrown in as a field so we can produce a list of them with views
3) Fields for "main responsibilities" and "classes taught" to do contact lists

I Agree

Summitt Dweller's picture

I have a field similar to the former/current flag but hadn't found any use for it yet. We're thinking that a lot of our former teachers retire but remain as subs so we need to keep them in the system in that capacity. Also have a list of websites that each instructor can populate to provide each with a "links" listing.

In my case, rather than capturing each teacher's responsibilities and classes taught, I turned the logic around so that each "job" has one or more staff assigned to it as does each "course" or classroom. One advantage to this is that we're able to have a user/member named "OPEN POSITION" so that as jobs open up we just assign them to OP... and OPEN POSITION's profile page will eventually include instructions for job applicants. Details of each job and course are stored with those data types.

Mark

Mark

That's better

lsommerer's picture

In my case, rather than capturing each teacher's responsibilities and classes taught, I turned the logic around so that each "job" has one or more staff assigned to it as does each "course" or classroom. One advantage to this is that we're able to have a user/member named "OPEN POSITION" so that as jobs open up we just assign them to OP... and OPEN POSITION's profile page will eventually include instructions for job applicants. Details of each job and course are stored with those data types.

That's a better way to do it. I don't have course nodes yet though, and I'm pretty sure we don't have job descriptions either. I can't wait to see your site in action.

So, users who are staff...

pdcarto's picture

The approaches discussed so far have teachers and other people that you want to list in a staff directory as nodes (with CCK) that are displayed through Views, while in actuality, many or even most of those people could be account-holders on the system with roles appropriate for, e.g., being site contributors, managers of groups, etc. Seems rather inefficient to maintain "people" in two parallel and separate contexts: as users, and as nodes. When a person with the role "teacher" gets added, it seems silly to have to manually create a "staff" node, or to delete it or update it each time its parallel version changes.

I've been struggling with how to unify the two. Here is what I've been circling around:
My idea is to have all of these people be account-holders. They would have a role appropriate to their activity on the site. One of my roles is "directory", which means that these people have essentially the same permissions as anonymous users, but they are meant to be listed in the directory.

What I have not been able to figure out is how to get Views to display a list of users (of a given role) with profile information for that user. Any ideas? Another module (gulp)?

Nevermind...

pdcarto's picture

This helpful blog post showed me how to do this: http://views-help.doc.logrus.com/help/views/example-users-by-role

In all my futzing around with Views, I forgot that there are a number of view types besides "Node", with "User" being one of them!

Drupal in Education

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: