Nota Software su Windows 7

Ciao a tutti, poichè alcuni utenti hanno riscontrato problemi nell'avviare il software su windows 7, via allego un file bat ( zippato ) al seguente indirizzo: http://forum.javahelp.it/index.php?topic=110.0 che dovrebbe facilitarvi il compito.

E' sufficiente modificarlo cambiando la NOTA_HOME ( di default è stata settata come: C:\Program Files (x86)\Nota ) e poi avviarlo come amministratore ( Run As Administrator ).

Il software risponderà all'indirizzo: http://localhost:8090/MagnusRAD

Ciao!

Tutorial 2: Come creare una nuova entità base – Detail Form e Detail List

Il tutorial è applicabile alle versioni di NotaSoftware maggiori o uguali alla 0.3

Di seguito è indicata la configurazione delle nuove funzionalità di dettaglio del Form e del List.

La modalità di realizzazione di tali funzionalità su Nota si basa sul popolamento delle seguenti tabelle "di sistema":

_forms_details
_form_columns_details

_lists_details
_list_columns_details
 
Gli step da seguire sono quelli a seguire ( tutte le operazioni possono essere eseguite in maniera visuale mediante un qualsiasi tool per mysql ).
 
Per la creazione di un DETAIL FORM con funzioni di visualizzazione/inserimento/modifica:
 
1) Realizzazione della tabella fisica "dettaglio_documenti" nel proprio db ( è la tabella dove risiederanno i dati )
 
Allego script sql per la creazione di una semplice tabella:
 
CREATE TABLE `dettaglio_documenti` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `id_documento` INT(11) NOT NULL DEFAULT '0',
    `qta` INT(11) NOT NULL DEFAULT '0',
    `prezzo_unitario` FLOAT(10,2) NOT NULL DEFAULT '0.00',
    `id_articolo` INT(11) UNSIGNED NULL DEFAULT '0',
    `totale` FLOAT(10,2) NULL DEFAULT NULL,
    `totale_iva` FLOAT(10,2) NULL DEFAULT NULL,
    `totale_iva_esclusa` FLOAT(10,2) NULL DEFAULT NULL,
    `id_codice_iva` INT(11) NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
 
2) Configurazione di un record nella tabella _forms_details del proprio db:
 
La tabella _forms_details è composta dai seguenti campi:
 
id_form ( rappresenta l'id del form padre – tabella _forms )
name ( rappresenta il nome del detail form da creare. Il nome deve avere lo stesso nome indicato nel file jsp )
table ( rappresenta il nome della tabella fisica su cui si appoggia il detail form )
foreign_table ( rappresenta il nome della tabella fisica su cui si appoggia la form padre)
primary_key ( rappresenta la chiave della tabella fisica su cui si appoggia la form padre )
foreign_key ( rappresenta la chiave della tabella fisica su cui si appoggia il detail form )
auto_format_string ( è un flag Y/N che indica se le label del detail form devono essere formattate automaticamente )
detail_label ( rappresenta il nome della label del pulsante che porta alla form di dettaglio )
detail_form_pre_save ( rappresenta il metodo javascript da invocare prima del salvataggio )
detail_form_post_save ( rappresenta il metodo javascript da invocare dopo del salvataggio )
 
Allego script sql:
 
INSERT INTO `_forms_details` (`id`, `id_form`, `name`, `table`, `foreign_table`, `primary_key`, `foreign_key`, `auto_format_string`, `detail_label`, `detail_form_pre_save`, `detail_form_post_save`) VALUES (1, 1, 'documenti/dettaglio_documenti', 'dettaglio_documenti', 'documenti', 'id', 'id_documento', 'Y', 'Visualizza Dettaglio', NULL, 'viewForm()')
 
3) Configurazione di un record per ogni campo ( ad eccezione della primary_key ) da mappare nella tabella _form_columns_details del proprio db:
 
id_form_detail ( id della form detail a cui il record fa riferimento )
name ( nome descrittivo del campo che stiamo inserendo )
id_field_type ( il tipo che si vuole associare al campo )
field ( nome del campo fisico )
foreign_table ( nome tabella fisica esterna se il campo è in join )
foreign_key ( chiave delle tabella fisica in join se il campo è in join )
foreign_description ( valore da recuperare dalla tabella in join per il campo in join )
label ( valore a video per il campo )
read_only ( flag Y/N che identifica se il campo è di sola lettura )
sequence ( numero di sequenza a video per il campo )
foreign_long_description ( valore da recuperare dalla tabella in join per il campo in join )
foreign_sub_table ( nome tabella fisica esterna se il campo è un sub value)
foreign_sub_key ( chiave delle tabella fisica se il campo è un sub value )
sub_more_info ( info aggiungive per un campo di tipo sub value )
foreign_long_key ( chiave verso il valore di default dei campi di tipo long combo box )
foreign_long_default ( valore di default dei campi di tipo long combo box )
 
Allego script sql:
 
INSERT INTO `_form_columns_details` (`id`, `id_form_detail`, `name`, `id_field_type`, `field`, `foreign_table`, `foreign_key`, `foreign_description`, `foreign_code`, `label`, `read_only`, `sequence`, `foreign_long_description`, `foreign_sub_table`, `foreign_sub_key`, `sub_more_info`, `foreign_long_key`, `foreign_long_default`) VALUES
(1, 1, 'id_articolo', 3, 'id_articolo', 'articoli', 'id', 'descrizione', NULL, 'ARTICOLO', '', 1, 'descrizione', 'articoli', 'id', '', '2', '- Nessun Articolo -')
INSERT INTO `_form_columns_details` (`id`, `id_form_detail`, `name`, `id_field_type`, `field`, `foreign_table`, `foreign_key`, `foreign_description`, `foreign_code`, `label`, `read_only`, `sequence`, `foreign_long_description`, `foreign_sub_table`, `foreign_sub_key`, `sub_more_info`, `foreign_long_key`, `foreign_long_default`) VALUES
(2, 1, 'descrizione_articolo', 1, 'descrizione_articolo', '', NULL, NULL, NULL, NULL, '', 2, NULL, NULL, NULL, NULL, NULL, NULL);
 
 
Per la creazione di un DETAIL LIST con funzioni di visualizzazione/ricerca:
 
1) Configurazione di un record nella tabella _lists_details del proprio db:
 
La tabella _lists_details è composta dai seguenti campi:
 
id_list ( rappresenta l'id del list padre – tabella _lists )
name ( rappresenta il nome del list detail da creare. Il nome deve avere lo stesso nome indicato nel file jsp )
table ( rappresenta il nome della tabella fisica su cui si appoggia il detail form)
foreign_table ( rappresenta il nome della tabella fisica su cui si appoggia il list padre)
primary_key ( rappresenta la chiave della tabella fisica su cui si appoggia il list padre )
foreign_key ( rappresenta la chiave della tabella fisica su cui si appoggia il detail list )
auto_format_string ( è un flag Y/N che indica se le label del detail list devono essere formattate automaticamente )
paginate ( rappresenta il numero di record visualizzati per pagina )
options ( rappresenta le opzioni attive per la lista: e = edit; d = delete; s = search )
 
Allego script sql:
 
INSERT INTO `_lists_details` (`id`, `id_list`, `name`, `table`, `foreign_table`, `primary_key`, `foreign_key`, `paginate`, `options`, `auto_format_string`) VALUES
(1, 1, 'documenti/dettaglio_documenti', 'dettaglio_documenti', 'documenti', 'id', 'id_documento', 30, 'e/d/s', 'Y')

 
2)  Configurazione di un record per ogni campo ( ad eccezione della primary_key ) da mappare nella tabella _list_columns_details del proprio db:
 
La tabella _list_columns_details è composta dai seguenti campi:
 
id_list_detail  ( id del list detail a cui il record fa riferimento )
name ( nome descrittivo del campo che stiamo inserendo )
id_field_type ( il tipo che si vuole associare al campo )
field ( nome del campo fisico )
foreign_table ( nome tabella fisica esterna se il campo è in join )
foreign_key ( chiave delle tabella fisica in join se il campo è in join )
foreign_description ( valore da recuperare dalla tabella in join per il campo in join )
label ( valore a video per il campo )
search ( flag Y/N che indica se sul campo è possibile eseguire ricerche )
sequence ( numero di sequenza a video per il campo )
 
Allego script sql:
 
INSERT INTO `_list_columns_details` (`id`, `id_list_detail`, `name`, `id_field_type`, `field`, `foreign_table`, `foreign_key`, `foreign_description`, `label`, `read_only`, `search`, `sequence`) VALUES
(1, 1, 'descrizione_articolo', 1, 'descrizione_articolo', '', NULL, NULL, 'Articolo', '', '', 1)

INSERT INTO `_list_columns_details` (`id`, `id_list_detail`, `name`, `id_field_type`, `field`, `foreign_table`, `foreign_key`, `foreign_description`, `label`, `read_only`, `search`, `sequence`) VALUES
(2, 1, 'prezzo_unitario', 1, 'prezzo_unitario', '', NULL, NULL, 'Prezo Unitario', '', '', 2)
 
In uno dei seguenti tutorial affronteremo nel dettaglio la creazione di dettagli multipli.

Le visite aumentano

Ciao a tutti,
volevo solo rendervi partecipi del grande successo di visite relativo al primo giorno di rilascio del software V 0.3

In sola mezza giornata il sito ha totalizzato 413 visitatori unici ( quindi migliaia di pagine viste ) che sommati ai 562 visitatori unici del blog collegato ha portato alla considerevole cifra di 975 visitatori unici totali. Ripeto: in sola mezza giornata.

Niente male.

Ma è solo l'inizio.

Grazie mille,
Magnus.

Correzione dei bug segnalati

Ciao ragazzi,
in base alle segnalazioni riportate sul forum ho già provveduto a ricaricare il software con le correzioni richieste.
Chiunque abbia riscontrato anomalie nel software può consultare la sezione appropriata del forum ( Segnalazione Bug ) e nel caso in cui il suo problema non sia segnalato può comunicarlo in modo tale che il bug possa essere risolto nel più breve tempo possibile.

Consiglio di seguire la sezione dei rilasci per essere informati in tempo reali sulle nuove versioni del software.

Grazie mille a tutti.

Magnus

NotaSoftware V 0.3 ( setup per windows ) Rilasciato!

Ciao ragazzi,
a sorpresa nella stessa giornata di oggi sono stati soddisfatti anche i più pigri!

Il file di setup per windows è stato già prontamente caricato nell'area downloads del sito.

Ora NotaSoftware v 0.3 è installabile con pochi click sul vosto pc ( solo Windows ).

Non avete più scusanti. Questa volta non potete esimervi dal testarlo ed utilizzarlo.

Vi aspetto numerosi sul forum.

Non mancate di segnalare anomalie, bug o quant'altro.

Nota cresce anche grazie a voi.


Ciao,
Magnus

NotaSoftware V 0.3 ( TBIM ) Rilasciato!

Ciao a tutti,
l'ultima versione del software è stata appena rilasciata nell'area downloads.

Al momento la sola versione disponibile è la TBIM ( quella da installare a mano ), ma a brevissimo sarà anche rilasciato il setup per windows.

Il vantaggio della TBIM è comunque quello che è possibile installarla pressocchè su tutti i più diffusi sistemi operativi ( Windows, Linux, MAC ).

Non esitate a utilizzare il forum nel caso in cui incontriate problemi nel suo utilizzo o semplicemente vogliate customizzare il software secondo le vostre esigenze.

Ciao,
Magnus

NotaSoftware anche sui Tablet e sui cellulari

Ciao a tutti,
vi comunico che al momento il software è in grado di girare tranquillamente anche sui più diffusi tablet ( se non tutti ) in modo pressocchè nativo ( testato sul mio Iconia Tab A500, su iPad ed altri tablet minori ).

In realtà Nota funziona anche sui cellulari di nuova generazione ( testato sul mio Galaxy S II e sul mio iPhone ), semplicemente su quest'ultimi il suo utilizzo potrebbe risultare un tantino pò più scomodo.
A pro di ciò nelle prossime versioni sarà inclusa una versione Mobile, più adatta a tali terminali.

Credo che le potenzialità offerte da tale software in versione mobile possano risultare insostituibili per liberi professionisti, agenti ed aziende.

Ciao!
Magnus.

Avviata la fase di debug del software ( V 0.3 )

Ciao Ragazzi,
vi comunico ufficialmente che è partita la fase di debug del software ( versione 0.3 ).

Il link alla demo online è il seguente: http://users.notasoftware.com

Terminata tale fase ( che durerà una settimana ) il software verrà rilasciato e la demo online diventerà ufficiale ( a pro di ciò saranno forniti a tutti i dati per utilizzarla ).

Al momento la demo è abilitata ai soli tester che gentilmente sul forum si sono proposti.

A presto!
Magnus

Nota si rinnova anche nello stile

Ciao ragazzi,
sono lieto di comunicarvi che il software oltre a rinnovarsi nell'architettura presto si rinnoverà anche nello stile.

Per adesso sono in preparazione il logo ed il nuovo template. Il restyling però non sarà incluso nella nuova release 0.3 ma piuttosto nella 0.4.

Cercherò di tenervi aggiornati anche su questo. Una nuova veste grafica non può che giovare all'usabilità ed al piacere di utilizzare un software che spero cresca sempre di più. E sempre più velocemente.

Inizia il conto alla rovescia

Ragazzi ci siamo quasi: la versione 0.3 di NotaSoftware sta per essere rilasciata ufficialmente. Data di rilascio: 23/01/2012.

Ma cosa porta con se? Premetto immediatamente che sostanzialmente le funzionalità offerte sono rimaste essenzialmente le stesse ( fatta eccezione per dei nuovi oggetti che è possibile utilizzare nell'implementazione delle proprie personalizzazioni ), ma è il core ( il cuore pulsante del software ) che è variato moltissimo.

L'idea è stata quella di non offrire più un "semplice" software gestionale, quanto piuttosto di fornire all'utente finale una strumento versatile, malleabile e modificabile secondo le proprie esigenze.

Il vostro software cambia dinamicamente a seconda delle esigenze.

Mediante il nuovo "Nota" infatti sarà molto più semplice personalizzare le proprie anagrafiche, la creazione di entità ( anche master/detail e master/multi_detail! ), la customizzazione dei menu, l'implementazione di funzioni custom, la creazione di report e tanto altro.

Quasi sempre tali operazioni risulteranno del tutto banali e non richiederanno nessuna compilazione ulteriore del software. Anzi saranno eseguibili real-time nello spazio di un secondo.

Ovvio che le modalità di modifica al software dovranno essere studiate e conosciute ( a pro di ciò è disponibile il forum e continuerò a pubblicare tutorial e guide ). Ma saranno davvero accessibili anche ai meno esperti. Basterà infatti variare semplici parametri nel db legato alla propria azienda per vedere il proprio software cambiare forma ed aspetto sotto i propri occhi.

Per Lunedi 16/01/2012 conto di fornire online una prima demo finalizzata al debug prima del rilascio. Se qualcuno ha interesse a partecipare a questa fase come tester non ha che da chiederlo nel forum dedicato.

Stay tuned!
Magnus.