Tag Archives: mysql

Installare TYPO3 4.5.19 su php 5.2 ecco come fare

Bisogna semplicemente modificare 7 file di TYPO3, altrimenti durante l’installazione, non rileva il db correttamente.

la procedura è simile a quella della versione 4.5.17 e .18 che trovi qui:

http://davdenic.com/upgrade-typo3-4-5-17-su-php-5-2-con-messaggio-e_deprecated/

consiste nel modificare su questi 7 file

  • index.php
  • typo3/init.php
  • typo3/install/index.php
  • typo3/sysext/rtehtmlarea/mod4/select_image.php
  • typo3/sysext/rtehtmlarea/mod5/user.php
  • typo3/sysext/rtehtmlarea/mod6/parse_html.php
  • typo3/thumbs.php

sostituendo

error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

con


if (defined('E_DEPRECATED')) {
 error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));
} else {
 error_reporting(E_ALL ^ E_NOTICE);
}

Caricare i file modificati e procedere l’installazione come al solito.

Modifica massiva delle opzioni flexform dei plugin di TYPO3 con SQL Replace

A volte è necessario modificare alcune opzioni dei plugin di TYPO3 disposti su centinaia di pagine.

TYPO3 plugin flexform example

Ecco come fare per agire contemporaneamente su alcune centinaia di record con una Query SQL.

Prima di tutto è necessario trovare un contenuto di tipo plugin dentro le pagine, uno di quelli da modificare, segnatevi l’id, servirà dopo.

Installare phpmyadmin o un altro strumento per accedere al db

La tabella interessata è la tt_content, Il campo è pi_flexform, che contiene tutte le configurazioni in formato XML, poiché molti plugin usano il campo pi_flexform per le configurazioni è possibile raffinare la select con il campo list_type.

Eseguire una SELECT per identificare il contenuto al punto uno:

SELECT * FROM `tt_content` WHERE `uid` = <strong>590</strong>

Modificare il risultato in phpmyadmin e trovate nel campo pi_flexform il valore che vi interessa, ad esempio:

<field index="accordionClosed">
                    <value index="vDEF">0</value>
                </field>

Che per esempio sarà da cambiare in

<field index="accordionClosed">
                    <value index="vDEF">1</value>
                </field>

Ora è necessario scrivere la query per l’update, un buon consiglio è scrivere prima una select, in quanto con i vari a capo, spazi e tab non è detto che funzioni al primo colpo.

SELECT * FROM `tt_content` WHERE `pi_flexform` LIKE '%<field index="accordionClosed">
                    <value index="vDEF">0</value>
                </field>%'

Se la query SELECT ha trovato i risultati attesi si può procedere con la UPDATE, altrimenti è necessario controllare i tab, spazi e a capo della condizione WHERE.

Nel mio esempio ho tolto l’ultima riga perché falliva:

SELECT * FROM `tt_content` WHERE `pi_flexform` LIKE '%<field index="accordionClosed">
                    <value index="vDEF">0</value>%'

e ho aggiunto la condizione sul campo list_type per ottimizzare la select

SELECT * FROM `tt_content` WHERE `pi_flexform` LIKE '%<field index="accordionClosed">
                    <value index="vDEF">0</value>%'
AND `list_type` LIKE 'jfmulticontent_pi1'

Ed ecco l’UPDATE con REPLACE

UPDATE `tt_content` SET `pi_flexform` = REPLACE(`pi_flexform`, '
                    <field index="accordionClosed">
                    <value index="vDEF">0</value>
                </field>', '<field index="accordionClosed">
                    <value index="vDEF">1</value>
                </field>') WHERE `list_type` LIKE 'jfmulticontent_pi1'

CRM opensource a confronto Vtiger e SugarCRM

Ho recentemente confrontato due CRM opensource famosi annotandone pro e contro.

– Vtiger 5.3.0
– SugarCRM CE 6.4.0

Vtiger appena installato ha già tutti i moduli che servono in un CRM e anche di più segnalo ad esempio tra quelli extra:
– project manager
– preventivi
– fatture
– un valido sistema gerarchico di profili e ruoli ottimo per configurare utenti con differenti permessi. Purtroppo proprio questo ha alcune lacune in quanto non è possibile rendere privati alcuni campi a scelta come il cellulare dell’amm. delegato o la sua email personale.

SugarCRM ha un’interfaccia più comoda ma i moduli a disposizione sono di meno rispetto Vtiger. Sembra quasi che voglia fare meno ma meglio anche a costo di dover affidare le funzioni che mancano ad altri software o moduli aggiuntivi.

In entrambi è possibile installare moduli extra ma non è facile districarsi tra quelli a disposizione considerando che spesso sono piuttosto datati o riferiti a precedenti versioni del CRM. Capita di trovare l’estensione giusta per lo scopo desiderato ma ormai non più aggiornata.

Entrambi offrono il meglio nelle versioni a pagamento (quella di Vtiger si chiama VTE ed è realizzata dall’italiana CRMVillage).

Per entrambi esistono plugin per outlook, thunderbird, Office e openoffice.

Sull’app store ci sono le app per iOS sia gratuite che a pagamento.

In conclusione il CRM è uno strumento che deve essere personalizzato a seconda delle esigenze, molte personalizzazioni si possono fare direttamente con l’account di Admin ma per altre occorre uno sviluppo ad hoc. Per fortuna è semplice incontrare sviluppatori nella community.