Archivio Tag | "Visual Studio 2010"

Tags: , , , ,

Errore di lingua non supportata nella creazione di un sito Sharepoint 2010 con Team Foundation Server 2010

Pubblicato il 05 ottobre 2010 da Massimo

Se utilizzate SharePoint 2010 in italiano, integrato con Team Foundation Server 2010 e Visual Studio 2010 in inglese, in fase di creazione di un nuovo Team Project potrebbe generarsi il seguente errore:

Event Description: TF30162: Task "SharePointPortal" from Group "Portal" failed
Exception Type: Microsoft.TeamFoundation.Client.PcwException
Exception Message: An error occurred in the New Team Project Wizard while attempting to create a site on the following SharePoint Web application: server.
Exception Details: The Project Creation Wizard encountered a problem while uploading documents to the following server running SharePoint Products: server. The reason for the failure cannot be determined at this time. Because the operation failed, the wizard was not able to finish creating the team project.
Stack Trace:
   at Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.Execute(ProjectCreationContext context, XmlNode taskXml)
   at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.TaskExecutor.PerformTask(IProjectComponentCreator componentCreator, ProjectCreationContext context, XmlNode taskXml)
   at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.RunTask(Object taskObj)
–   Inner Exception   —
Exception Message: Server was unable to process request. —> Lingua non supportata nel server. —> Lingua non supportata nel server. (type SoapException)
Exception Stack Trace:    at Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.HandleSiteCreation(WssCreationContextWrapper contextWrapper, XmlNode taskNode)
   at Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.Execute(ProjectCreationContext context, XmlNode taskXml)

Questo succede perché la lingua utilizzata da Visual Studio (l’inglese) non è supportata da SharePoint. Per ovviare a questo banale inconveniente è sufficiente installare sul server SharePoint il pacchetto “2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010” in inglese oppure nella lingua nativa di Visual Studio.

Ti piace questo articolo? Condividilo:

Commenti (0)

Tags: , , , , , ,

Guida a Microsoft Windows Phone 7

Pubblicato il 23 aprile 2010 da Massimo

windowsphoneIl 15 Febbraio 2010, con un evento ufficiale a Barcellona, Microsoft ha presentato la nuova evoluzione del suo sistema operativo per i dispositivi mobili: Windows Phone 7. L’introduzione alla nuova piattaforma è stata affidata a Joe Belfiore Vice Presidente Windows Phone.

Joe Belfiore ci mostra un sistema operativo radicalmente diverso da tutti i precedenti. In particolare la nuova user experience chiamata “Metro” introduce una serie di nuovi concetti sia per lo sviluppatore che per l’utente finale. Anche se è fin troppo chiaro che molte idee, se pur innovative, trovano larga ispirazione dal mondo Apple iPhone. Nonostante questo Windows Phone 7 rappresenta un balzo in avanti enorme e per certi versi azzardato.

Successivamente al keynote, tra il 15 e il 17 Marzo 2010, molte delle nuove features sono state poi approfondite al MIX10 (conferenza dedicata al mondo web e dello sviluppo in generale), dove gli stessi sviluppatori Microsoft hanno potuto spiegare nel dettaglio molti degli aspetti tecnologici della nuova piattaforma.

Per capire meglio Windows Phone 7 e il suo universo, ho raccolto in questo articolo tutte le informazioni fino ad oggi emerse dalle conferenze e dai vari blog sparsi sulla rete. Ad oggi però molti dei dettagli interessanti sono ancora avvolti dal mistero. Il nostro obbiettivo sarà quello di mantenere costantemente aggiornato questo post con le ultime novità disponibili.

Ogni suggerimento, aggiunta, miglioria o correzione è ben accetta.

  • [26/04/2010] Aggiunta la notizia sul nuovo dispositivo Dell Lightning
  • [26/04/2010] Aggiunta la notizia sui Crapware (per gli OEM)

Il nuovo Windows Phone 7

Windows Phone 7 è il successore di Windows Mobile 6.5, basato sul nuovo kernel Windows CE 6. Il processo di sviluppo del nuovo sistema operativo si è basato su un nuovo approccio. In particolare i principi che hanno ispirato i designer e gli sviluppatori del team sono stati:

  1. il Design incentrato sull’utente
  2. una Piattaforma ricca e facile
  3. delle Specifiche Hardware ben definite

03-15-10wp7devices Tutto questo ha prodotto un nuovo sistema concepito per facilitare in primo luogo l’utente finale nell’utilizzo quotidiano e in secondo luogo lo sviluppatore nella creazione di applicazioni ricche e usabili ma soprattutto standard.

Secondo le prime indiscrezioni il rilascio ufficiale di Windows Phone 7 con i primi dispositivi avverrà verso la fine dell’anno. I primi vendor a posizionare i propri smartphone sul mercato saranno Acer, Samsung e LG. Nelle presentazioni ufficiali l’unico modello visto sul campo è stato quello di Acer.

Con il lancio del nuovo sistema operativo c’è stato anche un radicale ripensamento sulla  modalità di distribuzione delle applicazioni tramite il marketplace ora nominato ufficialmente “Windows Phone Marketplace”. Con il nuovo marketplace Microsoft si allinea alla filosofia iPhone prevedendo un percorso di certificazione per ogni applicazione inviata nonché una nuova modalità di accesso e di fruizione dei contenuti direttamente dal device.

In particolare sono due le somiglianze con il mondo Apple. La registrazione come sviluppatore obbligatoria al marketplace tramite un abbonamento annuale di 75 € + iva e una revenue nella vendita della propria applicazione sul marketplace di 70/30, cioè 70% allo sviluppatore e 30% a Microsoft. Dunque non sarà più possibile installare applicazioni sul telefonino se non attraverso il marketplace.

Come applicazioni fornite in bundle, su Windows Phone 7 troviamo già installati Word, Excel, PowerPoint, OneNote e naturalmente Outlook tutti in versione mobile. Per cercare file o informazioni è possibile utilizzare l’apposito tasto di “Cerca” che attraverso il motore di Bing troverà file o siti internet.

La navigazione in internet è affidata al nuovo browser derivato da Internet Explorer ma appositamente modificato per migliorare la fruizione attraverso un device mobile. Grazie alla visualizzazione a tutto schermo e al supporto al multitouch l’esperienza di navigazione risulta decisamente gradevole e facile.

[26/04/2010]
A differenza di Windows Mobile 6.5 gli operatori non avranno libertà assoluta nel pre-installare applicazioni brendizzare, i cosiddetti crapware. Microsoft ha infatti definito una serie di regole per gli OEM atte a migliorare la user-experience generale:

  1. ogni dispositivo potrà avere un massimo di 6 applicazione pre-installate per un totale di 60 MB massimo
  2. tutte le applicazioni dovranno essere approvate nel Marketplace
  3. tutte le applicazioni dovranno garantire aggiornamenti gratuiti
  4. tutte le applicazioni dovranno garantire il corretto funzionamento anche in assenza di rete
  5. tutte le applicazioni dovranno ricomparire dopo un hard reset
  6. tutte le applicazioni dovranno, al primo avvio, informare l’utente sull’eventuale uso di strumenti (quali GPS etc…)

La nuova User experience “Metro”

La nuova user experience di Windows Phone 7 si basa su una nuova serie di concetti chiave tra cui la velocità di esecuzione, la semplicità di utilizzo, la centralità dei contenuti rispetto alla grafica, la tipografia come scelta di design e l’animazione dell’interfaccia.

Tutto questo si traduce in un’interfaccia minimalista, ricca di testo, dal contenuto dinamico dove i colori differenziano il contenuto e il significato e dove le animazioni tra una pagina e l’altra sono fondamentali per aumentare l’esperienza generale di utilizzo.

02-15-10winphone2L’applicazione di questi concetti li possiamo ritrovare nei nuovi elementi base studiati appositamente per questa interfaccia e sono:

  1. La nuova start page caratterizzata dall’assenza della vecchia start bar e da una nuova home page in stile web 2.0. Nella home troviamo una serie di quadrati e di rettangoli chiamati Tile che rappresentano una porta di accesso verso i contenuti dello smartphone. E’ possibile personalizzare la home aggiungendo nuovi tile o cambiando il colore degli stessi. Un tasto in alto a destra, a forma di freccia in un cerchio, rappresenta l’accesso alla lista completa delle applicazioni installate e alla configurazione del device.
  2. I Tile, presenti solo nella home page, sono i link veloci per accedere ai contenuti. Un tile può rappresentare un Hub (spiegato più avanti) un’applicazione o un contatto della nostra rubrica.  I tile possono essere dinamici come nel caso del tile che rappresenta l’hub “people” dove si vedono scorrere i volti dei nostri contatti.
  3. Gli Hub rappresentano degli aggregatori di contenuti. Sono caratterizzati da una interfaccia panoramica scorrevole a più sezioni. In un hub troviamo aggregati i dati di tutto il telefono per categoria.

Vale la pena soffermarsi in particolare sul concetto di hub. Essendo l’hub un concetto nuovo, e forse il cuore della nuova user experience di WP7, è bene comprendere questa nuova caratteristica. Per default vengono forniti 6 hub principali:

people_hub

  1. L’hub People è un aggregatore dei  contatti della rubrica, degli amici in facebook, dei contatti in Gmail o di Exchange. E’ possibile visualizzare in un’unica interfaccia le ultime persone contattate, lo status di un contatto (prelevato da facebook o da twitter) e l’elenco di tutte le persone che si conoscono. Con un tap sulla persona è possibile accedere a tutta una serie di operazioni quali  commentare lo status, inviare un sms o un mms.
  2. L’hub Office è l’accesso verso il mondo della produttività. Attraverso l’hub office si ha una vista completa su tutti i documenti presenti sul telefonino (word, excel, power point e note). E’ possibile inserire una nota, visualizzare documenti e integrarsi con lo SharePoint aziendale.
  3. Picture è l’hub contenitore delle immagini. Le immagini possono provenire da varie sorgenti come Flickr, Facebook o dalla fotocamera integrata. Con pochi semplici passaggi è possibile condividere le foto sui social network più diffusi o commentare quelle esistenti.
  4. L’hub Music+Video è una nuova esperienza multimediale in grado di fornire contenuti multimediali online come musica, video, podcast e radio in streaming. L’esperienza musicale può anche essere estesa grazie a servizi social come Pandora o Zune Social.
  5. Nell’hub Games l’esperienza di gioco è integrata nel servizio XBox Live con la possibilità di visualizzare classifiche, richieste di partecipazione, profili di giocatori e le ultime novità dal mondo XBox Live.
  6. In fine l’hub Marketplace dove è possibile provare o comprare applicazioni o giochi anche attraverso filtri avanzati e ricerche particolari.

Le caratteristiche hardware e i device disponibili

Per poter agevolare lo sviluppo di applicazioni compatibili con WP7, Microsoft ha deciso di fissare dei paletti tecnologici atti a semplificare da un lato i vendor (come LG, Acer e Samsung) per la realizzazione di smartphone e device compatibili con il nuovo sistema e dall’altro gli sviluppatori di applicazioni.

Ecco le caratteristiche hardware:

  • Schermo con risoluzione a 800 x 480 WVGA (successivamente il 480 x 320 HVGA)
  • Processore Qualcomm Snapdragon con supporto a DirectX 9
  • Almeno 8 GB di memoria (flash o interna)
  • Almeno 256 MB di Ram
  • Multitouch capacitivo con almeno 4 punti di contatto
  • 5 tasti specifici (Indietro, Start, Cerca più tasto foto e spegnimento)
  • Accelerometro
  • Wi-fi
  • A-GPS
  • Fotocamera con almeno 5 MPixel
  • Radio FM

[26/04/2010]
E’ di qualche giorno fa l’annuncio di Dell Lightning il primo device compatibile con Windows Phone 7. Le caratteristiche hardware prevedono processore 1GHz QSD8250 Snapdragon, display WVGA 4.1-inch OLED, fotocamera da 5 megapixel, 1 GB di flash con 512 mb di Ram più 8GB di spazio su MicroSD card, accelerometro, GPS, compasso, Radio FM e in fine supporto a Flash.

Il rilascio di questo nuovo smartphone è previsto per il quarto trimestre di quest’anno.

Sviluppo di applicazioni

wpdt_install Da sempre attenta alle esigenze dello sviluppatore, Microsoft ancora una volta si conferma molto aperta allo sviluppo di applicazioni sulla sua nuova piattaforma. La versione CTP del Windows Phone Developer Tools ci permette fin da subito di testare il  nuovo sistema operativo attraverso Visual Studio 2010 Express for Windows Phone. Una versione express (quindi gratuita) appositamente pensata per lo sviluppo su WP7. Inoltre ci fornisce un Windows Phone 7 Training Kit For Developers il cui contenuto prevede una serie di lezioni pratiche per provare subito le nuove funzionalità.

Come tutte le cose anche WP7, in questa prima fase, offre una serie di vantaggi ma anche di svantaggi:

I vantaggi:

  1. Le applicazione WP7 sono applicazioni Silverlight o XNA vs2010wp7
  2. Ambiente di sviluppo integrato in Visual Studio 2010
  3. Versione Express di Visual Studio gratuita
  4. Emulatore completo
  5. Expression Blend per la realizzazione di interfacce grafiche

Limitazioni attuali:

  1. Niente SQL Server Compact per lo storage
  2. Nessun accesso al file system (accesso limitato con Isolated Storage)
  3. Niente Silverlight nel brower (solo applicazioni)

Linkografia

Video

  1. Video di presentazione ufficiale a Barcellona
  2. [MIX10] Sessione: Introduction to Windows Phone 7 Series
  3. [MIX10] Sessione: Blend 4 for Windows Pgone 7 Series, Silverlight 4 and WPF 4
  4. [MIX10] Sessione: The Windows Phone Application Platform
  5. [MIX10] Sessione: Designing Windows Phone 7 Series
  6. [MIX10] Sessione: Building Windows Phone applications with Silverlight 1
  7. [MIX10] Sessione: Building Windows Phone applications with Silverlight 2
  8. [MIX10] Sessione: Windows Phone 7 Series Architecture Deep Dive
  9. [MIX10] Sessione: Development and debugging tools for Windows Phone 7 Series
  10. [MIX10] Sessione: Making Money with Windows Phone Applications and Games
  11. [MIX10] Sessione: Developing Games for windows Phone 7 with XNA Game Studio 4.0
  12. [MIX10] Sessione: High Performance 3d Games on Windows Phone 7 Series
  13. [MIX10] Sessione: Unit Testing Silverlight and Windows Phone Applications
  14. [MIX10] Sessione: Silverlight performance on the windows Phone

Sviluppo

  1. Windows Phone 7 Serires home page
  2. Windows Phone Developer Tools CPT
  3. Windows Phone 7 Training Kit for Developers
  4. Il portale Windows Phone Developer
Ti piace questo articolo? Condividilo:

Commenti (2)

Tags: , , , ,

UGIDotNet Workshop Community Tour v4

Pubblicato il 06 aprile 2010 da Massimo

Ugidotnet in collaborazione con Microsoft Italia, organizza il 20 Maggio 2010 un workshop dedicato alle nuove tecnologie Microsoft.L’evento si terrà presso Microsoft Italia Centro Direzionale San Felice Palazzo A Via Rivoltana, 13 – Segrate (MI).

L‘iscrizione all’evento è gratuita e l’agenda (ancora provvisioria) prevede:

9:30 Registrazione

Windows Phone 7 Series: Architettura dei Device e delle Applicazioni
Speaker: Lorenzo Barbieri [Microsoft Italia]

Windows Phone 7 Series è una nuova piattaforma, molto diversa dalla precedente famiglia basata su Windows Mobile 6. In questa sessione vedremo le novità relative all’hardware e all’architettura dei Device e delle applicazioni, le novità per lo sviluppo (Silverlight e XNA), e i servizi disponibili per la piattaforma (Push Notification, Location, etc…)

Exploring Silverlight 4.0
Speaker: Corrado Cavalli
“Chi si ferma è perduto!” è proprio il caso di dirlo. Basta distrarsi un attimo ed ecco che è già pronta una nuova versione di Silverlight, sempre più ricca e sempre più interessante. Ci vorrebbe una giornata intera per descrivere quanto di nuovo è stato inserito percui ci limiteremo alle features più interessanti : dalla gestione della webcam alle applicazioni Out-Of-Browser full trust passando per l’installazione di un applicazione Silverlight 4.0 da chiavetta USB.

WCF+WF: what’s new
Speaker: Raffaele Rialdi

Per informazioni:

 

Ti piace questo articolo? Condividilo:

Commenti (0)

Tags: , ,

Lancio di Visual Studio 2010

Pubblicato il 01 aprile 2010 da Massimo

Il 12 Aprile 2010 ci sarà il lancio ufficiale di Microsoft Visual Studio 2010. Per l’occasione si potrà assistere all’evento in diretta streaming sul sito di Microsoft Italia dalle 14:00 alle 18:00.

L’iscrizione è gratuita ma obbligatoria. Tra le novità più importanti del nuovo Visual Studio c’è il supporto a .NET Framework 4.0, ASP.NET 4.0, ASP.NET MVC 2.0, Siverlight 4, una nuova interfaccia grafica, nuove versioni e tanto altro ancora.

L’agenda dell’vento prevede:

14:00-14:30 Aspettando Visual Studio 2010…

14:30-14:45 Apertura lavori

Gabriele Castellani, Evangelist Manager – Microsoft Italia
Andrea Marzilli, Responsabile – HTML.it

14:45-15:45 Keynote – /*LIFE RUNS ON CODE*/

Vittorio Bertocci, Senior Technical Evangelist – Microsoft Corporation

15:45-17:45 Sessioni tecniche

Sviluppo Web e Windows Azure con Visual Studio 2010
Giuseppe Guerrasio, Architect Evangelist – Microsoft Italia
Lo sviluppo di applicazioni Web spazia dai semplici point-of-presence sites alle più complesse soluzioni distribuite con architetture multi-tier, che richiedono elevata scalabilità.
In questa sessione vedremo come Visual Studio 2010 e le nuove funzionalità per il Web di .NET Framework 4, salvaguardando gli skill acquisiti, mettono a disposizione una piattaforma che consente di soddisfare le esigenze delle differenti tipologie di applicazioni per il Web, consentendo anche una completa integrazione con Windows Azure e l’ambiente per il cloud computing.

Software di qualità tramite una migliore collaborazione tra sviluppo e test
Lorenzo Barbieri, Developer Evangelist – Microsoft Italia
Una proficua collaborazione tra sviluppatori e tester è essenziale e può fare la differenza tra consegnare applicazioni di qualità nei tempi previsti o ritardare la consegna a causa dei bug trovati “troppo tardi”.
In questa sessione vedremo come Visual Studio 2010 permette di migliorare la collaborazione tra sviluppatori e tester tramite la gestione di Bug contenenti tutte le informazioni “di supporto”, gli strumenti per analizzare tutti gli eventi e il flusso di codice dell’applicazione, oltre alle tecniche per automatizzare il test funzionale e dell’interfaccia utente.

Sviluppo Windows e Silverlight con Visual Studio 2010
Pietro Brambati, Developer Evangelist – Microsoft Italia
Oggi sempre più è possibile sviluppare applicazioni che usano grafica accelerata dalle GPU, animazioni 3D e ottimizzare le performance grazie all’uso di più core. Inoltre è possibile utilizzare Silverlight per sviluppare applicazioni che, originariamente pensate per il Web, possono funzionare fuori dal browser e integrarsi con applicazioni COM riuscendo quindi a sfruttare al meglio Windows anche in questi scenari.
In questa sessione vedremo all’opera questi approcci con il nuovo Visual Studio 2010.

17:45-18:00 Chiusura lavori

Per informazioni:

http://www.microsoft.com/visualstudio/it-it/default.mspx

http://www.microsoft.com/italy/visualstudio/2010/evento.aspx

Ti piace questo articolo? Condividilo:

Commenti (0)

Tags: , , , , ,

Le novità di C# 4.0

Pubblicato il 12 maggio 2009 da Massimo

Il nuovo Microsoft .Net Framework 4.0 è arrivato ad uno stato avanzato di sviluppo. Forse per fine anno o metà del prossimo potremmo beneficiare non solo di una moltitudine di nuove funzionalità del .net framework ma anche del nuovo Visual Studio 2010 realizzato interamente in WPF.

In questo articolo ci concentreremo esclusivamente sulle novità apportate al linguaggio C# 4.0. Molte delle novità descritte in questo articolo sono già testabili scaricando e installando la Microsoft Pre-release Software Visual Studio 2010 and .NET Framework 4.0 Community Technology Preview. Si tratta di una macchina Virtual PC con dentro Windows, Visual Studio 2010 e il .net framework già installati e configurati. Per un totale di circa 7GB di macchina virtuale!

Complessivamente le novità introdotte in C# 4.0 si possono riassumere nel seguente elenco:

  1. Dynamic Type Object
  2. Name e Optional Arguments
  3. Co-variance e Contra-variance
  4. Migliorie su COM Interop

Vediamo in dettaglio.

Dynamic Type Object

Il Dynamic Type Object è un nuovo tipo statico introdotto soprattutto a beneficio del Dynamic Language Runtime (DLR). Con la nuova parola chiave dynamic è possibile dichiarare un type che verrà risolto solo a run-time. In questo modo:

public void MyFunction()
{
    // le seguenti variabili verranno convertite
    // implicitamente a run-time. 
    dynamic counter = 1;
    dynamic hello = "Hello C# 4.0";
}

Su un type dichiarato come dynamic è possibile richiamare metodi, campi o proprietà, come se fosse un object. Il tutto verrà risolto automaticamente a run-time in base al type effettivo contenuto all’interno della variabile. Con questa parola chiave C# 4.0 si uniforma così ai tipici linguaggi dinamici (dynamic appunto) come Ruby o Php.

Name e Optional Arguments

L’optional argument è una funzionalità del linguaggio già presente in Visual Basic ed è la capacità di dichiarare come opzionale un parametro di un metodo, in questo modo:

// il parametro i risulta essere obbligatorio
// mentre il parametro y è optionale e per
// default viene impostato a 0.
public int Calc(int i, int y = 0)
{
    // corpo del metodo
}

public void Main()
{
    // ho la possibilità di richiamare Calc con un
    // solo parametro o con due, poiché il parametro
    // y risulta essere opzionale.
    int result1 = Calc(5); // equivalente a Calc(5, 0);
    int result2 = Calc(10, 3)
}

Il name argument invece è la facoltà di passare un parametro per nome, in questo modo:

public int Calc(int i, int y = 0, int z = 1)
{
    // corpo del metodo
}

public void Main()
{
    // In questo modo chiamo il metodo Calc con i parametri
    // invertiti, cioè prima passando y e poi x.
    int result = Calc(y: 3, i: 4); // equivalente a Calc(4, 3, 0);

    // In questo, invece chiamo Calc passando i e z ma non y
    int result2 = Calc(z: 6, i: 3); // equivalente a Calc(3, 0, 6);
}

Co-variance e Contra-variance

Introduciamo il concetto di covarianza e contravarianza. Date due classi A e B. Dove B è una sotto classe di A, e avente una nuova classe C si dice che C è covariante rispetto a T se anche C è una sotto classe di C. Mentre si dice che C è contravariante rispetto a T se anche C è super classe di C. In pratica:

Questo risulta particolarmente interessante con i type parameter dei generics. In questo modo potremmo, per esempio, assegnare una collection di stringhe ad una collection di oggetti, dato che la classe string e sotto classe di object, o vice versa, così:

IList<string> strings = new List<string>();
IList<object> objects = strings;

I benefici della covarianza e della contravarianza non si limitano a questo aspetto, ma come esempio è chiarificatore.

Migliorie su Com Interop

Tra le migliorie su Com Interop citiamo:

  • Importazione dinamica con l’utilizzo del Dynamic Type Object invece che object
  • Compilazione senza PIA (Primary Interop Assemblies) che rendevano pensante l’applicazione
  • Chiamate a metodi senza l’utilizzo di ref

Conclusioni

Che dire, le novità sono davvero tante e tutte decisamente interessanti. Prima tra tutte la citata parolina magica dynamic, che introduce una vera e propria rivoluzione per un linguaggio prettamente statico come C#. Non resta che aspettare l’uscita ufficiale sia del .Net Framework 4.0 ma soprattutto del nuovissimo Visual Studio 2010 che merita veramente la visione, ma questa è un‘altra storia. :-)

Risorse

Alcune risorse utili:

Ti piace questo articolo? Condividilo:

Commenti (0)





RELATED SITES

adsl