hi guys,
i'm happy to show you my first project realised with processwire and to say hi the first time here in the forum, although i have been reading, following, learning and liking around here for some weeks now the reason why i did not post any questions is quite simple: all answers for my questions have already been posted (and answered) in the forum/wiki/docs - really great!
let me also say thanks to gebeer, who forced me to take a second look to processwire (coming from joomla/seblod and thinking processwire is not worth the effort of changing from a well known system - i was so wrong ^^)
So what is "GeoWire"? (http://www.geowire.org)
GeoWire is a web mapping tool for creating and sharing web-maps. It's a bit similar to google maps, but you can put your own maps (also all the google layers) and overlays into it and create your own functionality with javascript. First it was a "static" HTML/JS project but within the weeks of development gebeer told me about processwire. So in the end i had my HTML/JS web map viewer ready and thought how great it would be to manage all the code snippets directly on the server with processwire as GUI - you could easily copy your map collocations, drag and drop layers in the layer tree, drag&drop buttons in the toolbar and so on...
2 days later i had the first working prototype ready!!! PW is just wonderful, thank you Ryan+Team!
Today i - finally - finished the video tutorials for GeoWire which i published as an open source web mapping tool. Oh man, that sounds so arrogant for me - i'm not a professional developer and i know it is far from perfect, but at least i wanted to give it a try . I would have also put it to GitHub, but i have no experience with it till now and so it was too complicated for me. I hope I am not violating PW by providing GeoWire for download on my website geowire.org? I don't even know if anybody is interested in geowire at all, but maybe it can at least serve as starting point for any other similar projects... any feedback is appreciated.
Here is the demo: http://www.geowire.org/demo
Maybe you're interested in the videos:
The Backend: http://www.youtube.com/watch?v=8sgq8GPYDYo
How it works: http://www.youtube.com/watch?v=vxMtAQsKESY
How it works in short by an example:
The mapPanelToolbar makes this
out of that
using that code snippet,
/* ########################################
######## mapPanelToolbar.js
######################################## */
Ext.onReady(function() {
mapPanelToolbar = Ext.create('Ext.toolbar.Toolbar', {
dock: 'top',
items: [<?php foreach($page->children as $child) {
if($child->include_file) {
include('GeoWire/include/'.$child->include_file);
echo ',';
}
echo $child->include_direct.',';
} ?>]
});
});
that is recursively loaded by the processwire template
// create javascript app file from all included code snippets
ob_start("makefile");
// include all children of current page
foreach ($page->children as $child) {
include_file($child);
}
ob_end_flush();
function makefile($buffer) {
if(!wire('config')->dev) {
include('GeoWire/JSMin.php');
$buffer = JSMin::minify($buffer);
}
// take first map if it is homepage
$pageid = (wire('page')->id == 1) ? wire('page')->child->id : wire('page')->id;
file_put_contents("GeoWire/app".$pageid.".js", $buffer);
}
happy processwiring and good night
Edit: Do you think something like this would be possible or even better put into a module? I know my first version of geowire will soon be outdated as it uses PW2.4 as core, but for the time it was the best way to go and to be honest, i don't know when/if i have the time/motivation to develop this project in future...