La ricerca con Twproject

screen1129

Twproject usa un motore di ricerca full-text per indicizzare ogni testo inserito in esso.
Per trovare qualcosa basta inserire la parola o la frase che vuoi cercare e premere “invio”.

screen1130
I risultati saranno ordinati per punteggio e il testo evidenziato. Twproject usa lo stemming, per cui se cerchi “hotels” troverà anche “hotel”.

Questa è una ricerca vasta su “tutto”, puoi trovare task, risorse o appuntamenti. Se vuoi cercare per un oggetto particolare, puoi usare il combo per selezionare l’ambito della tua ricerca; t: task, r:risorse, i:issue e così via.

Twproject ti fornisce un raffinato strumento di filtraggio, che usa la ricerca nel database (sql) invece di quella full-text.

Filtri più comuni

screen1213Ogni lista, task, risorse, issue etc. ha un insieme di filtri più usati.These filters are accessible from the right menu.
Per esempio sulla pagina progetti avrai “I miei progetti aperti”, “Prossime milestone”, etc.
Sulla pagina delle issue avrai  “Le mie issue aperte”, “Issue aperte recentemente” etc.
Se clicchi su un filtro, il filtro sarà applicato e vedrai da cosa è composto il filtro; è un buon inizio per capire come funzionano i filtri.

Una volta che il filtro è applicato, stampa, report e export, saranno applicati solo agli elementi filtrati.

Cercare usando i filtri

Per cercare task, issue o risorse con una ricerca raffinata, clicca sul link corrispondente nella barra in alto; il sistema di filtraggio funziona nello stesso modo per ogni sezione. For instance “Resources”.

search-people

Vedrai i filtri di “default”, in questo caso “I miei colleghi”, ma ci sono altri filtri preimpostati utili “Utenti di Twproject”, “Aziende” e “Persone”.

Non ti basta? Premi “più filtri” per avere più opzioni:

search-people-refined

QUesto filtro ti consente di comporre raffinate condizioni di ricerca – clicca cerca per procedere .

Ogni campo è usato con una logica AND con gli altri, quindi se per esempio imposti l'”azienda e selezioni il check “persone” troverai solo le persone (non i dipartimenti) per quell’azienda, che in questo caso corrisponde esattamente a “i miei colleghi”. Di fatto ogni filtro preimpostato semplicemente riempie i rispettivi campi dela form quindi puoi usarlo come guida per comporre il tuo filtro.

I risultati sono normalmente paginati, e puoi sfogliare le pagina usando la barra di paginazione:

paging-bar

La dimensione della pagina può essere cambiata cliccando nel campo e scrivendo un numero.

page-size

I filtri personalizzati sono potenti grazie anche al fatto che Twproject supporta il Query By Example (QBE) e ti permette di salvare i tuoi filtri in modo da poter ripetere ricerche complesse.

La maggior parte delle pagine di lista di Twproject, ti permettono di salvare e esportare in Excel: stampa, esporta, report saranno applicati al gruppo di oggetti corrente.

Salva i tuoi filtri

In ogni pagina di ricerca di Twproject puoi salvare i tuoi filtri:

screen935

screen936

E questo filtro sarà sempre disponibile nel box laterale.

custom filter

Puoi decidere di usare un filtro come quello di default. In quel caso devi prefissare il nome con “d:”.

Trucchi per la ricerca: QBE

Il medoto di ricerca QBE (query by example) da all’utente un modo facile di comporre query complesse, usando una sintassi particolare nei campi di ricerca. Se per esempio in un campo tu scrivi “$mixer*” e clicchi cerca, otterrai tutti risultati che iniziano con “mixer”, ma non quelli che hanno “mixer” al centro.

Twproject per default è case insensitive nelle ricerche, anche in caso di database sensitive; questo può essere cambiato dagli amministratori.

Se i valori sono specificati in più di un campo, tutti devono essere soddisfatti (i campi sono in “AND”). I campi in cui il QBE è abilitato sono facilmente identificabili: clip_image003

Le query possono essere composte con i seguenti parametri:

Condition Operator Example
comparison =,>,<,>=,<= All tasks whose progress is above 5%:   progress: % More complex: above 3, lesser than 6 or equal to 10: unitary price:
not equal ! All tasks whose description does not contain “jewel”:    name/description
exactly equal “” All tasks whose description is “nice jewel”, excluding those that have only “nice” or only “jewel”:name/description
empty field (), [] All tasks whose description and name are “null”:    name/description
zero length field // All tasks whose description and name have empty content:    name/description
not empty field !(), ![] All tasks whose description and name are not empty:    name/description
contains * All tasks whose description or name end with “spies”:    name/description All tasks whose description or name start with “Contact”:    name/description All tasks whose description or name contain “an”:   name/description
isolated word # All tasks whose description or name contain “jewel” as isolated word:    name/description Will find “Another jewel robbery” but not “Jewellery stolen”
is between : All tasks whose start is between the dates below:    start
conjunction + All tasks whose description or name contain “another” AND contain “jewel”:name/description
disjunction | , All tasks whose description or name contain “another” OR contain “jewel”:name/description or name/description
Parametric date settings YESTERDAY
TODAY
TOMORROW
LQ LM LW Y T NW NM NQ
(-)n[DWMY]
These constants get substituted in searches with their current values:
Finds all events started after yesterday.    start
Finds all events ending between one week ago and three months.    end

Le date sono sempre complete di orario, quindi quando stai filtrando per una data, QBE applicherà qualche conversione: nel caso di una data singola per esempio “1/1/2009” il kotore cercherà per la data >= 1/1/2009 00:00:00:000 e <= 1/1/2009 23:59:59:999. Lo stesso nel caso di un intervallo: 1/1/2009:2/1/2009. Il motore cercherà per le date >= 1/1/2009 00:00:00:000 e <= 2/1/2009 23:59:59:999.

Scorciatoie per le date

I campi data consentono di inserire velocemente date nel formato corretto. Puoi spostarti tra i mesi usando i bottoni freccia ma, più interessante, puoi usare alcune scorciatoie per inserire una data completa.
screen928

Per esempio puoi inserire “oggi” (o anche “t”) invece di usare la data attuale. Quello che è davvero interessante è l’uso delle scorciatoie nei filtri personalizzati. In effetti usare il QBE nelle date ti permette di esprimere qualcosa del tipo “tutti quelli che hanno la data di fine <t” intendendo che la data di fine è nel passato. Ci sono varie scorciatoie:

Shortcut “Longcut” Description
N NOW Is this instant including milliseconds
T TODAY Is the first millisecond of today (00:00:00:001)
Y YESTERDAY Is the first millisecond of yesterday
TM TOMORROW Is the first millisecond of tomorrow
W WEEK,THISWEEK,WEEKSTART,THISWEEKSTART Is the first millisecond of the first day of this week
LW LASTWEEK,LASTWEEKSTART Is the first millisecond of the first day of last week
NW NEXTWEEKNEXTWEEKSTART Is the first millisecond of the first day of next week
M MONTH,THISMONTH,MONTHSTART,THISMONTHSTART Is the first millisecond of the first day of this month
LM LASTMONTH,LASTMONTHSTART Is the first millisecond of the first day of last month
NM NEXTMONTH,NEXTMONTHSTART Is the first millisecond of the first day of next month
Q QUARTERTHISQUARTERQUARTERSTART,THISQUARTERSTART Is the first millisecond of the first day of this quarter
LQ LASTQUARTER,LASTQUARTERSTART Is the first millisecond of the first day of last quarter
NQ NEXTQUARTER,NEXTQUARTERSTART Is the first millisecond of the first day of next quarter
CWn WEEKOFYEAR, WY It is the calendar week number start day, e.g. CW2 is the first day of week (and this depends whether American or European format, Sunday of Monday) of the second week of the current year

Nota che ogni scorciatoia è ridotta a una data, non a un periodo anche se il nome suggerisce un periodo (per esempio “settimana”) quando è utilizzato nella registrazione di una form; diventa un periodo quando è usato nelle pagine di ricerca.

screen929

Puoi fare anche di più: puoi usare nei campi data anche ogni espressione corrispondente

“^-?[0-9]+[DWMY]$”.

Questa è la sintassi di una espressione regolare, e per spiegarlo meglio, alcuni esempi possono aiutare:

Example Meaning
2D in 2 days
-3D 3 days ago
12W in 12 weeks
-5W 5 weeks ago
2M In 2 months
-35Y 35 years ago

Questo può essere usato anche per inserire intervalli di tempo quando registri il lavoro, come nella lista delle assegnazioni, per impostare i giorni:

screen931

Diventa:

screen932

O anche registrando un worklog:

screen934

Calcolare nei campi

Puoi usare espressioni aritmetiche nei campi numerici: il risultato del calcolo sarà salvato come un qualunque campo numerico:

compute in field1    alt