Peoplebook

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

Hi,

I'm migrating my clients Joomla site to Drupal, and came across the Joomla component 'PeopleBook'. I have looked for this on Drupal, but couldn't find something that really does the same.

edit: What it basically does, (or would do in Drupal) create a content type 'person' with fields like occupation, adress, hobby's, date of birth, ... and show them in a view.

It would also contain a migrate-from-joomla section, so it can be used as for a completely new drupal site, or a migration from joomla.

I'm thinking about making a simple lightweight module, unless someone can tell me there's already a module that does this.

Thanks

Comments

It sounds like CCK + Views

deviantintegral's picture

It sounds like CCK + Views really are your best solution according to the description at http://extensions.joomla.org/extensions/directory-a-documentation/themat....

I would consider using the http://drupal.org/project/migrate module to import your data.

Person module

megachriz's picture

I got a similar idea about making a person module, but a not so lightweight one.

With the module I want to accomplish the following use cases:
- Let e-mails to users start with something like 'Dear Mr. von Braun', instead of just the username.
- Organizing persons and show their name in different formats, e.g. Braun, A.F. von and A.F. von Braun. This can be useful in bookstores where you want to present authors in a list starting with their surname (e.g. Braun, A.F. von), but on the author's page (or on the page where details about the book are displayed) you want to present the name in the 'normal' format (e.g. A.F. von Braun).
- Display the person's age.

With the module you should be able to do this:
- Create multiple person node types (authors in a bookstore are not necessary users, so that would be nodes)
- Define name formats (see further)
- Define gender pronouns (see further)
- Use (person) tokens in e-mails (with the help of the token module)
- Display persons in a list (module should integrate with the views module)

Name formats
To be able to display names in different formats, you should be able to create multiple name formats. The formats will be build by using tokens, examples:
- [person_title] [person_initials] [person_surname_prefix] [person_surname]
- [person_first_name] [person_surname_prefix] [person_surname]
- [person_surname], [person_title] [person_initials] [person_surname_prefix]
- [person_surname], [person_first_name] [person_surname_prefix]
Each name format should result in a token as well, so you can use that token in e-mails. Name formats should also be available for use in Views.

Gender pronouns
If we know a person's gender, we should be able to use that value to create gender pronouns (pronouns based on the gender), so either 'Mr.' or 'Ms' can be used in e-mails. Maybe we want to use an other pronoun in an other context (e.g. lady and gentleman, woman and man, girl and boy). So it could be helpfull to be able to create a list of pronouns:
- title: male=Mr.;female=Ms;
- polite: male=gentleman; female=lady;
- adult: male=man;female=woman;
- child: male=boy;female=girl;
Each pronoun should result in a token (e.g. [gender-title]) that can be used in e-mails, but also in name formats. Pronouns should also be available for use in Views.

Person class
Because you should be able to use the person's information in both node and user context, the module should contain a person class which can be binded to it's context (user or node). The module can use the person class to create tokens that will work regardless of the context. This is useful for name formats mentioned earlier. This way a name format can be used in both contexts.
The person class would contain title, initials, first name, surname prefix (e.g. von as in von Braun), surname, middle name (perhaps), gender, birth- and deathdate (to calculate the age), length and weight (to calculate BMI, just an idea :)).

In case the person class will be used for nodes, the module will install some CCK fields for it's node type. The idea to use CCK is that the user has more control in how to use the module (for example: the user might not want the initials field, or the user might want to display the fields in a different order). If the user also uses the module content_profile for the person node type, the person class will also be available in user context.
In case the person class will be used for users (and not by using content_profile), the module would install profile fields.

Functionality already available?
I already made a start with working this concept out (for Drupal 6), but I would like to know if functionality like this is already available or can be accomplished in an other, better way.

Fyi - some of the name

zeezhao's picture

Fyi - some of the name aspects are available via:
http://drupal.org/project/name
or
http://drupal.org/project/cck_fullname

Timeout

nathaniel_v's picture

Sorry for the very late reply. This project has been put on hold due to a lack of time. If anyone wants to take over, feel free to do so...

Contributed Module Ideas

Group organizers

Group notifications

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