Campi personalizzati

I campi personalizzati sono disponibili su task, risorse, issue, assegnazioni, worklog e costi.

L’amministratore può creare nuovi campi personalizzati da “admin” –> “Customizations” : per esempio cliccando su “on task”

Una volta che i campi sono definiti li troverai sui rispettivi editor; per esempio nel task editor

screen971

Si noti che la validazione del campo input è attiva; i numeri sono trattati come numeri così le date, i booleani e le persone.

Puoi anche cercare / filtrare per questi campi nella pagina di ricerca dei task:

screen973

Ci sono molte opzioni per definire ogni campo.

Qui alcuni esempi di campi personalizzati:

  • Campo non usato: no -> il campo è inattivo
  • caso più semplice: my code -> una stringa
  • Caso di lunghezza definita: my code,20 -> una stringa lunga 20 caratteri
  • Caso doppio: cost,15,java.lang.Double (anche Integer o Long)
  • Caso data: when,10,java.util.Date
  • caso booleano: approved,1,java.lang.Boolean
    (un checkbox sarà usato per l’inserimento dei dati)
  • Caso di oggettodi Twproject: customer referral,25,com.twproject.resource.Person -> una Persona
  • see this task,25,com.twproject.task.Task -> un Task
  • attachment,15,org.jblooming.ontology.PersistentFile -> un file caricato

Valori fissi

  • Una lista di codici-valori mostrata come radio:
    genre,6,{values:{"m":"male","f":"female"}}
  • AUna lista di codici-valori mostrata come combo:
    genre,6,{values:{"m":"male","f":"female"} ,displayAsCombo:true}
Using DB table (both internal to Twproject or external)
 lookup on field,25,{ query:{ ... },connection:{...} }
  • caso semplice:
    query:{ tableName:"olpl_operator", idColumnName:"id", descriptionColumnName:"loginname" }
  • caso complesso (più flessibile)
    query: {
      select:"select id,name,surname from olpl_operator",
      whereForFiltering:"where name like ? order by name,surname",
      whereForId:"where id=?"
      }
    

 

  • specificare una connessione esterna (se non specificato sarà usato il db di Twproject):
    connection:{
      driver:"com.mysql.jdbc.Driver",
      url:"jdbc:mysql://[YOUR SERVER]/[YOUR DB]",
      user:"[YOUR USER]",
      password:"[YOUR PASSWORD]"
    }
    

 

Campi obbligatori: aggiungi “,required” alla fine della definizione del campo

  • Un campo di testo generico: my code,required
  • Caso di data obbligatoria: when,10,java.util.Date,required
  • Un lookup: lookup on field,25,{ query:{ ... },connection:{...} },required

Oggetti strutturati ad albero (e.g.: Task o Risorse):

  • Aggiungi un campo solo sul livello di root: add my code,20,...,rootOnly
  • Aggiungi un campo solo sul livello del figlio: add my code,20,...,childOnly

Se vuoi internazionalizzare il campo, basta creare un’etichetta col nome del campo.
E.G. se hai bisogno di un campo “street”, inserisci sul campo personalizzato “street,25” e poi vai in admin->labels e crea una nuova etichetta chiamata “street” e inserisci “street” per Inglese, “rue” per Francese, “via” per Italiano e così via.