sabato 24 marzo 2012

ho roottato sul mio asus eee pad

seguendo la guida: http://www.androidauthority.com/how-to-root-the-asus-eee-pad-transformer-using-nachoroot-46407/

- adesso con linux installer vediamo se posso usare jboss forge per programmare dal tablet...
visto che eclipse non si può avere ci accontentiamo di una shell!
...esperimenti in movimento...

martedì 13 marzo 2012

openshift: gestire + di un account sullo stesso pc

Immaginate di avere più computer con cui gestire openshift oppure immaginate di voler condividere lo sviluppo di un applicazione con un vs collega.
Come fate ad accedere dal II pc o dal pc del vs collega?

Strada semplice:


1) generate sul II pc o sul pc del vs collega una nuova chiave ssh:
ssh-keygen -trsa

2) aggiungiamola sul server openshift:
rhc sshkey add -i aliasDellaNuovaChiave -k /percorso/su/file/system/.ssh/id_rsa.pub -l account@gmail.com

3) per aggiungere l'host di openshift tra quelli in trust sul nostro pc:
prima eseguiamo:
rhc-domain-info -l account@gmail.com
prendiamo la stringa ssh://utente@hostname e proviamo a fare una connessione ssh
ssh xxxxxxxxxxxxxxxxxxxxxxdee2a911d@app-domain.rhcloud.com

Il gioco è fatto!!
Adesso possiamo scaricare il ns progetto usando:

git clone ssh://xxxxxxxxxxxxxxxxxxxxxxdee2a911d@app-domain.rhcloud.com/~/git/app.git/


BUON DIVERTIMENTO

giovedì 1 marzo 2012

openshift: usare scp per scaricare dati

Non credevo fosse possibile..ma in realta' se e' possibile collegarsi via ssh, perche' non fare copie remote via scp??

Leggendo nei forum, si suggeriva:

scp UUID@AppName-NameSpace.rhcloud
.com:~/AppName/logs/* 
A cosa puo' servire?
semplice..fare backup su altri server...
per scaricare l'intera configurazione?
..backup for me!!

domenica 12 febbraio 2012

jsf2: stringhe vuote convertite in zero.. automaticamente

Nelle ultime versioni di jsf c'è una nuova future voluta (che non mi piace affatto!!) che consente di gestire la conversione automatica tra valori vuoti e 0..
faccio un esempio: quando avete un array di select items capita di spesso di inserire un valore vuoto con label "seleziona" - il valore vuoto serve per non far scattare il filtro nel meccanismo di ricerca.
Se invece il vuoto viene convertito in 0, a quel punto il meccanismo di ricerca lo utilizza...


per ulteriori informazioni a riguardo:


Una possibile soluzione in jboss è di aggiungere nel file jboss7/bin/standalone.conf  questo parametro:
-Dorg.apache.el.parser.COERCE_TO_ZERO=false

Nel file web.xml aggiungete invece:
<context-param>
        <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
        <param-value>true</param-value>
</context-param>


funziona...peccato che su openshift non si possano aggiungere variabili d'ambiente custom!!!

openshift: OPENSHIFT_DATA_DIR come usarlo per file RESISTENTI AI PUSH

Indagare meglio su come usare il nostro spazio:
"For persistent data (also in env var OPENSHIFT_DATA_DIR)"


Ho provato ad usarlo, creando un link simbolico tra:
ln -s ~/appname/data ~/appname/jbossas-7.0/standalone/deployments/ROOT.war/data




MA NON FUNZIA!!




link utile:
https://www.redhat.com/openshift/community/forums/express/few-questions-to-learn-more-about-express

openshift: aggiungere alias

Se registrate un dominio per pochi euro (dominio+dns+posta = 10/20 euro).
Create presso il vs DNS una CNAME del tipo: test.dominio.it. [NOTATE IL PUNTO!] 

che ridirge verso 

appname-domainname.rhcloud.com

Comunicate ad openshift questo CNAME, tramite il comando rhc-ctl-app:
rhc-ctl-app -a appname -c add-alias --alias appname.domainname.it -l account@gmail.com

E voilà la vs applicazione è raggiungibile a tutto il mondo!

ricordatevi ogni tanto di verificare che il jboss sia ancora attivo (openshift è ancora in beta...ogni tanto va tutto giù senza preavviso)!!!!


openshift: usiamo il cron per riavviare jboss di notte!

Date le poche risorse a disposizione, potrebbe essere utile riavviare jboss tutte le notti alle 3:00 (..si lo so che una buon applicazione non ne dovrebbe aver bisogno...):

  1) abilitiamo il cron alla ns applicazione
rhc-ctl-app -a giavacms -e add-cron-1.4

  2) creaiamo cartelle e script per usare i cron su openshift
mkdir -p .openshift/cron/hourly

 3) creiamo il ns file di restart di jboss 
touch .openshift/cron/hourly/restart_jboss.sh

4) aggiungiamo il seguente contenuto al suo interno

#!/bin/bash
echo "--------------------------------------------" >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
date >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
NOW=$(date +"%H")
echo $NOW >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
echo 'resto' $RESTO '- cnfr' $CNFR >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
if [ "$NOW" -eq "03"\ ];then
        $OPENSHIFT_APP_CTL_SCRIPT restart;
        echo "restart jboss now:" >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
else
        echo "no restart jboss now!!" >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
fi
date >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log
echo "--------------------------------------------" >> $OPENSHIFT_REPO_DIR/cron_jboss/cron.log


5) creiamo una cartella in cui archiviare il log di restart:
mkdir cron_jboss
touch cron_jboss//cron.log

6) committiamo tutti i files su openshift
git add .openshift/*
git add cron_jboss/*
git commit -m"start with cron" .openshift/*
git commit -m"start with cron" cron_jboss/*
git push



7) link utili
https://www.redhat.com/openshift/community/forums/express/restart-jboss-with-cron
http://docs.redhat.com/docs/en-US/OpenShift_Express/2.0/html/User_Guide/sect-User_Guide-Scheduling_Timed_Jobs_with_Cron.html