Jump to content

Moving to processwire from Concrete5


dg234
 Share

Recommended Posts

Hello all.  I hope it is OK to put this post here.  I am currently not a ProcessWire user but instead I am looking at switching from Concrete5 to ProcessWire and have a few questions.  

My site contains information on hiking trails that is stored in number of related mySQL tables that are not part of the Concrete5 system. Each hike includes a detailed description, a map and a photo gallery with 20 or more images. The site uses a number of jQuery scripts for the photo gallery, trail ratings, a google map showing a gpx track and markers to display photos, etc. I am reading through the ProcessWire documentation but I am not seeing how I can easily recreate my site on ProcessWire. Could someone please point me in the right direction?

  1. Is it possible to link my tables to ProcessWire pages to display the information or does the data need to be moved into the processwire database? 
  2. Can you load and call jQuery scripts from a template? I understand that people have written a variety of modules but I do not see all the modules I need. If I can not load and call jQuery scripts in a template is it difficult to create a module? Is there documentation about creating modules?
  3. It looks like images need to be uploaded to your system. I literally have images for over 300 hikes with 20 or more images per hike. Uploading all these images would be an onerous process. Is it possible for templates within the ProcessWire script to use images outside the ProcessWire system?

My guess is the answers to all these questions are obvious if I just know where to look.

Thank you.

 

Edited by owzim
improve readability
Link to comment
Share on other sites

For import of the hikes with images, you could use the ImportPagesCSV Module. I've used it for many simple occasions. A breeze.

You will have to create a template with fields you need for your hikes.

On the import screen, you can assign columns to fields and as long as the images are provided as http links the module can access, download and import them just like that.

If your site structure is not too complex you might as well migrate all data this way.

  • Like 3
Link to comment
Share on other sites

Welcome to the PW world @dg234!

Your site reads like the perfect task for ProcessWire. While you don't need to move your data from its external tables, chances are high that you will want to do that and create a page for every hike that holds its data, track(s) and images.

PW's template files are (unless you install a template engine module like smarty) just PHP files outputting your HTML, so you have every freedom regular PHP scripts give you. PW also provides you with a PDO wrapper to its database in the $database variable, or you can use the underlying WireDatabasePDO class to access an external database. Or use PHP's native database layers. Or use a third-party ORM layer. Whatever you fancy.

You don't have to upload your images one by one. You can either drag and drop a number of files at once in the backend (though POST limits may hit you there depending on the server settings) or FTP them to the server and create a short bootstrap script that adds them to their pages.

Since you control the HTML, you can include whatever scripts and styles you want, either generically (in such cases I like to put them into an extra include for the header, like _header.php, to keep them organized) or on a per-template basis. If you have a generic page layout but want to add different includes and styles depending on the template, you can use the (popular) strategy of automatically appending one "master" PHP template that produces the HTML and fill the variables used there (like e.g. $content and $headers variables) in every individual template's file as explained here. PW lets you override that setting on a per-template basis, so, like with most things in PW, you have every freedom.

Just keep in mind that PW's pages first and foremost are equivalents for tables to store your data. The fields you assign in the backend template are their columns. Page fields, Repeaters and the implicit parent-child relationship are links between these "tables". Not every page needs to have a PHP template, in that case it can't be viewed directly but still used to hold and render data in other pages, but once you have your data in pages, it's easy to display it as well as search for it using PW's extremely powerful selector API.

To wrap it up, you'll be able to do most if not all things you need with PW's default functionality and a handful of already available modules. I don't see a need to develop your own module yet, but there is a getting started documentation for module development in the online docs and, if you find that you do in fact need to, just ask here and you'll find a wonderfully helpful community.

  • Like 9
Link to comment
Share on other sites

Thank you so much for the information.  Sorry I missed the section on how to create a module.

In addition to using the hiking data tables for my website I also use the tables to create the content for Ebooks.  Ergo I am a little wary of moving the data into another system.  

I am going to download processwire and start playing.   Maybe once I see the table structures I will get more comfortable about moving my data to the Processwire tables.

Thanks again for pointing me in the right direction.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...