Forums / General / import an existing static site in eZ.

import an existing static site in eZ.

Author Message

Olivier Moreau

Thursday 03 July 2008 2:32:51 pm

I'm looking for a way to import an existing static site in eZ. The site contains hundreds of pages and more than a thousand files. I don't feel doing that manualy :-(
Any suggestions ?

Piotrek Karaƛ

Thursday 03 July 2008 9:32:18 pm

Welcome to the community, Olivier!

I don't think I know all the available import extensions, but those that we used required some eZ expertise and at least understanding of how object attributes of certain datatypes behave. It may be especially difficult to move formatted docs into XMLBlock, especially if you do not have a consistent HTML structure.

Also, you should think of content structure. If your existing site has a complex structure that does not follow a proper tree model, then you will have some thinking and development to do. And I haven't seen any automated import for structures, either.

Above all, eZ Publish does not exactly work in page-like way, so before you start thinking of your import, if you do not have much eZ experience, I would recommend studying its content engine. It might be that your site should implement several classes of objects in order to benefit from eZ features.

Check here:
http://ez.no/developer/contribs/import_export

For files, I would use WebDAV for example, you will be able to upload those quickly, no relations thought, as far as I know:
http://ez.no/doc/ez_publish/technical_manual/4_0/features/webdav

Good luck,
Piotrek

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

Olivier Moreau

Friday 04 July 2008 6:27:32 am

Hi Piotrek and all

Thanks for your warm welcome in the eZ community, I much appreciate your quick reply.

Before posting, we checked the available features and import extensions and did not find much information for such a big issue (from our current point of view).

The basic principle of keeping content and designed separated would of course be hard to respect with a magic "import all" button. The design can be lost, because that's the reason for redoing the site ! The content cannot.

Files are easy with WebDAV and that's a good starting point.
The ideal import script for the database would be to :
- extract all the text from the static web pages and create correponding nodes with 3 attributes : title (text line), body (xml), creation_date (import date for separating old nodes from new ones).
- analyse the site structure and create a corresponding node tree (easy stuff, isn't it ?)

From that content level import, we would finish by hand by recreating the design.

However, your warning is clear :
"It may be especially difficult to move formatted docs into XMLBlock, especially if you do not have a consistent HTML structure."

Like any similar migration problem, the basic question is : "what is more efficient (time/money) : convert by hand or create the [import all] button ?"

Thanks again for your insight on this topic.

eZ debug

Timing: Jan 18 2025 05:05:02
Script start
Timing: Jan 18 2025 05:05:02
Module start 'content'
Timing: Jan 18 2025 05:05:03
Module end 'content'
Timing: Jan 18 2025 05:05:03
Script end

Main resources:

Total runtime0.9280 sec
Peak memory usage4,096.0000 KB
Database Queries194

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0067 587.7266180.8359
Module start 'content' 0.00670.7797 768.5625559.5547
Module end 'content' 0.78650.1415 1,328.1172336.7500
Script end 0.9280  1,664.8672 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00420.4494210.0002
Check MTime0.00160.1739210.0001
Mysql Total
Database connection0.00120.132310.0012
Mysqli_queries0.846291.18561940.0044
Looping result0.00180.19761920.0000
Template Total0.893496.320.4467
Template load0.00230.247220.0011
Template processing0.891196.014320.4455
Template load and register function0.00010.015110.0001
states
state_id_array0.00180.194110.0018
state_identifier_array0.00190.206320.0010
Override
Cache load0.00190.2078340.0001
Sytem overhead
Fetch class attribute can translate value0.00160.176230.0005
Fetch class attribute name0.00180.191950.0004
XML
Image XML parsing0.00330.351930.0011
class_abstraction
Instantiating content class attribute0.00000.001060.0000
General
dbfile0.00890.9584340.0003
String conversion0.00000.000730.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
3content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
6content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
8content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 22
 Number of unique templates used: 6

Time used to render debug report: 0.0003 secs