EuroPython / djep

EuroPython 2014 conference software
https://ep2014.europython.eu/
BSD 3-Clause "New" or "Revised" License
37 stars 18 forks source link

Interests, for profile page. #105

Closed illume closed 10 years ago

illume commented 10 years ago

The interest tags from previous years were quite useful. So people could opt in to make public a list of things they were interested in. So then, it was easy to contact people of similar interests. For example, if I'm interested in pygame, I can write that there. I found this useful for arranging a sprint, and for looking at talks that people with my interests were doing.

Here is a screenshot of the 2012 profile edit screen: screen shot 2014-03-22 at 10 14 25

zerok commented 10 years ago

Hi :-)

Yes, something like that has already been on our internal list of things we want to add either to the ticket or the user's profile. It will probably come together with properties like dietary requirements and the likes.

zerok commented 10 years ago

@Markush2010 Should we add this to the user's profile page or the ticket? IMHO after #101 it would make sense to add it to the profile itself instead of the ticket.

MarkusH commented 10 years ago

I'd add the information to the profile, as this will be the central place of all user data

illume commented 10 years ago

Cool. Below are some design points for implementing "interests".

DB: An "interests" text field would be added to the database. Which holds a comma separated list of interests.

Form: The form just needs an "interests" input text field like this:

<input name="interests" type="text" id="id_interests" value="education,startup,numpy,parallelization,business,android,ecommerce,music,game-development,graphics,design,javascript,gui,continuous-integration,Full Text Search,E-learning,Artificial Intelligence" class="tag-field">

JavaScript: can progressively enhance the interests field with the jQuery Tagit library. Here is a demo of the tag-it jquery library used: http://webspirited.com/tagit/ github page of plugin: https://github.com/hailwood/jQuery-Tagit

Plus a list of existing interests for people to select from in separate categories.

To create a list of categories for people to select from, an "interests_categories" db table can be used. This will let the administrators curate the list of interests people are likely to select from.

CREATE TABLE interests_categories (
    interest VARCHAR(40),
    category ENUM('other', 'technologies', 'practices', 'computer science', 'social')
);