gnuherds-app-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Microformats and logical URLs -- mod_rewrite


From: Davi Leal
Subject: Re: Microformats and logical URLs -- mod_rewrite
Date: Thu, 26 Apr 2007 11:14:43 +0200 (CEST)

Victor Engmark wrote:
> Davi Leal wrote:

> > The problem is that the form to edit a job offer is absolutely
> > independent of the form to process the job offer applications. I
> > propose:
> >
> >        /jobs?action=edit&id=XXX - To edit the job offer itself
> >        /jobs?action=process&id=XXX - To process the job offer applications
>
> "process" is IMO too general - What does it really mean? I'd rather go for
> "/application?action=edit&id=XXX".

OK.


> > Lets take a look again to a subset of the logic URLs:
> >
> >   /job - Show all available job offers
> >         * action taken by default as "action=show"
> >         * type taken by default as "type=offer"
> >         * id taken by default as "id=all"
> >         * owner taken by default as "owner=anybody"
>
> Cool. As a side note (you've probably planned this already), we shouldn't
> show the parameters which select everything - That should be implicit by not
> including them. I.e., "/job?action=show" ==
> "/job?action=show&type=all&id=all&owner=anybody".

Yes.


> > Maybe the below should show all the job offers, instead of all _my_
> > job offers. It should raise the same operation than just "/job".
> >
> >   /job?type=offer - Show all my job offers
> >         * action taken by default as "action=show"
> >         * id taken by default as "id=all"
>
> Strictly OO oriented, we don't handle jobs per se, just job offers and
> applications. So I propose to use /offer[s] and /application[s], in this
> way:
>
>    - /offer?id=XXX - Show a single job offer
>    - /offers - Show all job offers
>    - /offers?owner=me - All job offers owned (proposed) by me
>
> And the same for application(s). That's one less parameter, and the URL
> should be easily readable.

Cool!  Maybe it is better use the plural form. What do you think? See
below:

  /offers - Show all available job offers
          * action taken by default as "action=show"
          * id taken by default as "id=all"
          * owner taken by default as "owner=anybody"

  /offers?id=XXX - Show a specific job offer
          * action taken by default as "action=show"
          * owner taken by default as "owner=anybody"

  /offers?owner=me - Show all job offers owned (proposed) by me
          * action taken by default as "action=show"
          * id taken by default as "id=all"

  /applications - Show all my job applications
          * action taken by default as "action=show"
          * id taken by default as "id=all"
          * owner taken by default as "owner=me"

  /offers?action=edit&id=XXX - To edit the job offer itself
          * owner taken by default as "owner=me"

  /applications?action=edit&id=XXX - To process/edit all the
                                     job offer ('id') applications
          * owner taken by default as "owner=me"



> I think the readability of the URL is more important than the tag, mainly
> because most people won't be tagging single job offers (since they are
> transitory), but rather our site. Useful tags could be in our keywords meta
> tag.

OK.


> "register" should IMO not be an object. All registration information should
> be saved with the person/company/nonprofit.

OK.


> >   id     = [all, XXX]
>
> As above, the "all" type values are unnecessary; just don't include the
> parameter (or leave its value empty, as when submitting a search form).

Yes. I listed it just for completeness.


> > I would move "register" to be an action instead of being an "object".
> > I suppose it is so main to be "/register" instead
> > of  "/person?action=register" . What do you think?
>
> I agree.

OK.



--
Appendix
========


Object Oriented analysis
========================

  Objects
  -------

    offers (job offers)
    applications (job applications)

    person
    company
    nonprofit

  Parameters
  ----------

    action = [show,edit,register]
    type   = [offer,application]
    id     = [all, XXX]
    owner  = [anybody, me]



Physical vs Logical URLs
========================

    gnuherds.org/GNU_Herds_Hackers_Guide.php
                /development - Hacker's Guide

    gnuherds.org/FS_Job_Offers.php
                /offers - Show all available job offers

    gnuherds.org/FS_Business_Networks.php
                /business_network_models ???

    gnuherds.org/Lost_Password.php
                /password

    gnuherds.org/Person.php
    gnuherds.org/Company.php
    gnuherds.org/non-profit_Organization.php

           from the menu, when you are already logged.
                /person
                /company
                /nonprofit

           from outside (login box)
                /person?action=register
                /company?action=register
                /nonprofit?action=register

    gnuherds.org/View_Job_Offer.php?JobOfferId=XXX
                /offers?id=XXX - Show a specific job offer

    gnuherds.org/Qualifications.php
                /resume - Edit your resume

    gnuherds.org/Manage_Job_Offers.php
                /offers?owner=me - Show all job offers
                                 owned (proposed) by me

    gnuherds.org/View_Job_Applications_State.php
                /applications - Show all my job applications

    gnuherds.org/Job_Offer.php?JobOfferId=XXX
                /offers?action=edit&id=XXX - To edit the job offer itself

    gnuherds.org/Manage_Job_Offer_Applications.php?JobOfferId=XXX
                /applications?action=edit&id=XXX - To process/edit all
                                     the job offer ('id') applications

    gnuherds.org/View_Qualifications.php?EntityId=XXX
                /resume?id=XXX - Show that 'id' resume
--




reply via email to

[Prev in Thread] Current Thread [Next in Thread]