Implementing the Registration Workflow

Translators and clients will post applications, while team leaders will approve them and register translators and clients as new users.

1. Go to Administer > User Management > User Settings, and specify that only site administrators can create new user accounts. Click Save Configuration at the bottom of the page.

2. Disable the User login/registration block entirely (don't worry; it is always accessible at http://exampie.com/user in case you get stuck without it).

3. Disable the block at Administer > Site Building > Blocks by selecting <none> for the User login block region and clicking Save Blocks.

4. Click the configure link corresponding to the Navigation block, and enable it only for the translator team leader role. This will make for a cleaner and less-confusing navigation scheme, with most users not being confronted with a lot of options they don't need, while other more straightforward forms of navigation will be provided as each user role's workflow is developed.

5. However, since this effectively removes the Navigation block for user 1, it is a great time to follow best practices and create an admin role to which a new user dev is assigned, which should be used for everyday administration and site-configuration tasks. This role should always have all permissions assigned, because permissions have to be revised each time a module is installed and enabled or a new content type is created.

NOTE

li!»m This tedious task can be eliminated by installing the Admin Role module (http://drupal.org/project/adminrole),"a little helper [module] to maintain an administrator role which has full permissions."

6. In addition, let's enhance the translator team leader role to that of a nontechnical site administrator so she can create and administer user accounts. Simply go to Administer > User Management > Permissions, and enable absolutely all permissions to that role except for the more technical permissions. Table B-8 outlines which permissions the translator team leader should have.

Table B-8

PERMISSION

DEV

TRANSLATION TEAM LEADER

Administer blocks

x

Use PHP for block visibility

x

Administer comments

x

x

Administer site-wide contact form

x

x

Use PHP input for field settings (dangerous—grant with care)

x

Administer filters

x

Administer languages

x

x

Translate interface

x

x

Administer menu

x

Administer content types

x

Administer nodes

x

x

Administer search

x

x

Access administration pages

x

x

Access site reports

x

Administer actions

x

Administer files

x

Administer site configuration

x

Select different theme

x

Administer taxonomy

x

x

Administer permissions

x

x

Administer users

x

x

Administer views

x

Access all views

x

x

7. Now create several entries in the Primary menu. To set up navigation options for the client, go to Administer > Site Building > Menus, and then click Primary Links. Set up the menu items as shown in the Table B-9.

Table B-9

MENU LINK TITLE

DESCRIPTION

PATH

WEIGHT

Register as a client!

Register as a client to start uploading translations!

node/add/client-application

0

Register as a translator!

Register as a translator to start work right away!

node/add/translator-application

2

My account

Log in/access your account

user

4

Logout

logout

6

8. Now, to implement the registration workflow itself, you need to configure an email to be sent to the team leader user whenever a client or translator application is created. Then the team leader can read the application and, if she decides to honor it, register the person as a new user on the site, with the appropriate role, and have that user notified.

This can be implemented by taking advantage of Drupal's built-in trigger and action duo, which have already been enabled. Go to Administer > Site Configuration > Actions, select Send E-mail from the Make A New Advanced Action Available drop-down list, and click Create. You are immediately taken to the Configure An Advanced Action page. Enter Notify team leader of application by e-mail in the Description field. Provide an appropriate email address in the Recipient field (this will be a static email, belonging to the team leader user). Enter New Application in the Subject field, and in the Message field, enter the following:

%title has sent a %node_type from %site_name . Please visit %node_url . %title wrote: %body

Then hit the Save button. Now head over to the Triggers page to establish conditions under which the action should be invoked. Go to Administer > Site Building > Triggers. From the trigger After Saving A New Post Drop-down List, Choose An Action, select Send E-mail and click Assign.

9. To complete the picture, you need to create a view and place it on the Team Leader menu so that she can easily list the applications and act on them when she logs in.

Go to Administer > Site Building > Views, and click Add. Enter applications in the View Name field and List client and translator applications in the View Description field. Enter application in the View Tag field (a cool way of grouping together all views having to do with applications), and leave the default Node View type selected. Click Next.

10. Select the fields to be displayed. To add the first, click the + icon next to the Fields block. In the Groups drop-down list, choose Node, select Node: Title, and click Add. The Configure Field ''Node: Title'' dialog appears.

11. Type Name in the Label field, and select the Link This Field To Its Node check box; then click Update. Click + again, select Node Group, and then select Node: Type and Node: Post Date, and click Add. Click on the up and down arrows to rearrange the order of the fields, and move the Post Date field down into third position.

12. Click the Save button to create the view. The info area announces, ''The view has been saved.''

13. In the Basic Settings section, click Style, and in the work area below, select Table and click Update. Configure the table to have each field sortable, with Post Date as the default sort. Specify a Descending sort order, and click Update again. Click the Save button again.

14. Because you want this to be a list of applications, click the + icon in the Filter section. Choose the Node group, select Node: Type, and click Add. The Operator field should be set to Is One Of, and Node Type should have both Client Application and Translator Application checked. Click Update and then Save The View.

15. You now need to add a page display. Select Page and click Add Display. In the Page Settings section, click the None link in order to edit the attribute labeled Path. In the work area that opens up, type view/applications in the Text field to complete the URL for the page, and click Update.

16. Click the Save button.

17. Again, in the Page Settings section, click the No Menu attribute of Menu. Select the Normal menu entry, and in the Title field that appears, enter view applications. Click the Update And Save button.

Now when the team leader logs in, the View Applications menu item appears in her navigation block, as can be seen in Figure B-17.

Translation Studio - Konqueror

_ n X

Location Edit View Go Bookmarks Tools Settings Window Help

Gt- asja

E

3

Location: http://translationstudio.victorkane/view/applications

*

Id

¿I

i

^ Register as a client!

Translation Studio

Register as a translator! My account

Logout

I

~~][ Search j

NameT Type^

Post date"*-

John Doe Client Application

08/19/2008 - 19:40

English Esparioi

CTI22

339

View applications t> Create content 1 Administer Log out

:

i

Figure B-17

She can access John Doe's application by clicking John Doe. To actually create a user account for this applicant (again, this is a process that can be automated but that is beyond the scope of this comprehensive but simple example), the team leader may right-click Administer from the teamleader menu on the left sidebar to open it in another browser window or to tab the Administration Pages menu, a stripped-down version of what dev sees, thanks to your configuration of her permissions. (See Figure B-18.) From there, she clicks Users in the User Management group and is taken to Administration > User Management > Users. She clicks the Add User tab and places the name provided in the application form into the Username field, places the contents of the Email field into the Email Address field, provides a password that the user can later change, checks the Client check box in the Roles section, checks the Notify User Of New Account check box, and selects the same language that the application has chosen (or leaves in English by default).

Returning to the list of user accounts on the system at Administration > User Management > Users, we see that John Doe is now listed as a user of role client (Figure B-18).

Administer u ^ ^„j By module

Welcome to the administration section. Here you may control how your site functions.

Hide descriptions

Manage your site's content.

Site building

Control how your site looks and feels.

Comments

List and edit site comments and the comment moderation queue.

Contact form

Create a system contact form and set up categories for the form to

Content

View, edit, and delete your site's content

Date Import/Export

Import and export date data.

Translate Interface

Translate the built in interface and optionally other text.

Post settings

Control posting behavior, such as teaser length, requiring previews before posting, and the number of posts on the front page.

Site configuration

Adjust basic site configuration options.

Taxonomy

Manage tagging, categorization, and classification of your content

Languages

Configure languages for content and the user interface.

User management

Manage your site's Users, groups and access to site features.

Search settings

Configure relevance settings for search and other indexing options

Profiles

Create customizable fields for your users.

Configure default behavior of users, including registration requirements, e-mails, and user pictures.

Users list, add, and edit users.

0 0

Post a comment