We have web-developers, who are well familiar with the Drupal templates and the like, but the management does not want the Internet-facing web-servers to serve anything but static content...

We are looking for a system, that would generate static pages -- from our content and templates -- which would then be pushed to the actual web-servers. I envision it as a large make-file, that would regenerate the static pages when the relevant content or template(s) are modified.

Can Drupal be used in such a way, or will that be a stretch and perversion of its design goals? Thanks!

Comments

Anonymous’s picture

The Boost module might help.

cayenne’s picture

Nothing wrong with a little perversion between friends

One could presumably create a whole site with Drupal, either on a server with a private URL or on a personal system running Xamp. Then use a spidering or archiving or wget -R command to copy the entire site. Be careful to use relative links only.

Beware of your images not working: you may have to rethink your file paths a couple times.

Go with Drupal, my son. We are only vouchsafing this information to you in the hope that someday your cruel overlords will see that the Drupally way is the only way, and you will expose your Drupal site to the light of day.

+1 on the boost idea. the files it makes may do exactly what you are looking for.

:)

Wolfflow’s picture

+1 boost.module

Contact me for drupal projects in English, German, Italian, Drupal Hosting Support.

unitedwallabies’s picture

All three responses so far recommend the Boost-module, which implies still running inside a web-server. We'll look into that, but is there no way to generate the pages from command line — something, that could be automated using make? Thanks!

cayenne’s picture

Yeah, follow my advice but do not use Boost. Use a web-spidering tool like the wget command or a web crawler. http://en.wikipedia.org/wiki/Web_crawler

:)

cayenne’s picture

I had a vague memory of this, and by searching for "Create an archive of a drupal site" I found this. Some great references and hints, and even just the module you need.

:)

unitedwallabies’s picture

Use a web-spidering tool like the wget command or a web crawler.

That would still be somewhat perverse — and require a web-server to run... I was hoping for a command line... Something like:

php drupal.php -o mypage.html mypage.php

No?

Thanks!

Wolfflow’s picture

Quick chip in:

Of course you will need an extra Web-Server but it can be a complete different one separated from your Online Company Web-Server where you or the stuff will rely internally for editing, updating etc. and adding a custom cron-job you could periodically transfer the html produced pages from the boost.module to your live server. It should not be so tricky!

Contact me for drupal projects in English, German, Italian, Drupal Hosting Support.

cayenne’s picture

The whole thing can be done on the same webserver, with the True Drupal on a secret, and usually inactive URL, and the static being public.

:)

Wolfflow’s picture

Yes of course, thanks for the suggestion!!

Contact me for drupal projects in English, German, Italian, Drupal Hosting Support.

timonweb’s picture

Change your management, really...this is silly to make them happy that way. Try to persuade them, tell them that static web files isn't the way to go.

Druid’s picture

Has your management team given any reasons for wanting only static HTML facing the public? Do they have legitimate concerns about security or performance? Do they realize how much manpower it might constantly take to migrate newly-produced pages from Drupal to the public site, if it ends up having to be at least partially a manual process? Are they ready to deal with public ridicule if the site updating process fails and a static site is left up for a long time?

Rather than trying to meet unreasonable demands, perhaps you can educate them. Do they labor under the impression that anyone in the public will be able to get in and modify the site? Can you show them security measures both internal and external to Drupal? Do they think that public access will overload the server and/or their pipe to the Internet? If this is anticipated to be an extremely high volume (popular) site, they may need to beef up the server. I wouldn't think there'd be much bandwidth difference between a static and dynamic site doing the same thing.

Get their version of the facts, and try to truthfully and respectfully address them. If they're simply being stupid, you'll need to go over their heads (if there are higher management levels). Sometimes middle management will pull this kind of crap for no real reason, except to prove how powerful they are. If you go down in defeat, put a "current time" clock on each page (that will be frozen in time until the next update). Sometimes public ridicule is what's needed.

Wolfflow’s picture

I like it very much, you couldn't formulate & express it better. Thanks for this straightforward explanation!
That is a very good management lesson. ;-)

Contact me for drupal projects in English, German, Italian, Drupal Hosting Support.