9
Oct

La più bella grafica vettoriale gratis! Una raccolta di risorse completamente gratuite:

Un blog sul web design offre un bel pò di cose da scaricare tra cui anche immagini vettoriali: http://www.garcya.us/blog/free-vector-graphics/.

Un sito che raccoglie il meglio della grafica vettoriale: http://www.vecteezy.com/.

Qui si trovano icone, bottoni e header stile web 2.0: http://tutorialblog.org/free-vector-downloads/.

Altra raccolta di bottoni ed elementi per il web 2.0: http://www.freevectors.com/.

Anche questo studio di web design mette a disposizione alcune icone: http://www.ndesign-studio.com/resources/vector-cliparts/

Altro sito ricco di risorse: http://www.freevectors.net/index.php?page=11

Grazie al suggerimento di Saverio segnaliamo anche http://www.ideem.it, sito nuovissimo che propone grafica vettoriale free e a pagamento. Promette di mantenere un rapporto 1 a 3 tra le categorie, perciò da visitare spesso!

150 loghi gratis: http://www.bestcompanylogo.com/freelogos.php

77 Bottoni in stile web 2 : http://www.gosquared.com/liquidicity/archives/96

Per ora mi sembra sia tutto. Come sempre gradito il contributo di tutti per integrare e tenere aggiornato il post. Grazie.

7
Oct

———————————————————–

….Leggi la prima parte di questo articolo qui.

———————————————————–

La pagina che elenca le ricette ha sicuramente bisogno di miglioramenti grafici , perciò apriamo recipe_controller.rb e aggiungiamo un nuovo metodo list in questo modo:

Def List

All’ indirizzo http://127.0.0.1:3000/recipe/list otterremo:

Template Missing

Manca infatti la classe list che abbiamo appena creato ma non ancora definito!
Quando abbiamo creato il nostro controller per ricetta, lo script che lo ha generato, ha creato anche una cartella view dove possiamo trovare il template html che il controller visualizza.
Dobbiamo creare un template html nella cartella C:\ruby\ricettario\app\views\recipe , contenuto in un file list.rhtml. Sarà una pagina con l’ html integrato da ruby. Le integrazioni di Ruby saranno contenute tra i tag <%  %> e <%=  %> e il codice di list.rhtml sarà:

<html>

<head>

<title>Tutte le ricette</title>

</head>

<body>

<h1>Ricettario on line – Tutte le ricette</h1>

<table border=”1″><tr><td width=”80%”>

<p align=”center”><i><b>Ricetta</b></i></td><td width=”20%”>

<p align=”center”><i><b>Data</b></i></td></tr><% @recipes.each do |recipe| %>%; <tr><td><%= link_to recipe.titolo, :action => “show”, :id => recipe.id %></td>t;<td><%= recipe.data %></td></tr><% end %></table><p><%= link_to “Crea una nuova ricetta”, :action => “new” %></p>

</body>

</html>

Modifichiamo il file recipe_controller.rb aggiungendo una singola linea di codice:

Controller

Il risultato:

ricettario.jpg

Digitando nel browser http://127.0.0.1:3000/recipe/list Rails invoca il metodo list di recipe. Nella definizione del nuovo metodo list:
  def list
    @recipes = Recipe.find_all
  end

Compare una sola linea di codice che chiede alla classe Recipe di elencare tutte le recipe presenti nel database assegnandole alla variabile @recipes
In questo modo Rails cerca un template per eseguire le richieste del browser. Il nostro template è pr la maggior parte in Html. Tutto ciò che fa Ruby è tra i tag:
<% @recipes.each do |recipe| %>
  <tr>
   <td><%= link_to recipe.titolo, :action => “show”, :id => recipe.id %></td>
   <td><%= recipe.data %></td>
  </tr>
 <% end %>

Questo codice interagisce con tutte le ricette trovate dal controller. Titolo, id e data sono i campi della tabella recipe creata nel database ricettario.
Aggiungiamo al database un’ altra tabella categories, con due campi: id e nome.
Abbiamo bisogno di creare un controller e un modello per la categoria:

ruby script\generate controller Category
ruby script\generate model Category

comandi da eseguire sempre nella cartella ricettario.
Aggiungiamo poi scaffold al controller di Category:

category_controller.jpg

All’ indirizzo http://127.0.0.1:3000/category/new possiamo creare una nuova categoria.
Assegnare una categoria ad ogni ricetta
Aggiungiamo un nuovo campo per la tabella recipes del nostro database, campo che conterrà l’ id della categoria. Il campo sarà category_id int(6). Poi dobbiamo scrivere l’ azione edit che avrà il compito di elencare le categorie. Prima modifichiamo c:\ruby\ricettario\app\models\recipe.rb e c:\ruby\ricettario\app\models\category.rb aggiungendo una singola riga di codice:

recipe1.jpg

In questo modo diciamo a Rails che una ricetta appartiene a una singola categoria e che una categoria può avere più ricette. Ora modifichiamo l’ azione edit per le ricette in c:\rails\cookbook\app\controllers\recipe_controller.rb:

recipe_controller.jpg

In questo modo creiamo due variabili @recipe e @categories

Nella cartella c:\ruby\ricettario\app\views\recipe creiamo un file edit.rhtml che contiene il seguente codice HTML:

<html>

<head>

<title>Edit Recipe</title>

</head>

<body>

<h1>Edit Recipe</h1>

<form action=”../update/<%= @recipe.id %>” method=”POST”">

<input id=”recipe_id” name=”recipe[id]” size=”30″

type=”hidden” value=”<%= @recipe.id %>” />

<p><b>Title</b><br>

<input id=”recipe_title” name=”recipe[title]” size=”30″

type=”text” value=”<%= @recipe.title %>” />

</p>

<p><b>Description</b><br>

<input id=”recipe_description” name=”recipe[description]“

size=”30″ type=”text”

value=”<%= @recipe.description %>” />

</p>

<p><b>Category:</b><br>

<select name=”recipe[category_id]“>

<% @categories.each do |category| %>

<option value=”<%= category.id %>”

<%= ‘ selected’ if category.id == @recipe.category_id %>>

<%= category.name %>

</option>

<% end %>

</select></p>

<p><b>Instructions</b><br>

<textarea cols=”40″ id=”recipe_instructions”

name=”recipe[instructions]“

rows=”20″ wrap=”virtual”>

<%= @recipe.instructions %>

</textarea> </p>

<input type=”submit” value=”Update” />

</form>

<a href=”/recipe/show/<%= @recipe.id %>”>

Show

</a> |

<a href=”/recipe/list” mce_href=”/recipe/list”>

Back

</a>

</body></html>

All’ indirizzo http://127.0.0.1:3000/recipe/list possiamo modificare una ricetta

Modificando il file c:\ruby\ricettario\app\views\recipe\list.rhtml in questo modo:

<html>
<head>
<title>All Recipes</title>
</head>
<body>

<h1>Online Cookbook – All Recipes</h1>
<table border=”1″>
<tr>
  <td width=”40%”><p align=”center”><i><b>Recipe</b></i></td>
  <td width=”20%”><p align=”center”><i><b>Category</b></i></td>
  <td width=”20%”><p align=”center”><i><b>Date</b></i></td>
</tr>

<% @recipes.each do |recipe| %>
  <tr>
   <td><%= link_to recipe.title, :action => “show”, :id => recipe.id %></td>
   <td><%= recipe.category.name %></td>
   <td><%= recipe.date %></td>
  </tr>
<% end %>
</table>
<p><%= link_to “Create new recipe”, :action => “new” %></p>

</body>
</html>

Abbiamo una lista delle ricette e possiamo crearne altre.

Questo tutorial è semplicemente una traduzione di quello che si trova qui.

E’ questa la mia prima applicazione realizzata in Ruby, utile per capire soprattutto le potenzialità di questo linguaggio.

7
Oct

Bellissimo questo paesaggio naturale:

quaking_aspen_2c_mount_moran_2c_grand_tetons_2c_wyoming.jpg

Risoluzione: 1152 x 864

Dimensione: 285 Kb

Se vi piace, potete trovarne tanti altri, altrettanto belli nella Gallery

7
Oct

Vorrei segnalare qualche sito che mette a disposizione icone di altissima qualità, in formato ico o png, da scaricare e utilizzare gratuitamente:

http://iconbase.com/ nella sezione download ci sono un bel pò di pagine da sfogliare con le anteprime dei pacchetti.

Altre icone sempre organizzati in pacchetti sono qui: http://www.freeiconsweb.com/index.html.

Altre ancora sono qui: http://yellowicon.com/downloads/.

Altra risorsa è quella di DeviantArt.

Su FastIcon nella sezione free sono disponibili altre icone.

Icone con download free anche su Websiteicons, suddivise in categorie.

Altre belle icone sono disponibili qui.

Su Crystal Clear si trovano numerose icone suddivise in categorie: azioni, applicazioni, dispositivi ecc. Le icone sono rilasciate sotto licenza GNU e quindi liberamente utilizzabili.

Se avete altre risorse potete lasciare un commento e aggiungerle.

3
Oct

Ruby on Rails è un ambiente completo per lo sviluppo web. Permette quindi la creazione in toto di un sito complesso. Questo framework è scritto in Ruby, linguaggio di scripting, completamente a oggetti. Con poche linee di codice si sviluppano applicazioni complete. Si può scaricare il pacchetto di installazione da qui: http://www.rubyonrails.org/down. Ovviamente, come ogni applicazione web complessa ha bisogno di un database e di web server per funzionare. Per risolvere tutto con una sola installazione c’è InstantRails che comprende MySql, PhpMyAdmin, Apache, Ruby, Rails ecc. Io che ho già installato server e database avvio il download del pacchetto di installazione per windows, versione 1.8.6-25 (circa 20 Mb). Il pacchetto include l’ interprete e le sue librerie standard, un editor e il “Programming Ruby”, ovvero il manuale del linguaggio. Completata l’ installazione, bisogna aprire il prompt dei comandi e digitare gem install Rails –y per ottenere un ambiente funzionante. Ora io ho già installato il mySql. Trovo in giro per il web un tutorial che sembra proprio spiegare i primi passi con questo tool. Sembra che non occorra configurare subito il database ma proviamo subito a creare un libro di cucina. Le cose che questo libro deve avere:

  1. Una lista di tutte le ricette.
  2. Possibilità di creare e modificare ricette
  3. Assegnare ogni ricetta ad una categoria

Vogliamo creare nella cartella di installazione di Ruby on Rails una directory per il ricettario: C:rubyricettario. Per far questo apriamo un prompt dei comandi e ci portiamo nella cartella di ruby, eseguendo il seguente comando:
 

C:ruby> rails ricettario

A questo punto rails crea la cartella ricettario con tutte le sottocartelle e i file necessari. In questa cartella viene creato anche un web server WEBrick. In realtà WEBrick è una libreria che fa da web server per testare le applicazioni in Ruby on Rails. Per lanciare questo web server ci portiamo nella cartella ricettario eseguendo il comando:
 

C:rubyricettario>ruby scriptserver

Ora se apriamo il browser e digitiamo l’ indirizzo http://127.0.0.1:3000/,  dovremmo ottenere una pagina di benvenuto di Rails o qualcosa del genere, insomma tutto funziona:

Ruby on Rails

Rails ha già creato l ‘ intera struttura per l’ applicazione. La maggior parte del nostro lavoro sarà quella di creare e modificare files nelle sottocartelle c:rubyricettarioapp
• controllers è la cartella in cui Rails va a cercare le classi di controller. Un controller riceve una richiesta dall’ utente
• views contiene la parte grafica e la converte in Html
• models è la cartella che contiene le classi che modellano gli oggetti contenuti nel database
• helpers contiene le classi di aiuto ai modelli

Controllers e Urls
Le classi di controllers trattano le richieste dell’ utente. L’ Url della richiesta corrisponde ad una classe controller e a un metodo della classe.
Tornando con un altro prompt alla directory ricettario creiamo una nuova classe controllers:
ruby scriptgenerate controller Prova
Questo comando crea un file prova_controller, che contiene una definizione scheletrica per la nostra classe Prova. La cartella controllers si trova in app. Clicchiamo su tale file con il tasto destro e scegliamo modifica. Si aprirà in SciTE. Ogni classe controller contiene un metodo index. Lo creiamo in questo modo:

prova

Digitando l’ Url http://127.0.0.1:3000/prova/ nel browser:

ciaomondo

Abbiamo così creato il classico primo programma che stampa Ciao Mondo!
A questo punto possiamo andare oltre. Creiamo il database su MySql
Per dire a Rails come comunicare con il database ricettario, c’è bisogno di editare il file ricettarioconfigdatabase.yml e cambiare il nome del database in ricettario. Possiamo modificarlo con il blocco note.
(A questo punto nei nomi sostituite a Ricetta: Recipe e ricetta: recipe)
Bisogna riavviare il web server affinchè veda le modifiche apportate. Creiamo ora nel nostro database ricettario una tabella ricette con tre campi: id, titolo e istruzioni
Il campo id sarà un int con chiave primaria, auto incrementato, not null
Il campo titolo sarà varchar 255, not null
Il campo istruzioni sarà text, not null

Creiamo il Modello
Creiamo una classe modello per le ricette che conterrà i dati della tabella ricette del database:
ruby scriptgenerate model Ricetta
sempre eseguito nella cartella ricettario. Nella cartella appmodels verrà creata una classe Ricetta
Generiamo un controllo su Ricetta:
ruby scriptgenerate controller Ricetta
che creerà un file chiamato ricetta_controller.rb, in questo file aggiungiamo la linea  scaffold :ricetta

recipe.jpg

Questa singola linea di codice servirà a popolare il database.
Digitando http://127.0.0.1:3000/recipe/new possiamo iniziare a riempire il database
Aggiungiamo al database i campi data e descrizione tra titolo ed istruzioni
Con il comando http://127.0.0.1:3000/recipe/list dal browser elenchiamo tutte le ricette inserite.
Una sola riga di comando scaffold:recipe ha creato funzioni come edit, show, delete. Queste ovviamente sono funzioni base, possiamo crearne delle nostre per completarle e sostituirle.

—————————

Leggi la seconda parte qui.

————————–

1
Oct

L’ installazione e la copia dei file di Windows Server parte e procede esattamente come quella di Windows xp fino a quando non appare la schermata Windows Server 2003. Bisogna scegliere in quale partizione o hard disk sistemare l’ installazione e come formattare. Si può scegliere se gestire le licenze dal server o singolarmente. Scelgo le licenze singole. Impostazioni tipiche per la rete e membro di un workgrouo, in quanto il dominio non è stato ancora creato. Impostare una password per l’ Amministratore e attendere il termine della procedura di installazione. La macchina si riavvia. Al primo accesso è necessario inserire la password precedentemente creata. Impostare gli aggiornamenti automatici del server e se disponete già di una connessione ad Internet avviate gli aggiornamenti.La prima cosa da fare, dopo aver chiuso il pannello di amministrazione server, che è sempre accessibile da Start, è creare un utente che sarà il nostro account di lavoro: per creare un utente:

Start–>Esegui–>lusrmgr.msc

si accede all’ area Utenti e gruppi locali:

tasto destro sulla cartella User–>Nuovo Utente

Dopo aver creato l’ account, cliccando sulla cartella Users, il vostro nome apparirà tra gli utenti. E’ importante impostarne le proprietà. Selezioniamolo—>Tasto destro del mouse–>Proprietà.

Scegliamo il tab Membro di e vediamo che siamo membri del gruppo Users. Se non ci basta, clicchiamo in basso su Aggiungi–>Avanzate–>Trova.

Nei risultati della ricerca vengono elencati tutti i gruppi di cui possiamo far parte. Quello con più privilegi è ovviamente quello degli Administrators. Selezionandolo e cliccando su Ok ne facciamo parte.

Possiamo ora disconnetterci e accedere con il nuovo account. Si aprirà ancora il pannello di Amministrazione del Server. E possiamo aggiungere dei ruoli al server. Scegliamo configurazione personalizzata per scegliere uno per uno i compiti da affidare al server:

File Server: utile e necessario per condividere i file tra gli utenti della rete. Impostiamo il percorso della cartella in cui verrranno sistemati i file condivisi e il tipo di accesso per gli utenti. Se si desidera condividere più di una cartella, magari con tipologie di accessi diversi basta ripetere l’ operazione.

Active Directory: serve per la gestione e l’ amministrazione di utenti e gruppi di utenti che accedono alla lan. Scegliamo di creare un Controller di un nuovo dominio–>Nuovo dominio in un nuovo insieme di strutture. Immettere il nome per il nuovo dominio del tipo dominio.it. Se non abbiamo ancora impostato il server per la gestione del Dns non possiamo continuare ma ci viene chiesto di farlo. Procediamo con le impostazioni predefinite. Ci viene poi chiesto di scegliere un indirizzo ip statico per la macchina:

ip: 192.168.0.1
submask:255.255.255.0
gateway:192.168.0.1
dns: 212.216.112.112

Ci chiede di riavviare e riavviamo. Accediamo con il nostro account e ci ritroviamo nel server come controller di dominio.

 

30
Sep

Ho scoperto un plugin per wordpress che permette di sostituire il vecchio popup che ci faceva vedere una foto nelle sue dimensioni reali dopo aver cliccato su un anteprima rimpicciolita. Oggi va tanto di moda infatti, oscurare tutto e far vedere la foto al centro dello schermo. Sicuramente bello. Ora si può fare anche con wordpress con un plugin dalla semplice installazione che si chiama Daiko’s ThickBox, incluso nell’ installazione di un altro plugin Daiko’s YouTube Widget che permette la visualizzazione di video in un widget della sidebar. Basta installare quest’ ultimo affichè venga visualizzato nella pagina per essere poi attivato. Bisogna poi scaricare il file thickbox.js e la libreria jquery.js. Dopodichè sistemarle in una cartella raggiungibile da internet e aggiungere all’ header del tema utilizzato le seguenti righe

<script type=“text/javascript” src=“path-to-file/jquery.js”></script>
<script type=“text/javascript” src=“path-to-file/thickbox.js”></script>

sostituendo a path-to-file il percorso della cartella. Salviamo, anche nella stessa cartella, questa immagine. Apriamo poi il file thickbox.js, cerchiamo la variabile tb_pathToImage e sostituiamo con il percorso dell’ immagine. Scarichiamo ancora il foglio di stile, lo sistemiamo nella solita cartella e lo includiamo sempre nell’ header del nostro template tra i tag <head> e </head>:

<link rel=“stylesheet” href=“path-to-file/thickbox.css” type=“text/css” media=“screen” />

dove invece di path-to-file ci va il percorso del file. A questo punto è terminata la configurazione del plugin e per utilizzarlo basta inserire nel codice l’ attributo class=”thickbox”, così come spiegato più in dettaglio a questo indirizzo: http://jquery.com/demo/thickbox/

27
Sep

Bello???

26
Sep

Finalmente riuscita l’ installazione di Joomla su Altervista, e riuscita anche l’ installazione di Docman, anche se dopo non pochi problemi e difficoltà e cambi di versione e installazioni e disinstallazioni, finamente tutti i pezzi combaciano e soprattutto funzionano! Per ora ho aggiunto due ebook, che ho creato io e messo a posto la grafica.

library.JPG

Nemoprincess Library

25
Sep

Sempre alla ricerca di un cms per gestire un sito per il dowload di ebook e manuali avevo installato Drupal ma purtroppo sul server di Natan dà gli stessi problemi con il download di qualsiasi file, errore riscontrato anche con Joomla e che sembra non ci sia verso di risolvere. Quasi quasi rinuncio, almeno sul server di Natan, quando scopro che anni or sono Altervista e Joomla hanno stipulato un gemellaggio, per cui sul sito di Joomla è presente una sezione di supporto del forum per tutti gli utenti di Altervista, con tanto di mod da scaricare. Scopro poi questo bel tutorial su come installare Joomla su Altervista. Così mi ricordo di un mio vecchio dominio www.nemoprincess.altervista.org, il mio primo sito ormai da tempo archiviato e credo che visto che è gratis valga la pena di provare. Ora mentre scrivo sto facendo l’ upload dei file di Joomla che troverete all’ indirizzo www.nemoprincess.altervista.org/library, perchè magari la directory principale sarà una succursale dei Nemoprincess Labs, che per ora si trovano in parte a casa mia e in parte sui server di Natan! Mi dilungo perchè l’ upload non è ancora terminato! Ah dimenticavo di scrivere che per avere un database decente e riattivare l’ account ho sperso quasi 3000 Altercent, 4-5 euro più o meno, quasi niente di fronte all’ acquisto di uno spazio preconfigurato per Joomla che in Italia si aggira intorno ai 60 euro. Fattibile dunque per fare solo delle prove e per avere la possibilità di testare e studiare un Cms potente come Joomla! Ce la farò???