Niekolko eshop instancii na roznych weboch?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Matúš Matula
Člen | 257
+
0
-

Klient ma siet webov, pricom 1 je ‚hlavny‘ a ostatne su akoby ‚pobocky‘. Chcel by mat na vsetkych strankach rovnaky eshop (rovnaky tovar, sluzby, funkcionalita, ine sablony) s poziadavkou jednoduchej integracie eshopu do pobociek (tie stale pribudaju).

Nenapada ma, ako elegantne riesit spravu/upravu kodu (urobit to napriklad raz na hlavnom webe, a nie N-krat na vsetkych weboch)

Poradite? :)

newPOPE
Člen | 648
+
0
-

Mozno moduly ktore budu mat len adrerare /templates sablony budu len pretazovat sablony hlavneho webu?

Editoval newPOPE (24. 1. 2011 17:35)

Matúš Matula
Člen | 257
+
0
-

Neviem si to nejako predstavit. Chapem to tak, ze by som mal na ‚pobockovom‘ webe modul eshop a ten by mal pretazit sablony hlavneho webu. Ale samotny kod aplikacie by lezal kde a ako by sa k nemu pristupovalo?

newPOPE
Člen | 648
+
0
-

Vsetko na tom istom mieste :-)

Jeden server a pouzitie multisite. cize len nasmerujes domeny a App si to uz podla domeny zariadi…

Este sme mali jeden napad na nieco podobne.

  1. Vytvorit public API (napr. JSON) ktore bude len servirovat ciselniky + nejake linky na obrazky, a bude prijimat napr. objednavky v urcitom formate
  2. A shop uz bude ako samostatna app cize napr. iny server hosting secko ale ako datasource bude pouzivat to API (tu je potom moznost mat webApp, iPhone, Android … )
  3. tu nastal maly problem s adminstraciou :-), to sme zatial nedoriesili
mm-marek
Člen | 61
+
0
-

ad varianta s public api, jednou jsem to řešil tak že jsem stahoval xml data z centrálního webu (kde byla centrální administrace) a na menších webech jsem to ukládal do databáze. Mělo to i vlastní administraci a příznak jestli je to nastavený lokálně. Z centrálního webu se pak dala celá aplikace aktualizovat podobně jako teď např. wordpress – akorát jsem to neměl tak hezky :)

Matúš Matula
Člen | 257
+
0
-

:) Keby bolo mozne multisite riesenie, tak nie je o com samozrejme :)

Co sa tyka public API, tak tiez som nad tym uvazoval, ale z lenivosti sa mi do toho prilis nechce :)
Sprava kodu sa prilis nezjednodusi, kazdy zasah bude treba urobit osobitne na kazdom webe.
Nic lepsie ma ale nenapada zatial.

@mm-marek: Ako si to myslel s tou centralnou aktualizaciou? Proste si duplikoval data z centralneho webu a ukladal ich lokalne na kazdom webe ci som to zle pochopil? Kedze to malo vlastnu administraciu, tak to bola potom viac-menej standalone app na kazdom tom serveri?

mm-marek
Člen | 61
+
0
-

je to v zásadě standalone aplikace – data si natáhne z centrálního webu, stejně jako případné aktualizace. A administraci to má vlastní, protože někdy tam byla potřeba udělat změna, která potlačovala původní data na centrálním webu. A aktualizace souborů tam byla protože připojovat se na několik desítek ftp a nahrávat tam update souborů je opruz…

newPOPE
Člen | 648
+
0
-

No bez podpory multisite to asi moc zmysel nema… ;-)

Filip Procházka
Moderator | 4668
+
0
-

aktualizace více webů? není co řešit: git

multisite? asi nejlepší řešení

$router[] = new Route("//[!www.][!<domain .*?>]/<modul>/<presenter>/<action>", array(
	'domena' => 'eshop-mainweb.cz',
	'modul' => 'Shop',
	'presenter' => 'Categories',
	'action' => 'default',
));

// ...

a BasePresenter

class BasePresenter extends Nette\Application\Presenter
{
	/** @persistent */
	public $domain = 'eshop-mainweb.cz';

// ...
}

a pak si ošetřit práva pro jednotlivé domény uživatelům

velká výhoda: společný autentizační server (třeba auth.eshop-mainweb.cz) – Bleskový oauth nebo podobný protokol, protože nic nepřenáší mezi servery, jenom se přesměruje s nějakým klíčem na jinou doménu, přihlásí se a původní doména přihlásí uživatele na základě záznamu o úspěném přihlášení pod předaným klíčem.

Co se týče ale těch více domén… není to přece jenom hloupost u eshopu? nebylo by lepší udělat jeden eshop a vytvořit pod ním „pobočky“ jako to má většina normálních eshopů? A reálné pobočky by pak exportovaly aktuální sklad do eshopu a zboží by se promítalo do webu. Bylo by to lepší, protože u každého produktu by měl uživatel že na té pobočce není a na té pobočce je… Více domén mu nemusí nezbytně zajistit lepší návštěvnost. Zkus mu to rozmluvit.