Autore Topic: Costruzione di un nuovo componente con JCB  (Letto 565 volte)

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Costruzione di un nuovo componente con JCB
« il: 12 Set 2020, 09:52:34 »
Buongiorno
Sto costruendo un nuovo componente con joomla component builder e voglio condividere tutte le fasi della costruzione sperando di interessare e coinvolgere quanti più utenti possibili e naturalmente ricevere consigli e suggerimenti oltre che partecipazione alla costruzione. Il componente ovviamente sarà reso disponibile per tutti sia come pacchetto JCB che come componente finito e installabile.Il componente è Classroom Timetable e serve a gestire gli orari e la durata di una lezione di un corso qualsiasi fornendo orari di inizio, durata e indicazione del tempo rimanente. L'esigenza è nata per dare modo a genitori in attesa delle lezioni dei figli in una scuola di lingue di sapere quando manca alla fine, esponendo in un apposito monitor la pagina del componente, un pò come i tabelloni orari delle stazioni e dei porti.Non nascondo che sarà un lavoro impegnativo e che porterà via molto tempo e studio per raggiungere l'obiettivo.
Di seguito e man mano in appresso illustrerò le fasi iniziali di costruzione (ogni domanda o chiarimento in merito sono ben accetti).
Descrivo per prima cosa la struttura costituita dalla tabella finale che rappresenterà l'elenco dei corsi:Serviranno inizialmente i seguenti campi: aula; insegnante; giorno; corso; ora-inizio; durata (altri campi se serviranno saranno aggiunti in seguito).
Inizio col creare per primo il nome e i settaggi del componente e le viste admin che in pratica rappresentano le tabelle.La prima vista admin conterrà la tabella aula (clasroom) e conterrà solo il campo nome di tipo text, (gli altri campi di sistema saranno aggiunti automaticamente) .La seconda vista admin conterrà la tabella insegnante (teacher) e come sopra conterrà solo il campo nome.La terza vista admin conterrà la tabella corsi (course) e come sopra conterrà solo il campo nome.Spiego perché questi campi hanno bisogno di una loro vista e tabelle separate, lo scopo è di avere una scelta dropdown nell'inserimento dei corsi nella parte amministrativa, poi vedremo come questo si ottiene.Infine la quarta vista admin conterrà tutti i campi come dalla struttura iniziale:aula(id_classroom - tipo custom); insegnante(id_teacher - tipo custom); giorno(day - tipo lista); corso(id_course - tipo custom); ora-inizio(start - tipo date); durata(duration - tipo number)
Mi scuso se ho dimenticato qualcosa o qualcosa durante lo sviluppo cambierà ma per iniziare credo basti per ora.
Appena completo queste fasi renderò subito disponibile l tutto in modo che tutti possano iniziare a toccare con mano e capire le potenzialità di  JCB.grazie per ora.
 

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #1 il: 12 Set 2020, 11:59:01 »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #2 il: 12 Set 2020, 19:57:46 »
Forse sono rimasto indietro, dimmi se ho capito, le due versioni scaricabili sono:

  • il pacchetto installabile su JCB per poterlo modificare
  • l'estensione da installare su qualsiasi sito.
Domani lo installo su un sito di test, e provo a seguirti.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #3 il: 12 Set 2020, 21:40:54 »
Forse sono rimasto indietro, dimmi se ho capito, le due versioni scaricabili sono:

  • il pacchetto installabile su JCB per poterlo modificare
  • l'estensione da installare su qualsiasi sito.
Domani lo installo su un sito di test, e provo a seguirti.
Hai capito benissimo uno si carica su JCB per poterlo modificare e ottenere il componente da installare insomma come se fosse il sorgente e l'altro è un componente joomla come risultato.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #4 il: 13 Set 2020, 11:59:08 »
nel pannello di controllo c'è scritto di richiedere la "FREE JCB PACKAGE KEY", ma non ho capito se serve solo per realizzare un fork...
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #5 il: 13 Set 2020, 12:35:47 »
immagino che per iniziare si debba andare sulla dashboard di JCB e scegliere cosa vogliamo costruire, se un componente, un plug-in o modulo.

Guardando ciò che hai fatto cerco di venirti dietro con qualcosa di semplice (almeno credo)

Sto cercando di creare un semplice componente per capire come muovermi, quindi sto optando per qualcosa di semplice, almeno nella logica.

Chiamerò il componente "UAT" Unità Amministrative Territoriali.
Ho compilato i vari campi basandomi su quanto da te inserito.

Il componente mi permetterà di inserire i nomi delle Regioni, delle Province, dei comuni e dei CAP

Il prossimo passo dovrebbe essere quello di creare le tabelle e le viste, ma non so ancora come si fà.

per ora mi fermo e aggiorno dopo.


P.S. se qualcun altro avesse interesse nel costruire un componente per joomla, piccolo o grande o solo per imparare qualcosa è il benvenuto.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #6 il: 13 Set 2020, 13:54:03 »
nel frattempo ho scoperto che i campi dei componenti possono essere organizzati in categorie, Per esempio TomTom ha inserito tutti i suoi nuovi campi nella root, mescolandoli con quelli del componente demo.

per creare una nuova categoria di campi si deve andare in dashboard>>categories for field
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #7 il: 13 Set 2020, 13:58:57 »
La key e una protezione per i package, io non ho messo nessuna key quindi chiunque può utilizzarlo. Per costruire le tabelle si incomincia a creare le viste admin.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #8 il: 13 Set 2020, 14:03:56 »
Preciso che per il mio componente finora non ho dovuto scrivere neanche mezza riga di codice. Tuttavia il codice servirà per forza di cose inserirlo ad hoc per le viste lato frontend se vogliamo personalizzare come vogliamo, ma niente paura il componente JCB ci suggerisce quale codice inserire oltre a prendere spunti ed esempi oltre ai tutorial anche ai componenti demo scaricabili dal loro sito. Il prossimo passo per il mio componente sarà costruire la vista frontend.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #9 il: 13 Set 2020, 14:04:03 »
ma nella vista in admin vedo solo i campi precedentemente creati, i tuoi più quello del componente demo...clicca ndo su +, idem
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #10 il: 13 Set 2020, 14:09:15 »
mi sono bloccato, dovrei creare la tabella e inserirvi i campi, ma non riesco a fare nessuna delle due cose
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #11 il: 13 Set 2020, 14:26:17 »
Forse ci sono, in admin Views si inserisce il nome della tabella e tutto ciò che si dovrebbe vedere nella vista lato admin.
Poi in joomla component si clicca sul nome del componente e si abbina il nome della tabella al componente.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #12 il: 13 Set 2020, 14:40:05 »
in admin views si inseriscono i campi necessari, da notare che molti campi standard vengono inseriti automaticamente:

Citazione
I seguenti campi vengono aggiunti per impostazione predefinita a tutte le visualizzazioni.
id, asset_id, state, access, ordering, created_by, created, modified_by, modified, Check_out, Check_out_time, version, hits, metakey, metadesc, metadata (non è necessario aggiungerli di nuovo)
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #13 il: 13 Set 2020, 14:48:50 »
Esatto e anche per le viste admin si ceano separatamente i campi o si utilizzano quelli esistenti e poi si abbinano alla vista. Infine si compila e si ottiene il componente.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #14 il: 13 Set 2020, 16:39:12 »
Ho creato i campi con per le varie tabelle, ora vorrei vedere lato admin un form, ma sto ancora cercando nei meandri delle tantissime opzioni e menu
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #15 il: 13 Set 2020, 17:19:15 »
Associa la vista admin al componente e poi compilalo e otterrai il componente da installare. Prima devi inserire i campi nella vista admin.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #16 il: 13 Set 2020, 19:13:28 »
credo di averlo associato ma non funziona
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #17 il: 13 Set 2020, 19:21:19 »
ricevo una pagina di errore quando premo uno dei tastoni per l'inserimento di un nuovo record:
errore SQLLSTATE 42S02

Ho attivato il debug ma non ricevo nessun errore
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • *****
  • Post: 31311
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #18 il: 13 Set 2020, 19:30:37 »
Lo ricevi dopo aver installato il componente che hai creato?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 20436
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Costruzione di un nuovo componente con JCB
« Risposta #19 il: 13 Set 2020, 19:41:46 »
ho capito che il problema è sulla creazione dei campi, i parametri inseriti non vanno bene, sopratutto per chiavi secondarie.....
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

 

Host

Torna su