Sviluppo di moduli e interfacce personalizzate

Sviluppo di moduli e interfacce personalizzate

Interfacce di sviluppo

Immagine simbolo di sviluppo dell'interfaccia con puzzle su Macbook

In qualità di subappaltatore di una società di software di successo, abbiamo realizzato un importante progetto della durata di diversi mesi. Si trattava della creazione personalizzata di un'interfaccia per un sistema proprietario di gestione della merce per Joomla/Virtuemart. Gli ostacoli tecnici da superare erano numerosi: Come verranno recuperati i dati? Come devono essere visualizzati i dati? Qui di seguito forniamo una breve panoramica del progetto e del nostro approccio.

Definizione del problema

Il problema era il seguente: Il cliente fornisce un sistema proprietario di gestione della merce che ha un database di enormi dimensioni in background. Il sistema viene continuamente mantenuto e modificato. I record di dati memorizzati vengono utilizzati, ad esempio, per generare cataloghi o fornire informazioni ai clienti. Il sistema dispone di diverse interfacce, tra cui query standardizzate tramite MySQL. Questo è stato il nostro punto di partenza: il cliente voleva che il catalogo fosse caricato dinamicamente in un catalogo basato sul web senza ulteriori interventi esterni, che fosse ricercabile e che generasse un URL e un codice QR sempre validi per ogni articolo e che fosse possibile restringere il campo di ricerca utilizzando numerose proprietà di filtri e barre di ricerca. La soluzione doveva essere progettata in modo modulare per l'uso in Joomla e successivamente per Typo3 e anche come integrazione completa in un sistema di negozi.

Approccio

In primo luogo, abbiamo chiesto al cliente di illustrare il problema in dettaglio e abbiamo definito insieme a lui le tappe fondamentali. Queste tappe sono state utilizzate per creare una stima dei costi, che è stata poi incorporata in tutti i sistemi coinvolti. Sulla base di questa familiarizzazione è stato poi creato un prototipo che aveva lo scopo di dimostrare e garantire la funzionalità di base del sistema. Il prototipo è stato pronto per l'uso dopo un solo giorno lavorativo.

Dopo l'ideazione e l'elaborazione dell'interfaccia, è seguita la ricerca di soluzioni funzionali per il sistema di gestione dei contenuti. „Joomla“, su cui abbiamo potuto basare la nostra soluzione. Abbiamo trovato rapidamente „VirtueMart“ una piattaforma popolare e promettente, la cui tecnologia abbiamo potuto utilizzare ed espandere gradualmente.

Abbiamo dovuto creare due connessioni dirette e scrivere un traduttore: Da un lato, la struttura proprietaria del sistema di gestione merci del cliente viene letta, tradotta e standardizzata dal nostro sistema e riproposta dall'altro lato o letta in VirtueMart. Questo modulo, con le sue migliaia di righe di codice distribuite in un'architettura ben strutturata in PHP, è assolutamente unico.

Oltre a questo traduttore, sono state necessarie diverse modifiche alla visualizzazione. In questo caso, abbiamo approssimato il più possibile le funzionalità desiderate con moduli già disponibili, al fine di ridurre al minimo i costi per il cliente. Questi moduli sono stati ulteriormente personalizzati da noi, ad esempio gli URL del front-end sono stati resi „parlanti“ - ed è ora possibile rivolgersi sia ai prodotti che a qualsiasi livello di struttura dei prodotti, cosa che non era possibile senza ulteriori interventi. In particolare, grazie alla nostra personalizzazione è ora possibile assegnare un numero qualsiasi di categorie e livelli di struttura, poiché il database viene suddiviso dinamicamente nei suoi componenti. L'implementazione è stata completamente svincolata da Virtuemart e dal design, cioè in parole povere: si può prendere qualsiasi Joomla con Virtuemart e „lasciare andare“ la nostra estensione e Virtuemart viene quindi alimentato e modificato con i dati del WWS. Questo rende la soluzione altamente portatile! È già stata pianificata e preparata anche un'implementazione in Typo3.

Caratteristiche speciali e Funzioni speciali

Quando le immagini dei prodotti sono disponibili nel database, il cliente voleva che le immagini fossero importate automaticamente e assegnate nel front-end. Vengono generate dimensioni diverse per le miniature e per la visualizzazione finale.

Per ogni prodotto è disponibile una funzione che consente di generare un PDF, di „porre una domanda“, di inviare un messaggio di posta elettronica o di condividerlo, ecc. Inoltre, il cliente e l'utente possono ora filtrare i prodotti in modo dinamico e regolare con precisione le proprietà visualizzate per il filtraggio. Il cliente può anche impostare separatamente nel backend per ogni articolo quali proprietà desidera visualizzare, quali informazioni contiene un articolo e quali funzioni sono disponibili per l'utente nella panoramica dell'articolo. Tutto ciò può essere determinato in modo flessibile già a livello di database nel sistema di gestione della merce! Anche i titoli e gli identificativi possono essere modificati dinamicamente sul lato database senza influire sulla generazione del codice QR: Una volta impostati, i link rimangono validi.

È inoltre possibile specificare se si desidera ordinare/filtrare con caselle di controllo, pulsanti di opzione, dropdown, ecc. Il filtraggio funziona in tempo reale, senza ricaricare la pagina. Il filtro si adatta dinamicamente. A tale scopo, è stata completamente adattata e riscritta un'estensione che funziona sia con Ajax che senza Ajax.

L'intera soluzione è predisposta come negozio e, se lo si desidera, è possibile assegnare anche dei prezzi. Inoltre, la connessione al database è stata progettata in modo così dinamico che il cliente può ricaricare il database in qualsiasi momento o anche solo in parte tramite una funzione nel backend, oppure può farlo anche tramite un comando esterno („Cronjob“) possono essere attivati. A questo scopo è stata creata un'ulteriore interfaccia con il mondo esterno ed è stata ampliata l'area backend di Virtuemart.

Punctum.de

Punctum.de

Sviluppo del concetto di SEO e del sito web

Punctum.de aperto su smartphone, desktop e tablet
 Punctum.de è il sito web di Punctum KG di Lohfelden che, oltre alla sua comprovata esperienza nei database e nei moduli SAP, promuove, offre e supporta anche i propri progetti.

In collaborazione con la direzione di Punctum AG, abbiamo realizzato un nuovo concetto di sito web. L'obiettivo era quello di creare una struttura conservativa e flessibile basata sul design delle piastrelle di Windows 8. Il sito è stato progettato dal cliente stesso ed è anche gestito da lui grazie a una formazione in tempo reale. Il sito è stato progettato dal cliente stesso e viene mantenuto da lui grazie a una formazione in tempo reale.

Profizelt24.de

Profizelt24.de

Per gli specialisti di eventi e tende Profizelt24 abbiamo adattato ed esteso il modello eBay esistente a un nuovo software di gestione.

Ciò ha richiesto capacità creative e alcuni suggerimenti e trucchi da osservare su eBay.

Sviluppo di software gestionale

Profizelt24.de aperto su smartphone, desktop e tablet
Mariomerkle.ch

Mariomerkle.ch

Sito web di Mario Merkle (Mariomerkle.ch) , aperto su un iMac

Sviluppo backend

Mario Merkle è un artista svizzero il cui sito web statico esistente doveva essere ampliato con nuove funzionalità.

In precedenza, ogni nuova opera dell'artista doveva essere integrata nel codice HTML a mano, prestando attenzione a molti dettagli tecnici, il che non facilitava le cose. Era inoltre necessario creare immagini di anteprima per le opere.

È stato implementato un backend che consente all'artista di gestire facilmente il sistema. È possibile creare nuove opere, modificare o cancellare quelle più vecchie.

L'ordine delle opere può essere modificato anche con il drag & drop. Le miniature più attraenti possibili vengono generate automaticamente per le opere caricate. La nostra soluzione è stata integrata nel sistema esistente, che esiste tuttora e può essere consultato all'indirizzo https://www.mariomerkle.ch/ possono essere visitati.

Google Maps® API

Google Maps® API

Nell'ambito di questo ordine, è stato sviluppato uno script basato sull'API di Google Maps per visualizzare i confini delle aree dei codici postali. A tale scopo sono state combinate l'API di Google Maps, l'API di Google Geolocation e l'API di Google Fusion Tables. Il seguente set di dati, disponibile nel pubblico dominio, è stato utilizzato come set di dati di base per i confini dell'area Set di dati utilizzato. È stato comunque necessario adattarlo e convertirlo.

API di geolocalizzazione di Google

Sezione di ricerca dei codici postali di Google Maps
Aree di codice postale di Google Maps® API su un Macbook

Inoltre, tutti i confini dell'area sono indicati da un marcatore (il codice postale). Questo marcatore può essere selezionato e apre un pop-up che può essere personalizzato con qualsiasi testo. L'immagine di esempio mostra la visualizzazione del codice postale e di un ulteriore testo con un link, che contiene anche il codice postale e può essere utilizzato per altri scopi.

Lo script reagisce ai parametri GET del browser, che determinano il colore e la selezione dei codici postali. Un esempio di chiamata con un solo codice postale si presenta come segue con le impostazioni predefinite: script.php?cerniera=46509&mColore=ff0000. I nomi dei parametri possono essere modificati a seconda delle esigenze.

Poiché l'obiettivo del progetto era quello di poter contrassegnare i codici postali circostanti a un codice postale principale con due colori diversi, sono stati introdotti parametri aggiuntivi: script.php?cerniera=46509&mColore=ff0000&rZip=46459,47665&rColore=0000ff&fZip=46487&fColore=00ff00.

Come si può vedere nell'esempio, è possibile inserire anche più codici postali, in questo caso separati da virgole. Anche il separatore può essere modificato a piacere. Lo script accetta quindi 3 diversi tipi di codici postali, ciascuno con un colore, e li visualizza a colori su una mappa di Google Maps.

Il vantaggio dell'implementazione è che lo script può essere integrato in siti web esistenti. Sia come mappa in movimento dinamico che come sezione di immagini. Un possibile scenario applicativo potrebbe essere quello di un negozio che consegna vari prodotti solo in determinate regioni. Lo script potrebbe essere integrato nella descrizione dettagliata dei prodotti e visualizzare le regioni in cui il prodotto può essere consegnato in due colori, per „immediatamente disponibile“ o „attualmente esaurito“. Lo script può anche essere esteso per includere altri colori e tipi di codice postale, in modo da rendere possibile una varietà di altri scenari applicativi.