return DECLINED or OK?

return DECLINED or OK?

am 29.02.2008 04:12:03 von peng.kyo

At what cases should we return a DECLINED or a OK from a handler?
I saw the handler of PerlTransHandler returns a
Apache2::Const::DECLINED but dont know why.
thanks.

Re: return DECLINED or OK?

am 29.02.2008 04:25:32 von gozer

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig292DBEE4F97516BBFA4DB397
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

J. Peng wrote:
> At what cases should we return a DECLINED or a OK from a handler?

Depends on the request phase you are running under, and ultimately, it's
dictated by apache [1]

> I saw the handler of PerlTransHandler returns a
> Apache2::Const::DECLINED but dont know why.

In a nutshell, there are 3 main type or return status:

OK

Means you kicked in to do what you were supposed to, and you succeded.

For instance, an PerlAuthHandler that checks username/password against
a database and finds a match, that's OK

DECLINED

Your handler kicked in, tried to do what it's interested in doing and
decided _not_ to do it, or had nothing to do, and usually, it means the
next handler down the handler stack will have a go at it.

For instance, a PerlOutputFilter might be registered, but only care to
filter text/html stuff. So it kicks in, looks at the content-type of the
current request, sees image/gif, so it returns DECLINED to indicate it's
passing its turn and somebody else should have a go at it.

ERRORS

There are many error codes one can return, mostly HTTP error codes, 404, =
501,
etc.

Usually, when a handler doesn't return OK/DECLINED, whatever it returns w=
ill
be treated as an error, and the request will abort and report that partic=
ular
error.

[1] http://perl.apache.org/docs/2.0/user/handlers/intro.html#Sta cked_Hand=
lers

--=20
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/


--------------enig292DBEE4F97516BBFA4DB397
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHx3szyzKhB4jDpaURAi7CAKC/rcmD2W2WN3OMhBIEGMa7b6fp3gCa A+9U
74FsPy3VPBuJpWFXBknUWPY=
=W6Mq
-----END PGP SIGNATURE-----

--------------enig292DBEE4F97516BBFA4DB397--

Re: return DECLINED or OK?

am 29.02.2008 04:26:25 von Geoffrey Young

J. Peng wrote:
> At what cases should we return a DECLINED or a OK from a handler?
> I saw the handler of PerlTransHandler returns a
> Apache2::Const::DECLINED but dont know why.

see the introduction to part III here:

http://www.modperlcookbook.org/chapters.html

in general, trans handlers return DECLINED because they don't typically
do sufficient mapping of a uri to a resource on disk - they usually
alter the uri then let the default apache trans handler do the mapping.

--Geoff

Re: return DECLINED or OK?

am 29.02.2008 04:35:00 von peng.kyo

Thanks to all. That really be helpful.

Re: return DECLINED or OK?

am 29.02.2008 05:00:02 von peng.kyo

On Fri, Feb 29, 2008 at 11:26 AM, Geoffrey Young
wrote:
> they usually
> alter the uri then let the default apache trans handler do the mapping.

btw, mapping uri to disk sources in apache2 was done in
MapToStorageHandler rather than Trans handler, is it?

Re: return DECLINED or OK?

am 29.02.2008 12:03:03 von torsten.foertsch

On Fri 29 Feb 2008, J. Peng wrote:
> btw, mapping uri to disk sources in apache2 was done in
> MapToStorageHandler rather than Trans handler, is it?

The Trans handler's task is to decide which file on disk belongs to a certain
URI. So when the Trans handler is done $r->filename must not be empty.

Example: the browser asks for /a/b/c/d/e, DocumentRoot is /var/www. Then after
the core Trans handler $r->filename would be /var/www/a/b/c/d/e.

MapToStorage's task is it then to walk the directory hierarchy, look
for .htaccess files, apply configurations and compute $r->path_info based on
$r->filename. During this process $r->finfo is filled. Hence, you have to
fill it yourself if you change $r->filename after MapToStorage.

Example continued: The entry /var/www/a/b exists on disk either as file or as
directory but /var/www/a/b/c does not. Then after MapToStorage $r->filename
is /var/www/a/b and $r->path_info is /c/d/e.

There is another subtle point, the Trans phase can be skipped entirely. This
happens for file subrequests. In perl they are created by $r->lookup_file
rather than $r->lookup_uri. Such subrequests have an empty $r->uri but a
non-empty $r->filename in the first place. And since there is no URI there is
nothing to translate. They are quite seldom. If asked I'd instantly know of
only one place, mod_negotiation.

Torsten

Re: return DECLINED or OK?

am 29.02.2008 12:46:57 von peng.kyo

On Fri, Feb 29, 2008 at 7:03 PM, Torsten Foertsch
wrote:
>
> Example continued: The entry /var/www/a/b exists on disk either as file or as
> directory but /var/www/a/b/c does not. Then after MapToStorage $r->filename
> is /var/www/a/b and $r->path_info is /c/d/e.
>

Sorry I can't understand for this. If /var/www/a/b exists but
/var/www/a/b/c not, why user requests it? What's $r->path_info? How to
get path_info from filename? thanks again.

Re: return DECLINED or OK?

am 29.02.2008 13:13:11 von Raymond Wan

Hi,


J. Peng wrote:
> On Fri, Feb 29, 2008 at 7:03 PM, Torsten Foertsch
> wrote:
>
>> Example continued: The entry /var/www/a/b exists on disk either as file or as
>> directory but /var/www/a/b/c does not. Then after MapToStorage $r->filename
>> is /var/www/a/b and $r->path_info is /c/d/e.
>>
> Sorry I can't understand for this. If /var/www/a/b exists but
> /var/www/a/b/c not, why user requests it? What's $r->path_info? How to
> get path_info from filename? thanks again.
>


I'm not sure if I can help by cutting in here as I'm some what learning
Apache and modperl myself.

$r is not a file or a filename. This is Perl, remember? :-) So, $r is
a scalar variable and, to be precise, the global variable for the Apache
RequestRec object. Take a look at:

http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html

and

http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html# C_path_info_

to see what Torsten meant by the "path_info".

As for /var/www/a/b/c, a user can request for a file that does not
exists. The key is what Torsten said about "walking the hierarchy".
So, if /var/www/a/b/c/d/e does not exist, it sees if /var/www/a/b/c/d
exists. If not, it tries /var/www/a/b/c/. It continues doing this,
"walking [up] the hierarchy", until it finds a match. In Torsten's
example, this would be:

/var/www/a/b/

Then, the RequestRec object now stores two parts. A filename
"/var/www/a/b/" and a path_info "/c/d/e". Why would you want to do
that. Well, an example that I saw in the Mason Book (Note: don't
confuse yourself with learning this right now, but I just want to
mention where I got the example from) which helped me understand this
was as follows. Say you have a news site like:

http://example.com/archive/news/2008/02/29/index.html

A user might request that, but it wouldn't make sense to have 365
"index.html"'s every year (ok, 366 this year :-) ). Instead, you could
do a trick above and keep going up the hierarchy until you have a
filename "/var/www/archive/news/" and a path_info
"/2008/02/29/index.html". You can then use the path_info as a query
string to some database to retrieve today's news. i.e., you don't
actually have a file sitting at:

/var/www/archive/news/2008/02/29/index.html

but the user doesn't know this and probably doesn't care as long as s/he
can see today's news.

I hope this helps and I hope I didn't mess up your example, Torsten. If
so, please correct me for my benefit, as well! :-)

Ray

Re: return DECLINED or OK?

am 29.02.2008 13:15:44 von torsten.foertsch

On Fri 29 Feb 2008, J. Peng wrote:
> On Fri, Feb 29, 2008 at 7:03 PM, Torsten Foertsch
>
> wrote:
> > Example continued: The entry /var/www/a/b exists on disk either as file
> > or as directory but /var/www/a/b/c does not. Then after MapToStorage
> > $r->filename is /var/www/a/b and $r->path_info is /c/d/e.
>
> Sorry I can't understand for this. If /var/www/a/b exists but
> /var/www/a/b/c not, why user requests it? What's $r->path_info? How to
> get path_info from filename? thanks again.

Well, then RTFM (http://en.wikipedia.org/wiki/RTFM).

Google for CGI and PATH_INFO.

Torsten

Re: return DECLINED or OK?

am 29.02.2008 13:39:24 von torsten.foertsch

On Fri 29 Feb 2008, Raymond Wan wrote:
> It continues doing this,
> "walking [up] the hierarchy", until it finds a match.

Don't know what you mean by "up". AFAIK it walks in this order:

/
/var
/var/www
/var/www/a
/var/www/a/b

For me that would be "down", ;-)

Torsten

Re: return DECLINED or OK?

am 29.02.2008 13:57:00 von peng.kyo

On Fri, Feb 29, 2008 at 8:13 PM, Raymond Wan wrote:
> Say you have a news site like:
>
> http://example.com/archive/news/2008/02/29/index.html
>
> A user might request that, but it wouldn't make sense to have 365
> "index.html"'s every year (ok, 366 this year :-) ). Instead, you could
> do a trick above and keep going up the hierarchy until you have a
> filename "/var/www/archive/news/" and a path_info
> "/2008/02/29/index.html".

Do you mean mod_rewrite for the trick?
yes with mod_rewrite people can rewrite:
http://example.com/archive/news/2008/02/29/index.html
to something like:
http://example.com/archive/news?object=/2008/02/29/index.htm l

so here /archive/news is filename and /2008/02/29/index.html is path_info,is it?
But in this case we don't need to guess the path_info from filename,
just saying $r->param() can get the arguments,:)

Thanks.

Re: return DECLINED or OK?

am 29.02.2008 14:29:36 von mpeters

J. Peng wrote:
> On Fri, Feb 29, 2008 at 8:13 PM, Raymond Wan wrote:
>> Say you have a news site like:
>>
>> http://example.com/archive/news/2008/02/29/index.html
>>
>> A user might request that, but it wouldn't make sense to have 365
>> "index.html"'s every year (ok, 366 this year :-) ). Instead, you could
>> do a trick above and keep going up the hierarchy until you have a
>> filename "/var/www/archive/news/" and a path_info
>> "/2008/02/29/index.html".
>
> Do you mean mod_rewrite for the trick?

What he's saying is that you don't need mod_rewrite for this kind of thing. It's
pretty standard for REST applications to use the path_info to determine which
resource to return. Or you could do it with mod_rewrite, but using the path_info
can provide for a lot more flexibility.

--
Michael Peters
Plus Three, LP

Re: return DECLINED or OK?

am 29.02.2008 14:52:28 von Raymond Wan

J. Peng wrote:
> Do you mean mod_rewrite for the trick?
> yes with mod_rewrite people can rewrite:
> http://example.com/archive/news/2008/02/29/index.html
> to something like:
> http://example.com/archive/news?object=/2008/02/29/index.htm l
>
> so here /archive/news is filename and /2008/02/29/index.html is path_info,is it?
> But in this case we don't need to guess the path_info from filename,
> just saying $r->param() can get the arguments,:)
>


No, that's not what I meant and I also wasn't aware of mod_rewrite. :-)

Might I make a suggestion? It seems this discussion has moved quite
beyond the original subject. This (in my humble opinion) is not
something you learn in a day. Well, I certainly didn't. I think you'll
pick it up in time and one starting point is to write some sample code
and try things out...

Ray

Re: return DECLINED or OK?

am 29.02.2008 15:11:55 von peng.kyo

On Fri, Feb 29, 2008 at 9:52 PM, Raymond Wan wrote:
> I think you'll
> pick it up in time and one starting point is to write some sample code
> and try things out...
>

I have written lots of modperl codes actually,:)
But I primarilly write with AccessHandler or ResponseHandler, didn't
do any TransHandler coding. Most website products use only
ResponseHandler.
Just googled and know what's "path_info" now. It's an odd concept I
think.Anyway thanks.

//joy

RE: return DECLINED or OK?

am 29.02.2008 16:54:26 von Ronald

I learned what is RTFM here which is very interesting :)...I like the
Ubuntu Forums policy though...but I always think reading is helpful to
any developer...that's why I like both perl and java because I think
they are very well documented generously somewhere within my reach on
the net....

-----Original Message-----
From: J. Peng [mailto:peng.kyo@gmail.com]=20
Sent: Friday, February 29, 2008 9:12 AM
To: Raymond Wan
Cc: modperl@perl.apache.org
Subject: Re: return DECLINED or OK?

On Fri, Feb 29, 2008 at 9:52 PM, Raymond Wan
wrote:
> I think you'll
> pick it up in time and one starting point is to write some sample
code
> and try things out...
>

I have written lots of modperl codes actually,:)
But I primarilly write with AccessHandler or ResponseHandler, didn't
do any TransHandler coding. Most website products use only
ResponseHandler.
Just googled and know what's "path_info" now. It's an odd concept I
think.Anyway thanks.

//joy

Re: return DECLINED or OK?

am 29.02.2008 21:48:33 von Colin Wetherbee

Ronald Dai. wrote:
> I learned what is RTFM here which is very interesting :)...I like the
> Ubuntu Forums policy though...but I always think reading is helpful
> to any developer...that's why I like both perl and java because I
> think they are very well documented generously somewhere within my
> reach on the net....

Learning how to effectively RTFM is an essential skill for anyone, in
any walk of life, in any industry.

IMHO, the Ubuntu policy is too fluffy. People will never learn to think
for themselves if their hands are held all the time. Then again, that's
sort of Ubuntu's market these days, I guess.

I've been telling people to RTFM for a long time, and I've never known
anyone to become a worse developer or user for it.

Colin

RE: return DECLINED or OK?

am 29.02.2008 21:56:43 von Ronald

Actually RTFM would not be a problem for people from academic background
(meaning MS or PHD educated) at all since they have to do it all the
time....but for people with more team work background these days, it
might not be politically very correct...

-----Original Message-----
From: Colin Wetherbee [mailto:cww@denterprises.org]=20
Sent: Friday, February 29, 2008 3:49 PM
To: Ronald Dai.
Cc: J. Peng; Raymond Wan; modperl@perl.apache.org
Subject: Re: return DECLINED or OK?

Ronald Dai. wrote:
> I learned what is RTFM here which is very interesting :)...I like the
> Ubuntu Forums policy though...but I always think reading is helpful
> to any developer...that's why I like both perl and java because I
> think they are very well documented generously somewhere within my
> reach on the net....

Learning how to effectively RTFM is an essential skill for anyone, in=20
any walk of life, in any industry.

IMHO, the Ubuntu policy is too fluffy. People will never learn to think

for themselves if their hands are held all the time. Then again, that's

sort of Ubuntu's market these days, I guess.

I've been telling people to RTFM for a long time, and I've never known=20
anyone to become a worse developer or user for it.

Colin

Re: return DECLINED or OK?

am 29.02.2008 22:04:27 von Colin Wetherbee

Ronald Dai. wrote:
> Actually RTFM would not be a problem for people from academic
> background (meaning MS or PHD educated) at all since they have to do
> it all the time....but for people with more team work background
> these days, it might not be politically very correct...

I disagree. Granted, I have a master's degree.

But, let's say, as very nearly happened on another mailing list
yesterday, someone installs database software and can't figure out how
to create a database. I say go look at the manual and here's the
specific URL that covers creating new databases. Now, that person knows
where to look for information about creating a database, *and* that
person also knows where to look for answers to future simple questions.

If I had only told that person to type "createdb ",
the manual never would have been involved, and that person would have
emailed the list again for the next basic question that could have been
answered by the manual.

I didn't say "RTFM" in so many words (or letters), but the point was to
give the user some reference material. Which, so far, seems to have worked.

Colin

RE: return DECLINED or OK?

am 29.02.2008 22:16:29 von Ronald

Well I don't feel you are disagreeing me....on the contrary I feel we
are talking about the same thing....personally I have been used to
reading manuals, references, specs since I was still in academic
field....

however, when I was mentioning today's "team work" culture I was kind
referring to a culture by and large.....today when you go for an
interview, or when you take a professional test, you will not be gauged
for how much you can do your job independently based on manuals,
references,....the only thing you are gauged for is how much syntaxes
you remember at that moment....I even had an experience with someone
interviewing me asking me questions about formulas while himself was
reading from a textbook in his hand, which means he was trying to test
me for something obviously he was not qualified himself!

Thanks
Ron

-----Original Message-----
From: Colin Wetherbee [mailto:cww@denterprises.org]=20
Sent: Friday, February 29, 2008 4:04 PM
To: Ronald Dai.
Cc: modperl@perl.apache.org
Subject: Re: return DECLINED or OK?

Ronald Dai. wrote:
> Actually RTFM would not be a problem for people from academic
> background (meaning MS or PHD educated) at all since they have to do
> it all the time....but for people with more team work background
> these days, it might not be politically very correct...

I disagree. Granted, I have a master's degree.

But, let's say, as very nearly happened on another mailing list=20
yesterday, someone installs database software and can't figure out how=20
to create a database. I say go look at the manual and here's the=20
specific URL that covers creating new databases. Now, that person knows

where to look for information about creating a database, *and* that=20
person also knows where to look for answers to future simple questions.

If I had only told that person to type "createdb ",=20
the manual never would have been involved, and that person would have=20
emailed the list again for the next basic question that could have been=20
answered by the manual.

I didn't say "RTFM" in so many words (or letters), but the point was to=20
give the user some reference material. Which, so far, seems to have
worked.

Colin

Re: return DECLINED or OK? [off-topic]

am 01.03.2008 03:36:25 von Raymond Wan

Colin Wetherbee wrote:
> Ronald Dai. wrote:
>> Actually RTFM would not be a problem for people from academic
>> background (meaning MS or PHD educated) at all since they have to do
>> it all the time....but for people with more team work background
>> these days, it might not be politically very correct...
>
> I disagree. Granted, I have a master's degree.


I should point out that one could be educated without a MS or a PhD.
One could also be uneducated with a MS and/or a PhD. It depends on
one's quality of education and their self-motivation in RTFM. But I
know that Ronald is saying it casually, just like the expression "being
a rocket scientist" which is probably an out-dated expression now.


> But, let's say, as very nearly happened on another mailing list
> yesterday, someone installs database software and can't figure out how
> to create a database. I say go look at the manual and here's the
> specific URL that covers creating new databases. Now, that person
> knows where to look for information about creating a database, *and*
> that person also knows where to look for answers to future simple
> questions.


I totally agree with this and I think that one has to know the material
before working as a group. Some university courses are so caught up in
the terminology like "team work", they seem to jump a step.

Just like it would be good to learn how to add before you can use a
calculator. Yes, everyone nowadays uses a calculator -- it is in high
school curriculum now and it is also the "real world" -- but strange to
focus on the calculator if someone does not even know how to do the
operations that a calculator does...

Ray

Re: return DECLINED or OK?

am 01.03.2008 06:28:58 von Scott Gifford

"J. Peng" writes:

> On Fri, Feb 29, 2008 at 7:03 PM, Torsten Foertsch
> wrote:
>>
>> Example continued: The entry /var/www/a/b exists on disk either as file or as
>> directory but /var/www/a/b/c does not. Then after MapToStorage $r->filename
>> is /var/www/a/b and $r->path_info is /c/d/e.
>>
>
> Sorry I can't understand for this. If /var/www/a/b exists but
> /var/www/a/b/c not, why user requests it? What's $r->path_info? How to
> get path_info from filename? thanks again.

Hello,

If /var/www/a/b is a script of some kind, then it will be executed
with $r->path_info set to '/c'. This is another way of passing
parameters into a script, and it's preferred sometimes because it
looks more natural in a URL.

Hope this helps,

-----Scott.

RE: return DECLINED or OK? [off-topic]

am 01.03.2008 09:43:56 von Ronald

This is a multi-part message in MIME format.

------_=_NextPart_001_01C87B78.F5DFC83D
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Raymond Wan wrote:
>I should point out that one could be educated without a MS or a PhD.=20
>One could also be uneducated with a MS and/or a PhD. It depends on
>one's quality of education and their self-motivation in RTFM. But I
>know that Ronald is saying it casually, just like the expression "being
>a rocket scientist" which is probably an out-dated expression now.

You are absolutely right on this. I was trying to say MS or PHD should =
have that kind of training in school...but people definitely can also =
gain that kind of training from real job experience without any MS or =
PHD...
=20
Thanks
Ron

________________________________

From: Raymond Wan [mailto:rwan@kuicr.kyoto-u.ac.jp]
Sent: Fri 2/29/2008 9:36 PM
To: Colin Wetherbee
Cc: Ronald Dai.; modperl@perl.apache.org
Subject: Re: return DECLINED or OK? [off-topic]




Colin Wetherbee wrote:
> Ronald Dai. wrote:
>> Actually RTFM would not be a problem for people from academic
>> background (meaning MS or PHD educated) at all since they have to do
>> it all the time....but for people with more team work background
>> these days, it might not be politically very correct...
>
> I disagree. Granted, I have a master's degree.


I should point out that one could be educated without a MS or a PhD.=20
One could also be uneducated with a MS and/or a PhD. It depends on
one's quality of education and their self-motivation in RTFM. But I
know that Ronald is saying it casually, just like the expression "being
a rocket scientist" which is probably an out-dated expression now.


> But, let's say, as very nearly happened on another mailing list
> yesterday, someone installs database software and can't figure out how
> to create a database. I say go look at the manual and here's the
> specific URL that covers creating new databases. Now, that person
> knows where to look for information about creating a database, *and*
> that person also knows where to look for answers to future simple
> questions.


I totally agree with this and I think that one has to know the material
before working as a group. Some university courses are so caught up in
the terminology like "team work", they seem to jump a step.

Just like it would be good to learn how to add before you can use a
calculator. Yes, everyone nowadays uses a calculator -- it is in high
school curriculum now and it is also the "real world" -- but strange to
focus on the calculator if someone does not even know how to do the
operations that a calculator does...

Ray





------_=_NextPart_001_01C87B78.F5DFC83D
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Re: return DECLINED or OK? =<br /> [off-topic]=0A=
=0A=
=0A=
=0A=

=0A=
Raymond Wan =
wrote:
=0A=
>I should point out that one could be =
educated without a MS or a PhD. 
>One could also be =
uneducated with a MS and/or a PhD.  It depends on
>one's =
quality of education and their self-motivation in RTFM.  But =
I
>know that Ronald is saying it casually, just like the =
expression "being
>a rocket scientist" which is probably an =
out-dated expression now.

=0A=
You are absolutely right on this. I was trying to say MS =
or PHD should have that kind of training in school...but people =
definitely can also gain that kind of training from real job experience =
without any MS or PHD...
=0A=
 
=0A=
Thanks
=0A=
Ron
=0A=
=0A=

=0A=
=0A=
From: Raymond Wan =
[mailto:rwan@kuicr.kyoto-u.ac.jp]
Sent: Fri 2/29/2008 9:36 =
PM
To: Colin Wetherbee
Cc: Ronald Dai.; =
modperl@perl.apache.org
Subject: Re: return DECLINED or OK? =
[off-topic]

=0A=

=0A=

Colin Wetherbee wrote:
> Ronald Dai. =
wrote:
>> Actually RTFM would not be a problem for people from =
academic
>> background (meaning MS or PHD educated) at all =
since they have to do
>> it all the time....but for people with =
more team work background
>> these days, it might not be =
politically very correct...
>
> I disagree.  Granted, I =
have a master's degree.


I should point out that one could be =
educated without a MS or a PhD. 
One could also be uneducated =
with a MS and/or a PhD.  It depends on
one's quality of =
education and their self-motivation in RTFM.  But I
know that =
Ronald is saying it casually, just like the expression "being
a =
rocket scientist" which is probably an out-dated expression =
now.


> But, let's say, as very nearly happened on another =
mailing list
> yesterday, someone installs database software and =
can't figure out how
> to create a database.  I say go look =
at the manual and here's the
> specific URL that covers creating =
new databases.  Now, that person
> knows where to look for =
information about creating a database, *and*
> that person also =
knows where to look for answers to future simple
> =
questions.


I totally agree with this and I think that one has =
to know the material
before working as a group.  Some university =
courses are so caught up in
the terminology like "team work", they =
seem to jump a step.

Just like it would be good to learn how to =
add before you can use a
calculator.  Yes, everyone nowadays =
uses a calculator -- it is in high
school curriculum now and it is =
also the "real world" -- but strange to
focus on the calculator if =
someone does not even know how to do the
operations that a calculator =
does...

Ray



------_=_NextPart_001_01C87B78.F5DFC83D--