Zum Inhalt springen

Problem mit FLOW3. Ich bekomme es nicht zum Laufen!

Erstellt am 11. Juni 2009 · 4 Antworten · letzte Antwort am 4. Februar 2010

Tags: Frage

igorshmigor ·

Hallo,
nun ist FLOW3 1.0.0 Alpha rausgekommen und ich wollte das mal testen. Habe nach Anleitung den Release Candidate von PHP 5.3 unter dem Port 81 zum Laufen gekriegt. Unter Windows weiß ich jedoch nicht wie ich die Datei setfilepermissions.sh ausführe. Außerdem ist ja in dem Root-Ordner von FLOW3 keine index.php. Wenn ich in den Ordner Public wechsle werde ich nur auf den Ordner XAMPP geleitet obwohl ich den Port in der URL mit angegeben habe. Kann mir jemand weiterhelfen? Ich möchte so gerne den welcome screen sehen.

JBrooks ·

Ich warte erst noch bis ich meine Entwicklungsumgebung auf PHP 5.3.x umstelle und kann dir daher nicht weiterhelfen.

Aber eine alternative wäre einen Testaccount von Mittwald zu benutzen.

http://www.mittwald.de/flow3/

Hab mich auch gerade angemeldet, bin mal gespannt...

Unbekannter Benutzer ·

Hallo,

auch auf die Gefahr hin, dass du es schon mittlerweile selbst hinbekommen hast, nachfolgend evtl. ein paar hilfreiche Tipps. Das Skript "setfilepermissions.sh" (setzt benötigte Rechte) ist nur für Linux / Unix - Systeme relevant und die index.php findest du im Ordner "Public".

Es ist sowieso wichtig, dass alle aufgerufenen URIs auf diesen Ordner geroutet werden, sei es durch die nachfolgende VirtualHost - Config oder durch eine entsprechende "htaccess" - Config.

Wenn du nach der "XAMPP - Anleitung" gegangen bist und du den entsprechenden VirtualHost:

<VirtualHost *:81>
DocumentRoot "C:/xampp/htdocs/flow3/Public/"
ServerName flow3.local
</VirtualHost>

eingerichtet hast, musst du auch noch auf Deinem Rechner die Domain "flow3.local" auf die 127.0.0.1 (localhost) auflösen. Das erreichst du, indem du einen entsprechenden Eintrag in der Datei "c:\WINDOWS\system32\drivers\etc\hosts" vornimmst. Es dauert übrigens (zumindestens bei mir) beim ersten Aufruf sehr lange, bis der Welcome - Screen erscheint.

Grüße

reggaepanda ·

Bei mir läuft es zwar soweit und das Tutorial hat (fast) auch super geklappt.

Nur hab ich in "Eine kleine Einführung" dem Screencast von der FLOW3 Seite gesehen, dass es die seite
domain.loc/typo3cr gibt, jedoch kann ich da drauf nicht (wirklich) zugreifen.

Der spuckt mir eine weiße Seite mit folgendem Sourcecode aus 🙁

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>TYPO3CR Admin</title>

		<base href="http://flow3.loc/"></base>
		
<link rel="stylesheet" href="Resources/Packages/ExtJS/CSS/ext-all-notheme.css" />
<link rel="stylesheet" href="Resources/Packages/ExtJS/CSS/xtheme-gray-extend.css" />

<script type="text/javascript" src="Resources/Packages/ExtJS/JavaScript/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="Resources/Packages/ExtJS/JavaScript/ext-all.js"></script>
<script type="text/javascript">
	Ext.BLANK_IMAGE_URL = 'Resources/Packages/ExtJS/images/default/s.gif';
	Ext.FlashComponent.EXPRESS_INSTALL_URL = 'Resources/Packages/ExtJS/Flash/expressinstall.swf';
	Ext.chart.Chart.CHART_URL = 'Resources/Packages/ExtJS/Flash/chart.swf';
</script>

		
<script type="text/javascript" src="Resources/Packages/ExtJS/JavaScript/ux/StatusBar.js"></script>

		<script type="text/javascript">
		var toolbar = new Ext.Toolbar({
			items:[{
				text:'TYPO3CR',
				menu: new Ext.menu.Menu({
					items: [
						new Ext.menu.TextItem({text: 'About'}),
						new Ext.menu.TextItem({text: 'Help'})
					]
				})
			}]
		});

		var statusbar = new Ext.ux.StatusBar({
			defaultText: 'Welcome!',
			items: ['User: anonymous', '-', 'Workspace: default', '-', 'TYPO3CR 0.0.1']
		});

		var nodetree = new Ext.tree.TreePanel({
			useArrows:true,
			autoScroll:true,
			animate:false,
			buttons: [{
				text: 'Reload tree',
				handler: function() {
					nodetree.getRootNode().reload()
				}
			}],
			contextMenu: new Ext.menu.Menu({
				items: [{
					id: 'delete-node',
					text: 'Delete'
				},{
					id: 'export-node-document',
					text: 'Export Document View'
				},{
					id: 'export-node-system',
					text: 'Export System View'
				}],
				listeners: {
					itemclick: function(item) {
						var node = item.parentMenu.contextNode;
						switch (item.id) {
							case 'delete-node':
								deleteNode(node);
								break;
							case 'export-node-document':
								exportNode(node, 'document');
								break;
							case 'export-node-system':
								exportNode(node, 'system');
								break;
						}
					}
				}
			}),
			containerScroll: true,
			rootVisible: false,
			loader: new Ext.tree.TreeLoader({
				dataUrl: 'typo3cr/service/v1/nodes.json',
				preloadChildren: true,
				requestMethod: 'GET'
			}),
			listeners: {
				click : {
					fn: showNodeDetails,
					scope: this,
					delay: 100
				},
				contextmenu: function(node, e) {
					node.select();
					var c = node.getOwnerTree().contextMenu;
					c.contextNode = node;
					c.showAt(e.getXY());
				},
				beforeload: function() {
					statusbar.setStatus({
						text: 'Loading tree...'
					});
					statusbar.showBusy();
				},
				load: function() {
					statusbar.clearStatus();
				}
			},
			root: {
				nodeType: 'async',
				id: 'ROOT'
			}
		});

		function deleteNode(node) {
			statusbar.setStatus({
				text: 'Deleting node...'
			});
			statusbar.showBusy();
			// Basic request
			Ext.Ajax.request({
				url: 'typo3cr/service/v1/nodes/' + node.id + '.json',
				method: 'DELETE',
				success: function() {
					node.remove();
					statusbar.clearStatus();
				},
				failure: function() {
					Ext.Msg.alert('Error', 'Node could not be deleted.');
					statusbar.clearStatus();
				},
				params: { id: node.id }
			});
		}

		function exportNode(node, type) {
			window.open('typo3cr/export/' + type + 'View/?noRecurse=0&skipBinary=0&rootNodeIdentifier=' + node.id)
		}

		function showNodeDetails(node) {
			statusbar.setStatus({
				text: 'Loading node detail...'
			});
			statusbar.showBusy();
			propertygrid.store.proxy.conn.url = 'typo3cr/service/v1/nodes/' + node.id + '.json';
			propertygrid.setTitle('Properties for "' + node.getPath('text') + '"');
			propertygrid.getStore().reload();
			propertygrid.getStore().addListener('load', function() {statusbar.clearStatus()});
		}

		var propertygrid = new Ext.grid.GridPanel({
			store: new Ext.data.Store({
				proxy: new Ext.data.HttpProxy({
					url: 'typo3cr/service/v1/nodes.json',
					method: 'GET'
				}),
				reader: new Ext.data.JsonReader({
					fields: ['name', 'type', 'value'],
					root: 'properties'
				})
			}),
			columns: [
				{header: "Name", width: 50, sortable: true, dataIndex: 'name'},
				{header: "Type", width: 20, sortable: true, dataIndex: 'type'},
				{header: "Value", sortable: true, dataIndex: 'value'},
			],
			viewConfig: {
				forceFit: true
			},
			loadMask:true,
			title:'Properties'
		});

		var accordion = new Ext.Panel({
			layout:'accordion',
			layoutConfig: {
				animate: true
			},
			items: [{
				title: 'Nodes',
				layout:'fit',
				items: nodetree
			},{
				title: 'Nodetypes',
				html: '<p>Nodetype tree goes here!</p>'
			}]
		});

		var center = [
			{
				region:'west',
				layout:'fit',
				width: 250,
				minSize: 175,
				maxSize: 400,
				collapsible: true,
				split:true,
				items: accordion
			},{
				region:'center',
				layout:'fit',
				items:propertygrid
			}
		];

		Ext.onReady(function(){
			var viewport = new Ext.Viewport({
				layout:'border',
				items:[
					{
						height: 30,
						region: 'north',
						items: toolbar
					},{
						region: 'center',
						layout:'border',
						items: center
					},{
						height: 30,
						region: 'south',
						items: statusbar
					}
				]
			});

//			Ext.Ajax.on('beforerequest', this.showSpinner, this);
			nodetree.getRootNode().expand();
			propertygrid.getStore().load();
		});

		</script>

</head>

<body>
</body>

</html>