Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - Ladyj

Pagine: [1] 2
1
Grazie mille della segnalazione!

2
E' un articolo un po' tecnico, rivolto a chi crea nuovi componenti e ha bisogno di personalizzare il titolo Joomla! lato admin. Parla anche un poco dei font iconici, che possono essere usati anche altrove in Joomla! e non solo.

Link all'articolo: http://www.joomla.it/e-ancora/articoli-community-3x/7718-jtoolbarhelper-icone-componente.html

Ciao e grazie

3
Ciao,


ho un articolo tecnico, per sviluppatori di componenti, che aiuta a capire come modificare l'icona che compare di fianco al titolo del componente lato admin (la barra blu in alto) quando si usa ISIS. Si tratta della classe JToolBarHelper, non c'è documentazione in rete, o meglio c'è ma sulla 2.5. In joomla 3 le logiche sono un po' cambiate.


Lo pubblicherò poi sul mio blog, ma tradotto in inglese.


Ciao

4
Ciao,

ad ottobre mi ero dedicata al debug degli errori postgres, ero arrivata fino al punto 8 scambiando mail con gpongelli. Poi ho avuto problemi nel dedicarvi altro tempo.
Vorrei sapere se la lista è ancora valida, per poter continuare altre sessioni  di debug se servono.

Mariella

5
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 18 Ott 2012, 21:52:34 »
Bene.
Il bug 7 penso sia riconducibile ai punti precedenti.
L'8 invece è un altra parrocchia.
A postgresql arriva questa istruzione:

SELECT u.name, count(cd.language) as counted, MAX(cd.language='*') as all_languages
FROM odm2e_users AS u
LEFT JOIN odm2e_contact_details AS cd ON cd.user_id=u.id
LEFT JOIN odm2e_languages as l on cd.language=l.lang_code
WHERE EXISTS (SELECT * from odm2e_content as c where  c.created_by=u.id) AND (l.published=1 or cd.language='*') AND cd.published=1
GROUP BY u.id
HAVING (counted !=1 OR all_languages=1) AND (counted !=1 OR all_languages=0)

Questa roba lo manda in palla per parecchi versi:  Il MAX, l'having in basso.
Ti giro lo stack delle chiamate in allegato



[allegato eliminato da un amministratore essendo vecchio più di un anno]

6
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 18 Ott 2012, 15:09:53 »
Trovato!

A mettere gli '' è la $db->quote($item->list_price)); a riga 165 del file postgresql.php sotto {JOOMLA}/administrator/components/com_finder/helpers/indexer/driver.

$item->list_price arriva null quando lancio lo Smart Search Indexer. Il methodo quote che viene usato è quello del file driver.php sotto {JOOMLA}/libraries/joomla/database riga 1376 che fa una cosa molto semplice:

    public function quote($text, $escape = true)
    {
        return '\'' . ($escape ? $this->escape($text) : $text) . '\'';
    }

Vedi? Mette gli apici d'ufficio. Altra cosa che a MySQL piace tanto, apici a pioggia


7
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 18 Ott 2012, 09:45:42 »
E' la punta di un iceberg-rogna sui tipi questa storia ...  :-\
Ho appena dato un occhio all'errore 5. C'è ancora. L'update in errore è questo:

UPDATE "j301_finder_links"
   SET "route"              = 'index.php?option=com_content&view=category&id=9',
       "title"              = 'Uncategorised',
       "description"        = '',
       "indexdate"          = NOW(),
       "state"              = 1,
       "access"             = 1,
       "language"           = '*',
       "type_id"            = 1,
       "object"             = 'O:19:"FinderIndexerResult":18:{s:11:"',
       "publish_start_date" = '1970-01-01 00:00:00',
       "publish_end_date"   = '1970-01-01 00:00:00',
       "start_date"         = '2011-01-01 00:00:01',
       "end_date"           = '1970-01-01 00:00:00',
       "list_price"         = '',
       "sale_price"         = ''
 WHERE link_id = 1

E l'errore è:
ERROR:  invalid input syntax for type numeric: ""
LINE 15:        "list_price"         = '',
                                       ^

********** Errore **********

ERROR: invalid input syntax for type numeric: ""
Stato SQL: 22P02
Carattere: 674

Errore giustissimo e sacrosanto, list_price è un number, non ci puoi mettere una stringa. Mettendo uno 0 al posto dei '' l'errore si sposta su sale_price. Facendo la stessa cosa l'update viene eseguita correttamente.

Ora, ho passato la stessa update a MySQL (correggendo solo i quote) e indovina? Se l'è presa e ingoiata, tutto liscio, il '' è diventato un bello 0. Per capire da dove venisse la traduzione in 0 ho smontato gli orpelli della colonna list_price su mysql. Ho tolto il not null, l'attributo unsigned e il default a 0. Niente, mysql traduce '' in 0 da solo. Per poter mettere null nella colonna l'update deve essere "= null".

Insomma MySQL è un dbms creativo mentre postgres no (e meno male! sulla base di cosa '' diventa 0?).
E' lo stesso problema del punto 4, servito con una salsa diversa.
Mentre punto 6 è lo stesso errore, '' in list_price e list_sale.

I trigger? A naso non servono, sono a valle, il controllo sui tipi avviene a monte.
Lo so che non ci si può mettere a fare truncate a tappeto tu tutti i valori. Ma per distinguere in casi in cui fare dei controlli da quelli in cui non servono possono tornare utili queste function del driver postgres:

pg_field_type()
pg_field_prtlen()
pg_field_name()
pg_field_type_oid()

8
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 16 Ott 2012, 00:01:22 »
Cosa intendi con "prendere il codice del CMS che genera questo errore e troncarla a 255". Codice del componente Joomla! o del tuo driver?
Il problema è che mysql è eccessivamente gentile (un dbms deve dare errore in questi casi, non lasciarmi l'illusione di aver salvato tutto), e chissà quanto codice inconsapevolmente bucato c'è in circolazione nel core o in componenti/moduli del jad che funzionano solo perchè mysql non si scompone e non da errore. Mettigli sotto postgres e comincerebbero a dare i numeri. Lo farebbero anche con Oracle, ci lavoro tutti i giorni e ti assicuro che se un valore non ci sta in una colonna, non salva niente e da errore.

I patcherei il driver, mettendo lì il codice per la truncate. Se ti va l'idea butto giù un po' di codice, poi vedi tu. Spulcio anche il resto della lista ... se riesco ad imboscarmi al lavoro o a resistere fino a tardi la sera  ::) .

A postgres ci tengo. MySQL, da quando mamma Oracle ci ha messo sopra il cappello, lo considero fuori dal mondo open.

Ciao

9
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 11 Ott 2012, 11:46:28 »
Si si, php, ho sbagliato a scrivere.

Per quanto riguarda l'errore 4, sono perplessa, in questo senso: secondo me joomla 3.0.1 con mysqli funziona per puro sbaglio  :o . Mi spiego meglio. Il tuo codice e quello del driver mysqli sono allineati.
Sia il tuo postgres.sql righe 674-679, sia il mysqli.php righe 531-535 buttano a video un messaggio con gli errori del dbms.

MySQLi non manda niente a video perchè il driver (o direttamente il db) troncano il valore a 255 caratteri così, per partito preso. In pratica mysql non da errore, postgres (secondo me giustamente) invece si.

Ho controllato la select che arriva a mysql con la mysqli_query, il campo titolo non viene ripulito prima dal codice con una substr per esempio, arriva al db una stringa oltre i 255 caratteri, e mysql ne salva solo i primi 255. Ho controllato, Mysql si composta così anche col vecchio driver, il mysql_query per intenderci.

10
Ciao.

Confermo: 1-2-3 are gone.
Sto testando con postgres 9.2, joomla 3.0.1 in inglese e error_reporting = E_ALL | E_STRICT.
Il 4 persiste. Cerco di ritagliarmi un po' di tempo e partire con XDebug.

11
Esperimenti e test / Re:Test Joomla su database PostgreSQL
« il: 11 Ott 2012, 09:25:10 »
Ho provato ora con Joomla! 3.0.1, l'installazione arriva correttamente fino in fondo.
Sto usando PostgreSQL 9.2.
L'unica difficoltà che ho dovuto affrontare è stata la modifica del driver, {JOOMLA_HOME}/libraries/joomla/database/driver/postgres.sql, alla riga 115:

$dsn = "host={$this->options['host']} port=5433 dbname={$this->options['database']} user={$this->options['user']} password={$this->options['password']}";

Il mio db non è in ascolto sulla porta standard, la 5432.

Buon PostJoom a tutti!

Mariella

12
Sviluppo / Componente non compare come "Menu ItemType"
« il: 11 Ago 2011, 15:24:12 »
Ciao a tutti.

Ho scritto un nuovo componente, lo sto sviluppando sotto Joomla 1.6.5 su un sistema Linux.
Il componente si installa correttamente, e riesco ad usarlo nel back-end perchè compare nel menù 'Components'.Purtroppo non riesco a pubblicarlo sul front-end perchè non compare nell'elenco dei 'Menu ITem Type' quando vado ad aggiungere la nuova voce di menù.

Ho scritto il solo file <nome_componente>.xml. Serve qualche altro file xml?
Intanto vi giro l'xml che ho scritto,magari manca qualche pezzo:

<?xml version="1.0" encoding="utf-8"?>
    <!-- $Id: modelli.xml 20196 2011-07-05 02:40:25Z  $ -->
<extension type="component" version="1.6.0" method="upgrade">
    <name>com_modelli</name>
    <creationDate>May 2011</creationDate>
    <author>xxxx</author>
    <authorEmail>xxxx</authorEmail>
    <authorUrl>xxxxx</authorUrl>
    <copyright>xxxxxxxxxxxxxx</copyright>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <version>1.6.0</version>>
    <description>COM_MODELLI_XML_DESCRIPTION</description>
    <files folder="site">
        <filename>index.html</filename>
        <filename>modelli.php</filename>   
    </files>
    <administration>
                <menu>Modelli</menu>
                <files folder="admin">
                        <filename>index.html</filename>
                        <filename>admin.modelli.php</filename>
                        <filename>admin.modelli.html.php</filename>
                        <filename>toolbar.modelli.html.php</filename>
                        <filename>toolbar.modelli.php</filename>
                        <folder>helpers</folder>
                       <folder>tables</folder>   
        </files>
    </administration>
</extension>

Grazie a tutti

13
Sviluppo / Re:formattazione campo di testo..come ???
« il: 12 Lug 2011, 19:41:00 »
Anche io sviluppo su una macchina Ubuntu. Eclipse è un programma java, lo metti dove vuoi.

14
Sviluppo / Re:formattazione campo di testo..come ???
« il: 12 Lug 2011, 15:39:01 »
Le variabili sono tante.

Prova innanzi tutto a capire se il dato finisce nel db senza la formattazione, oppure è formattato correttamente nel db e perde la formattazione in fase di visualizzazione.

Per la prima casistica usa phpmyadmin o qualsiasi altro tool per interrogare il db. Per la seconda ti consiglio di usare un debugger. Io uno eclipse, riesco a fare il debug di tutto Joomla, ormai non riuscirei a restare senza. Ti giro un link per la configurazione.

http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development#Configure_Eclipse

Ciaoo

15
Sviluppo / Re:Finestra modale per un componente
« il: 12 Lug 2011, 12:38:19 »
Preferirei passare dall'index.php di Joomla, per questioni di sicurezza, controllo degli accessi etc etc etc.

Quasi quasi sto pensando di usare javascript e i css per metterei a "display : none" i div di troppo, così da visualizzare solo quello centrale che mi serve. Oppure un template ad hoc che visualizzi solo il component?  ???

16
Sviluppo / Re:formattazione campo di testo..come ???
« il: 12 Lug 2011, 12:15:31 »
Prova ad usare il tag html "pre" in modo che circondi il testo nel momento in cui lo visualizzi.
pre preserva la formattazione del testo.


http://www.w3schools.com/tags/tag_pre.asp

17
Sviluppo / Re:Finestra modale per un componente
« il: 12 Lug 2011, 10:48:26 »
Scusa se rispondo con un mese di ritardo ma ho visto solo ora.

Grazie per il tuo codice, ci siamo quasi. Io ho bisogno di visualizzare all'interno del box il mio componente e solo quello. Senza i menù, le barre laterali di Joomla! etc etc. Più o meno come il bottone 'Options' nel 'Article Manager' del back-end.

18
Confermo. Era un problema di permessi. Una combinazione sbagliata tra l'utente linux sotto cui gira Apache e l'utente proprietario della root directory di Joomla su file system. Erano diversi.

Ora sono uguali e l'installazione va a buon fine fino in fondo. Il messaggio d'errore er aun po' fuorviante.

19
In ufficio ho xp con apache. non ho mai usato, ne uso, ne userò mai iis, introdurrei una variabile in-debuggabile.
Le versioni di apache, php, joomla e mysql tra il mio pc e il server centos sono allineate.
L'unica cosa diversa è il sistema oeprativo.

Il tuo problema potrebbe essere legato alle solite questioni sui permessi di scrittura. Il mio caso è diverso. Se fosse come dici tu significa che la classe JInstaller del file installer.php nella directory del core di joomla /libraries/joomla/installer digerisce bene il mio componente sotto windows, e sotto linux no, e la causa sarebbe nel modo in cui è scritto il mio componente .... l'installer non entra nel merito del codice php del componente, guarda i file xml di configurazione, controlla che ci siano tutti i pezzi, crea i record nel db e cose così.

20
OK va bene, dov'è il razionale? Perchè Linux non carica dei pezzi e Windows invece si? Non posso accettare questa cosa per partito preso.
Vuol dire che Joomla su windows funziona in un modo e Joomla su linux funziona in un altro, tra l'altro peggiore (tux perdono). Se è così c'è un problema di portabilità tremendo, significa che quando scrivo un componente devo tenere in considerazione il so del server? Non può essere, vorrebbe dire tornare indietro a C! I file php con cui è scritto joomla sono uguali per i due so, nel momento in cui mantengo uguale la versione del PHP il mio componente DEVE essere portabile da un sistema all'altro. Se no ragazzi è un casino.

E' per questo che secondo me il problema è nel dialogo tra il so e il php, nello strato in cui si trova l'apache per intenderci. Joomla sta dentro una sandbox e dovrebbe essere ignaro del so che sta fuori.

Bho, poi magari sbaglio. Farò delle prove su altre macchine ma mi rifiuto come sviluppatore di pensare che un mio componente su windows si installa e su linux no, a parità di versioni di joomla, php, apache e mysql, e che la colpa risieda nel modo in cui è scritto il componente.

Pagine: [1] 2
Host

Torna su