Jump to content

arraffaele

Members
  • Content Count

    20
  • Joined

  • Last visited

Posts posted by arraffaele


  1. Ciao, volevo comunicare a tutti gli interessati che è stata rilasciata la versione 3.1.0 di Webmatic.

    Come promesso la novità principale riguarda un sistema incorporato in Webmatic che consente di creare, oltre alla classica barra del menu principale anche menu secondari, sottomenu e menu a tendina, il tutto abbastanza semplicemente e senza limiti (si possono creare cioè sottomenu ad N livelli :zizi: )

    Qui un esempio di quello che si puo' fare

     

    menu.gif

     

    Ciao, alla prossima !!! :) :) :)


  2. nuovo avviso per dirvi che è uscita la versione 3.0.8 di Webmatic alla quale ho aggiunto un pulsante per l'upload rapido di immagini nell'editor HTML avanzato, ho ottimizzato leggermente le query per la visualizzazione delle notizie (infatti ora sono necessarie meno query). Ho finalmente aggiunto il supporto per le skin con layout table-less (un esempio è qui) ed ho iniziato un rudimentale (e per adesso sperimentale) url rewrite per SEO (supportato solo su web server Apache) :)

     

    In futuro spero di integrare in Webmatic un sistema per la creazione di menu e sottomenu a tendina altre alla barra dei menu già presente :zizi:

    Saluti!!!


  3. ...comunque volevo solo avvisare che è uscita la versione 3.0.6 di Webmatic,

    ho provato un po' a seguire i consigli qui espressi è ho migliorato la parte riguardante la generazione delle form creando una serie di classi che consentono di disegnare e validare le form, ho poi anche aggiunto una classe pel la gestione delle liste cioè per la visualizzazione degli elenchi e di tutto ciò che si puo' visualizzare caricandolo da database, sia le liste che le form sono skinnabili (cioè è possibile applicare ad esse uno stile). Ho usato un approccio un po' diverso rispetto al pattern MCV e creare form e liste risulta abbastanza semplice. Manca tuttavia ancora la separazione del database (query eccetera) dalla logica del programma, manca sempre buona parte della documentazione e il supporto a database diversi da MySQL ... ma un passo per volta :-)

    Vi saluto con dei link a degli esempi su come creare liste e form..

    http://www.valarsoft.com/docs/en/dev/p007.html (per gli esempi su come creare una form ed una lista con webmatic 3.0.6)


  4. Ho capito, allora inutile mettere in mezzo la manfrina del sw gpl ed opensource, se poi non volete essere aiutati nello sviluppo e nell'estenzione dell'applicativo tramite i plugin.

     

    Va beh, buon divertimento, la chiudo qui.

     

    i pareri ed i consigli sono sempre i benvenuti e per questo ringrazio:zizi:

    ma volevo anche un parere dal punto di vista dell'utente finale, cioè fermo restando che dal lato developer c'è moltissimo da fare, come vi sembra il software come funzionalità e semplicità d'uso???


  5. Hai detto niente :cartello_lol:. Poi un db layer come lo avete fatto voi non serve, a quel punto estendevate la classe MySQLi di PHP e facevate prima, servono DAO con dei veri model invece.

     

     

    esattamente...

     

     

    Studiati il pattern architetturale MVC: le funzioni di routing voi le avete implementate in un metodo della classe del componente (dove avete ficcato quello switch smisurato)

     

     

    Neanche commento, potete anche saper programmare in maniera pulitissima, efficientissima e via dicendo, ma se non commentate i sorgenti (e lo si fa PRIMA o al massimo DURANTE la stesura del codice) per me l'applicativo si può installare solo nel trashcan :stordita:.

     

    va bene tutto ma ti dico e ripeto che Webmatic è nato come CMS e non pretende per nulla di essere un FW per sviluppatori ma è rivolto principalmente a chi vuole crearsi un sito in maniera semplice, se poi un giorno si riuscira' a migliorare (e strada ne manca) anche dal lato sviluppatore, che ben venga :zizi:


  6. No, apparte il reinventare la ruota (perché se fatto bene non comporta svantaggi), ci sono tutta una serie di cose che per una applicazione di ampio respiro, come un CMS, vanno prese in considerazione.

     

    Prima di tutto sarebbe stato necessario utilizzare una architettura 3-tier, con la divisione netta delle varie logiche (vedi il pattern MVC), ho provato ad aprire un tema: decine e decine di file con 4 righe di html ed un eval :062802drink_prv:. Nei componenti invece c'è un metodo che fa pseudorouting per il componente ed una moltitudine di metodi che sono un misto di action e render helper (il tutto ovviamente scritto senza uno straccio di documentazione).

    Ovviamente non esistono data model e/o astrazione lato DB, le query vengono scritte direttamente nelle pseudo action, senza uso di prepared statement e, da quel poco che ho visto, senza controllo sugli input (ovviamente scordatevi i prepared statement).

     

    Questo giusto per iniziare, buon refactoring (anzi, reengineering) :)

     

    Su alcune cose sono in accordo ma non su tutte:

    La divisione logica-aspetto il model view come la chiami tu c'è (anche se usa largamente l'istruzione eval cio non vuol dire che non ci sia, per separare l'aspetto dalla logica non ho usato nessun model view esterno ma solo php tramite eval scomodo per il developer ma funziona benissimo), è vero non c'è alcun db layer che darebbe la possibilità di utilizzare in futuro altri dbms oltre mysql ed è una cosa che andrà fatta.

    Il controllo sugli input c'è (eventuali bug e dimenticanze si aggiustano) ovviamente va tutto aggiustato per bene tramite una o piu' classi che gestiscano i vari tipi di input e le loro eccezioni.

    Poi mi spieghi che vuoi dire con "c'è un metodo che fa pseudorouting per il componente"...

    in ogni caso il software è in continuo aggiornamento (documentazione compresa) ed è principalmente pensato per l'utente finale:cartello_lol:


  7. Purtroppo non ho tanti di quei soldi che mi permettono di fare il benefattore H24, quindi devo attentamente scegliere a cosa vale la pena contribuire.

     

    Mi spiace, ma un software senza alcuna documentazione dei sorgenti e che non rispetta i canoni della buona programmazione non rientra tra questi (per chi se lo stesse chiedendo, basta vedere le pagine generate con phpDoc per rendersene conto).

     

    Fosse almeno stata buona ed innovativa la base, ci avrei potuto fare un pensierino, ma così è tempo perso :stordita:

     

    A parte la scarsa documentazione cosa intendi esattamente per "buona programmazione", è una programmazione pessima solo perchè non ho usato un FW già esistente o cosa???


  8. Nel tempo che impieghi per ottimizzare il tutto, con un fw già affermato (e di cui hai già conoscenza) lo rifai da zero (avendo innumerevoli vantaggi) :)

     

    Non mi si può venire a dire che 150query per la home di un forum (dove alla fine sono presentate delle categorie con dati dell'ultimo post e si gestiscono poche altre cose) è normale. Più che ottimizzarlo va riprogettato, perché sarebbero solo pezze quelle che vai ad applicare.

     

    E, comunque, prima di parlare, ho cercato di dare uno sguardo anche alla phpDoc.

     

    Un occhiatina al codice nemmeno per sbaglio vero??? Non so'... il sorgente potrebbe fare anche pietà ma cosi facendo non credo che aiuti il software GPL


  9. Io devo fare solo un appunto non tecnico, non ho letto il codice quindi non mi permetto di commentarlo.

    Ma come un "cms tutto italiano" e il sito tutto e solo inglese? :emoticons_dent2020:

     

    Il sito è in inglese per ovvie ragioni di visibilità ma Webmatic è stato creato da un italiano (me :emoticons_dent2020:) e le lingue principali del software sono l'inglese (sempre per ovvie ragioni) e l'italiano. :zizi:


  10. Visto che ho diviso le discussioni, scrivo un paio di link sui metodi più usati per la gestione dei permessi:

     

    Role-based access control - Wikipedia, the free encyclopedia

    Access control list - Wikipedia, the free encyclopedia

     

    A voi la parola :)

     

    il sistema più semplice per me è quello tipo usato nei permessi di linux tramite una matrice di controlli (ho usato un sistema simile in Webmatic 3.0.x) Permessi (Unix) - Wikipedia

    Naturalmente è utile se si ha a che fare con gruppi oltre che con singoli utenti :zizi:


  11. Tra le tante cose, la risposta che dovrebbe interessarti di più è che avresti potuto avere sviluppatori/contributor che, partendo da base conosciuta e ben documentata, potevano creare plugin & Co.

     

    Ovviamente si, sarebbe il bello del software free dopotutto :zizi: . In realtà qualche contributo l'ha avuto ma piccole cose rispetto a quello che avrei potuto avere :(.

    In ogni caso non mi va di buttare via tutto il lavoro fatto fin adesso


  12. Allora ti chiedo cosa ti ha spinto a reinventato la ruota invece di usare un framework già testato e documentato: cosa offre in più la tua base rispetto alle altre già presenti? :)

     

    Utilizzi qualche pattern architetturale in particolare?

     

     

    In realtà il mio intento era inizialmente quello di creare un CMS semplice da usare con tantissime funzioni già pronte all'uso per i non addetti ai lavori, in seguito al complicarsi del codice ho (ovviamente) dovuto rescrivere il 90% del codice ricreando un piccolo framework (o almeno una serie di API ed oggetti) per rendere più semplice la strutture del software e rendendolo più modulare (quando ho iniziato i framework erano lungi dall'essere perfetti ed il php muoveva i primi timidi passi verso una programmazione OO ) mi trovo cosi nella situazione di aver "reinventato la ruota" e non saprei descriverti i vantaggi o gli svantaggi rispetto ad altri software del genere, so che comunque il software è abbastanza testato e fa abbastanza bene il suo dovere.:emoticons_dent2020: ... e poi che male c'è a fare tutto da sè :062802drink_prv::062802drink_prv: :zizi:


  13. la struttura del core che avete pensato e il relativo codice non sono documentati?

     

    per il dicorso query, conta molto anche cosa fanno ste query: non ci vuole molto a fare delle query 10 o 100 volte più lente

     

    No, il funzionamento del core non è documentato ma se guardi nel file index.php è dall' istanza della Classe webmatic3 che parte il tutto. Poichè il software è tutto ad oggetti non ti verrà difficile analizzando la classe webmatic3 capirne il funzionamento.

    In generale funziona cosi:

    - Si carica il file di configurazione

    - Si caricano le preference e la lingua da usare

    - Si carica lo "Skin" (tema grafico) (vedi classe wm3Skin)

    - Si fa l'autenticazione degli utenti (ci sono tre "stage", il lato visitatore, il lato utente ordinario (con i relativi permessi) ed il lato amministratore (con i relativi permessi) se l'autenticazione si accorge di permessi non consentiti si crea un messaggio di accesso negato o un redirect alla pagina di login

    - Si caricano i contenuti e si fa il render in base allo skin caricato, i contenuti consistono normalmente in un header, una barra del menu, di tre colonne (pannelli laterali destri e sinistri, pannelli centrali che possono anche essere pagine normali o notizie tipo blog) e di un footer.

     

     

    Per il discorso query posso aggiungere che molte delle query fatte da webmatic sono abbastanza semplici ... ma come dicevo prima è in costante ottimizzazione ed i consigli sono sempre ben accetti :emoticons_dent2020:


  14. Naturalmente il CMS è in continua ottimizzazione ... e poi 39 query per la home page non mi sembrano molte, naturalmente più cose si devono visualizzare più query ci saranno...

     

    Questo mi basta per non scaricare neanche il cms: (Page generated in 0.19272 seconds, 39 queries)

     

    Buona fortuna :)

     

    EDIT: (Page generated in 0.51102 seconds, 154 queries) per la home del forum, salute :D


  15. c'è una documentazione riguardante le API di Webmatic se ti interessa la trovi qui: Webmatic 3.0.5

    ed un breve manuale dello sviluppatore su come creare moduli aggiuntivi (espansioni) per Webmatic qui: Developer manual inoltre alcuni esempi di espansioni li trovi sul sito qui: Valarsoft ti conviene iniziare dall'espansione hello world!

     

    Webmatic si comporta come un CMS ma anche come un piccolo framework (grazie ad una serie di API) mancano ancora un sacco di cose da fare ma speriamo di migliorarlo via via nel tempo :zizi:


  16. Salve a tutti,

    mi sono appena iscritto al forum .... grazie, grazie per i "benvenuto"!!!

     

    Mi sono iscritto qui poichè sono l'autore di un cms abbastanza completo ma

    molto poco diffuso ed avevo un po' intenzione di farlo conoscere.

     

    Il cms in questione si chiama Webmatic ed è giunto alla versione 3.0.5, esso

    è rilasciato sotto licensa GNU/GPL, è scritto in PHP ed usa MySQL come database (insomma la classica configurazione del 90% dei cms), esso è scaricabile

    liberamente dal sito Valarsoft.

     

    La forza del CMS è sicuramente la facilità di utilizzo e la grande quantita' di funzioni gia' disponibili (senza installazioni successive), ho realizzato anche alcuni video tutorial disponibili qui Valarsoft mentre il manuale online del cms è consultabile da http://www.valarsoft.com/docs

     

    Lo scopo di questo topic (e delle discussioni o forum che, e se, nasceranno) è quello di aiutare me a migliorare il software e di aiutare chiunque volesse crearsi un sito con Webmatic.

     

    Per adesso mi rimetto al vostro giudizio sulla qualità reale della versione attuale del software... grazie in anticipo.

×