Venne:CMS – volné CMS pro Nette
- mkoubik
- Člen | 728
Zdrojáky jsou v adrešáři /home/matej/Public/Venne-CMS
,
běží to na http://localhost/matej/Venne-CMS/www
, v
rewriteBase
v .htaccess
mám
/matej/Venne-CMS/www/
. Když vlezu na
http://localhost/matej/Venne-CMS/www
, tak mě to přesměruje na
http://localhost/home/matej/Public/Venne-CMS/www/admin/installation
.
V index.php
mám
$_SERVER['DOCUMENT_ROOT'] = /var/www
$_SERVER['SCRIPT_FILENAME'] = /home/matej/Public/Venne-CMS/www/index.php
$_SERVER['SERVER_NAME'] = localhost
$_SERVER['REQUEST_URI'] = /matej/Venne-CMS/www/
- pepakriz
- Člen | 246
To přesměrování je vpořádku, ovšem pokud se nezobrazí instalace, tak
už ne. Nevrací server 500? Když vlezeš na
http://localhost/home/matej/Public/Venne-CMS/www/admin/installation
,
pouští se index.php? Zkus zakomentovat rewriteBase. Zkusil jsem si vytvořit
stejnou adresářovou strukturu a nemám problém. Serverové proměnné mám
taktéž stejné, jen po přesměrování je
$_SERVER['REQUEST_URI'] = /matej/Venne-CMS/www/admin/installation/
.
- mkoubik
- Člen | 728
Ta adresa je samozřejmě nesmyslná a skončí 404. Problém je, že
$_SERVER['SCRIPT_FILENAME']
nemusí být podadresářem
$_SERVER['DOCUMENT_ROOT']
, nešlo by to prostě přesměrovávat na
$_SERVER['REQUEST_URI'] . 'admin/installation/'
?
EDIT: to by vlastně nefungovalo, pokud bych přišel na nějakou podstránku.
Editoval mkoubik (12. 8. 2011 14:22)
- ras
- Člen | 135
Chtel jsem dnes vyskouset demo (viz. odkazy v uvodnim clanku na adresy http://demo.venne.cz/ a http://demo.venne.cz/admin), ale haze mi to chybyu obou ;o(
- pepakriz
- Člen | 246
ras napsal(a):
Chtel jsem dnes vyskouset demo (viz. odkazy v uvodnim clanku na adresy http://demo.venne.cz/ a http://demo.venne.cz/admin), ale haze mi to chybyu obou ;o(
Někdo smazal návštěvní knihu, už jsem to opět nahodil.
- ic
- Člen | 430
lopikol napsal(a):
Je tam chyba + je zapnutá ladenka ;)
Díky za rychlou odpověď, myslel jsem, že tyhle věci spolu nesouvisí.
- Michal Kumžák
- Člen | 106
Zdar.
Zkoušel jsem Venne:CMS a ve FF se mi špatně zobrazují formuláře
v administraci, v Chrome to zobrazuje v pořádku. Pak mám problém když
chci upravit již existující položku v navigaci, nenačtou se mi všechna
data a navíc se mi to pak ukladá jako nový záznam. Držím palce, ať to co
nejdřív odladíte.
- Michal Kumžák
- Člen | 106
Zdravím opět. Ještě bych se chtěl zeptat kde dělám chybu v instalaci. Když provedu komplet instalaci a vše je v pořádku, vytvořím položky navigace a nějaké stránky, tak když se chci podívat na frontend, tak se mi to snaží provést instalaci znova, ale vyběhne mi tam samozřejmě hláška Application is already installed. Co dělám špatně?
- ic
- Člen | 430
Michal Kumžák napsal(a):
Zdravím opět. Ještě bych se chtěl zeptat kde dělám chybu v instalaci. Když provedu komplet instalaci a vše je v pořádku, vytvořím položky navigace a nějaké stránky, tak když se chci podívat na frontend, tak se mi to snaží provést instalaci znova, ale vyběhne mi tam samozřejmě hláška Application is already installed. Co dělám špatně?
Tam je nějaká cache (asi na serveru). Tohle se mi stalo taky, a když jsem se k tomu později vrátil všechno už normálně fungovalo.
- Michal Kumžák
- Člen | 106
Tak skutečně stačí vymazat cache v prohlížeči. Pak jsem musel do
bootstrap.php přidat nastavení log adresáře a po této úpravě mi
naskočila chyba Undefined index: lang
v souboru File: .../libs/Venne/CMS/Modules/LanguageModule/LanguageService.php Line: 41
- badtaste
- Člen | 9
Zkusil jsem to pustit na PostgreSQL a bohuzel se to nenainstaluje. Prikaz
CREATE TABLE pageLanguageLink („from“ INT NOT NULL, „to“ INT NOT
NULL, PRIMARY KEY(from
, to
))
Postgresql 9.1 nebere. Bralo by
CREATE TABLE pageLanguageLink („from“ INT NOT NULL, „to“ INT NOT NULL, PRIMARY KEY(„from“, „to“))
…/libs-all/venne/Venne/Module/BaseModule.php:124 source ▼ Doctrine\ORM\Tools\SchemaTool-> createSchema (arguments ►)
Chtel bych se jen zeptat zda je to problem Venne, Nette nebo Doctrine a zda to je to nejaky samostatny problem nebo je nejak spojen s celym ORM? Tedy zda to jde nejak jednoduse odstranit. Nemam zkusenosti s Doctrine tak nevim jaky je problem kod bezici na MySQL prenest na PostgreSQL.
Diky Michal
- andry
- Člen | 1
Zdravím, mam mensí problem s instalaci a doufam ze mi nekdo poradi co delam spatne. po stažení z git, v ubuntu 10.04 do meho localhostu vše probíhalo v pořadku ale v prohlížeči mi to hazí tohle:
`Warning: mkdir() [function.mkdir]: Operace zamítnuta in /opt/lampp/htdocs/mrknise/libs-all/nette/Nette/Config/Configurator.php on line 84
Warning: mkdir() [function.mkdir]: Operace zamítnuta in /opt/lampp/htdocs/mrknise/libs-all/venne/Venne/Config/Configurator.php on line 294
Fatal error: Uncaught exception ‚Nette\DirectoryNotFoundException‘ with message ‚Directory '/opt/lampp/htdocs/mrknise/temp/cache‘ not found.' in /opt/lampp/htdocs/mrknise/libs-all/nette/Nette/Caching/Storages/FileStorage.php:76 Stack trace: #0 /opt/lampp/htdocs/mrknise/libs-all/nette/Nette/Config/Configurator.php(146): Nette\Caching\Storages\FileStorage->__construct(‚/opt/lampp/htdo…‘) #1 /opt/lampp/htdocs/mrknise/libs-all/venne/Venne/Config/Configurator.php(306): Nette\Config\Configurator->createRobotLoader() #2 /opt/lampp/htdocs/mrknise/www/index.php(12): Venne\Config\Configurator->enableLoader() #3 {main} thrown in /opt/lampp/htdocs/mrknise/libs-all/nette/Nette/Caching/Storages/FileStorage.php on line 76`
mohl by mi prosím nekdo poradit? děkuji mnohokrát
- ic
- Člen | 430
Na Ubuntu to funguje?
Já totiž na XP-čkách vždy narazím na:
<br />
<b>Fatal error</b>: Uncaught exception 'Nette\DI\ServiceCreationException' with message 'Name contains invalid characters.' in D:\xampp\htdocs\venne\libs\Nette\DI\ContainerBuilder.php:363
Stack trace:
#0 D:\xampp\htdocs\venne\libs\Nette\Config\Compiler.php(161): Nette\DI\ContainerBuilder->generateClass('Nette\DI\Contai...')
#1 D:\xampp\htdocs\venne\libs\Nette\Config\Compiler.php(100): Nette\Config\Compiler->generateCode('SystemContainer', 'Nette\DI\Contai...')
#2 D:\xampp\htdocs\venne\libs\Nette\Config\Configurator.php(238): Nette\Config\Compiler->compile(Array, 'SystemContainer', 'Nette\DI\Contai...')
#3 D:\xampp\htdocs\venne\libs\Nette\Config\Configurator.php(185): Nette\Config\Configurator->buildContainer(NULL)
#4 D:\xampp\htdocs\venne\libs\Venne\Config\Configurator.php(146): Nette\Config\Configurator->createContainer()
#5 D:\xampp\htdocs\venne\libs\Venne\Config\Configurator.php(123): Venne\Config\Configurator->createContainer()
#6 D:\xampp\htdocs\venne\www\index.php(13): Venne\Config\Configurator->getContainer()
#7 {main}
N in <b>D:\xampp\htdocs\venne\libs\Nette\DI\ContainerBuilder.php</b> on line <b>381</b><br />
a tím to končí.
Jestli to právě není tím, že clone_vendors.sh
neprovede
všechno co má?
Samozřejmě nejdou symbolické odkazy, ale asi tam toho selhává více.
Nevíte co s tím? Nebo už mám instalovat linuxy?
- pepakriz
- Člen | 246
ic napsal(a):
Na Ubuntu to funguje?
Já totiž na XP-čkách vždy narazím na:
Tohle moc nevypadá na špatně naklonovaná repa, ale na špatné znaky
v definicích služeb. Mohl bys vložit dump do souboru
Nette\Utils\PhpGenerator\Helpers
do metody
isIdentifier
a říct na které hodnotě to selhává?
Sandbox, který je na githubu je určen pro Linux. Nechceš udělat fork s úpravami pro windows? ;)
- ic
- Člen | 430
pepakriz napsal(a):
Tohle moc nevypadá na špatně naklonovaná repa, ale na špatné znaky v definicích služeb. Mohl bys vložit dump do souboru
Nette\Utils\PhpGenerator\Helpers
do metodyisIdentifier
a říct na které hodnotě to selhává?Sandbox, který je na githubu je určen pro Linux. Nechceš udělat fork s úpravami pro windows? ;)
Je to nějaké podivné… vstup je
"createService_:\\xampp\htdocs\venne\libs\App\Core"
a výsledkem je
tedy false
. Pak už jdou ty popisované chyby.
Fork pro Windows by asi nebyl moc složitý pro uživatele MS GIT, ten
přináší (může, ale nemusí) řadu linuxových příkazů na Windows. Pak
ze stávajících .sh
jeden příkaz neexistuje (readlink) a jeden
způsobí chybu (ln -s na FAT32). Jestli tam budou potřeba další změny
uvidím.
Horší by to asi bylo pro uživatele bez GITu kteří by to prostě stáhli z githubu. Zkusím pak odinstalovat ten MS GIT abych vůbec věděl jaké příkazy jinak v příkazovém řádku Windows fungují, a které jsou dáreček od GItu.
Editoval ic (2. 3. 2012 10:40)
- pepakriz
- Člen | 246
Asi vím. Zkus smazat v libs/App/CoreModule/Modules.php
metodu
getPath()
. Je to takový hack pro symlinky, který na windows
nefunguje. Budu muset vymyslet nějaký lepší způsob. Schválně, jestli tě
nenapadne nějaké dobré řešení:
Jde o to, že chci mít v projektu naklonovaná git repa všech projektů jako doctrine, nette,… , ty ale nechci projížtět robotloaderem, jelikož obsahují i testy a další nepotřebné třídy. Proto ty repa klonuju do libs-all a do libs nasměruju symlinky jen pro potřebné části. Dalším řešením by bylo použít netterobots.txt a zakázat procházení testů. Jaká varianta je přijatelnější?
Ještě zvažuji přesunutí CoreModule do vlastního repozitáře a jeho klonování do /app obdobně jako ostatní moduly. Venne by se tak stalo frameworkem a CoreModule by do něj doplňoval administraci pro CMS.
- ic
- Člen | 430
Jo, to bude asi ono…
jen teď nějak pořešit ty názvy
viz. 'Directory name must not be empty.'
Ten nápad s CoreModule jako doplňkem se mi docela líbí, napadlo mě ale ještě další řešení
Byla by tu možnost přimět Windowsy k použití jejich vlastních
symbolických odkazů
Sedmičky už na to údajně mají mklink
, ale nezkoušel jsem
protože na XP-čkách nic takového ještě nemáme.
Tady se dá ale doinstalovat junction už to nějakou dobu mám, abych
přemístil z ‚Data aplikací‘ z ‚documents and settings‘ některé
hloupé aplikace tam instalují gigabajty (a jiné umístění nedovolují) a
když už není na C: místo, tak už zbývá jen doinstalovat junction a
udělat symlinky.
Junction sám by se pak dal přihodit do repozitáře, když nemá ani 100 kb . Jen nevím jak to má s licencema a trochu se bojím, že by to mohlo být na nebohého Win uživatele příliš.
Tak nevím, prostě netterobots by bylo asi nejméně invazivní.
- pepakriz
- Člen | 246
Použít externí program na podporu symlinků se mi fakt příčí. Myslím, že vyhraje možnost s netterobots. Oproti symlinkům odpadá ještě jeden problém a to špatná podpora v IDE, kdy např Netbeans mi scannoval jak libs, tak libs-all a často jsem měl ten samý soubor otevřen dvakrát a přepisoval si ho navzájem. V PhpStorm se to dá řešit ignorováním adresářů.
- mlok
- Člen | 13
Je teď nějaká možnost Venne nainstalovat na WAPM server na Windows?
Návod na wiki https://github.com/…-a-instalace vypadá už dávno nefunkční a návod z readme https://github.com/Venne/Venne-CMS mě nechce fungovat.
Něco takového staromódního, stáhnout CMS, stáhnout knihovny, nastrkat do adresáře, spustit?
- mlok
- Člen | 13
Instalace pomocí composer-u proběhla slušně (jedna nějaká php notice
o už odeslaných hlavičkách) ale při prvním spučtění to už není moc
dobrý:
File 'C:\xampp\htdocs\venne\app\config/C:\xampp\htdocs\venne/vendor/venne/assets-module/AssetsModule/Resources/config/config.neon' is missing or is not readable.
- mlok
- Člen | 13
Pomůže to takto?
...\vendor\venne\framework\Venne\Config\Loader.php:38 source ► Nette\Config\Loader-> load (arguments ►)
...\vendor\nette\nette\Nette\Config\Loader.php:67 source ► Venne\Config\Loader-> load (arguments ►)
...\vendor\venne\framework\Venne\Config\Loader.php:38 source ► Nette\Config\Loader-> load (arguments ►)
...\vendor\nette\nette\Nette\Config\Configurator.php:222 source ► Venne\Config\Loader-> load (arguments ►)
...\vendor\nette\nette\Nette\Config\Configurator.php:188 source ► Nette\Config\Configurator-> buildContainer (arguments ►)
...\vendor\venne\framework\Venne\Config\Configurator.php:159 source ► Nette\Config\Configurator-> createContainer ()
...\vendor\venne\framework\Venne\Config\Configurator.php:139 source ► Venne\Config\Configurator-> createContainer ()
...\www\index.php:12 source ► Venne\Config\Configurator-> getContainer ()
- pepakriz
- Člen | 246
Neplechu tam dělá jiná syntax cest. Podívejte se do souboru
/app/config/config.neon
jestli v sekci include
nejsou
nesmyslné cesty. Pokud to bude vpořádku, zkuste v souboru
/vendor/venne/framework/Venne/Config/Loader.php
přepsat
metodu load:
public function load($file, $section = NULL)
{
$trace = debug_backtrace(FALSE);
$file = \Nette\DI\Helpers::expand($file, $this->parameters);
if (isset($trace[1]) && $trace[1]['class'] === 'Nette\Config\Loader' && $trace[1]['function'] === 'load') {
$prefix = dirname($trace[1]['args'][0]) . '/';
$origFile = $file;
if (strpos($file, $prefix) === 0) {
$file = substr($file, strlen($prefix));
}
if (!file_exists($file)) {
$file = $origFile;
}
}
return parent::load($file, $section);
}
- mlok
- Člen | 13
Vůbec to nepomohlo. V config.neon jsou jen smyslné:
- includes
- %libsDir%/venne/assets-module/AssetsModule/Resources/config/config.neon
- %libsDir%/venne/forms-module/FormsModule/Resources/config/config.neon
- %libsDir%/venne/doctrine-module/DoctrineModule/Resources/config/doctrine.neon
- %modules.cms.path%/Resources/config/config.neon
a úprava Loader.php taky nic nezměnila.
- pepakriz
- Člen | 246
Zkuste tedy toto:
public function load($file, $section = NULL)
{
$file = \Nette\DI\Helpers::expand($file, $this->parameters);
if (substr(PHP_OS, 0, 3) === 'WIN') {
if ($pos = strrpos($file, ':\\')) {
$file = substr($file, $pos - 1);
}
} else {
if ($pos = strpos($file, '//')) {
$file = substr($file, $pos + 1);
}
}
return parent::load($file, $section);
}
Editoval pepakriz (16. 10. 2012 14:07)
- mlok
- Člen | 13
Poslední úprava Loader-u už pomohla. Instalace (samotného CMS) už proběhne a i do nějaké administrace se dostanu, asi, je tu totiž problém s tím, že se nenačtou css a js soubory (jako teď tady na fóru) a bez nich je orientace v administraci poněkud náročná. Mohly by tam být alespoň takové ty nadpisy, co se schovají CSS kem pro lepší orientaci těch bez css.
Jakýkoliv css/js/obrázek je:
Nette\Application\BadRequestException #404
No route for HTTP request
- mlok
- Člen | 13
Tak teď jsem trochu zmatený. Cesty v html vypadají dobře(
localhost/venne/www/resources/cmsModule/jquery/js/jquery-1.8.2.min.js )
V /www/resources/ nic moc není. Index, Adminer a pár adresářů
obsahujících jen .gitignore .
Že by composer někde selhal ?
Jinak teď jsem si ještě všiml, že 404 píše i localhost/venne/www , kdežto localhost/venne/www/admin funguje.
- pepakriz
- Člen | 246
404 na localhost/venne/www je správně, jelikož ještě není vytvořená žádná stránka. V /www/resources mají být symlinky do jednotlivých modulů, konkrétně do jejich adresáře <modulePath>/resources/public. Pokud tam ty symlinky nejsou, tak je opět chyba v rozdílné syntaxi absolutních cest ve Windows. Jdu se na to podívat…
Jako dočasný workaround můžete ty symlinky vytvořit ručně.
Editoval pepakriz (16. 10. 2012 19:05)
- pepakriz
- Člen | 246
Udělal jsem pár změn, které by mohly opravovat pár drobností na windowsech včetně chyby s nefungujícími CSS. Bude ovšem nutná čistá instalace. Zkuste a dejte vědět.
mlok napsal(a):
V /www/resources/ nic moc není. Index, Adminer a pár adresářů obsahujících jen .gitignore .
Pravděpodobně se díváte do /www
, mám na mysli https://github.com/…ww/resources
- mlok
- Člen | 13
Tak jsem to znovu otestoval a moc to nepomohlo. Vlastně to vypadá stejně
jako předtím.
Ale zato mám výpis z posledního příkazu: php composer.phar require
venne/cms-module:2.0.x-dev
jsou tam nějaké chyby:
mlok@WINOSM /c/xampp/htdocs/venne ((73f070a...))
$ php composer.phar require venne/cms-module:2.0.x-dev
composer.json has been updated
Loading composer repositories with package information
Updating dependencies
- Installing doctrine/common (2.2.3)
Downloading: 100%
172 File(s) copied
70 File(s) copied
91 File(s) copied
Warning: Cannot modify header information - headers already sent by (output star
ted at phar://C:/xampp/htdocs/venne/composer.phar/src/Composer/Util/ProcessExecu
tor.php:75) in C:\xampp\htdocs\venne\app\temp\cache\_Nette.Configurator\_-fca7b4
79ad2331c5b572b35d3772d48e.php on line 601
- Installing venne/translator-module (dev-master b0de246)
Cloning b0de2464d2982c017ea63dcec19c1c567da6366c
- Installing venne/assets-module (dev-master 7e3dc36)
Cloning 7e3dc364a580320ad4d6d7ab026ee1e3e27d68bd
- Installing doctrine/dbal (2.2.2)
Downloading: 100%
226 File(s) copied
3 File(s) copied
132 File(s) copied
80 File(s) copied
- Installing doctrine/orm (2.2.2)
Downloading: 100%
661 File(s) copied
3 File(s) copied
262 File(s) copied
369 File(s) copied
10 File(s) copied
- Installing kdyby/forms-replicator (dev-master 17757ef)
Cloning 17757eff829e67a7f21f986aa5a99cafa5ded0b3
- Installing venne/forms-module (dev-master b396bbb)
Cloning b396bbb8c2841f6b3484e7bd9eb7b2cce0354bda
Warning: symlink(): Could not fetch file information(error 3) in phar://C:/xampp
/htdocs/venne/composer.phar/src/Composer/Installer/InstallerInstaller.php(93) :
eval()'d code on line 99
Warning: copy(): The first argument to copy() function cannot be a directory in
phar://C:/xampp/htdocs/venne/composer.phar/src/Composer/Installer/InstallerInsta
ller.php(93) : eval()'d code on line 100
- Installing venne/doctrine-module (dev-master 2e041bc)
Cloning 2e041bc5d203897a380fbe115ce7927975e92418
- Installing venne/cms-module (dev-master 364bcb1)
Cloning 364bcb166354414fcafeb68b05b8ac6d88cd1ee4
Writing lock file
Generating autoload files
a v Loader.php je asi překlep: strpos() namísto strrpos() odtud z fóra. První nefunguje, druhá ano.