I campi personalizzati sono disponibili su progetto, risorse, ToDo, assegnazioni, worklog e costi.
L’amministratore può creare nuovi campi personalizzati da “admin” sezione Customizations –> “Custom fields” : per esempio cliccando su “Resource”
Una volta che i campi sono definiti li troverai sui rispettivi editor; per esempio nell’editor del progetto
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 progetti:
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 Progettoattachment,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 (es: Progetto 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.
Es. 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.