468x60

lunedì 18 febbraio 2013

App icon per iOS con Vaadin

Su iOS le app sono contraddistinte da una icona. Per assegnare questo tipo di icona alle web app sviluppate con Vaadin bisogna estendere la classe ApplicationServlet, aggiungere una immagine apple-touch-icon.png sulla root del tema (ad esempio /MyApplication/VAADIN/themes/myTheme/apple-touch-icon.png), e modificare in modo opportuno il file web.xml, vediamo come:

// MyApplicationServlet.java

import java.io.BufferedWriter;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import com.vaadin.terminal.gwt.server.ApplicationServlet;

public class MyApplicationServlet extends ApplicationServlet {

private static final long serialVersionUID = -7902572181303682675L;

protected void writeAjaxPageHtmlHeader(final BufferedWriter page, String title, String themeUri, final HttpServletRequest request) throws IOException {
        page.append("");
    }
}

// web.xml
sostituire servlet-class con:
com.mypackage.myapplication.MyApplicationServlet

lunedì 4 febbraio 2013

Filtri e OrderBy per TableQuery in Vaadin

Vediamo come aggiungere Filtri ed OrderBy per TableQuery in Vaadin:
TableQuery q = new TableQuery("mytable", connectionPool);myContainer = new SQLContainer(q);myContainer.addContainerFilter(new Greater("myfield", 0));myContainer.addOrderBy(new OrderBy("myfield", true));

Guest Checkout su Prestashop

Su Prestashop 1.5 è possibile abilitare gli acquisti senza registrazione configurandolo nel modo corretto, basta semplicemente andare sul menu Preferenze->Ordini ed abilitare "Attiva l'ordine express (checkout ospite)"

venerdì 21 dicembre 2012

Problema reload embedded PDF in Vaadin

In Vaadin per visualizzare i PDF che ho generato ho utilizzato il componente Embedded, ma ho riscontrato un problema: il pdf non viene ricaricato dal browser se non viene generato con un nome diverso, a causa del caching. Per risolvere questo problema ho aggiunto un timestamp al nome del file generato.
String outputFile = path + File.separatorChar + nomeFile + timestamp + ".pdf";
File pdfFile = new File(outputFile);
Embedded e = new Embedded(null, new FileResource(pdfFile, getInstance()));
e.setMimeType("application/pdf");
e.setType(Embedded.TYPE_BROWSER);
e.setSizeFull();
VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
layout.addComponent(e);
printWindow.setContent(layout);
mainWindow.addWindow(printWindow);

lunedì 15 ottobre 2012

FancyBox auto close

Vediamo come fare per chiudere automaticamente un FancyBox dopo un tempo determinato:
$(document).ready(function() {
 $(".fancybox").fancybox({
  width: 640, // o altro
  height: 320,
  afterLoad: function(){
   setTimeout( function() {$.fancybox.close(); },3000); // 3000 = 3 secondi
  }
 });
});

venerdì 5 ottobre 2012

File batch per comprimere più files in diversi archivi

Vediamo come scrivere un file batch Windows per comprimere con 7zip più files in diversi archivi zippati, in modo che ogni file venga zippato nel suo archivio. Alla fine avremo nomefile1.zip nomefile2.zip ecc...
@ECHO OFF
CD "C:\Documents and Settings\user\Desktop\t"
FOR %%A IN (*) DO "C:\Programmi\7-Zip\7z.exe" a -tzip -mx9 -mm=LZMA "%%A.zip" "%%A"

lunedì 1 ottobre 2012

MySQL binlog size

Dovendo lavorare con la replicazione in MySQL ho dovuto abilitare i binlog, ma questo ha portato dopo alcuni mesi alla saturazione dello spazio su disco. Il motivo? Non c'era alcun limite all'archiviazione dei binlog. Per risolvere il problema basta aggiungere questo comando nel file di configurazione di MySQL:
expire_logs_days = X
Dove X è il numero di giorni da tenere
468x60

Cerca su Google

Cerca nel Blog con Google