Server di aggiornamento per estensioni commerciali


8

Joomla offre la possibilità di aggiungere un server di aggiornamento che consente agli utenti di installare un aggiornamento di estensione quando rilasciano con un clic di un pulsante.

Questo è ovviamente ottimo per le estensioni gratuite, tuttavia per le estensioni commerciali, si verificherebbe un problema in cui qualcuno potrebbe semplicemente ottenere l'URL di download dal file XML di aggiornamento e pubblicarlo, quindi non c'è niente da fare.

Quello che avevo in mente era fare qualcosa seguendo le stesse linee, ma avrebbe semplicemente avvisato l'utente che c'è un aggiornamento e avrebbero dovuto andare sul sito web degli sviluppatori e scaricarlo manualmente, tuttavia non ho usato alcun abbonamento estensioni, quindi non esistono autorizzazioni speciali per accedere a queste estensioni commerciali. Invece ho usato un componente che consente semplicemente all'utente di acquistare l'estensione e il gioco è fatto.

Quindi la mia domanda è: esiste un metodo integrato di cui non sono a conoscenza che consente un server di aggiornamento per le estensioni commerciali? Credo di ricordare che questo è stato discusso molto tempo fa, ma non sono sicuro che qualcosa sia stato implementato in Joomla per questo.

O forse invece, sarebbe un'idea impedire l'accesso diretto all'XML se si digita l'URL nel proprio browser usando un file htaccess ?

Nota : mi riferisco a un modulo, altrimenti avrei potuto esaminare qualcosa come Akeeba Live Update


1
Vorrei contattare uno dei produttori di estensioni che già lo fanno. I ragazzi di The Rocket Theme hanno creato il proprio plug-in che convalida il server e utilizza ancora il meccanismo di aggiornamento integrato. Akeeba lo fa senza un plug-in aggiuntivo, ma si aggiornerà se il codice viene inserito nelle impostazioni del componente. Puoi anche chiedere ai ragazzi watchful.li poiché il loro sistema può attingere a tutti questi ed eseguire l'aggiornamento per te. Qualcuno potrebbe essere disposto a farti sapere come lo fanno.
Brian Peat,

@BrianPeat - grazie per il tuo contributo. Ho trovato un impegno su Github di Nick di Akeeba che mi consente esattamente quello che voglio (e forse sono solo io ad avere un momento biondo), ma non sento che la "guida per sviluppatori" è sufficiente. Non menziona dove inserire il codice. La persona con cui lavoro gli chiederà maggiori dettagli sull'argomento, quindi spero che questo mi porti da qualche parte.
Lodder,

Risposte:


5

La mia versione di implementazione sarebbe ...

Il cliente: - Basta dare a ciascun utente abbonato una chiave univoca (segreta) e passarlo semplicemente come variabile GET quando si verificano nuovi aggiornamenti.

Il Server: - Allo stesso modo, basta controllare le richieste in arrivo per quella variabile, e abbinarlo con un database, cool? allow : deny;.

L'uso improprio: - Tieni traccia di ogni chiave in uso e imposta un numero di richieste possibili, oltre il quale contrassegna semplicemente quella chiave e il suo utente come sospetto, quindi fai qualunque cosa pensi di fare, avvisando l'utente, il blocco è per qualche tempo, o semplicemente la risoluzione dell'abbonamento ... ecc. le possibilità sono infinite.


cosa succede dopo che il server ha risposto come "consentire"? In altre parole, come funziona questa convalida insieme al server di aggiornamento?
Malaiselvan,

allowsignifica che il server ha deciso di inviare il file di aggiornamento come risposta.
Mohd Abdul Mujib,

Grazie @ 9ksoft. La tua soluzione consentirà all'utente di scaricare l'estensione aggiornata. Credo che non possa fare alcuna installazione automatica usando il server di aggiornamento giusto? O hai una soluzione per eseguire l'aggiornamento automatico dopo la convalida?
Ci
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.