Case 3b: Your turn

Old project

The Zoomers exercise was a class project once upon a time.

Exercise: Oakland Zoomers
The Oakland Zoomers is a unicycle polo team. Make a Web site for them, like this one. Use a new subdomain. Build the site so that players can change their own data themselves. For example, they can change their photos, but not change other players’ photos.

Make one new content type, called Game. Add fields, and make a view that replicates the games view on the sample site, though with whatever content you like. The Against field can be a taxonomy, to keep things easy. Note that the view is a table with click sorting.

Create two new roles: player, and manager. Only managers can add, change, and delete games. Players cannot change game data.

Each player has a user account. Their user names are their real names, like Larry Lyons. Create a players view like the one on the sample site. Clicking on a player in the view takes you to a page for that player. Add whatever fields you need to the user entity. The view is a three-column grid. Make sure that anonymous users can see user data.

Create a block with a hint for players, telling them how to change their data:


Clicking on the link jumps to the user account page. Put the hint block in a sidebar:

Hint position

It shows on every page, but only for people with the player or manager role.

Move the login link to somewhere out of the way, like the lower right of the page.

Make sure that only administrators can create new accounts, not visitors.

Add a site contact form with an image CAPTCHA.

Create one manager account, and four player accounts. Create them manually, not using Devel generate. Create four games.

Remember to test your site thoroughly. For example, log in as a player, and make sure that they site acts as it should.

Submit the URL of your site, the username and password for user 1, the username and password for a manager, and the username and password for a player. If you have a partner, type in both your names when you submit your solution.

(If you were logged in as a student, you could submit an exercise solution, and get some feedback.)

Current project

The university site project is for winter, 2018.

Exercise: University site
Make a site for your own university. Name it whatever you want. Model it on this”.

Here are specifications, and hints.

  • Do this project with a friend.

Do it with a friend

  • Add fields to users for last name, first name, and telephone number. Also add an About field, where users tell a little about themselves. There should also be a field for the user’s picture. You might add a boolean field showing whether users are department contacts (see the directory, later).
  • Make content types for mascots, courses, departments, and degrees.
  • Mascots have images, and an image credit URL. Mascots can be creepy, silly, whatever you like.
  • Courses have codes, departments, number of credits, descriptions, and mascots. Yes, each course has a mascot.
  • Departments have descriptions, a contact person, and a hipness rating from 1 to 100. The contact is a user.
  • Degrees have a description, and a set of courses required for the degree.
  • Make a page telling people why they should come to your university. Make a link for it in the main menu.
  • Do this project with a friend. Not by yourself.

Do it with a friend

  • Make views for degrees, departments, courses, and a staff directory. Link each one to the main menu.
  • For the degrees view, make the degree name stand out, by using an h3 tag. You can do that by customizing the style setting of the title field, selecting H3.
  • Sort the degree list by degree name.
  • Make at least three degrees.
  • Make at least four departments.
  • In the department view, make the department name stand out.
  • Sort the department view.
  • Include a contact field on the department view.
  • You’re doing the project with a friend, right?

Do it with a friend

  • Make the courses view a table. Make it click sortable by code and title. Code, title, and mascot should be links.
  • Make at least eight courses.
  • The directory view should list staff who are the contacts for their department. Only list those users who are contacts. One way to do this is to create a contact role. Another way is to add a boolean field to users.
  • Show the “last name, first name” of each staff person, as on the sample site. One way to do that is to add the first and last name to the view, hide the first name, then rewrite the results of the last name with “{{ field_last_name }}, {{ field_first_name }}”. Use the style settings to show bigger text, as with the degree name in the degrees view.
  • Sort the directory by last name.
  • Make the telephone number in the directory trigger the telephone app when smartphone users touch the telephone number.
  • Seriously, do the project with a friend.

Do it with a friend

  • Make an Apply contact form. Add a checkbox at the top of the form. The one on the sample site asks whether the applicant has lots of money. You can ask something different, if you want.
  • When a user submits the Apply form, show a message saying that they have been admitted.
  • Use the Bootstrap theme. Choose whichever style you like best.
  • Make the blocks look like the sample site. Show the search block, and a block in the footer with your names. Hide the block with the Log in link.

Submit the URL of your site, user 1 login credentials, and your names.

(If you were logged in as a student, you could submit an exercise solution, and get some feedback.)