468x60

mercoledì 18 agosto 2010

Multitenancy

Multi-tenancy (multi-locazione) si riferisce a un principio di architettura del software in cui una singola istanza del software gira su un server, che serve più clienti (tenants, cioè inquilini). Il multi-tenancy è l'opposto di una architettura multi-istanza, dove separate istanze del software (o sistemi hardware) sono istituiti per diversi clienti. Con una architettura multi-tenant, un'applicazione software è progettata per partizionare virtualmente i dati e la configurazione così che ogni cliente lavora con un'istanza personalizzata delle applicazioni virtuali.

mercoledì 4 agosto 2010

Rimozione veloce (senza cestino) di cartelle in Windows

Per rimuovere velocemente (e senza spostare nel cestino) cartelle contenenti migliaia di files e sottocartelle, è possibile eseguire il seguente comando DOS dalla shell di Windows:

RMDIR [drive:]path /S /Q

/S Rimuove tutte le sottocartelle ed i files nella cartella specificata oltre alla stessa cartell
a. Usato per rimuovere un intero albero di directory.

/Q Quiet mode, non chiede conferma per rimuovere un albero di directory con /S.

Attenzione: l'eliminazione dei files sarà irreversibile, non saranno spostati nel cestino!

sabato 24 luglio 2010

iPad e connessione WiFi

Ho ricevuto in regalo un iPad, splendido gioiellino tecnologico made in Apple. Per poterlo utilizzare con il Wifi ho dovuto però modificare la configurazione del mio router wifi, cambiando la protezione da WPA2 a WPA. Adesso il collegamento Wifi funziona benissimo!

lunedì 21 giugno 2010

Icone quantità su carrello Virtuemart

Su Virtuemart, un'estensione per il CMS Joomla! concepito per gestire funzionalità di e-commerce, dovrebbero esserci "+" e " - " per aumentare le quantità di un prodotto da mettere in carrello. Per risolvere questo problema bisogna editare il file quantity_box_general.tpl, che si trova in /components/com_virtuemart/themes/default/templates/product_details/includes, e sostituirlo con questo codice:

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct
Access to '.basename(__FILE__).' is not allowed.' );

/** This template is used for the quantity box arrangement of products, within
the add-to-cart form */



extract( $quantity_options );



$html = '';

if(!$child && $display_type != 'hide') {

$html = '<label for="quantity'.$prod_id.'" class="quantity_box">'.$VM_LANG->_('PHPSHOP_CART_QUANTITY').':&nbsp;</label>';

}

switch($display_type) {

case "radio" : //Radio Box

$html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]"
value="'.$quantity.'" />';

$html .= '<input type="radio" class="quantitycheckbox" id="selItem'.$prod_id.'"
name="selItem" value="0" ';

if ($quantity > 0 ) {

$html .= 'checked="checked" ';

}

$html .= 'onclick="alterQuantity(this.form)" />';

break;

case "hide" : // Hide box - but set quantity to 1!

$html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]"
value="1" />';

break;

case "check" :

$html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]"
value="'.$quantity.'" style="vertical-align: middle;"/>

<input type="checkbox" class="quantitycheckbox" id ="selItem'.$id.'" name="check[]"
';

if ($quantity > 0 ) {

$html .= 'checked="checked"';

}

$html .= ' value="1" onclick="javascript: if(this.checked==true)
document.getElementById(\'quantity'.$prod_id.'\').value = 1; else {document.getElementById(\'quantity'.$prod_id.'\').value=0;}
"/> ';

break;

case "drop" :

$code = '<select class="inputboxquantity" id="quantity'.$prod_id.'" name="quantity[]">';

for($i=$quantity_start;$i<$quantity_end+1;$i += $quantity_step) {

$code .= ' <option value="'.$i.'"';

if ($i == $quantity) {

$code .= ' selected="selected"';

}

$code .= '>'.$i."</option>\n";

}

$code .= "</select>\n";

$html .= $code;

break;

case "none" :

default:

$html .= '<input type="text" class="inputboxquantity" size="4" id="quantity'.$prod_id.'"
name="quantity[]" value="'.$quantity.'" />

<input type="button" class="quantity_box_button quantity_box_button_up" onclick="var
qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty =
qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" value="+" />

<input type="button" class="quantity_box_button quantity_box_button_down"
onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty
= qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value--;return false;"
value="-" />

';

break;

}

echo $html;

?>

Generatore di Sitemaps online

Xml-sitemaps.com è un generatore di Sitemaps online, utilissimo per generare online la tua Google Sitemap.

Una sitemap è una pagina Web che elenca gerarchicamente tutte le pagine di un sito Web. Nata per facilitare la navigazione dell’utente all’interno del sito, ha poi avuto una notevole importanza nell’attività di scansione della Rete da parte dei crawler dei motori di ricerca. Così come la semplice sitemap anche la Sitemap XML è una lista di link. Introdotta da Google con il servizio Google Sitemaps, e poi utilizzata anche da Yahoo! e MSN, permette ai webmaster di menzionare all’interno di un file XML, e non solo, tutti gli URL delle pagine di un determinato sito Web che si desidera sottoporre al motore di ricerca. In questo modo anche i siti dinamici possono fornire URL corretti permettendo una indicizzazione più intelligente. Il protocollo è regolamentato dalla Attribution-ShareAlike Creative Commons License che ne ha reso possibile l’uso anche ad altri motori di ricerca.

venerdì 18 giugno 2010

Visualizzare l'Imponibile in Virtuemart

Vediamo come impostare Virtuemart, il notissimo sistema di commercio elettronico per il CMS Joomla, in modo da permettere la visualizzazione dell'imponibile e dell'iva separati.


Dopo parecchie ricerche ho scoperto che non è necessario modificare il codice per visualizzare Subtotale, poi Totale Iva, ed infine il Totale.

Sono necessari tre passi:

- Nella Configurazione globale ho selezionato Modalità d'imposta "in base all'indirizzo del commerciante"

- In Clienti (-default- shopper) ho deselezionato "Mostra Prezzi IVA inclusa"

- Nei Prodotti ho selezionato 2 come "Aliquota IVA" (la tassa che ho impostato per l'indirizzo del commerciante).

Adesso vengono visualizzati Subtotale, poi Totale Iva, ed infine il Totale!

venerdì 4 giugno 2010

Calcolare la Massima lunghezza di un campo con MySQL

Per calcolare la lunghezza massima di un campo con MySQL basta eseguire questa query
SELECT MAX(LENGTH(campo)) FROM tabella
468x60

Cerca su Google

Cerca nel Blog con Google